diff --git a/.DS_Store b/.DS_Store index 517df40..ce9a171 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index a90ea00..757656a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules +.env cache artifacts diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/airdrop-template.iml b/.idea/airdrop-template.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/airdrop-template.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..176c6ca --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AirdropManagerArguments.js b/AirdropManagerArguments.js new file mode 100644 index 0000000..b11d323 --- /dev/null +++ b/AirdropManagerArguments.js @@ -0,0 +1,5 @@ +module.exports = [ + ["0x6927ABD63Da2Da250E6676c64cF14586E1E1fA10"], + "0xda0c531F4dAFED4E6bc6EfBe2D281C49BA5eE049", + "0x6465331bBf430f53504cb94BF2d2AF32E5740F68" +] \ No newline at end of file diff --git a/README.md b/README.md index 425f780..b5fbdc9 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,70 @@ # ERC1155 Airdrop Smart Contracts Template This project is an open-source template for creating an ERC1155 airdrop smart contract on the RSK network. The template is designed to be easy to use and customize, and it includes a simple example of how to create an airdrop campaign and distribute tokens to multiple recipients. +## Deployment +The smart contracts in this template can be deployed to the RSK network using the next command: +```bash +npx hardhat ignition deploy ignition/modules/AirdropManager.ts --network rskTestnet +``` + +It will deploy the `AirdropManager`, `AirdropDeployerERC20Module` & `AirdropDeployerERC1155Module` contracts and its dependencies to the RSK Testnet network. You should see a response like: +```bash +Hardhat Ignition 🚀 + +Deploying [ AirdropManagerModule ] + +Batch #1 + Executed AirdropDeployerERC1155Module#AirdropDeployerERC1155 + Executed AirdropDeployerERC20Module#AirdropDeployerERC20 + +Batch #2 + Executed AirdropManagerModule#AirdropManager + +[ AirdropManagerModule ] successfully deployed 🚀 + +Deployed Addresses + +AirdropDeployerERC1155Module#AirdropDeployerERC1155 - 0x6465331bBf430f53504cb94BF2d2AF32E5740F68 +AirdropDeployerERC20Module#AirdropDeployerERC20 - 0xda0c531F4dAFED4E6bc6EfBe2D281C49BA5eE049 +AirdropManagerModule#AirdropManager - 0x19Fa15E7084D802335cfC1B7d5AC22a6b80Bf6Ef +``` +> Also, you can see the deployed contracts in the `ignition/deployments/chain-31/deployed_addresses` folder. + +## Verify Contracts +To verify the contracts on the RSK network, you can use the next command: +1. AirdropDeployerERC1155 +```bash +npx hardhat verify --network rskTestnet 0x49dbbA265c0f4a7Ca8C277F57E189f6B90998aEE +``` +***Note: Replace the address `0x49dbbA265c0f4a7Ca8C277F57E189f6B90998aEE` with the address of the contract you want to verify.*** + +2. AirdropDeployerERC20 +```bash +npx hardhat verify --network rskTestnet 0xe68B923822E0b9067413be380dBED46f295F2372 +``` +***Note: Replace the address `0xe68B923822E0b9067413be380dBED46f295F2372` with the address of the contract you want to verify.*** + +3. AirdropManager, for this contract verification, you need to pass the constructor arguments in the file `AirdropManagerArguments.js`, so make sure you replace them with your own args: +```bash +npx hardhat verify --constructor-args AirdropManagerArguments.js --network rskTestnet 0xFdEdc1427b745D9876B5BBF21e2F57922CF78117 +``` +You should see a response like this in each verification: +```bash +Successfully verified contract AirdropDeployerERC20 on the block explorer. +https://rootstock-testnet.blockscout.com/address/0xe68B923822E0b9067413be380dBED46f295F2372#code +``` + +## Deploy ERC1155 +We have included an ERC1155 contract in the `contracts/ERC1155/Erc1155.sol` file. You can modify it as needed and deploy it to the RSK network. + +To deploy your ERC1155 contract, you can use the next command: +```bash +npx hardhat ignition deploy ignition/modules/ERC1155.ts --network rskTestnet +``` +And then you can use the next command to verify the contract: +```bash +npx hardhat verify --network rskTestnet 0xe68B923822E0b9067413be380dBED46f295F2372 +``` ## Smart Contracts Reference ### 1. **Administrable.sol** diff --git a/contracts/AirdropManager.sol b/contracts/AirdropManager.sol index d809865..3d281e7 100644 --- a/contracts/AirdropManager.sol +++ b/contracts/AirdropManager.sol @@ -1,115 +1,160 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import "./Administrable.sol"; - -enum AirdropType { - CUSTOM, - MERKLE -} -struct AirdropInfo { - string airdropName; - address airdropAddress; - uint256 totalAirdropAmount; - uint256 airdropAmountLeft; - uint256 claimAmount; - uint256 expirationDate; - AirdropType airdropType; -} - -interface IAirdrop1155 { - function claim(address user, uint256 amount_, bytes32[] calldata proof_) external; - function hasClaimed(address _address) external view returns(bool); - function hasExpired() external view returns(bool); - function allowAddress(address _address) external; - function allowAddresses(address[] memory addresses) external; - function disallowAddresses(address[] memory addresses) external; - function disallowAddress(address _address) external; - function isAllowed(address _address) external view returns(bool); - function getExpirationDate() external view returns(uint256); - function getClaimAmount() external view returns(uint256); - function getTotalAirdropAmount() external view returns(uint256); - function getAirdropAmountLeft() external view returns(uint256); - function getBalance() external view returns(uint256); - function getAirdropInfo() external view returns(AirdropInfo memory info); - function setRoot(bytes32 _root) external; -} +import "./Lib/Administrable.sol"; +import "./Tools/Types.sol"; contract AirdropManager is Administrable { + address _airdropDeployerERC20Address; + address _airdropDeployerERC1155Address; address[] _airdrops; - constructor (address[] memory initialAdmins) Administrable(initialAdmins) {} - event AirdropAdded(address airdropAddress); event AirdropRemoved(address airdropAddress); - - function claim(address airdropAddress, address user, uint256 amount, bytes32[] calldata proof) public { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + event AirdropERC20Deployed(address airdropAddress); + event AirdropERC1155Deployed(address airdropAddress); + + constructor( + address[] memory initialAdmins, + address airdropDeployerERC20Address, + address airdropDeployerERC1155Address + ) Administrable(initialAdmins) { + _airdropDeployerERC20Address = airdropDeployerERC20Address; + _airdropDeployerERC1155Address = airdropDeployerERC1155Address; + } + + function claim( + address airdropAddress, + address user, + uint256 amount, + bytes32[] calldata proof + ) public { + IAirdrop airdrop = IAirdrop(airdropAddress); airdrop.claim(user, amount, proof); } - function hasClaimed(address airdropAddress, address user) public view returns(bool) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function hasClaimed( + address airdropAddress, + address user + ) public view returns (bool) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.hasClaimed(user); } - function hasExpired(address airdropAddress) public view returns(bool) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function hasExpired(address airdropAddress) public view returns (bool) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.hasExpired(); } - function isAllowed(address airdropAddress, address user) public view returns(bool) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function isAllowed( + address airdropAddress, + address user + ) public view returns (bool) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.isAllowed(user); } - function getExpirationDate(address airdropAddress) public view returns(uint256) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function getExpirationDate( + address airdropAddress + ) public view returns (uint256) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.getExpirationDate(); } - function getClaimAmount(address airdropAddress) public view returns(uint256) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function getClaimAmount( + address airdropAddress + ) public view returns (uint256) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.getClaimAmount(); } - function getAirdropInfo(address airdropAddress) public view returns(AirdropInfo memory) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function getAirdropInfo( + address airdropAddress + ) public view returns (AirdropInfo memory) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.getAirdropInfo(); } - function getTotalAirdropAmount(address airdropAddress) public view returns(uint256) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function getTotalAirdropAmount( + address airdropAddress + ) public view returns (uint256) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.getTotalAirdropAmount(); } - function getAirdropAmountLeft(address airdropAddress) public view returns(uint256) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function getAirdropAmountLeft( + address airdropAddress + ) public view returns (uint256) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.getAirdropAmountLeft(); } - function getBalance(address airdropAddress) public view returns(uint256) { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function getBalance(address airdropAddress) public view returns (uint256) { + IAirdrop airdrop = IAirdrop(airdropAddress); return airdrop.getBalance(); } - function getAirdrops() public view returns(address[] memory) { + function getAirdrops() public view returns (address[] memory) { return _airdrops; } - function addAirdrop(address newAirdropAddress) public onlyAdmins { + function deployAndAddAirdropERC20( + string memory airdropName, + address tokenAddress, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate + ) public returns(address) { + IDeployerERC20 deployerERC20 = IDeployerERC20(_airdropDeployerERC20Address); + address deployedAddress = deployerERC20.deployAndAddAirdrop( + airdropName, + tokenAddress, + totalAirdropAmount, + claimAmount, + expirationDate + ); + addAirdrop(deployedAddress); + emit AirdropERC20Deployed(deployedAddress); + return deployedAddress; + } + + function deployAndAddAirdropERC1155( + string memory airdropName, + address tokenAddress, + uint256 tokenId, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate, + uint256 mode + ) public returns(address) { + IDeployer1155 deployer1155 = IDeployer1155(_airdropDeployerERC1155Address); + address deployedAddress = deployer1155.deployAndAddAirdrop( + airdropName, + tokenAddress, + tokenId, + totalAirdropAmount, + claimAmount, + expirationDate, + mode + ); + require(deployedAddress != address(0), "Error, wrong mode selected"); + addAirdrop(deployedAddress); + emit AirdropERC1155Deployed(deployedAddress); + return deployedAddress; + } + + function addAirdrop(address newAirdropAddress) internal { bool exists = false; for (uint i = 0; i < _airdrops.length && !exists; i++) { exists = _airdrops[i] == newAirdropAddress; } - require(!exists, "Airdrop already added"); _airdrops.push(newAirdropAddress); emit AirdropAdded(newAirdropAddress); } function setRoot(address airdropAddress, bytes32 _root) public onlyAdmins { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + IAirdrop airdrop = IAirdrop(airdropAddress); airdrop.setRoot(_root); } @@ -118,7 +163,7 @@ contract AirdropManager is Administrable { for (uint i = 0; i < _airdrops.length && !exists; i++) { if (_airdrops[i] == airdropAddress) { exists = true; - _airdrops[i] = _airdrops[_airdrops.length -1]; + _airdrops[i] = _airdrops[_airdrops.length - 1]; _airdrops.pop(); } } @@ -126,23 +171,35 @@ contract AirdropManager is Administrable { if (exists) emit AirdropRemoved(airdropAddress); } - function allowAddress(address airdropAddress, address user) public onlyAdmins { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function allowAddress( + address airdropAddress, + address user + ) public onlyAdmins { + IAirdrop airdrop = IAirdrop(airdropAddress); airdrop.allowAddress(user); } - function allowAddresses(address airdropAddress, address[] memory users) public onlyAdmins { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function allowAddresses( + address airdropAddress, + address[] memory users + ) public onlyAdmins { + IAirdrop airdrop = IAirdrop(airdropAddress); airdrop.allowAddresses(users); } - function disallowAddress(address airdropAddress, address user) public onlyAdmins { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function disallowAddress( + address airdropAddress, + address user + ) public onlyAdmins { + IAirdrop airdrop = IAirdrop(airdropAddress); airdrop.disallowAddress(user); } - function disallowAddresses(address airdropAddress, address[] memory users) public onlyAdmins { - IAirdrop1155 airdrop = IAirdrop1155(airdropAddress); + function disallowAddresses( + address airdropAddress, + address[] memory users + ) public onlyAdmins { + IAirdrop airdrop = IAirdrop(airdropAddress); airdrop.disallowAddresses(users); } -} \ No newline at end of file +} diff --git a/contracts/CustomAirdrop1155.sol b/contracts/ERC1155/CustomAirdrop1155.sol similarity index 89% rename from contracts/CustomAirdrop1155.sol rename to contracts/ERC1155/CustomAirdrop1155.sol index f2eb60c..3678801 100644 --- a/contracts/CustomAirdrop1155.sol +++ b/contracts/ERC1155/CustomAirdrop1155.sol @@ -2,26 +2,7 @@ pragma solidity ^0.8.19; import "@openzeppelin/contracts/access/Ownable.sol"; - -interface IERC1155 { - function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes memory data) external; - function balanceOf(address account, uint256 id) external view returns (uint256); -} - -enum AirdropType { - CUSTOM, - MERKLE -} - -struct AirdropInfo { - string airdropName; - address airdropAddress; - uint256 totalAirdropAmount; - uint256 airdropAmountLeft; - uint256 claimAmount; - uint256 expirationDate; - AirdropType airdropType; -} +import "../Tools/Types.sol"; contract CustomAirdrop1155 is Ownable { event Claim(address recipient, uint256 amount); @@ -75,7 +56,7 @@ contract CustomAirdrop1155 is Ownable { } function getAirdropInfo() public view returns(AirdropInfo memory) { - return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, _claimAmount, _expirationDate, _airdropType); + return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, _claimAmount, _expirationDate, _airdropType, ''); } function hasBalanceToClaim() public view returns(bool) { @@ -145,4 +126,9 @@ contract CustomAirdrop1155 is Ownable { function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) { return bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)")); } + + function getUri() public view returns (string memory) { + //NOT IMPLEMENTED YET + return 'not implemented'; + } } \ No newline at end of file diff --git a/contracts/CustomAirdrop1155ClaimMerkle.sol b/contracts/ERC1155/CustomAirdrop1155Merkle.sol similarity index 88% rename from contracts/CustomAirdrop1155ClaimMerkle.sol rename to contracts/ERC1155/CustomAirdrop1155Merkle.sol index 2ea3cf8..c6cba76 100644 --- a/contracts/CustomAirdrop1155ClaimMerkle.sol +++ b/contracts/ERC1155/CustomAirdrop1155Merkle.sol @@ -2,27 +2,9 @@ pragma solidity ^0.8.19; import "@openzeppelin/contracts/access/Ownable.sol"; -import { MerkleProof } from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; +import "../Tools/Types.sol"; -interface IERC1155 { - function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes memory data) external; - function balanceOf(address account, uint256 id) external view returns (uint256); -} - -enum AirdropType { - CUSTOM, - MERKLE -} - -struct AirdropInfo { - string airdropName; - address airdropAddress; - uint256 totalAirdropAmount; - uint256 airdropAmountLeft; - uint256 claimAmount; - uint256 expirationDate; - AirdropType airdropType; -} +import { MerkleProof } from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; contract CustomAirdrop1155Merkle is Ownable { event Claim(address recipient, uint256 amount); @@ -91,7 +73,7 @@ contract CustomAirdrop1155Merkle is Ownable { } function getAirdropInfo() public view returns(AirdropInfo memory) { - return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, 0, _expirationDate, _airdropType); + return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, 0, _expirationDate, _airdropType, ''); } function hasBeenTotallyClaimed() public view returns(bool) { @@ -125,4 +107,9 @@ contract CustomAirdrop1155Merkle is Ownable { function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) { return bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)")); } + + function getUri() public view returns (string memory) { + //NOT IMPLEMENTED YET + return 'not implemented'; + } } \ No newline at end of file diff --git a/contracts/Erc1155.sol b/contracts/ERC1155/Erc1155.sol similarity index 90% rename from contracts/Erc1155.sol rename to contracts/ERC1155/Erc1155.sol index e3539f9..0d0ef3e 100644 --- a/contracts/Erc1155.sol +++ b/contracts/ERC1155/Erc1155.sol @@ -6,7 +6,7 @@ import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract MyToken is ERC1155, Ownable { - constructor(address initialOwner) ERC1155("") Ownable(initialOwner) {} + constructor() ERC1155("") Ownable(msg.sender) {} function setURI(string memory newuri) public onlyOwner { _setURI(newuri); diff --git a/contracts/ERC20/Erc20.sol b/contracts/ERC20/Erc20.sol new file mode 100644 index 0000000..0d800ed --- /dev/null +++ b/contracts/ERC20/Erc20.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol"; + +contract MyERC20 is ERC20, ERC20Burnable, Ownable, ERC20Permit { + constructor(address initialOwner) + ERC20("MyERC20", "MRC") + Ownable(initialOwner) + ERC20Permit("MyERC20") + {} + + function mint(address to, uint256 amount) public onlyOwner { + _mint(to, amount); + } +} diff --git a/contracts/ERC20/OpenAirdropERC20.sol b/contracts/ERC20/OpenAirdropERC20.sol new file mode 100644 index 0000000..9a4e685 --- /dev/null +++ b/contracts/ERC20/OpenAirdropERC20.sol @@ -0,0 +1,106 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "@openzeppelin/contracts/access/Ownable.sol"; +import "../Tools/Types.sol"; + +contract OpenAirdropERC20 is Ownable { + event Claim(address recipient, uint256 amount); + event AddressAllowed(address allowedAddress); + event AddressDisallowed(address disallowedAddress); + + IERC20 _tokenContract; + uint256 _totalAirdropAmount; + uint256 _airdropAmountLeft; + uint256 _claimAmount; + uint256 _expirationDate; + string _airdropName; + AirdropType _airdropType; + + mapping(address => bool) _allowedAddresses; + mapping(address => bool) _addressesThatAlreadyClaimed; + + constructor( + string memory airdropName, + address initialOwner, + address tokenAddress, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate + ) Ownable(initialOwner) { + _tokenContract = IERC20(tokenAddress); + _airdropName = airdropName; + _totalAirdropAmount = totalAirdropAmount; + _airdropAmountLeft = totalAirdropAmount; + _claimAmount = claimAmount; + _expirationDate = expirationDate; + _airdropType = AirdropType.FUNGIBLE; + } + + function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner { + require(!hasExpired(), "Airdrop already expired."); + require(!hasClaimed(user), "Address already claimed this airdrop."); + require(!hasBeenTotallyClaimed(), "Airdrop has been totally claimed already."); + require(hasBalanceToClaim(), "Airdrop contract has insufficient token balance."); + + _tokenContract.transfer(user, _claimAmount); + _airdropAmountLeft -= _claimAmount; + _addressesThatAlreadyClaimed[user] = true; + + emit Claim(user, _claimAmount); + } + + function isAllowed(address user) public pure returns(bool) { + return true; + } + + function getAirdropInfo() public view returns(AirdropInfo memory) { + string memory uri = _tokenContract.getUri(); + return AirdropInfo( + _airdropName, + address(this), + _totalAirdropAmount, + _airdropAmountLeft, + _claimAmount, + _expirationDate, + _airdropType, + uri + ); + } + + function hasBalanceToClaim() public view returns(bool) { + return _tokenContract.balanceOf(address(this)) >= _claimAmount; + } + + function hasBeenTotallyClaimed() public view returns(bool) { + return _airdropAmountLeft < _claimAmount; + } + + function hasClaimed(address _address) public view returns(bool) { + return _addressesThatAlreadyClaimed[_address]; + } + + function hasExpired() public view returns(bool) { + return _expirationDate < block.timestamp; + } + + function getExpirationDate() public view returns(uint256) { + return _expirationDate; + } + + function getClaimAmount() public view returns(uint256) { + return _claimAmount; + } + + function getTotalAirdropAmount() public view returns(uint256) { + return _totalAirdropAmount; + } + + function getAirdropAmountLeft() public view returns(uint256) { + return _airdropAmountLeft; + } + + function getBalance() public view returns(uint256) { + return _tokenContract.balanceOf(address(this)); + } +} \ No newline at end of file diff --git a/contracts/Administrable.sol b/contracts/Lib/Administrable.sol similarity index 100% rename from contracts/Administrable.sol rename to contracts/Lib/Administrable.sol diff --git a/contracts/Lib/AirdropDeployerERC1155.sol b/contracts/Lib/AirdropDeployerERC1155.sol new file mode 100644 index 0000000..7266425 --- /dev/null +++ b/contracts/Lib/AirdropDeployerERC1155.sol @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "../ERC1155/CustomAirdrop1155.sol"; +import "../ERC1155/CustomAirdrop1155Merkle.sol"; +import "../Tools/Types.sol"; + +contract AirdropDeployerERC1155 { + constructor() {} + function deployAndAddAirdrop( + string memory airdropName, + address tokenAddress, + uint256 tokenId, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate, + uint256 mode + ) public returns (address) { + if (mode == 0) { + CustomAirdrop1155 deployedAirdrop = new CustomAirdrop1155( + airdropName, + address(this), + tokenAddress, + tokenId, + totalAirdropAmount, + claimAmount, + expirationDate, + AirdropType.CUSTOM + ); + address airdropAddress = address(deployedAirdrop); + return airdropAddress; + } else if (mode == 1) { + CustomAirdrop1155Merkle deployedAirdrop = new CustomAirdrop1155Merkle( + airdropName, + address(this), + tokenAddress, + tokenId, + totalAirdropAmount, + expirationDate, + AirdropType.MERKLE + ); + address airdropAddress = address(deployedAirdrop); + return airdropAddress; + } else { + return address(0); + } + } +} diff --git a/contracts/Lib/AirdropDeployerERC20.sol b/contracts/Lib/AirdropDeployerERC20.sol new file mode 100644 index 0000000..e88ddfa --- /dev/null +++ b/contracts/Lib/AirdropDeployerERC20.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "../ERC20/OpenAirdropERC20.sol"; +import "../Tools/Types.sol"; + +contract AirdropDeployerERC20{ + constructor() {} + function deployAndAddAirdrop( + string memory airdropName, + address tokenAddress, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate + ) public returns (address) { + OpenAirdropERC20 deployedAirdrop = new OpenAirdropERC20( + airdropName, + msg.sender, + tokenAddress, + totalAirdropAmount, + claimAmount, + expirationDate + ); + address airdropAddress = address(deployedAirdrop); + return airdropAddress; + } +} diff --git a/contracts/Tools/Types.sol b/contracts/Tools/Types.sol new file mode 100644 index 0000000..32fdbb3 --- /dev/null +++ b/contracts/Tools/Types.sol @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +enum AirdropType { + CUSTOM, + MERKLE, + FUNGIBLE +} + +struct AirdropInfo { + string airdropName; + address airdropAddress; + uint256 totalAirdropAmount; + uint256 airdropAmountLeft; + uint256 claimAmount; + uint256 expirationDate; + AirdropType airdropType; + string uri; +} + +interface IAirdrop { + function claim(address user, uint256 amount_, bytes32[] calldata proof_) external; + function hasClaimed(address _address) external view returns(bool); + function hasExpired() external view returns(bool); + function allowAddress(address _address) external; + function allowAddresses(address[] memory addresses) external; + function disallowAddresses(address[] memory addresses) external; + function disallowAddress(address _address) external; + function isAllowed(address _address) external view returns(bool); + function getExpirationDate() external view returns(uint256); + function getClaimAmount() external view returns(uint256); + function getTotalAirdropAmount() external view returns(uint256); + function getAirdropAmountLeft() external view returns(uint256); + function getBalance() external view returns(uint256); + function getAirdropInfo() external view returns(AirdropInfo memory info); + function setRoot(bytes32 _root) external; +} + +interface IDeployerERC20 { + function deployAndAddAirdrop( + string memory airdropName, + address tokenAddress, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate + ) external returns(address); +} + +interface IDeployer1155 { + function deployAndAddAirdrop( + string memory airdropName, + address tokenAddress, + uint256 tokenId, + uint256 totalAirdropAmount, + uint256 claimAmount, + uint256 expirationDate, + uint256 mode + ) external returns(address); +} + +interface IERC20 { + function transfer(address to, uint256 amount) external; + function balanceOf(address account) external view returns (uint256); + function getUri() external view returns (string memory); +} + +interface IERC1155 { + function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes memory data) external; + function balanceOf(address account, uint256 id) external view returns (uint256); + function getUri() external view returns (string memory); +} \ No newline at end of file diff --git a/hardhat.base.config.ts b/hardhat.base.config.ts deleted file mode 100644 index 6e59226..0000000 --- a/hardhat.base.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import "hardhat-deploy"; -import { HardhatUserConfig } from "hardhat/config"; - -const config: HardhatUserConfig = { - defaultNetwork: "hardhat", - namedAccounts: { - deployer: 0, - otherUser: 1, - alice: 2, - bob: 3, - charly: 4, - david: 5, - nonUser: 10, - } -}; - -export default config; diff --git a/hardhat.config.ts b/hardhat.config.ts index 2fdb35d..f2dd58c 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,8 +1,78 @@ -import { HardhatUserConfig } from "hardhat/config"; -import "@nomicfoundation/hardhat-toolbox"; +import { HardhatUserConfig } from 'hardhat/config' +import '@nomicfoundation/hardhat-toolbox' +import "dotenv/config"; + +const RSK_MAINNET_RPC_URL = process.env.RSK_MAINNET_RPC_URL +const RSK_TESTNET_RPC_URL = process.env.RSK_TESTNET_RPC_URL +const PRIVATE_KEY = process.env.PRIVATE_KEY +console.log('RSK_MAINNET_RPC_URL:', process.env.RSK_MAINNET_RPC_URL) +console.log('RSK_MAINNET_RPC_URL:', RSK_MAINNET_RPC_URL) +// Ensure environment variables are configured +if (!RSK_MAINNET_RPC_URL) { + throw new Error('The RPC URL for the mainnet is not configured.') +} + +if (!RSK_TESTNET_RPC_URL) { + // Fixed duplicate check for RSK_MAINNET_RPC_URL + throw new Error('The RPC URL for the testnet is not configured.') +} + +if (!PRIVATE_KEY) { + throw new Error('Private key is not configured.') +} const config: HardhatUserConfig = { - solidity: "0.8.20", -}; + solidity: '0.8.24', + networks: { + hardhat: { + // If you want to do some forking, uncomment this + // forking: { + // url: MAINNET_RPC_URL + // } + }, + localhost: { + url: 'http://127.0.0.1:8545', + }, + rskMainnet: { + url: RSK_MAINNET_RPC_URL, + chainId: 30, + gasPrice: 60000000, + gas: 80000000, + accounts: [PRIVATE_KEY], + }, + rskTestnet: { + url: RSK_TESTNET_RPC_URL, + chainId: 31, + gasPrice: 60000000, + gas: 80000000, + accounts: [PRIVATE_KEY], + }, + }, + etherscan: { + apiKey: { + // Is not required by blockscout. Can be any non-empty string + rsktestnet: 'your API key', + rskmainnet: 'your API key', + }, + customChains: [ + { + network: 'rsktestnet', + chainId: 31, + urls: { + apiURL: 'https://rootstock-testnet.blockscout.com/api/', + browserURL: 'https://rootstock-testnet.blockscout.com/', + }, + }, + { + network: 'rskmainnet', + chainId: 30, + urls: { + apiURL: 'https://rootstock.blockscout.com/api/', + browserURL: 'https://rootstock.blockscout.com/', + }, + }, + ], + } +} -export default config; \ No newline at end of file +export default config diff --git a/ignition/deployments/chain-31/build-info/40717cdef89f447db920acc1a81b60b5.json b/ignition/deployments/chain-31/build-info/40717cdef89f447db920acc1a81b60b5.json new file mode 100644 index 0000000..9869f0a --- /dev/null +++ b/ignition/deployments/chain-31/build-info/40717cdef89f447db920acc1a81b60b5.json @@ -0,0 +1,140233 @@ +{ + "id": "40717cdef89f447db920acc1a81b60b5", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.24", + "solcLongVersion": "0.8.24+commit.e11b9ed9", + "input": { + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/access/Ownable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/Hashes.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/Hashes.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library of standard hash functions.\n *\n * _Available since v5.1._\n */\nlibrary Hashes {\n /**\n * @dev Commutative Keccak256 hash of a sorted pair of bytes32. Frequently used when working with merkle proofs.\n *\n * NOTE: Equivalent to the `standardNodeHash` in our https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n */\n function commutativeKeccak256(bytes32 a, bytes32 b) internal pure returns (bytes32) {\n return a < b ? _efficientKeccak256(a, b) : _efficientKeccak256(b, a);\n }\n\n /**\n * @dev Implementation of keccak256(abi.encode(a, b)) that doesn't allocate or expand memory.\n */\n function _efficientKeccak256(bytes32 a, bytes32 b) private pure returns (bytes32 value) {\n assembly (\"memory-safe\") {\n mstore(0x00, a)\n mstore(0x20, b)\n value := keccak256(0x00, 0x40)\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/MerkleProof.sol)\n// This file was procedurally generated from scripts/generate/templates/MerkleProof.js.\n\npragma solidity ^0.8.20;\n\nimport {Hashes} from \"./Hashes.sol\";\n\n/**\n * @dev These functions deal with verification of Merkle Tree proofs.\n *\n * The tree and the proofs can be generated using our\n * https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n * You will find a quickstart guide in the readme.\n *\n * WARNING: You should avoid using leaf values that are 64 bytes long prior to\n * hashing, or use a hash function other than keccak256 for hashing leaves.\n * This is because the concatenation of a sorted pair of internal nodes in\n * the Merkle tree could be reinterpreted as a leaf value.\n * OpenZeppelin's JavaScript library generates Merkle trees that are safe\n * against this attack out of the box.\n *\n * IMPORTANT: Consider memory side-effects when using custom hashing functions\n * that access memory in an unsafe way.\n *\n * NOTE: This library supports proof verification for merkle trees built using\n * custom _commutative_ hashing functions (i.e. `H(a, b) == H(b, a)`). Proving\n * leaf inclusion in trees built using non-commutative hashing functions requires\n * additional logic that is not supported by this library.\n */\nlibrary MerkleProof {\n /**\n *@dev The multiproof provided is not valid.\n */\n error MerkleProofInvalidMultiproof();\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with the default hashing function.\n */\n function verify(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {\n return processProof(proof, leaf) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with the default hashing function.\n */\n function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = Hashes.commutativeKeccak256(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with a custom hashing function.\n */\n function verify(\n bytes32[] memory proof,\n bytes32 root,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processProof(proof, leaf, hasher) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with a custom hashing function.\n */\n function processProof(\n bytes32[] memory proof,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = hasher(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with the default hashing function.\n */\n function verifyCalldata(bytes32[] calldata proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {\n return processProofCalldata(proof, leaf) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with the default hashing function.\n */\n function processProofCalldata(bytes32[] calldata proof, bytes32 leaf) internal pure returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = Hashes.commutativeKeccak256(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with a custom hashing function.\n */\n function verifyCalldata(\n bytes32[] calldata proof,\n bytes32 root,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processProofCalldata(proof, leaf, hasher) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with a custom hashing function.\n */\n function processProofCalldata(\n bytes32[] calldata proof,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = hasher(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in memory with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProof}.\n */\n function multiProofVerify(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32 root,\n bytes32[] memory leaves\n ) internal pure returns (bool) {\n return processMultiProof(proof, proofFlags, leaves) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in memory with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProof(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32[] memory leaves\n ) internal pure returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = Hashes.commutativeKeccak256(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in memory with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProof}.\n */\n function multiProofVerify(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32 root,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processMultiProof(proof, proofFlags, leaves, hasher) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in memory with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProof(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = hasher(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in calldata with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProofCalldata}.\n */\n function multiProofVerifyCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32 root,\n bytes32[] memory leaves\n ) internal pure returns (bool) {\n return processMultiProofCalldata(proof, proofFlags, leaves) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in calldata with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProofCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32[] memory leaves\n ) internal pure returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = Hashes.commutativeKeccak256(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in calldata with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProofCalldata}.\n */\n function multiProofVerifyCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32 root,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processMultiProofCalldata(proof, proofFlags, leaves, hasher) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in calldata with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProofCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = hasher(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n}\n" + }, + "contracts/Administrable.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\ncontract Administrable {\n mapping(address => bool) _admins;\n\n constructor(address[] memory initialAdmins) {\n for (uint i; i < initialAdmins.length; i++) {\n _admins[initialAdmins[i]] = true;\n }\n }\n\n modifier onlyAdmins {\n require(_admins[msg.sender], \"Address not allowed to call this method\");\n _;\n }\n\n function isAdmin(address _address) public view returns(bool) {\n return _admins[_address];\n }\n\n function addAdmin(address _newAdmin) public onlyAdmins {\n _admins[_newAdmin] = true;\n }\n\n function removeAdmin(address _admin) public onlyAdmins {\n _admins[_admin] = false;\n }\n}" + }, + "contracts/AirdropDeployerERC1155.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"./CustomAirdrop1155.sol\";\nimport \"./CustomAirdrop1155Merkle.sol\";\nimport \"./Types.sol\";\n\ncontract AirdropDeployerERC1155 {\n constructor() {}\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n uint256 mode\n ) public returns (address) {\n if (mode == 0) {\n CustomAirdrop1155 deployedAirdrop = new CustomAirdrop1155(\n airdropName,\n address(this),\n tokenAddress,\n tokenId,\n totalAirdropAmount,\n claimAmount,\n expirationDate,\n AirdropType.CUSTOM\n );\n address airdropAddress = address(deployedAirdrop);\n return airdropAddress;\n } else if (mode == 1) {\n CustomAirdrop1155Merkle deployedAirdrop = new CustomAirdrop1155Merkle(\n airdropName,\n address(this),\n tokenAddress,\n tokenId,\n totalAirdropAmount,\n expirationDate,\n AirdropType.MERKLE\n );\n address airdropAddress = address(deployedAirdrop);\n return airdropAddress;\n } else {\n return address(0);\n }\n }\n}\n" + }, + "contracts/AirdropDeployerERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"./OpenAirdropERC20.sol\";\nimport \"./Types.sol\";\n\ncontract AirdropDeployerERC20{\n constructor() {}\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) public returns (address) {\n OpenAirdropERC20 deployedAirdrop = new OpenAirdropERC20(\n airdropName,\n address(this),\n tokenAddress,\n totalAirdropAmount,\n claimAmount,\n expirationDate\n );\n address airdropAddress = address(deployedAirdrop);\n return airdropAddress;\n }\n}\n" + }, + "contracts/AirdropManager.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"./Administrable.sol\";\nimport \"./Types.sol\";\n\ncontract AirdropManager is Administrable {\n address _airdropDeployerERC20Address;\n address _airdropDeployerERC1155Address;\n address[] _airdrops;\n\n event AirdropAdded(address airdropAddress);\n event AirdropRemoved(address airdropAddress);\n event AirdropERC20Deployed(address airdropAddress);\n event AirdropERC1155Deployed(address airdropAddress);\n\n constructor(\n address[] memory initialAdmins,\n address airdropDeployerERC20Address,\n address airdropDeployerERC1155Address\n ) Administrable(initialAdmins) {\n _airdropDeployerERC20Address = airdropDeployerERC20Address;\n _airdropDeployerERC1155Address = airdropDeployerERC1155Address;\n }\n\n function claim(\n address airdropAddress,\n address user,\n uint256 amount,\n bytes32[] calldata proof\n ) public {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.claim(user, amount, proof);\n }\n\n function hasClaimed(\n address airdropAddress,\n address user\n ) public view returns (bool) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.hasClaimed(user);\n }\n\n function hasExpired(address airdropAddress) public view returns (bool) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.hasExpired();\n }\n\n function isAllowed(\n address airdropAddress,\n address user\n ) public view returns (bool) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.isAllowed(user);\n }\n\n function getExpirationDate(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getExpirationDate();\n }\n\n function getClaimAmount(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getClaimAmount();\n }\n\n function getAirdropInfo(\n address airdropAddress\n ) public view returns (AirdropInfo memory) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getAirdropInfo();\n }\n\n function getTotalAirdropAmount(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getTotalAirdropAmount();\n }\n\n function getAirdropAmountLeft(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getAirdropAmountLeft();\n }\n\n function getBalance(address airdropAddress) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getBalance();\n }\n\n function getAirdrops() public view returns (address[] memory) {\n return _airdrops;\n }\n\n function deployAndAddAirdropERC20(\n string memory airdropName,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) public onlyAdmins returns(address) {\n IDeployerERC20 deployerERC20 = IDeployerERC20(_airdropDeployerERC20Address);\n address deployedAddress = deployerERC20.deployAndAddAirdrop(\n airdropName,\n tokenAddress,\n totalAirdropAmount,\n claimAmount,\n expirationDate\n );\n addAirdrop(deployedAddress);\n emit AirdropERC20Deployed(deployedAddress);\n return deployedAddress;\n }\n\n function deployAndAddAirdropERC1155(\n string memory airdropName,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n uint256 mode\n ) public onlyAdmins returns(address) {\n IDeployer1155 deployer1155 = IDeployer1155(_airdropDeployerERC1155Address);\n address deployedAddress = deployer1155.deployAndAddAirdrop(\n airdropName,\n tokenAddress,\n tokenId,\n totalAirdropAmount,\n claimAmount,\n expirationDate,\n mode\n );\n require(deployedAddress != address(0), \"Error, wrong mode selected\");\n addAirdrop(deployedAddress);\n emit AirdropERC1155Deployed(deployedAddress);\n return deployedAddress;\n }\n\n function addAirdrop(address newAirdropAddress) internal {\n bool exists = false;\n for (uint i = 0; i < _airdrops.length && !exists; i++) {\n exists = _airdrops[i] == newAirdropAddress;\n }\n require(!exists, \"Airdrop already added\");\n _airdrops.push(newAirdropAddress);\n emit AirdropAdded(newAirdropAddress);\n }\n\n function setRoot(address airdropAddress, bytes32 _root) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.setRoot(_root);\n }\n\n function removeAirdrop(address airdropAddress) public onlyAdmins {\n bool exists = false;\n for (uint i = 0; i < _airdrops.length && !exists; i++) {\n if (_airdrops[i] == airdropAddress) {\n exists = true;\n _airdrops[i] = _airdrops[_airdrops.length - 1];\n _airdrops.pop();\n }\n }\n\n if (exists) emit AirdropRemoved(airdropAddress);\n }\n\n function allowAddress(\n address airdropAddress,\n address user\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.allowAddress(user);\n }\n\n function allowAddresses(\n address airdropAddress,\n address[] memory users\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.allowAddresses(users);\n }\n\n function disallowAddress(\n address airdropAddress,\n address user\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.disallowAddress(user);\n }\n\n function disallowAddresses(\n address airdropAddress,\n address[] memory users\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.disallowAddresses(users);\n }\n}\n" + }, + "contracts/CustomAirdrop1155.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"./Types.sol\";\n\ncontract CustomAirdrop1155 is Ownable {\n event Claim(address recipient, uint256 amount);\n event AddressAllowed(address allowedAddress);\n event AddressDisallowed(address disallowedAddress);\n\n IERC1155 _tokenContract;\n uint256 _totalAirdropAmount;\n uint256 _airdropAmountLeft;\n uint256 _claimAmount;\n uint256 _expirationDate;\n uint256 _tokenId;\n string _airdropName;\n AirdropType _airdropType;\n\n mapping(address => bool) _allowedAddresses;\n mapping(address => bool) _addressesThatAlreadyClaimed;\n\n constructor(\n string memory airdropName,\n address initialOwner,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n AirdropType airdropType\n ) Ownable(initialOwner) {\n _tokenContract = IERC1155(tokenAddress);\n _airdropName = airdropName;\n _tokenId = tokenId;\n _totalAirdropAmount = totalAirdropAmount;\n _airdropAmountLeft = totalAirdropAmount;\n _claimAmount = claimAmount;\n _expirationDate = expirationDate;\n _airdropType = airdropType;\n }\n\n function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n require(isAllowed(user), \"Address not allowed to claim this airdrop\");\n require(!hasExpired(), \"Airdrop already expired.\");\n require(!hasClaimed(user), \"Address already claimed this airdrop.\");\n require(!hasBeenTotallyClaimed(), \"Airdrop has been totally claimed already.\");\n require(hasBalanceToClaim(), \"Airdrop contract has insufficient token balance.\");\n\n _tokenContract.safeTransferFrom(address(this), user, _tokenId, _claimAmount, '');\n _airdropAmountLeft -= _claimAmount;\n _addressesThatAlreadyClaimed[user] = true;\n\n emit Claim(user, _claimAmount);\n }\n\n function getAirdropInfo() public view returns(AirdropInfo memory) {\n return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, _claimAmount, _expirationDate, _airdropType, '');\n }\n\n function hasBalanceToClaim() public view returns(bool) {\n return _tokenContract.balanceOf(address(this), _tokenId) >= _claimAmount;\n }\n\n function hasBeenTotallyClaimed() public view returns(bool) {\n return _airdropAmountLeft < _claimAmount;\n }\n\n function hasClaimed(address _address) public view returns(bool) {\n return _addressesThatAlreadyClaimed[_address];\n }\n\n function hasExpired() public view returns(bool) {\n return _expirationDate < block.timestamp;\n }\n\n function allowAddress(address _address) public onlyOwner {\n _allowedAddresses[_address] = true;\n emit AddressAllowed(_address);\n }\n\n function allowAddresses(address[] memory addresses) public onlyOwner {\n for (uint i; i < addresses.length; i++) {\n _allowedAddresses[addresses[i]] = true;\n emit AddressAllowed(addresses[i]);\n }\n }\n\n function disallowAddresses(address[] memory addresses) public onlyOwner {\n for (uint i; i < addresses.length; i++) {\n _allowedAddresses[addresses[i]] = false;\n emit AddressDisallowed(addresses[i]);\n }\n }\n\n function disallowAddress(address _address) public onlyOwner {\n _allowedAddresses[_address] = false;\n emit AddressDisallowed(_address);\n }\n\n function isAllowed(address _address) public view returns(bool) {\n return _allowedAddresses[_address];\n }\n\n function getExpirationDate() public view returns(uint256) {\n return _expirationDate;\n }\n\n function getClaimAmount() public view returns(uint256) {\n return _claimAmount;\n }\n\n function getTotalAirdropAmount() public view returns(uint256) {\n return _totalAirdropAmount;\n }\n\n function getAirdropAmountLeft() public view returns(uint256) {\n return _airdropAmountLeft;\n }\n\n function getBalance() public view returns(uint256) {\n return _tokenContract.balanceOf(address(this), _tokenId);\n }\n\n function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n return bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"));\n }\n\n function getUri() public view returns (string memory) {\n //NOT IMPLEMENTED YET\n return 'not implemented';\n }\n}" + }, + "contracts/CustomAirdrop1155Merkle.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"./Types.sol\";\n\nimport { MerkleProof } from \"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\";\n\ncontract CustomAirdrop1155Merkle is Ownable {\n event Claim(address recipient, uint256 amount);\n\n IERC1155 _tokenContract;\n uint256 _totalAirdropAmount;\n uint256 _airdropAmountLeft;\n uint256 _claimAmount;\n uint256 _expirationDate;\n uint256 _tokenId;\n string _airdropName;\n AirdropType _airdropType;\n\n // (account,amount) Merkle Tree root\n bytes32 public root;\n error InvalidProof();\n error UsedLeaf();\n\n mapping(address => bool) _addressesThatAlreadyClaimed;\n mapping(bytes32 => bool) public claimedLeaf;\n\n constructor(\n string memory airdropName,\n address initialOwner,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 expirationDate,\n AirdropType airdropType\n ) Ownable(initialOwner) {\n _tokenContract = IERC1155(tokenAddress);\n _airdropName = airdropName;\n _tokenId = tokenId;\n _totalAirdropAmount = totalAirdropAmount;\n _airdropAmountLeft = totalAirdropAmount;\n _expirationDate = expirationDate;\n _airdropType = airdropType;\n }\n\n function setRoot(bytes32 _root) public onlyOwner {\n root = _root;\n }\n\n function claim(address user, uint256 amount, bytes32[] calldata proof) external onlyOwner{\n _claim(user, amount, proof);\n }\n\n function _claim(address origin_, uint256 amount_, bytes32[] calldata proof_) internal {\n bytes32 leaf = _buildLeaf(origin_, amount_);\n\n if (!MerkleProof.verifyCalldata(proof_, root, leaf)) revert InvalidProof();\n if (claimedLeaf[leaf]) revert UsedLeaf();\n claimedLeaf[leaf] = true;\n require(!hasExpired(), \"Airdrop already expired.\");\n require(!hasBeenTotallyClaimed(), \"Airdrop has been totally claimed already.\");\n\n _tokenContract.safeTransferFrom(address(this), origin_, _tokenId, amount_, '');\n _airdropAmountLeft -= amount_;\n _addressesThatAlreadyClaimed[origin_] = true;\n\n emit Claim(origin_, amount_);\n }\n\n function _buildLeaf(address origin_, uint256 amount_) internal pure returns (bytes32) {\n return keccak256(bytes.concat(keccak256(abi.encode(origin_, amount_))));\n }\n\n function getAirdropInfo() public view returns(AirdropInfo memory) {\n return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, 0, _expirationDate, _airdropType, '');\n }\n\n function hasBeenTotallyClaimed() public view returns(bool) {\n return _airdropAmountLeft < 1;\n }\n\n function hasClaimed(address _address) public view returns(bool) {\n return _addressesThatAlreadyClaimed[_address];\n }\n\n function hasExpired() public view returns(bool) {\n return _expirationDate < block.timestamp;\n }\n\n function getExpirationDate() public view returns(uint256) {\n return _expirationDate;\n }\n\n function getTotalAirdropAmount() public view returns(uint256) {\n return _totalAirdropAmount;\n }\n\n function getAirdropAmountLeft() public view returns(uint256) {\n return _airdropAmountLeft;\n }\n\n function getBalance() public view returns(uint256) {\n return _tokenContract.balanceOf(address(this), _tokenId);\n }\n\n function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n return bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"));\n }\n\n function getUri() public view returns (string memory) {\n //NOT IMPLEMENTED YET\n return 'not implemented';\n }\n}" + }, + "contracts/OpenAirdropERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"./Types.sol\";\n\ncontract OpenAirdropERC20 is Ownable {\n event Claim(address recipient, uint256 amount);\n event AddressAllowed(address allowedAddress);\n event AddressDisallowed(address disallowedAddress);\n\n IERC20 _tokenContract;\n uint256 _totalAirdropAmount;\n uint256 _airdropAmountLeft;\n uint256 _claimAmount;\n uint256 _expirationDate;\n string _airdropName;\n AirdropType _airdropType;\n\n mapping(address => bool) _allowedAddresses;\n mapping(address => bool) _addressesThatAlreadyClaimed;\n\n constructor(\n string memory airdropName,\n address initialOwner,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) Ownable(initialOwner) {\n _tokenContract = IERC20(tokenAddress);\n _airdropName = airdropName;\n _totalAirdropAmount = totalAirdropAmount;\n _airdropAmountLeft = totalAirdropAmount;\n _claimAmount = claimAmount;\n _expirationDate = expirationDate;\n _airdropType = AirdropType.FUNGIBLE;\n }\n\n function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n require(!hasExpired(), \"Airdrop already expired.\");\n require(!hasClaimed(user), \"Address already claimed this airdrop.\");\n require(!hasBeenTotallyClaimed(), \"Airdrop has been totally claimed already.\");\n require(hasBalanceToClaim(), \"Airdrop contract has insufficient token balance.\");\n\n _tokenContract.transfer(user, _claimAmount);\n _airdropAmountLeft -= _claimAmount;\n _addressesThatAlreadyClaimed[user] = true;\n\n emit Claim(user, _claimAmount);\n }\n \n function isAllowed(address user) public pure returns(bool) {\n return true;\n }\n\n function getAirdropInfo() public view returns(AirdropInfo memory) {\n string memory uri = _tokenContract.getUri();\n return AirdropInfo(\n _airdropName, \n address(this),\n _totalAirdropAmount, \n _airdropAmountLeft, \n _claimAmount, \n _expirationDate, \n _airdropType,\n uri\n );\n }\n\n function hasBalanceToClaim() public view returns(bool) {\n return _tokenContract.balanceOf(address(this)) >= _claimAmount;\n }\n\n function hasBeenTotallyClaimed() public view returns(bool) {\n return _airdropAmountLeft < _claimAmount;\n }\n\n function hasClaimed(address _address) public view returns(bool) {\n return _addressesThatAlreadyClaimed[_address];\n }\n\n function hasExpired() public view returns(bool) {\n return _expirationDate < block.timestamp;\n }\n\n function getExpirationDate() public view returns(uint256) {\n return _expirationDate;\n }\n\n function getClaimAmount() public view returns(uint256) {\n return _claimAmount;\n }\n\n function getTotalAirdropAmount() public view returns(uint256) {\n return _totalAirdropAmount;\n }\n\n function getAirdropAmountLeft() public view returns(uint256) {\n return _airdropAmountLeft;\n }\n\n function getBalance() public view returns(uint256) {\n return _tokenContract.balanceOf(address(this));\n }\n}" + }, + "contracts/Types.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nenum AirdropType {\n CUSTOM,\n MERKLE,\n FUNGIBLE\n}\n\nstruct AirdropInfo {\n string airdropName;\n address airdropAddress;\n uint256 totalAirdropAmount;\n uint256 airdropAmountLeft;\n uint256 claimAmount;\n uint256 expirationDate;\n AirdropType airdropType;\n string uri;\n}\n\ninterface IAirdrop {\n function claim(address user, uint256 amount_, bytes32[] calldata proof_) external;\n function hasClaimed(address _address) external view returns(bool);\n function hasExpired() external view returns(bool);\n function allowAddress(address _address) external;\n function allowAddresses(address[] memory addresses) external;\n function disallowAddresses(address[] memory addresses) external;\n function disallowAddress(address _address) external;\n function isAllowed(address _address) external view returns(bool);\n function getExpirationDate() external view returns(uint256);\n function getClaimAmount() external view returns(uint256);\n function getTotalAirdropAmount() external view returns(uint256);\n function getAirdropAmountLeft() external view returns(uint256);\n function getBalance() external view returns(uint256);\n function getAirdropInfo() external view returns(AirdropInfo memory info);\n function setRoot(bytes32 _root) external;\n}\n\ninterface IDeployerERC20 {\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) external returns(address);\n}\n\ninterface IDeployer1155 {\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n uint256 mode\n ) external returns(address);\n}\n\ninterface IERC20 {\n function transfer(address to, uint256 amount) external;\n function balanceOf(address account) external view returns (uint256);\n function getUri() external view returns (string memory);\n}\n\ninterface IERC1155 {\n function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes memory data) external;\n function balanceOf(address account, uint256 id) external view returns (uint256);\n function getUri() external view returns (string memory);\n}" + } + }, + "settings": { + "evmVersion": "paris", + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "errors": [ + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:44:34:\n |\n44 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1344, + "file": "contracts/CustomAirdrop1155.sol", + "start": 1330 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:44:50:\n |\n44 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1370, + "file": "contracts/CustomAirdrop1155.sol", + "start": 1346 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:126:32:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4279, + "file": "contracts/CustomAirdrop1155.sol", + "start": 4263 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:126:50:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4293, + "file": "contracts/CustomAirdrop1155.sol", + "start": 4281 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:126:64:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4305, + "file": "contracts/CustomAirdrop1155.sol", + "start": 4295 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:126:76:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4320, + "file": "contracts/CustomAirdrop1155.sol", + "start": 4307 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155.sol:126:91:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4339, + "file": "contracts/CustomAirdrop1155.sol", + "start": 4322 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155Merkle.sol:107:32:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3501, + "file": "contracts/CustomAirdrop1155Merkle.sol", + "start": 3485 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155Merkle.sol:107:50:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3515, + "file": "contracts/CustomAirdrop1155Merkle.sol", + "start": 3503 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155Merkle.sol:107:64:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3527, + "file": "contracts/CustomAirdrop1155Merkle.sol", + "start": 3517 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155Merkle.sol:107:76:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3542, + "file": "contracts/CustomAirdrop1155Merkle.sol", + "start": 3529 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/CustomAirdrop1155Merkle.sol:107:91:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3561, + "file": "contracts/CustomAirdrop1155Merkle.sol", + "start": 3544 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/OpenAirdropERC20.sol:40:34:\n |\n40 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1240, + "file": "contracts/OpenAirdropERC20.sol", + "start": 1226 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/OpenAirdropERC20.sol:40:50:\n |\n40 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1266, + "file": "contracts/OpenAirdropERC20.sol", + "start": 1242 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/OpenAirdropERC20.sol:53:24:\n |\n53 | function isAllowed(address user) public pure returns(bool) {\n | ^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1838, + "file": "contracts/OpenAirdropERC20.sol", + "start": 1826 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2018", + "formattedMessage": "Warning: Function state mutability can be restricted to pure\n --> contracts/CustomAirdrop1155.sol:130:5:\n |\n130 | function getUri() public view returns (string memory) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "Function state mutability can be restricted to pure", + "severity": "warning", + "sourceLocation": { + "end": 4604, + "file": "contracts/CustomAirdrop1155.sol", + "start": 4479 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2018", + "formattedMessage": "Warning: Function state mutability can be restricted to pure\n --> contracts/CustomAirdrop1155Merkle.sol:111:5:\n |\n111 | function getUri() public view returns (string memory) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "Function state mutability can be restricted to pure", + "severity": "warning", + "sourceLocation": { + "end": 3826, + "file": "contracts/CustomAirdrop1155Merkle.sol", + "start": 3701 + }, + "type": "Warning" + } + ], + "sources": { + "@openzeppelin/contracts/access/Ownable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 177 + ], + "Ownable": [ + 147 + ] + }, + "id": 148, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "102:24:0" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 148, + "sourceUnit": 178, + "src": "128:45:0", + "symbolAliases": [ + { + "foreign": { + "id": 2, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 177, + "src": "136:7:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5, + "name": "Context", + "nameLocations": [ + "692:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 177, + "src": "692:7:0" + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "692:7:0" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4, + "nodeType": "StructuredDocumentation", + "src": "175:487:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 147, + "linearizedBaseContracts": [ + 147, + 177 + ], + "name": "Ownable", + "nameLocation": "681:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "722:6:0", + "nodeType": "VariableDeclaration", + "scope": 147, + "src": "706:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "706:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "documentation": { + "id": 9, + "nodeType": "StructuredDocumentation", + "src": "735:85:0", + "text": " @dev The caller account is not authorized to perform an operation." + }, + "errorSelector": "118cdaa7", + "id": 13, + "name": "OwnableUnauthorizedAccount", + "nameLocation": "831:26:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "account", + "nameLocation": "866:7:0", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "858:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "858:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "857:17:0" + }, + "src": "825:50:0" + }, + { + "documentation": { + "id": 14, + "nodeType": "StructuredDocumentation", + "src": "881:82:0", + "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" + }, + "errorSelector": "1e4fbdf7", + "id": 18, + "name": "OwnableInvalidOwner", + "nameLocation": "974:19:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 17, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1002:5:0", + "nodeType": "VariableDeclaration", + "scope": 18, + "src": "994:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "993:15:0" + }, + "src": "968:41:0" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 24, + "name": "OwnershipTransferred", + "nameLocation": "1021:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 23, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "1058:13:0", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "1042:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1089:8:0", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "1073:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1073:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1041:57:0" + }, + "src": "1015:84:0" + }, + { + "body": { + "id": 49, + "nodeType": "Block", + "src": "1259:153:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1273:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1297:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1289:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1289:7:0", + "typeDescriptions": {} + } + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1289:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1273:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 44, + "nodeType": "IfStatement", + "src": "1269:95:0", + "trueBody": { + "id": 43, + "nodeType": "Block", + "src": "1301:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1350:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1342:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 37, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1342:7:0", + "typeDescriptions": {} + } + }, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1342:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 36, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "1322:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1322:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 42, + "nodeType": "RevertStatement", + "src": "1315:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 46, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1392:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 45, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "1373:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1373:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "1373:32:0" + } + ] + }, + "documentation": { + "id": 25, + "nodeType": "StructuredDocumentation", + "src": "1105:115:0", + "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." + }, + "id": 50, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "1245:12:0", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "1237:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1237:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1236:22:0" + }, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "1259:0:0" + }, + "scope": 147, + "src": "1225:187:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 57, + "nodeType": "Block", + "src": "1521:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 53, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1531:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1531:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55, + "nodeType": "ExpressionStatement", + "src": "1531:13:0" + }, + { + "id": 56, + "nodeType": "PlaceholderStatement", + "src": "1554:1:0" + } + ] + }, + "documentation": { + "id": 51, + "nodeType": "StructuredDocumentation", + "src": "1418:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 58, + "name": "onlyOwner", + "nameLocation": "1509:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "1518:2:0" + }, + "src": "1500:62:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 66, + "nodeType": "Block", + "src": "1693:30:0", + "statements": [ + { + "expression": { + "id": 64, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "1710:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 63, + "id": 65, + "nodeType": "Return", + "src": "1703:13:0" + } + ] + }, + "documentation": { + "id": 59, + "nodeType": "StructuredDocumentation", + "src": "1568:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 67, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1647:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [], + "src": "1652:2:0" + }, + "returnParameters": { + "id": 63, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "1684:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1684:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1683:9:0" + }, + "scope": 147, + "src": "1638:85:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 83, + "nodeType": "Block", + "src": "1841:117:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 71, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "1855:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1855:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 73, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1866:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1866:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1855:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 82, + "nodeType": "IfStatement", + "src": "1851:101:0", + "trueBody": { + "id": 81, + "nodeType": "Block", + "src": "1880:72:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 77, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1928:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1928:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76, + "name": "OwnableUnauthorizedAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "1901:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 80, + "nodeType": "RevertStatement", + "src": "1894:47:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 68, + "nodeType": "StructuredDocumentation", + "src": "1729:62:0", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 84, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1805:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "1816:2:0" + }, + "returnParameters": { + "id": 70, + "nodeType": "ParameterList", + "parameters": [], + "src": "1841:0:0" + }, + "scope": 147, + "src": "1796:162:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 97, + "nodeType": "Block", + "src": "2347:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2384:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2376:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 91, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2376:7:0", + "typeDescriptions": {} + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2376:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 90, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "2357:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2357:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 96, + "nodeType": "ExpressionStatement", + "src": "2357:30:0" + } + ] + }, + "documentation": { + "id": 85, + "nodeType": "StructuredDocumentation", + "src": "1964:324:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 98, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 88, + "kind": "modifierInvocation", + "modifierName": { + "id": 87, + "name": "onlyOwner", + "nameLocations": [ + "2337:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2337:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2337:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "2302:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "2319:2:0" + }, + "returnParameters": { + "id": 89, + "nodeType": "ParameterList", + "parameters": [], + "src": "2347:0:0" + }, + "scope": 147, + "src": "2293:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 125, + "nodeType": "Block", + "src": "2613:145:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 106, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "2627:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2647:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2639:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2639:7:0", + "typeDescriptions": {} + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2639:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2627:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120, + "nodeType": "IfStatement", + "src": "2623:91:0", + "trueBody": { + "id": 119, + "nodeType": "Block", + "src": "2651:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2700:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2692:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2692:7:0", + "typeDescriptions": {} + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2692:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 112, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "2672:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2672:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 118, + "nodeType": "RevertStatement", + "src": "2665:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 122, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "2742:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 121, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "2723:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2723:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 124, + "nodeType": "ExpressionStatement", + "src": "2723:28:0" + } + ] + }, + "documentation": { + "id": 99, + "nodeType": "StructuredDocumentation", + "src": "2400:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 126, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 104, + "kind": "modifierInvocation", + "modifierName": { + "id": 103, + "name": "onlyOwner", + "nameLocations": [ + "2603:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2603:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2603:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "2552:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2578:8:0", + "nodeType": "VariableDeclaration", + "scope": 126, + "src": "2570:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2570:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2569:18:0" + }, + "returnParameters": { + "id": 105, + "nodeType": "ParameterList", + "parameters": [], + "src": "2613:0:0" + }, + "scope": 147, + "src": "2543:215:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 145, + "nodeType": "Block", + "src": "2975:124:0", + "statements": [ + { + "assignments": [ + 133 + ], + "declarations": [ + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2993:8:0", + "nodeType": "VariableDeclaration", + "scope": 145, + "src": "2985:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2985:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "id": 134, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "3004:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2985:25:0" + }, + { + "expression": { + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 136, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "3020:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 137, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3029:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3020:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 139, + "nodeType": "ExpressionStatement", + "src": "3020:17:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 141, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "3073:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 142, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3083:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 140, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "3052:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3052:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 144, + "nodeType": "EmitStatement", + "src": "3047:45:0" + } + ] + }, + "documentation": { + "id": 127, + "nodeType": "StructuredDocumentation", + "src": "2764:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 146, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2921:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 129, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2948:8:0", + "nodeType": "VariableDeclaration", + "scope": 146, + "src": "2940:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2940:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2939:18:0" + }, + "returnParameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2975:0:0" + }, + "scope": 147, + "src": "2912:187:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 148, + "src": "663:2438:0", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24 + ] + } + ], + "src": "102:3000:0" + }, + "id": 0 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 177 + ] + }, + "id": 178, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 149, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:1" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 150, + "nodeType": "StructuredDocumentation", + "src": "127:496:1", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 177, + "linearizedBaseContracts": [ + 177 + ], + "name": "Context", + "nameLocation": "642:7:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 158, + "nodeType": "Block", + "src": "718:34:1", + "statements": [ + { + "expression": { + "expression": { + "id": 155, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "735:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "739:6:1", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "735:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 154, + "id": 157, + "nodeType": "Return", + "src": "728:17:1" + } + ] + }, + "id": 159, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "665:10:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 151, + "nodeType": "ParameterList", + "parameters": [], + "src": "675:2:1" + }, + "returnParameters": { + "id": 154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 153, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "709:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "709:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "708:9:1" + }, + "scope": 177, + "src": "656:96:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 167, + "nodeType": "Block", + "src": "825:32:1", + "statements": [ + { + "expression": { + "expression": { + "id": 164, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "842:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "846:4:1", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "842:8:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 163, + "id": 166, + "nodeType": "Return", + "src": "835:15:1" + } + ] + }, + "id": 168, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "767:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 160, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:1" + }, + "returnParameters": { + "id": 163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 168, + "src": "809:14:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 161, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "809:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "808:16:1" + }, + "scope": 177, + "src": "758:99:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 175, + "nodeType": "Block", + "src": "935:25:1", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "952:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 172, + "id": 174, + "nodeType": "Return", + "src": "945:8:1" + } + ] + }, + "id": 176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contextSuffixLength", + "nameLocation": "872:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [], + "src": "892:2:1" + }, + "returnParameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 176, + "src": "926:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 170, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "926:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "925:9:1" + }, + "scope": 177, + "src": "863:97:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 178, + "src": "624:338:1", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:862:1" + }, + "id": 1 + }, + "@openzeppelin/contracts/utils/cryptography/Hashes.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/Hashes.sol", + "exportedSymbols": { + "Hashes": [ + 217 + ] + }, + "id": 218, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 179, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "113:24:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Hashes", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 180, + "nodeType": "StructuredDocumentation", + "src": "139:81:2", + "text": " @dev Library of standard hash functions.\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 217, + "linearizedBaseContracts": [ + 217 + ], + "name": "Hashes", + "nameLocation": "229:6:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 203, + "nodeType": "Block", + "src": "588:85:2", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 190, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "605:1:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 191, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "609:1:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "605:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "arguments": [ + { + "id": 198, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "661:1:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 199, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "664:1:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 197, + "name": "_efficientKeccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "641:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:25:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "605:61:2", + "trueExpression": { + "arguments": [ + { + "id": 194, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 183, + "src": "633:1:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 195, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "636:1:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 193, + "name": "_efficientKeccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "613:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "613:25:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 189, + "id": 202, + "nodeType": "Return", + "src": "598:68:2" + } + ] + }, + "documentation": { + "id": 181, + "nodeType": "StructuredDocumentation", + "src": "242:257:2", + "text": " @dev Commutative Keccak256 hash of a sorted pair of bytes32. Frequently used when working with merkle proofs.\n NOTE: Equivalent to the `standardNodeHash` in our https://github.com/OpenZeppelin/merkle-tree[JavaScript library]." + }, + "id": 204, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "commutativeKeccak256", + "nameLocation": "513:20:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 183, + "mutability": "mutable", + "name": "a", + "nameLocation": "542:1:2", + "nodeType": "VariableDeclaration", + "scope": 204, + "src": "534:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 182, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "534:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 185, + "mutability": "mutable", + "name": "b", + "nameLocation": "553:1:2", + "nodeType": "VariableDeclaration", + "scope": 204, + "src": "545:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 184, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "545:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "533:22:2" + }, + "returnParameters": { + "id": 189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 188, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 204, + "src": "579:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "579:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "578:9:2" + }, + "scope": 217, + "src": "504:169:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 215, + "nodeType": "Block", + "src": "881:151:2", + "statements": [ + { + "AST": { + "nativeSrc": "916:110:2", + "nodeType": "YulBlock", + "src": "916:110:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "937:4:2", + "nodeType": "YulLiteral", + "src": "937:4:2", + "type": "", + "value": "0x00" + }, + { + "name": "a", + "nativeSrc": "943:1:2", + "nodeType": "YulIdentifier", + "src": "943:1:2" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "930:6:2", + "nodeType": "YulIdentifier", + "src": "930:6:2" + }, + "nativeSrc": "930:15:2", + "nodeType": "YulFunctionCall", + "src": "930:15:2" + }, + "nativeSrc": "930:15:2", + "nodeType": "YulExpressionStatement", + "src": "930:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "965:4:2", + "nodeType": "YulLiteral", + "src": "965:4:2", + "type": "", + "value": "0x20" + }, + { + "name": "b", + "nativeSrc": "971:1:2", + "nodeType": "YulIdentifier", + "src": "971:1:2" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "958:6:2", + "nodeType": "YulIdentifier", + "src": "958:6:2" + }, + "nativeSrc": "958:15:2", + "nodeType": "YulFunctionCall", + "src": "958:15:2" + }, + "nativeSrc": "958:15:2", + "nodeType": "YulExpressionStatement", + "src": "958:15:2" + }, + { + "nativeSrc": "986:30:2", + "nodeType": "YulAssignment", + "src": "986:30:2", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1005:4:2", + "nodeType": "YulLiteral", + "src": "1005:4:2", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "1011:4:2", + "nodeType": "YulLiteral", + "src": "1011:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "995:9:2", + "nodeType": "YulIdentifier", + "src": "995:9:2" + }, + "nativeSrc": "995:21:2", + "nodeType": "YulFunctionCall", + "src": "995:21:2" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "986:5:2", + "nodeType": "YulIdentifier", + "src": "986:5:2" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 207, + "isOffset": false, + "isSlot": false, + "src": "943:1:2", + "valueSize": 1 + }, + { + "declaration": 209, + "isOffset": false, + "isSlot": false, + "src": "971:1:2", + "valueSize": 1 + }, + { + "declaration": 212, + "isOffset": false, + "isSlot": false, + "src": "986:5:2", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 214, + "nodeType": "InlineAssembly", + "src": "891:135:2" + } + ] + }, + "documentation": { + "id": 205, + "nodeType": "StructuredDocumentation", + "src": "679:109:2", + "text": " @dev Implementation of keccak256(abi.encode(a, b)) that doesn't allocate or expand memory." + }, + "id": 216, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_efficientKeccak256", + "nameLocation": "802:19:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "a", + "nameLocation": "830:1:2", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "822:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "822:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 209, + "mutability": "mutable", + "name": "b", + "nameLocation": "841:1:2", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "833:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 208, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "833:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "821:22:2" + }, + "returnParameters": { + "id": 213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 212, + "mutability": "mutable", + "name": "value", + "nameLocation": "874:5:2", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "866:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 211, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "866:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "865:15:2" + }, + "scope": 217, + "src": "793:239:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 218, + "src": "221:813:2", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "113:922:2" + }, + "id": 2 + }, + "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", + "exportedSymbols": { + "Hashes": [ + 217 + ], + "MerkleProof": [ + 1290 + ] + }, + "id": 1291, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 219, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "206:24:3" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/Hashes.sol", + "file": "./Hashes.sol", + "id": 221, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1291, + "sourceUnit": 218, + "src": "232:36:3", + "symbolAliases": [ + { + "foreign": { + "id": 220, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "240:6:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "MerkleProof", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 222, + "nodeType": "StructuredDocumentation", + "src": "270:1082:3", + "text": " @dev These functions deal with verification of Merkle Tree proofs.\n The tree and the proofs can be generated using our\n https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n You will find a quickstart guide in the readme.\n WARNING: You should avoid using leaf values that are 64 bytes long prior to\n hashing, or use a hash function other than keccak256 for hashing leaves.\n This is because the concatenation of a sorted pair of internal nodes in\n the Merkle tree could be reinterpreted as a leaf value.\n OpenZeppelin's JavaScript library generates Merkle trees that are safe\n against this attack out of the box.\n IMPORTANT: Consider memory side-effects when using custom hashing functions\n that access memory in an unsafe way.\n NOTE: This library supports proof verification for merkle trees built using\n custom _commutative_ hashing functions (i.e. `H(a, b) == H(b, a)`). Proving\n leaf inclusion in trees built using non-commutative hashing functions requires\n additional logic that is not supported by this library." + }, + "fullyImplemented": true, + "id": 1290, + "linearizedBaseContracts": [ + 1290 + ], + "name": "MerkleProof", + "nameLocation": "1361:11:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 223, + "nodeType": "StructuredDocumentation", + "src": "1379:60:3", + "text": "@dev The multiproof provided is not valid." + }, + "errorSelector": "35140492", + "id": 225, + "name": "MerkleProofInvalidMultiproof", + "nameLocation": "1450:28:3", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 224, + "nodeType": "ParameterList", + "parameters": [], + "src": "1478:2:3" + }, + "src": "1444:37:3" + }, + { + "body": { + "id": 245, + "nodeType": "Block", + "src": "1999:57:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 239, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 229, + "src": "2029:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 240, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 233, + "src": "2036:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 238, + "name": "processProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 287, + 369 + ], + "referencedDeclaration": 287, + "src": "2016:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bytes32) pure returns (bytes32)" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2016:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 242, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2045:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2016:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 237, + "id": 244, + "nodeType": "Return", + "src": "2009:40:3" + } + ] + }, + "documentation": { + "id": 226, + "nodeType": "StructuredDocumentation", + "src": "1487:410:3", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in memory with the default hashing function." + }, + "id": 246, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "1911:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 229, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1935:5:3", + "nodeType": "VariableDeclaration", + "scope": 246, + "src": "1918:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 227, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1918:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 228, + "nodeType": "ArrayTypeName", + "src": "1918:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 231, + "mutability": "mutable", + "name": "root", + "nameLocation": "1950:4:3", + "nodeType": "VariableDeclaration", + "scope": 246, + "src": "1942:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 230, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1942:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 233, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "1964:4:3", + "nodeType": "VariableDeclaration", + "scope": 246, + "src": "1956:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 232, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1956:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1917:52:3" + }, + "returnParameters": { + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 236, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 246, + "src": "1993:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 235, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1993:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1992:6:3" + }, + "scope": 1290, + "src": "1902:154:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 286, + "nodeType": "Block", + "src": "2549:216:3", + "statements": [ + { + "assignments": [ + 258 + ], + "declarations": [ + { + "constant": false, + "id": 258, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "2567:12:3", + "nodeType": "VariableDeclaration", + "scope": 286, + "src": "2559:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 257, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2559:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 260, + "initialValue": { + "id": 259, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "2582:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2559:27:3" + }, + { + "body": { + "id": 282, + "nodeType": "Block", + "src": "2639:91:3", + "statements": [ + { + "expression": { + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 272, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 258, + "src": "2653:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 275, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 258, + "src": "2696:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 276, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 250, + "src": "2710:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 278, + "indexExpression": { + "id": 277, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "2716:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2710:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 273, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "2668:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$217_$", + "typeString": "type(library Hashes)" + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2675:20:3", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "2668:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2668:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2653:66:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 281, + "nodeType": "ExpressionStatement", + "src": "2653:66:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 265, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "2616:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 266, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 250, + "src": "2620:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2626:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2620:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2616:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 283, + "initializationExpression": { + "assignments": [ + 262 + ], + "declarations": [ + { + "constant": false, + "id": 262, + "mutability": "mutable", + "name": "i", + "nameLocation": "2609:1:3", + "nodeType": "VariableDeclaration", + "scope": 283, + "src": "2601:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2601:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 264, + "initialValue": { + "hexValue": "30", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2613:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2601:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2634:3:3", + "subExpression": { + "id": 269, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "2634:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 271, + "nodeType": "ExpressionStatement", + "src": "2634:3:3" + }, + "nodeType": "ForStatement", + "src": "2596:134:3" + }, + { + "expression": { + "id": 284, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 258, + "src": "2746:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 256, + "id": 285, + "nodeType": "Return", + "src": "2739:19:3" + } + ] + }, + "documentation": { + "id": 247, + "nodeType": "StructuredDocumentation", + "src": "2062:390:3", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in memory with the default hashing function." + }, + "id": 287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProof", + "nameLocation": "2466:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 250, + "mutability": "mutable", + "name": "proof", + "nameLocation": "2496:5:3", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2479:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 248, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2479:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 249, + "nodeType": "ArrayTypeName", + "src": "2479:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 252, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "2511:4:3", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2503:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 251, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2503:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2478:38:3" + }, + "returnParameters": { + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 287, + "src": "2540:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 254, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2540:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2539:9:3" + }, + "scope": 1290, + "src": "2457:308:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 318, + "nodeType": "Block", + "src": "3376:65:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 311, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3406:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 312, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "3413:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 313, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "3419:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 310, + "name": "processProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 287, + 369 + ], + "referencedDeclaration": 369, + "src": "3393:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bytes32,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3393:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 315, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "3430:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3393:41:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 309, + "id": 317, + "nodeType": "Return", + "src": "3386:48:3" + } + ] + }, + "documentation": { + "id": 288, + "nodeType": "StructuredDocumentation", + "src": "2771:407:3", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in memory with a custom hashing function." + }, + "id": 319, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "3192:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "proof", + "nameLocation": "3225:5:3", + "nodeType": "VariableDeclaration", + "scope": 319, + "src": "3208:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 289, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3208:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 290, + "nodeType": "ArrayTypeName", + "src": "3208:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 293, + "mutability": "mutable", + "name": "root", + "nameLocation": "3248:4:3", + "nodeType": "VariableDeclaration", + "scope": 319, + "src": "3240:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 292, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3240:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "3270:4:3", + "nodeType": "VariableDeclaration", + "scope": 319, + "src": "3262:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 294, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3262:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "3334:6:3", + "nodeType": "VariableDeclaration", + "scope": 319, + "src": "3284:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 304, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 297, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 304, + "src": "3293:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 296, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3293:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 304, + "src": "3302:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3302:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3292:18:3" + }, + "returnParameterTypes": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 302, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 304, + "src": "3325:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 301, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3325:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3324:9:3" + }, + "src": "3284:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "3198:148:3" + }, + "returnParameters": { + "id": 309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 308, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 319, + "src": "3370:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 307, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3370:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3369:6:3" + }, + "scope": 1290, + "src": "3183:258:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 368, + "nodeType": "Block", + "src": "4019:195:3", + "statements": [ + { + "assignments": [ + 341 + ], + "declarations": [ + { + "constant": false, + "id": 341, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "4037:12:3", + "nodeType": "VariableDeclaration", + "scope": 368, + "src": "4029:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4029:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 343, + "initialValue": { + "id": 342, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "4052:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4029:27:3" + }, + { + "body": { + "id": 364, + "nodeType": "Block", + "src": "4109:70:3", + "statements": [ + { + "expression": { + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 355, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "4123:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 357, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "4145:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 358, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "4159:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 360, + "indexExpression": { + "id": 359, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 345, + "src": "4165:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4159:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 356, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 335, + "src": "4138:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4138:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4123:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 363, + "nodeType": "ExpressionStatement", + "src": "4123:45:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 348, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 345, + "src": "4086:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 349, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "4090:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4096:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4090:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4086:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 365, + "initializationExpression": { + "assignments": [ + 345 + ], + "declarations": [ + { + "constant": false, + "id": 345, + "mutability": "mutable", + "name": "i", + "nameLocation": "4079:1:3", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "4071:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 344, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4071:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 347, + "initialValue": { + "hexValue": "30", + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4083:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4071:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4104:3:3", + "subExpression": { + "id": 352, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 345, + "src": "4104:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 354, + "nodeType": "ExpressionStatement", + "src": "4104:3:3" + }, + "nodeType": "ForStatement", + "src": "4066:113:3" + }, + { + "expression": { + "id": 366, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "4195:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 339, + "id": 367, + "nodeType": "Return", + "src": "4188:19:3" + } + ] + }, + "documentation": { + "id": 320, + "nodeType": "StructuredDocumentation", + "src": "3447:387:3", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in memory with a custom hashing function." + }, + "id": 369, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProof", + "nameLocation": "3848:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 323, + "mutability": "mutable", + "name": "proof", + "nameLocation": "3887:5:3", + "nodeType": "VariableDeclaration", + "scope": 369, + "src": "3870:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3870:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 322, + "nodeType": "ArrayTypeName", + "src": "3870:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 325, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "3910:4:3", + "nodeType": "VariableDeclaration", + "scope": 369, + "src": "3902:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3902:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 335, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "3974:6:3", + "nodeType": "VariableDeclaration", + "scope": 369, + "src": "3924:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 334, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 334, + "src": "3933:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3933:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 334, + "src": "3942:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 328, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3942:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3932:18:3" + }, + "returnParameterTypes": { + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 334, + "src": "3965:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3965:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3964:9:3" + }, + "src": "3924:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "3860:126:3" + }, + "returnParameters": { + "id": 339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 338, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 369, + "src": "4010:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4010:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4009:9:3" + }, + "scope": 1290, + "src": "3839:375:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 389, + "nodeType": "Block", + "src": "4744:65:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 383, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "4782:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 384, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "4789:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 382, + "name": "processProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 431, + 513 + ], + "referencedDeclaration": 431, + "src": "4761:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bytes32) pure returns (bytes32)" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4761:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 386, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 375, + "src": "4798:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4761:41:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 381, + "id": 388, + "nodeType": "Return", + "src": "4754:48:3" + } + ] + }, + "documentation": { + "id": 370, + "nodeType": "StructuredDocumentation", + "src": "4220:412:3", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in calldata with the default hashing function." + }, + "id": 390, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCalldata", + "nameLocation": "4646:14:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 373, + "mutability": "mutable", + "name": "proof", + "nameLocation": "4680:5:3", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "4661:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 371, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4661:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 372, + "nodeType": "ArrayTypeName", + "src": "4661:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 375, + "mutability": "mutable", + "name": "root", + "nameLocation": "4695:4:3", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "4687:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 374, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4687:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 377, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "4709:4:3", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "4701:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4701:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4660:54:3" + }, + "returnParameters": { + "id": 381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 380, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "4738:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 379, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4738:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4737:6:3" + }, + "scope": 1290, + "src": "4637:172:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 430, + "nodeType": "Block", + "src": "5314:216:3", + "statements": [ + { + "assignments": [ + 402 + ], + "declarations": [ + { + "constant": false, + "id": 402, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "5332:12:3", + "nodeType": "VariableDeclaration", + "scope": 430, + "src": "5324:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 401, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5324:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 404, + "initialValue": { + "id": 403, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 396, + "src": "5347:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5324:27:3" + }, + { + "body": { + "id": 426, + "nodeType": "Block", + "src": "5404:91:3", + "statements": [ + { + "expression": { + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 416, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "5418:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 419, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "5461:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 420, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 394, + "src": "5475:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 422, + "indexExpression": { + "id": 421, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "5481:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5475:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 417, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "5433:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$217_$", + "typeString": "type(library Hashes)" + } + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5440:20:3", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "5433:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5433:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5418:66:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 425, + "nodeType": "ExpressionStatement", + "src": "5418:66:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "5381:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 410, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 394, + "src": "5385:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5391:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5385:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5381:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 427, + "initializationExpression": { + "assignments": [ + 406 + ], + "declarations": [ + { + "constant": false, + "id": 406, + "mutability": "mutable", + "name": "i", + "nameLocation": "5374:1:3", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "5366:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5366:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 408, + "initialValue": { + "hexValue": "30", + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5378:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5366:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5399:3:3", + "subExpression": { + "id": 413, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "5399:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 415, + "nodeType": "ExpressionStatement", + "src": "5399:3:3" + }, + "nodeType": "ForStatement", + "src": "5361:134:3" + }, + { + "expression": { + "id": 428, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "5511:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 400, + "id": 429, + "nodeType": "Return", + "src": "5504:19:3" + } + ] + }, + "documentation": { + "id": 391, + "nodeType": "StructuredDocumentation", + "src": "4815:392:3", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in calldata with the default hashing function." + }, + "id": 431, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProofCalldata", + "nameLocation": "5221:20:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 394, + "mutability": "mutable", + "name": "proof", + "nameLocation": "5261:5:3", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "5242:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 392, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5242:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 393, + "nodeType": "ArrayTypeName", + "src": "5242:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 396, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "5276:4:3", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "5268:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 395, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5268:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5241:40:3" + }, + "returnParameters": { + "id": 400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 399, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "5305:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 398, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5305:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5304:9:3" + }, + "scope": 1290, + "src": "5212:318:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 462, + "nodeType": "Block", + "src": "6153:73:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 455, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 435, + "src": "6191:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 456, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 439, + "src": "6198:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 457, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "6204:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 454, + "name": "processProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 431, + 513 + ], + "referencedDeclaration": 513, + "src": "6170:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bytes32,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6170:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 459, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 437, + "src": "6215:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6170:49:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 453, + "id": 461, + "nodeType": "Return", + "src": "6163:56:3" + } + ] + }, + "documentation": { + "id": 432, + "nodeType": "StructuredDocumentation", + "src": "5536:409:3", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in calldata with a custom hashing function." + }, + "id": 463, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCalldata", + "nameLocation": "5959:14:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 435, + "mutability": "mutable", + "name": "proof", + "nameLocation": "6002:5:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "5983:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 433, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5983:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 434, + "nodeType": "ArrayTypeName", + "src": "5983:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 437, + "mutability": "mutable", + "name": "root", + "nameLocation": "6025:4:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "6017:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6017:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 439, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "6047:4:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "6039:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6039:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "6111:6:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "6061:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 448, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 441, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "6070:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 440, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6070:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 443, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "6079:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 442, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6079:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6069:18:3" + }, + "returnParameterTypes": { + "id": 447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 446, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "6102:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6102:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6101:9:3" + }, + "src": "6061:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "5973:150:3" + }, + "returnParameters": { + "id": 453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 452, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "6147:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 451, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6147:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6146:6:3" + }, + "scope": 1290, + "src": "5950:276:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 512, + "nodeType": "Block", + "src": "6816:195:3", + "statements": [ + { + "assignments": [ + 485 + ], + "declarations": [ + { + "constant": false, + "id": 485, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "6834:12:3", + "nodeType": "VariableDeclaration", + "scope": 512, + "src": "6826:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6826:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 487, + "initialValue": { + "id": 486, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "6849:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6826:27:3" + }, + { + "body": { + "id": 508, + "nodeType": "Block", + "src": "6906:70:3", + "statements": [ + { + "expression": { + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 499, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "6920:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 501, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "6942:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 502, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "6956:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 504, + "indexExpression": { + "id": 503, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "6962:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6956:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 500, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "6935:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6935:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6920:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 507, + "nodeType": "ExpressionStatement", + "src": "6920:45:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 492, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "6883:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 493, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "6887:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6893:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6887:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6883:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 509, + "initializationExpression": { + "assignments": [ + 489 + ], + "declarations": [ + { + "constant": false, + "id": 489, + "mutability": "mutable", + "name": "i", + "nameLocation": "6876:1:3", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "6868:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6868:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 491, + "initialValue": { + "hexValue": "30", + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6880:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6868:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6901:3:3", + "subExpression": { + "id": 496, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "6901:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 498, + "nodeType": "ExpressionStatement", + "src": "6901:3:3" + }, + "nodeType": "ForStatement", + "src": "6863:113:3" + }, + { + "expression": { + "id": 510, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "6992:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 483, + "id": 511, + "nodeType": "Return", + "src": "6985:19:3" + } + ] + }, + "documentation": { + "id": 464, + "nodeType": "StructuredDocumentation", + "src": "6232:389:3", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in calldata with a custom hashing function." + }, + "id": 513, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProofCalldata", + "nameLocation": "6635:20:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "proof", + "nameLocation": "6684:5:3", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "6665:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 465, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6665:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 466, + "nodeType": "ArrayTypeName", + "src": "6665:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 469, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "6707:4:3", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "6699:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 468, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6699:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 479, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "6771:6:3", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "6721:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 478, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 471, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 478, + "src": "6730:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6730:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 473, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 478, + "src": "6739:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 472, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6739:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6729:18:3" + }, + "returnParameterTypes": { + "id": 477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 476, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 478, + "src": "6762:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6762:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6761:9:3" + }, + "src": "6721:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "6655:128:3" + }, + "returnParameters": { + "id": 483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 482, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "6807:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6807:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6806:9:3" + }, + "scope": 1290, + "src": "6626:385:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 538, + "nodeType": "Block", + "src": "7797:76:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 531, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 517, + "src": "7832:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 532, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 520, + "src": "7839:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + { + "id": 533, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "7851:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 530, + "name": "processMultiProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 697, + 901 + ], + "referencedDeclaration": 697, + "src": "7814:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bool[] memory,bytes32[] memory) pure returns (bytes32)" + } + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7814:44:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 535, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 522, + "src": "7862:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7814:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 529, + "id": 537, + "nodeType": "Return", + "src": "7807:59:3" + } + ] + }, + "documentation": { + "id": 514, + "nodeType": "StructuredDocumentation", + "src": "7017:593:3", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in memory with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProof}." + }, + "id": 539, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerify", + "nameLocation": "7624:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 517, + "mutability": "mutable", + "name": "proof", + "nameLocation": "7667:5:3", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "7650:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 515, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7650:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 516, + "nodeType": "ArrayTypeName", + "src": "7650:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 520, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "7696:10:3", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "7682:24:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7682:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 519, + "nodeType": "ArrayTypeName", + "src": "7682:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 522, + "mutability": "mutable", + "name": "root", + "nameLocation": "7724:4:3", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "7716:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 521, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7716:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 525, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "7755:6:3", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "7738:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 523, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7738:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 524, + "nodeType": "ArrayTypeName", + "src": "7738:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "7640:127:3" + }, + "returnParameters": { + "id": 529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 528, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "7791:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 527, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7791:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7790:6:3" + }, + "scope": 1290, + "src": "7615:258:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 696, + "nodeType": "Block", + "src": "9159:2104:3", + "statements": [ + { + "assignments": [ + 555 + ], + "declarations": [ + { + "constant": false, + "id": 555, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "9551:9:3", + "nodeType": "VariableDeclaration", + "scope": 696, + "src": "9543:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9543:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 558, + "initialValue": { + "expression": { + "id": 556, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "9563:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9570:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9563:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9543:33:3" + }, + { + "assignments": [ + 560 + ], + "declarations": [ + { + "constant": false, + "id": 560, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "9594:13:3", + "nodeType": "VariableDeclaration", + "scope": 696, + "src": "9586:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9586:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 563, + "initialValue": { + "expression": { + "id": 561, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 546, + "src": "9610:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9621:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9610:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9586:41:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 564, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "9675:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 565, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "9687:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9693:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9687:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9675:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 568, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "9703:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9719:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9703:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9675:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 576, + "nodeType": "IfStatement", + "src": "9671:113:3", + "trueBody": { + "id": 575, + "nodeType": "Block", + "src": "9722:62:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 572, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "9743:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9743:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 574, + "nodeType": "RevertStatement", + "src": "9736:37:3" + } + ] + } + }, + { + "assignments": [ + 581 + ], + "declarations": [ + { + "constant": false, + "id": 581, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "10045:6:3", + "nodeType": "VariableDeclaration", + "scope": 696, + "src": "10028:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 579, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10028:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 580, + "nodeType": "ArrayTypeName", + "src": "10028:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 587, + "initialValue": { + "arguments": [ + { + "id": 585, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "10068:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "10054:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10058:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 583, + "nodeType": "ArrayTypeName", + "src": "10058:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10054:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10028:54:3" + }, + { + "assignments": [ + 589 + ], + "declarations": [ + { + "constant": false, + "id": 589, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "10100:7:3", + "nodeType": "VariableDeclaration", + "scope": 696, + "src": "10092:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10092:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 591, + "initialValue": { + "hexValue": "30", + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10110:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10092:19:3" + }, + { + "assignments": [ + 593 + ], + "declarations": [ + { + "constant": false, + "id": 593, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "10129:7:3", + "nodeType": "VariableDeclaration", + "scope": 696, + "src": "10121:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10121:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 595, + "initialValue": { + "hexValue": "30", + "id": 594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10139:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10121:19:3" + }, + { + "assignments": [ + 597 + ], + "declarations": [ + { + "constant": false, + "id": 597, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "10158:8:3", + "nodeType": "VariableDeclaration", + "scope": 696, + "src": "10150:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10150:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 599, + "initialValue": { + "hexValue": "30", + "id": 598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10169:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10150:20:3" + }, + { + "body": { + "id": 659, + "nodeType": "Block", + "src": "10590:310:3", + "statements": [ + { + "assignments": [ + 611 + ], + "declarations": [ + { + "constant": false, + "id": 611, + "mutability": "mutable", + "name": "a", + "nameLocation": "10612:1:3", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "10604:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 610, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10604:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 624, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 612, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 589, + "src": "10616:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 613, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "10626:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10616:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 619, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "10658:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 622, + "indexExpression": { + "id": 621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10665:9:3", + "subExpression": { + "id": 620, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "10665:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10658:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10616:59:3", + "trueExpression": { + "baseExpression": { + "id": 615, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "10638:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 618, + "indexExpression": { + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10645:9:3", + "subExpression": { + "id": 616, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 589, + "src": "10645:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10638:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10604:71:3" + }, + { + "assignments": [ + 626 + ], + "declarations": [ + { + "constant": false, + "id": 626, + "mutability": "mutable", + "name": "b", + "nameLocation": "10697:1:3", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "10689:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 625, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10689:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 648, + "initialValue": { + "condition": { + "baseExpression": { + "id": 627, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 546, + "src": "10701:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 629, + "indexExpression": { + "id": 628, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "10712:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10701:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 643, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "10813:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 646, + "indexExpression": { + "id": 645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10819:10:3", + "subExpression": { + "id": 644, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 597, + "src": "10819:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10813:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10701:129:3", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 630, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 589, + "src": "10734:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 631, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "10744:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10734:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 637, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "10776:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 640, + "indexExpression": { + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10783:9:3", + "subExpression": { + "id": 638, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "10783:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10776:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10734:59:3", + "trueExpression": { + "baseExpression": { + "id": 633, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "10756:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 636, + "indexExpression": { + "id": 635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10763:9:3", + "subExpression": { + "id": 634, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 589, + "src": "10763:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10756:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 642, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10733:61:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10689:141:3" + }, + { + "expression": { + "id": 657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 649, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "10844:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 651, + "indexExpression": { + "id": 650, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "10851:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10844:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 654, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 611, + "src": "10884:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 655, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 626, + "src": "10887:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 652, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "10856:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$217_$", + "typeString": "type(library Hashes)" + } + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10863:20:3", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "10856:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10856:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10844:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 658, + "nodeType": "ExpressionStatement", + "src": "10844:45:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 604, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "10566:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 605, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "10570:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10566:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 660, + "initializationExpression": { + "assignments": [ + 601 + ], + "declarations": [ + { + "constant": false, + "id": 601, + "mutability": "mutable", + "name": "i", + "nameLocation": "10559:1:3", + "nodeType": "VariableDeclaration", + "scope": 660, + "src": "10551:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10551:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 603, + "initialValue": { + "hexValue": "30", + "id": 602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10563:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10551:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10585:3:3", + "subExpression": { + "id": 607, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "10585:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 609, + "nodeType": "ExpressionStatement", + "src": "10585:3:3" + }, + "nodeType": "ForStatement", + "src": "10546:354:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 661, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "10914:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10930:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10914:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 681, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "11155:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11167:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11155:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 693, + "nodeType": "Block", + "src": "11217:40:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 689, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "11238:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 691, + "indexExpression": { + "hexValue": "30", + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11244:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11238:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 553, + "id": 692, + "nodeType": "Return", + "src": "11231:15:3" + } + ] + }, + "id": 694, + "nodeType": "IfStatement", + "src": "11151:106:3", + "trueBody": { + "id": 688, + "nodeType": "Block", + "src": "11170:41:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 684, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "11191:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 686, + "indexExpression": { + "hexValue": "30", + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11198:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11191:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 553, + "id": 687, + "nodeType": "Return", + "src": "11184:16:3" + } + ] + } + }, + "id": 695, + "nodeType": "IfStatement", + "src": "10910:347:3", + "trueBody": { + "id": 680, + "nodeType": "Block", + "src": "10933:212:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 664, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 597, + "src": "10951:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 665, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "10963:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10969:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10963:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10951:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 672, + "nodeType": "IfStatement", + "src": "10947:100:3", + "trueBody": { + "id": 671, + "nodeType": "Block", + "src": "10977:70:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 668, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "11002:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11002:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 670, + "nodeType": "RevertStatement", + "src": "10995:37:3" + } + ] + } + }, + { + "id": 679, + "nodeType": "UncheckedBlock", + "src": "11060:75:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 673, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "11095:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 677, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 674, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "11102:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11118:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11102:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11095:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 553, + "id": 678, + "nodeType": "Return", + "src": "11088:32:3" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 540, + "nodeType": "StructuredDocumentation", + "src": "7879:1100:3", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in memory with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 697, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProof", + "nameLocation": "8993:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 543, + "mutability": "mutable", + "name": "proof", + "nameLocation": "9037:5:3", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "9020:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 541, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9020:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 542, + "nodeType": "ArrayTypeName", + "src": "9020:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 546, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "9066:10:3", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "9052:24:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 544, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9052:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 545, + "nodeType": "ArrayTypeName", + "src": "9052:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 549, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "9103:6:3", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "9086:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9086:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 548, + "nodeType": "ArrayTypeName", + "src": "9086:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "9010:105:3" + }, + "returnParameters": { + "id": 553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 552, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "9147:10:3", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "9139:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 551, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9139:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9138:20:3" + }, + "scope": 1290, + "src": "8984:2279:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 733, + "nodeType": "Block", + "src": "12112:84:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 725, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "12147:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 726, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 704, + "src": "12154:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + { + "id": 727, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 709, + "src": "12166:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 728, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 719, + "src": "12174:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 724, + "name": "processMultiProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 697, + 901 + ], + "referencedDeclaration": 901, + "src": "12129:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bool[] memory,bytes32[] memory,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12129:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 730, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "12185:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12129:60:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 723, + "id": 732, + "nodeType": "Return", + "src": "12122:67:3" + } + ] + }, + "documentation": { + "id": 698, + "nodeType": "StructuredDocumentation", + "src": "11269:590:3", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in memory with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProof}." + }, + "id": 734, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerify", + "nameLocation": "11873:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 701, + "mutability": "mutable", + "name": "proof", + "nameLocation": "11916:5:3", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "11899:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 699, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11899:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 700, + "nodeType": "ArrayTypeName", + "src": "11899:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 704, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "11945:10:3", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "11931:24:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 702, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11931:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 703, + "nodeType": "ArrayTypeName", + "src": "11931:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 706, + "mutability": "mutable", + "name": "root", + "nameLocation": "11973:4:3", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "11965:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 705, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11965:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 709, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "12004:6:3", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "11987:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 707, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11987:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 708, + "nodeType": "ArrayTypeName", + "src": "11987:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 719, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "12070:6:3", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "12020:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 718, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 711, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 718, + "src": "12029:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 710, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12029:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 713, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 718, + "src": "12038:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 712, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12038:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12028:18:3" + }, + "returnParameterTypes": { + "id": 717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 716, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 718, + "src": "12061:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12061:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12060:9:3" + }, + "src": "12020:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "11889:193:3" + }, + "returnParameters": { + "id": 723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 722, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "12106:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 721, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12106:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12105:6:3" + }, + "scope": 1290, + "src": "11864:332:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 900, + "nodeType": "Block", + "src": "13545:2083:3", + "statements": [ + { + "assignments": [ + 760 + ], + "declarations": [ + { + "constant": false, + "id": 760, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "13937:9:3", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "13929:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13929:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 763, + "initialValue": { + "expression": { + "id": 761, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 744, + "src": "13949:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13956:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13949:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13929:33:3" + }, + { + "assignments": [ + 765 + ], + "declarations": [ + { + "constant": false, + "id": 765, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "13980:13:3", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "13972:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13972:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 768, + "initialValue": { + "expression": { + "id": 766, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 741, + "src": "13996:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14007:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13996:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13972:41:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 769, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 760, + "src": "14061:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 770, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "14073:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14079:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14073:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14061:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 773, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "14089:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14105:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14089:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14061:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 781, + "nodeType": "IfStatement", + "src": "14057:113:3", + "trueBody": { + "id": 780, + "nodeType": "Block", + "src": "14108:62:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 777, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "14129:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14129:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 779, + "nodeType": "RevertStatement", + "src": "14122:37:3" + } + ] + } + }, + { + "assignments": [ + 786 + ], + "declarations": [ + { + "constant": false, + "id": 786, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "14431:6:3", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "14414:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 784, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14414:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 785, + "nodeType": "ArrayTypeName", + "src": "14414:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 792, + "initialValue": { + "arguments": [ + { + "id": 790, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "14454:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "14440:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 787, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14444:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 788, + "nodeType": "ArrayTypeName", + "src": "14444:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14440:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14414:54:3" + }, + { + "assignments": [ + 794 + ], + "declarations": [ + { + "constant": false, + "id": 794, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "14486:7:3", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "14478:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 793, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14478:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 796, + "initialValue": { + "hexValue": "30", + "id": 795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14496:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14478:19:3" + }, + { + "assignments": [ + 798 + ], + "declarations": [ + { + "constant": false, + "id": 798, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "14515:7:3", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "14507:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 797, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14507:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 800, + "initialValue": { + "hexValue": "30", + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14525:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14507:19:3" + }, + { + "assignments": [ + 802 + ], + "declarations": [ + { + "constant": false, + "id": 802, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "14544:8:3", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "14536:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 801, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14536:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 804, + "initialValue": { + "hexValue": "30", + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14555:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14536:20:3" + }, + { + "body": { + "id": 863, + "nodeType": "Block", + "src": "14976:289:3", + "statements": [ + { + "assignments": [ + 816 + ], + "declarations": [ + { + "constant": false, + "id": 816, + "mutability": "mutable", + "name": "a", + "nameLocation": "14998:1:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "14990:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 815, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14990:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 829, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 817, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "15002:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 818, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 760, + "src": "15012:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15002:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 824, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "15044:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 827, + "indexExpression": { + "id": 826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15051:9:3", + "subExpression": { + "id": 825, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "15051:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15044:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "15002:59:3", + "trueExpression": { + "baseExpression": { + "id": 820, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 744, + "src": "15024:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 823, + "indexExpression": { + "id": 822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15031:9:3", + "subExpression": { + "id": 821, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "15031:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15024:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14990:71:3" + }, + { + "assignments": [ + 831 + ], + "declarations": [ + { + "constant": false, + "id": 831, + "mutability": "mutable", + "name": "b", + "nameLocation": "15083:1:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "15075:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 830, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15075:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 853, + "initialValue": { + "condition": { + "baseExpression": { + "id": 832, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 741, + "src": "15087:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 834, + "indexExpression": { + "id": 833, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "15098:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15087:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 848, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "15199:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 851, + "indexExpression": { + "id": 850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15205:10:3", + "subExpression": { + "id": 849, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "15205:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15199:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "15087:129:3", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 835, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "15120:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 836, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 760, + "src": "15130:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15120:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 842, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "15162:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 845, + "indexExpression": { + "id": 844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15169:9:3", + "subExpression": { + "id": 843, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "15169:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15162:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "15120:59:3", + "trueExpression": { + "baseExpression": { + "id": 838, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 744, + "src": "15142:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 841, + "indexExpression": { + "id": 840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15149:9:3", + "subExpression": { + "id": 839, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "15149:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15142:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 847, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15119:61:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15075:141:3" + }, + { + "expression": { + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 854, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "15230:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 856, + "indexExpression": { + "id": 855, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "15237:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15230:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 858, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 816, + "src": "15249:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 859, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 831, + "src": "15252:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 857, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "15242:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15242:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15230:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 862, + "nodeType": "ExpressionStatement", + "src": "15230:24:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 809, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14952:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 810, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "14956:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14952:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 864, + "initializationExpression": { + "assignments": [ + 806 + ], + "declarations": [ + { + "constant": false, + "id": 806, + "mutability": "mutable", + "name": "i", + "nameLocation": "14945:1:3", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "14937:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14937:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 808, + "initialValue": { + "hexValue": "30", + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14949:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14937:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14971:3:3", + "subExpression": { + "id": 812, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14971:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 814, + "nodeType": "ExpressionStatement", + "src": "14971:3:3" + }, + "nodeType": "ForStatement", + "src": "14932:333:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 865, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "15279:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15295:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15279:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 885, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 760, + "src": "15520:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15532:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15520:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 897, + "nodeType": "Block", + "src": "15582:40:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 893, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "15603:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 895, + "indexExpression": { + "hexValue": "30", + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15609:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15603:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 758, + "id": 896, + "nodeType": "Return", + "src": "15596:15:3" + } + ] + }, + "id": 898, + "nodeType": "IfStatement", + "src": "15516:106:3", + "trueBody": { + "id": 892, + "nodeType": "Block", + "src": "15535:41:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 888, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 744, + "src": "15556:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 890, + "indexExpression": { + "hexValue": "30", + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15563:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15556:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 758, + "id": 891, + "nodeType": "Return", + "src": "15549:16:3" + } + ] + } + }, + "id": 899, + "nodeType": "IfStatement", + "src": "15275:347:3", + "trueBody": { + "id": 884, + "nodeType": "Block", + "src": "15298:212:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 868, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "15316:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 869, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "15328:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15334:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15328:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15316:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 876, + "nodeType": "IfStatement", + "src": "15312:100:3", + "trueBody": { + "id": 875, + "nodeType": "Block", + "src": "15342:70:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 872, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "15367:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15367:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 874, + "nodeType": "RevertStatement", + "src": "15360:37:3" + } + ] + } + }, + { + "id": 883, + "nodeType": "UncheckedBlock", + "src": "15425:75:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 877, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "15460:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 881, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 878, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "15467:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15483:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "15467:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15460:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 758, + "id": 882, + "nodeType": "Return", + "src": "15453:32:3" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 735, + "nodeType": "StructuredDocumentation", + "src": "12202:1097:3", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in memory with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 901, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProof", + "nameLocation": "13313:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 738, + "mutability": "mutable", + "name": "proof", + "nameLocation": "13357:5:3", + "nodeType": "VariableDeclaration", + "scope": 901, + "src": "13340:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 736, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13340:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 737, + "nodeType": "ArrayTypeName", + "src": "13340:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 741, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "13386:10:3", + "nodeType": "VariableDeclaration", + "scope": 901, + "src": "13372:24:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13372:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 740, + "nodeType": "ArrayTypeName", + "src": "13372:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 744, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "13423:6:3", + "nodeType": "VariableDeclaration", + "scope": 901, + "src": "13406:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13406:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 743, + "nodeType": "ArrayTypeName", + "src": "13406:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 754, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "13489:6:3", + "nodeType": "VariableDeclaration", + "scope": 901, + "src": "13439:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 753, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 746, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 753, + "src": "13448:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 745, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13448:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 748, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 753, + "src": "13457:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 747, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13457:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13447:18:3" + }, + "returnParameterTypes": { + "id": 752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 751, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 753, + "src": "13480:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 750, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13480:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13479:9:3" + }, + "src": "13439:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "13330:171:3" + }, + "returnParameters": { + "id": 758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 757, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "13533:10:3", + "nodeType": "VariableDeclaration", + "scope": 901, + "src": "13525:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 756, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13525:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13524:20:3" + }, + "scope": 1290, + "src": "13304:2324:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 926, + "nodeType": "Block", + "src": "16436:84:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 919, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "16479:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 920, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 908, + "src": "16486:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + { + "id": 921, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 913, + "src": "16498:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 918, + "name": "processMultiProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1085, + 1289 + ], + "referencedDeclaration": 1085, + "src": "16453:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_bool_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bool[] calldata,bytes32[] memory) pure returns (bytes32)" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16453:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 923, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "16509:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16453:60:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 917, + "id": 925, + "nodeType": "Return", + "src": "16446:67:3" + } + ] + }, + "documentation": { + "id": 902, + "nodeType": "StructuredDocumentation", + "src": "15634:603:3", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in calldata with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProofCalldata}." + }, + "id": 927, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerifyCalldata", + "nameLocation": "16251:24:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 905, + "mutability": "mutable", + "name": "proof", + "nameLocation": "16304:5:3", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "16285:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 903, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16285:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 904, + "nodeType": "ArrayTypeName", + "src": "16285:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 908, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "16335:10:3", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "16319:26:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 906, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16319:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 907, + "nodeType": "ArrayTypeName", + "src": "16319:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 910, + "mutability": "mutable", + "name": "root", + "nameLocation": "16363:4:3", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "16355:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 909, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16355:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 913, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "16394:6:3", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "16377:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 911, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16377:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 912, + "nodeType": "ArrayTypeName", + "src": "16377:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "16275:131:3" + }, + "returnParameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "16430:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 915, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16430:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16429:6:3" + }, + "scope": 1290, + "src": "16242:278:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1084, + "nodeType": "Block", + "src": "17820:2104:3", + "statements": [ + { + "assignments": [ + 943 + ], + "declarations": [ + { + "constant": false, + "id": 943, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "18212:9:3", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "18204:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18204:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 946, + "initialValue": { + "expression": { + "id": 944, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "18224:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18231:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18224:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18204:33:3" + }, + { + "assignments": [ + 948 + ], + "declarations": [ + { + "constant": false, + "id": 948, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "18255:13:3", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "18247:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18247:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 951, + "initialValue": { + "expression": { + "id": 949, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "18271:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18282:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18271:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18247:41:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 952, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 943, + "src": "18336:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 953, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "18348:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18354:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18348:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18336:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 956, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "18364:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18380:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18364:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18336:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 964, + "nodeType": "IfStatement", + "src": "18332:113:3", + "trueBody": { + "id": 963, + "nodeType": "Block", + "src": "18383:62:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 960, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "18404:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18404:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 962, + "nodeType": "RevertStatement", + "src": "18397:37:3" + } + ] + } + }, + { + "assignments": [ + 969 + ], + "declarations": [ + { + "constant": false, + "id": 969, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "18706:6:3", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "18689:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 967, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18689:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 968, + "nodeType": "ArrayTypeName", + "src": "18689:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 975, + "initialValue": { + "arguments": [ + { + "id": 973, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "18729:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18715:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 970, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18719:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 971, + "nodeType": "ArrayTypeName", + "src": "18719:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18715:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18689:54:3" + }, + { + "assignments": [ + 977 + ], + "declarations": [ + { + "constant": false, + "id": 977, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "18761:7:3", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "18753:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18753:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 979, + "initialValue": { + "hexValue": "30", + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18771:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18753:19:3" + }, + { + "assignments": [ + 981 + ], + "declarations": [ + { + "constant": false, + "id": 981, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "18790:7:3", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "18782:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18782:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 983, + "initialValue": { + "hexValue": "30", + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18800:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18782:19:3" + }, + { + "assignments": [ + 985 + ], + "declarations": [ + { + "constant": false, + "id": 985, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "18819:8:3", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "18811:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 984, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18811:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 987, + "initialValue": { + "hexValue": "30", + "id": 986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18830:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18811:20:3" + }, + { + "body": { + "id": 1047, + "nodeType": "Block", + "src": "19251:310:3", + "statements": [ + { + "assignments": [ + 999 + ], + "declarations": [ + { + "constant": false, + "id": 999, + "mutability": "mutable", + "name": "a", + "nameLocation": "19273:1:3", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "19265:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 998, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19265:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 1012, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1000, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 977, + "src": "19277:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1001, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 943, + "src": "19287:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19277:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 1007, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "19319:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1010, + "indexExpression": { + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19326:9:3", + "subExpression": { + "id": 1008, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 981, + "src": "19326:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19319:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "19277:59:3", + "trueExpression": { + "baseExpression": { + "id": 1003, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "19299:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1006, + "indexExpression": { + "id": 1005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19306:9:3", + "subExpression": { + "id": 1004, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 977, + "src": "19306:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19299:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19265:71:3" + }, + { + "assignments": [ + 1014 + ], + "declarations": [ + { + "constant": false, + "id": 1014, + "mutability": "mutable", + "name": "b", + "nameLocation": "19358:1:3", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "19350:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1013, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19350:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 1036, + "initialValue": { + "condition": { + "baseExpression": { + "id": 1015, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "19362:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 1017, + "indexExpression": { + "id": 1016, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 989, + "src": "19373:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19362:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 1031, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "19474:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1034, + "indexExpression": { + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19480:10:3", + "subExpression": { + "id": 1032, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "19480:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19474:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "19362:129:3", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1018, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 977, + "src": "19395:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1019, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 943, + "src": "19405:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19395:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 1025, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "19437:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1028, + "indexExpression": { + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19444:9:3", + "subExpression": { + "id": 1026, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 981, + "src": "19444:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19437:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "19395:59:3", + "trueExpression": { + "baseExpression": { + "id": 1021, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "19417:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1024, + "indexExpression": { + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19424:9:3", + "subExpression": { + "id": 1022, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 977, + "src": "19424:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19417:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1030, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19394:61:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19350:141:3" + }, + { + "expression": { + "id": 1045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1037, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "19505:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1039, + "indexExpression": { + "id": 1038, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 989, + "src": "19512:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "19505:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1042, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "19545:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1043, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "19548:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1040, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "19517:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$217_$", + "typeString": "type(library Hashes)" + } + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19524:20:3", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "19517:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19517:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19505:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1046, + "nodeType": "ExpressionStatement", + "src": "19505:45:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 992, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 989, + "src": "19227:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 993, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "19231:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19227:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1048, + "initializationExpression": { + "assignments": [ + 989 + ], + "declarations": [ + { + "constant": false, + "id": 989, + "mutability": "mutable", + "name": "i", + "nameLocation": "19220:1:3", + "nodeType": "VariableDeclaration", + "scope": 1048, + "src": "19212:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19212:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 991, + "initialValue": { + "hexValue": "30", + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19224:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "19212:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19246:3:3", + "subExpression": { + "id": 995, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 989, + "src": "19246:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 997, + "nodeType": "ExpressionStatement", + "src": "19246:3:3" + }, + "nodeType": "ForStatement", + "src": "19207:354:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1049, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "19575:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19591:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19575:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1069, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 943, + "src": "19816:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19828:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19816:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1081, + "nodeType": "Block", + "src": "19878:40:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1077, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "19899:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1079, + "indexExpression": { + "hexValue": "30", + "id": 1078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19905:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19899:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 941, + "id": 1080, + "nodeType": "Return", + "src": "19892:15:3" + } + ] + }, + "id": 1082, + "nodeType": "IfStatement", + "src": "19812:106:3", + "trueBody": { + "id": 1076, + "nodeType": "Block", + "src": "19831:41:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1072, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "19852:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1074, + "indexExpression": { + "hexValue": "30", + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19859:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19852:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 941, + "id": 1075, + "nodeType": "Return", + "src": "19845:16:3" + } + ] + } + }, + "id": 1083, + "nodeType": "IfStatement", + "src": "19571:347:3", + "trueBody": { + "id": 1068, + "nodeType": "Block", + "src": "19594:212:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1052, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "19612:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 1053, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "19624:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19630:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "19624:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19612:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1060, + "nodeType": "IfStatement", + "src": "19608:100:3", + "trueBody": { + "id": 1059, + "nodeType": "Block", + "src": "19638:70:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1056, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "19663:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19663:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1058, + "nodeType": "RevertStatement", + "src": "19656:37:3" + } + ] + } + }, + { + "id": 1067, + "nodeType": "UncheckedBlock", + "src": "19721:75:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1061, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "19756:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1065, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1062, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "19763:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19779:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "19763:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19756:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 941, + "id": 1066, + "nodeType": "Return", + "src": "19749:32:3" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 928, + "nodeType": "StructuredDocumentation", + "src": "16526:1102:3", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in calldata with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 1085, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProofCalldata", + "nameLocation": "17642:25:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 931, + "mutability": "mutable", + "name": "proof", + "nameLocation": "17696:5:3", + "nodeType": "VariableDeclaration", + "scope": 1085, + "src": "17677:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 929, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17677:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 930, + "nodeType": "ArrayTypeName", + "src": "17677:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 934, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "17727:10:3", + "nodeType": "VariableDeclaration", + "scope": 1085, + "src": "17711:26:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 932, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17711:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 933, + "nodeType": "ArrayTypeName", + "src": "17711:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 937, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "17764:6:3", + "nodeType": "VariableDeclaration", + "scope": 1085, + "src": "17747:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 935, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17747:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 936, + "nodeType": "ArrayTypeName", + "src": "17747:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "17667:109:3" + }, + "returnParameters": { + "id": 941, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 940, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "17808:10:3", + "nodeType": "VariableDeclaration", + "scope": 1085, + "src": "17800:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17800:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "17799:20:3" + }, + "scope": 1290, + "src": "17633:2291:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1121, + "nodeType": "Block", + "src": "20795:92:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1113, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "20838:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 1114, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "20845:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + { + "id": 1115, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "20857:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 1116, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "20865:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 1112, + "name": "processMultiProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1085, + 1289 + ], + "referencedDeclaration": 1289, + "src": "20812:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_bool_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bool[] calldata,bytes32[] memory,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 1117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20812:60:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1118, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "20876:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20812:68:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1111, + "id": 1120, + "nodeType": "Return", + "src": "20805:75:3" + } + ] + }, + "documentation": { + "id": 1086, + "nodeType": "StructuredDocumentation", + "src": "19930:600:3", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in calldata with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProofCalldata}." + }, + "id": 1122, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerifyCalldata", + "nameLocation": "20544:24:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1089, + "mutability": "mutable", + "name": "proof", + "nameLocation": "20597:5:3", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "20578:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1087, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20578:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1088, + "nodeType": "ArrayTypeName", + "src": "20578:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1092, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "20628:10:3", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "20612:26:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 1090, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20612:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1091, + "nodeType": "ArrayTypeName", + "src": "20612:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1094, + "mutability": "mutable", + "name": "root", + "nameLocation": "20656:4:3", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "20648:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20648:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1097, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "20687:6:3", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "20670:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1095, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20670:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1096, + "nodeType": "ArrayTypeName", + "src": "20670:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1107, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "20753:6:3", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "20703:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 1106, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 1102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1099, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1106, + "src": "20712:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1098, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20712:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1101, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1106, + "src": "20721:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1100, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20721:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "20711:18:3" + }, + "returnParameterTypes": { + "id": 1105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1104, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1106, + "src": "20744:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1103, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20744:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "20743:9:3" + }, + "src": "20703:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "20568:197:3" + }, + "returnParameters": { + "id": 1111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1110, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "20789:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1109, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20789:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20788:6:3" + }, + "scope": 1290, + "src": "20535:352:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1288, + "nodeType": "Block", + "src": "22250:2083:3", + "statements": [ + { + "assignments": [ + 1148 + ], + "declarations": [ + { + "constant": false, + "id": 1148, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "22642:9:3", + "nodeType": "VariableDeclaration", + "scope": 1288, + "src": "22634:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1147, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22634:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1151, + "initialValue": { + "expression": { + "id": 1149, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "22654:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22661:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22654:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22634:33:3" + }, + { + "assignments": [ + 1153 + ], + "declarations": [ + { + "constant": false, + "id": 1153, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "22685:13:3", + "nodeType": "VariableDeclaration", + "scope": 1288, + "src": "22677:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1152, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22677:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1156, + "initialValue": { + "expression": { + "id": 1154, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1129, + "src": "22701:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22712:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22701:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22677:41:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1157, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1148, + "src": "22766:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 1158, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "22778:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22784:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22778:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22766:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1161, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "22794:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22810:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22794:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22766:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1169, + "nodeType": "IfStatement", + "src": "22762:113:3", + "trueBody": { + "id": 1168, + "nodeType": "Block", + "src": "22813:62:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1165, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "22834:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22834:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1167, + "nodeType": "RevertStatement", + "src": "22827:37:3" + } + ] + } + }, + { + "assignments": [ + 1174 + ], + "declarations": [ + { + "constant": false, + "id": 1174, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "23136:6:3", + "nodeType": "VariableDeclaration", + "scope": 1288, + "src": "23119:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1172, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23119:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1173, + "nodeType": "ArrayTypeName", + "src": "23119:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 1180, + "initialValue": { + "arguments": [ + { + "id": 1178, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "23159:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "23145:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 1175, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23149:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1176, + "nodeType": "ArrayTypeName", + "src": "23149:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23145:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23119:54:3" + }, + { + "assignments": [ + 1182 + ], + "declarations": [ + { + "constant": false, + "id": 1182, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "23191:7:3", + "nodeType": "VariableDeclaration", + "scope": 1288, + "src": "23183:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23183:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1184, + "initialValue": { + "hexValue": "30", + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23201:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23183:19:3" + }, + { + "assignments": [ + 1186 + ], + "declarations": [ + { + "constant": false, + "id": 1186, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "23220:7:3", + "nodeType": "VariableDeclaration", + "scope": 1288, + "src": "23212:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23212:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1188, + "initialValue": { + "hexValue": "30", + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23230:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23212:19:3" + }, + { + "assignments": [ + 1190 + ], + "declarations": [ + { + "constant": false, + "id": 1190, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "23249:8:3", + "nodeType": "VariableDeclaration", + "scope": 1288, + "src": "23241:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23241:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1192, + "initialValue": { + "hexValue": "30", + "id": 1191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23260:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23241:20:3" + }, + { + "body": { + "id": 1251, + "nodeType": "Block", + "src": "23681:289:3", + "statements": [ + { + "assignments": [ + 1204 + ], + "declarations": [ + { + "constant": false, + "id": 1204, + "mutability": "mutable", + "name": "a", + "nameLocation": "23703:1:3", + "nodeType": "VariableDeclaration", + "scope": 1251, + "src": "23695:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23695:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 1217, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1205, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "23707:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1206, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1148, + "src": "23717:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23707:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 1212, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "23749:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1215, + "indexExpression": { + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23756:9:3", + "subExpression": { + "id": 1213, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "23756:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23749:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "23707:59:3", + "trueExpression": { + "baseExpression": { + "id": 1208, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "23729:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1211, + "indexExpression": { + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23736:9:3", + "subExpression": { + "id": 1209, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "23736:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23729:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23695:71:3" + }, + { + "assignments": [ + 1219 + ], + "declarations": [ + { + "constant": false, + "id": 1219, + "mutability": "mutable", + "name": "b", + "nameLocation": "23788:1:3", + "nodeType": "VariableDeclaration", + "scope": 1251, + "src": "23780:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23780:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 1241, + "initialValue": { + "condition": { + "baseExpression": { + "id": 1220, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1129, + "src": "23792:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 1222, + "indexExpression": { + "id": 1221, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "23803:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23792:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 1236, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "23904:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1239, + "indexExpression": { + "id": 1238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23910:10:3", + "subExpression": { + "id": 1237, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "23910:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23904:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "23792:129:3", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1223, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "23825:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1224, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1148, + "src": "23835:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23825:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 1230, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "23867:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1233, + "indexExpression": { + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23874:9:3", + "subExpression": { + "id": 1231, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "23874:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23867:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "23825:59:3", + "trueExpression": { + "baseExpression": { + "id": 1226, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "23847:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1229, + "indexExpression": { + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23854:9:3", + "subExpression": { + "id": 1227, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "23854:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23847:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1235, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "23824:61:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23780:141:3" + }, + { + "expression": { + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1242, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "23935:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1244, + "indexExpression": { + "id": 1243, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "23942:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23935:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1246, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1204, + "src": "23954:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1247, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1219, + "src": "23957:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1245, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "23947:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23947:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23935:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1250, + "nodeType": "ExpressionStatement", + "src": "23935:24:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1197, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "23657:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1198, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "23661:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23657:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1252, + "initializationExpression": { + "assignments": [ + 1194 + ], + "declarations": [ + { + "constant": false, + "id": 1194, + "mutability": "mutable", + "name": "i", + "nameLocation": "23650:1:3", + "nodeType": "VariableDeclaration", + "scope": 1252, + "src": "23642:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23642:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1196, + "initialValue": { + "hexValue": "30", + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23654:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23642:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23676:3:3", + "subExpression": { + "id": 1200, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "23676:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1202, + "nodeType": "ExpressionStatement", + "src": "23676:3:3" + }, + "nodeType": "ForStatement", + "src": "23637:333:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1253, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "23984:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24000:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23984:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1273, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1148, + "src": "24225:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24237:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24225:13:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1285, + "nodeType": "Block", + "src": "24287:40:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1281, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "24308:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1283, + "indexExpression": { + "hexValue": "30", + "id": 1282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24314:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24308:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1146, + "id": 1284, + "nodeType": "Return", + "src": "24301:15:3" + } + ] + }, + "id": 1286, + "nodeType": "IfStatement", + "src": "24221:106:3", + "trueBody": { + "id": 1280, + "nodeType": "Block", + "src": "24240:41:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1276, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "24261:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1278, + "indexExpression": { + "hexValue": "30", + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24268:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24261:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1146, + "id": 1279, + "nodeType": "Return", + "src": "24254:16:3" + } + ] + } + }, + "id": 1287, + "nodeType": "IfStatement", + "src": "23980:347:3", + "trueBody": { + "id": 1272, + "nodeType": "Block", + "src": "24003:212:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1256, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "24021:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 1257, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "24033:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 1258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24039:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "24033:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24021:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1264, + "nodeType": "IfStatement", + "src": "24017:100:3", + "trueBody": { + "id": 1263, + "nodeType": "Block", + "src": "24047:70:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1260, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "24072:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24072:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1262, + "nodeType": "RevertStatement", + "src": "24065:37:3" + } + ] + } + }, + { + "id": 1271, + "nodeType": "UncheckedBlock", + "src": "24130:75:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1265, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "24165:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 1269, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1266, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "24172:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24188:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24172:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24165:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1146, + "id": 1270, + "nodeType": "Return", + "src": "24158:32:3" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 1123, + "nodeType": "StructuredDocumentation", + "src": "20893:1099:3", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in calldata with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 1289, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProofCalldata", + "nameLocation": "22006:25:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1126, + "mutability": "mutable", + "name": "proof", + "nameLocation": "22060:5:3", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "22041:24:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1124, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22041:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1125, + "nodeType": "ArrayTypeName", + "src": "22041:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1129, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "22091:10:3", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "22075:26:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 1127, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22075:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1128, + "nodeType": "ArrayTypeName", + "src": "22075:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1132, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "22128:6:3", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "22111:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22111:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1131, + "nodeType": "ArrayTypeName", + "src": "22111:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1142, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "22194:6:3", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "22144:56:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 1141, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 1137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1134, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1141, + "src": "22153:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22153:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1136, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1141, + "src": "22162:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1135, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22162:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "22152:18:3" + }, + "returnParameterTypes": { + "id": 1140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1139, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1141, + "src": "22185:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1138, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "22184:9:3" + }, + "src": "22144:56:3", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "22031:175:3" + }, + "returnParameters": { + "id": 1146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1145, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "22238:10:3", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "22230:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1144, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22230:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "22229:20:3" + }, + "scope": 1290, + "src": "21997:2336:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1291, + "src": "1353:22982:3", + "usedErrors": [ + 225 + ], + "usedEvents": [] + } + ], + "src": "206:24130:3" + }, + "id": 3 + }, + "contracts/Administrable.sol": { + "ast": { + "absolutePath": "contracts/Administrable.sol", + "exportedSymbols": { + "Administrable": [ + 1376 + ] + }, + "id": 1377, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1292, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Administrable", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1376, + "linearizedBaseContracts": [ + 1376 + ], + "name": "Administrable", + "nameLocation": "67:13:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1296, + "mutability": "mutable", + "name": "_admins", + "nameLocation": "112:7:4", + "nodeType": "VariableDeclaration", + "scope": 1376, + "src": "87:32:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 1295, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 1293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "95:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "87:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1294, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "106:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 1322, + "nodeType": "Block", + "src": "170:117:4", + "statements": [ + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "224:57:4", + "statements": [ + { + "expression": { + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1312, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "238:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1316, + "indexExpression": { + "baseExpression": { + "id": 1313, + "name": "initialAdmins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "246:13:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1315, + "indexExpression": { + "id": 1314, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "260:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "246:16:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "238:25:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "266:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "238:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1319, + "nodeType": "ExpressionStatement", + "src": "238:32:4" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1305, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "193:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1306, + "name": "initialAdmins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "197:13:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "211:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "197:20:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "193:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1321, + "initializationExpression": { + "assignments": [ + 1303 + ], + "declarations": [ + { + "constant": false, + "id": 1303, + "mutability": "mutable", + "name": "i", + "nameLocation": "190:1:4", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "185:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1302, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "185:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1304, + "nodeType": "VariableDeclarationStatement", + "src": "185:6:4" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "219:3:4", + "subExpression": { + "id": 1309, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "219:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1311, + "nodeType": "ExpressionStatement", + "src": "219:3:4" + }, + "nodeType": "ForStatement", + "src": "180:101:4" + } + ] + }, + "id": 1323, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1299, + "mutability": "mutable", + "name": "initialAdmins", + "nameLocation": "155:13:4", + "nodeType": "VariableDeclaration", + "scope": 1323, + "src": "138:30:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1298, + "nodeType": "ArrayTypeName", + "src": "138:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "137:32:4" + }, + "returnParameters": { + "id": 1301, + "nodeType": "ParameterList", + "parameters": [], + "src": "170:0:4" + }, + "scope": 1376, + "src": "126:161:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1334, + "nodeType": "Block", + "src": "313:99:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 1326, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "331:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1329, + "indexExpression": { + "expression": { + "id": 1327, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "339:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "343:6:4", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "339:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "331:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f2063616c6c2074686973206d6574686f64", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "352:41:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "typeString": "literal_string \"Address not allowed to call this method\"" + }, + "value": "Address not allowed to call this method" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "typeString": "literal_string \"Address not allowed to call this method\"" + } + ], + "id": 1325, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "323:71:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1332, + "nodeType": "ExpressionStatement", + "src": "323:71:4" + }, + { + "id": 1333, + "nodeType": "PlaceholderStatement", + "src": "404:1:4" + } + ] + }, + "id": 1335, + "name": "onlyAdmins", + "nameLocation": "302:10:4", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1324, + "nodeType": "ParameterList", + "parameters": [], + "src": "313:0:4" + }, + "src": "293:119:4", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1346, + "nodeType": "Block", + "src": "479:41:4", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1342, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "496:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1344, + "indexExpression": { + "id": 1343, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1337, + "src": "504:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "496:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1341, + "id": 1345, + "nodeType": "Return", + "src": "489:24:4" + } + ] + }, + "functionSelector": "24d7806c", + "id": 1347, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAdmin", + "nameLocation": "427:7:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1337, + "mutability": "mutable", + "name": "_address", + "nameLocation": "443:8:4", + "nodeType": "VariableDeclaration", + "scope": 1347, + "src": "435:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "434:18:4" + }, + "returnParameters": { + "id": 1341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1347, + "src": "473:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1339, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "473:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "472:6:4" + }, + "scope": 1376, + "src": "418:102:4", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1360, + "nodeType": "Block", + "src": "581:42:4", + "statements": [ + { + "expression": { + "id": 1358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1354, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "591:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1356, + "indexExpression": { + "id": 1355, + "name": "_newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "599:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "591:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "612:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "591:25:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1359, + "nodeType": "ExpressionStatement", + "src": "591:25:4" + } + ] + }, + "functionSelector": "70480275", + "id": 1361, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1352, + "kind": "modifierInvocation", + "modifierName": { + "id": 1351, + "name": "onlyAdmins", + "nameLocations": [ + "570:10:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "570:10:4" + }, + "nodeType": "ModifierInvocation", + "src": "570:10:4" + } + ], + "name": "addAdmin", + "nameLocation": "535:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1349, + "mutability": "mutable", + "name": "_newAdmin", + "nameLocation": "552:9:4", + "nodeType": "VariableDeclaration", + "scope": 1361, + "src": "544:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "543:19:4" + }, + "returnParameters": { + "id": 1353, + "nodeType": "ParameterList", + "parameters": [], + "src": "581:0:4" + }, + "scope": 1376, + "src": "526:97:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1374, + "nodeType": "Block", + "src": "684:40:4", + "statements": [ + { + "expression": { + "id": 1372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1368, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "694:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1370, + "indexExpression": { + "id": 1369, + "name": "_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "702:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "694:15:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "694:23:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1373, + "nodeType": "ExpressionStatement", + "src": "694:23:4" + } + ] + }, + "functionSelector": "1785f53c", + "id": 1375, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1366, + "kind": "modifierInvocation", + "modifierName": { + "id": 1365, + "name": "onlyAdmins", + "nameLocations": [ + "673:10:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "673:10:4" + }, + "nodeType": "ModifierInvocation", + "src": "673:10:4" + } + ], + "name": "removeAdmin", + "nameLocation": "638:11:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1363, + "mutability": "mutable", + "name": "_admin", + "nameLocation": "658:6:4", + "nodeType": "VariableDeclaration", + "scope": 1375, + "src": "650:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "650:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "649:16:4" + }, + "returnParameters": { + "id": 1367, + "nodeType": "ParameterList", + "parameters": [], + "src": "684:0:4" + }, + "scope": 1376, + "src": "629:95:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1377, + "src": "58:668:4", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:694:4" + }, + "id": 4 + }, + "contracts/AirdropDeployerERC1155.sol": { + "ast": { + "absolutePath": "contracts/AirdropDeployerERC1155.sol", + "exportedSymbols": { + "AirdropDeployerERC1155": [ + 1479 + ], + "AirdropInfo": [ + 3257 + ], + "AirdropType": [ + 3239 + ], + "Context": [ + 177 + ], + "CustomAirdrop1155": [ + 2581 + ], + "CustomAirdrop1155Merkle": [ + 2943 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ], + "MerkleProof": [ + 1290 + ], + "Ownable": [ + 147 + ] + }, + "id": 1480, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1378, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:5" + }, + { + "absolutePath": "contracts/CustomAirdrop1155.sol", + "file": "./CustomAirdrop1155.sol", + "id": 1379, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1480, + "sourceUnit": 2582, + "src": "58:33:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/CustomAirdrop1155Merkle.sol", + "file": "./CustomAirdrop1155Merkle.sol", + "id": 1380, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1480, + "sourceUnit": 2944, + "src": "92:39:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Types.sol", + "file": "./Types.sol", + "id": 1381, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1480, + "sourceUnit": 3430, + "src": "132:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "AirdropDeployerERC1155", + "contractDependencies": [ + 2581, + 2943 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1479, + "linearizedBaseContracts": [ + 1479 + ], + "name": "AirdropDeployerERC1155", + "nameLocation": "164:22:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1384, + "nodeType": "Block", + "src": "207:2:5", + "statements": [] + }, + "id": 1385, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1382, + "nodeType": "ParameterList", + "parameters": [], + "src": "204:2:5" + }, + "returnParameters": { + "id": 1383, + "nodeType": "ParameterList", + "parameters": [], + "src": "207:0:5" + }, + "scope": 1479, + "src": "193:16:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1477, + "nodeType": "Block", + "src": "483:999:5", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1404, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "497:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "505:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "497:9:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1437, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "960:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 1438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "968:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "960:9:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1474, + "nodeType": "Block", + "src": "1434:42:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1463:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1455:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1469, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1455:7:5", + "typeDescriptions": {} + } + }, + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1455:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1403, + "id": 1473, + "nodeType": "Return", + "src": "1448:17:5" + } + ] + }, + "id": 1475, + "nodeType": "IfStatement", + "src": "956:520:5", + "trueBody": { + "id": 1468, + "nodeType": "Block", + "src": "971:457:5", + "statements": [ + { + "assignments": [ + 1442 + ], + "declarations": [ + { + "constant": false, + "id": 1442, + "mutability": "mutable", + "name": "deployedAirdrop", + "nameLocation": "1009:15:5", + "nodeType": "VariableDeclaration", + "scope": 1468, + "src": "985:39:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + }, + "typeName": { + "id": 1441, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1440, + "name": "CustomAirdrop1155Merkle", + "nameLocations": [ + "985:23:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2943, + "src": "985:23:5" + }, + "referencedDeclaration": 2943, + "src": "985:23:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + }, + "visibility": "internal" + } + ], + "id": 1458, + "initialValue": { + "arguments": [ + { + "id": 1446, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "1076:11:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "id": 1449, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1117:4:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$1479", + "typeString": "contract AirdropDeployerERC1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$1479", + "typeString": "contract AirdropDeployerERC1155" + } + ], + "id": 1448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1109:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1109:7:5", + "typeDescriptions": {} + } + }, + "id": 1450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1109:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1451, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "1144:12:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1452, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "1178:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1453, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "1207:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1454, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1397, + "src": "1247:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1455, + "name": "AirdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "1283:11:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AirdropType_$3239_$", + "typeString": "type(enum AirdropType)" + } + }, + "id": 1456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1295:6:5", + "memberName": "MERKLE", + "nodeType": "MemberAccess", + "referencedDeclaration": 3237, + "src": "1283:18:5", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + ], + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1027:27:5", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_AirdropType_$3239_$returns$_t_contract$_CustomAirdrop1155Merkle_$2943_$", + "typeString": "function (string memory,address,address,uint256,uint256,uint256,enum AirdropType) returns (contract CustomAirdrop1155Merkle)" + }, + "typeName": { + "id": 1444, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1443, + "name": "CustomAirdrop1155Merkle", + "nameLocations": [ + "1031:23:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2943, + "src": "1031:23:5" + }, + "referencedDeclaration": 2943, + "src": "1031:23:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1027:292:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "985:334:5" + }, + { + "assignments": [ + 1460 + ], + "declarations": [ + { + "constant": false, + "id": 1460, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1341:14:5", + "nodeType": "VariableDeclaration", + "scope": 1468, + "src": "1333:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1333:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1465, + "initialValue": { + "arguments": [ + { + "id": 1463, + "name": "deployedAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "1366:15:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 1462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1358:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1358:7:5", + "typeDescriptions": {} + } + }, + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1358:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1333:49:5" + }, + { + "expression": { + "id": 1466, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1460, + "src": "1403:14:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1403, + "id": 1467, + "nodeType": "Return", + "src": "1396:21:5" + } + ] + } + }, + "id": 1476, + "nodeType": "IfStatement", + "src": "493:983:5", + "trueBody": { + "id": 1436, + "nodeType": "Block", + "src": "508:442:5", + "statements": [ + { + "assignments": [ + 1409 + ], + "declarations": [ + { + "constant": false, + "id": 1409, + "mutability": "mutable", + "name": "deployedAirdrop", + "nameLocation": "540:15:5", + "nodeType": "VariableDeclaration", + "scope": 1436, + "src": "522:33:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + }, + "typeName": { + "id": 1408, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1407, + "name": "CustomAirdrop1155", + "nameLocations": [ + "522:17:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2581, + "src": "522:17:5" + }, + "referencedDeclaration": 2581, + "src": "522:17:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + }, + "visibility": "internal" + } + ], + "id": 1426, + "initialValue": { + "arguments": [ + { + "id": 1413, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "597:11:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "id": 1416, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "634:4:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$1479", + "typeString": "contract AirdropDeployerERC1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$1479", + "typeString": "contract AirdropDeployerERC1155" + } + ], + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "626:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "626:7:5", + "typeDescriptions": {} + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "626:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1418, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "657:12:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1419, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "687:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1420, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "712:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1421, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "748:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1422, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1397, + "src": "777:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1423, + "name": "AirdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "809:11:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AirdropType_$3239_$", + "typeString": "type(enum AirdropType)" + } + }, + "id": 1424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "821:6:5", + "memberName": "CUSTOM", + "nodeType": "MemberAccess", + "referencedDeclaration": 3236, + "src": "809:18:5", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + ], + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "558:21:5", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_AirdropType_$3239_$returns$_t_contract$_CustomAirdrop1155_$2581_$", + "typeString": "function (string memory,address,address,uint256,uint256,uint256,uint256,enum AirdropType) returns (contract CustomAirdrop1155)" + }, + "typeName": { + "id": 1411, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1410, + "name": "CustomAirdrop1155", + "nameLocations": [ + "562:17:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2581, + "src": "562:17:5" + }, + "referencedDeclaration": 2581, + "src": "562:17:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + } + }, + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "558:283:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "522:319:5" + }, + { + "assignments": [ + 1428 + ], + "declarations": [ + { + "constant": false, + "id": 1428, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "863:14:5", + "nodeType": "VariableDeclaration", + "scope": 1436, + "src": "855:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "855:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1433, + "initialValue": { + "arguments": [ + { + "id": 1431, + "name": "deployedAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "888:15:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "880:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1429, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "880:7:5", + "typeDescriptions": {} + } + }, + "id": 1432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "880:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "855:49:5" + }, + { + "expression": { + "id": 1434, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "925:14:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1403, + "id": 1435, + "nodeType": "Return", + "src": "918:21:5" + } + ] + } + } + ] + }, + "functionSelector": "0920be42", + "id": 1478, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "223:19:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1387, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "266:11:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "252:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1386, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "252:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1389, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "295:12:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "287:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1391, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "325:7:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "317:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "317:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1393, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "350:18:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "342:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "342:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1395, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "386:11:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "378:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1397, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "415:14:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "407:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1396, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1399, + "mutability": "mutable", + "name": "mode", + "nameLocation": "447:4:5", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "439:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1398, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "439:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "242:215:5" + }, + "returnParameters": { + "id": 1403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1402, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "474:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1401, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "474:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "473:9:5" + }, + "scope": 1479, + "src": "214:1268:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1480, + "src": "155:1329:5", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:1453:5" + }, + "id": 5 + }, + "contracts/AirdropDeployerERC20.sol": { + "ast": { + "absolutePath": "contracts/AirdropDeployerERC20.sol", + "exportedSymbols": { + "AirdropDeployerERC20": [ + 1530 + ], + "AirdropInfo": [ + 3257 + ], + "AirdropType": [ + 3239 + ], + "Context": [ + 177 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ], + "OpenAirdropERC20": [ + 3233 + ], + "Ownable": [ + 147 + ] + }, + "id": 1531, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1481, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:6" + }, + { + "absolutePath": "contracts/OpenAirdropERC20.sol", + "file": "./OpenAirdropERC20.sol", + "id": 1482, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1531, + "sourceUnit": 3234, + "src": "58:32:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Types.sol", + "file": "./Types.sol", + "id": 1483, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1531, + "sourceUnit": 3430, + "src": "91:21:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "AirdropDeployerERC20", + "contractDependencies": [ + 3233 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1530, + "linearizedBaseContracts": [ + 1530 + ], + "name": "AirdropDeployerERC20", + "nameLocation": "123:20:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1486, + "nodeType": "Block", + "src": "163:2:6", + "statements": [] + }, + "id": 1487, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1484, + "nodeType": "ParameterList", + "parameters": [], + "src": "160:2:6" + }, + "returnParameters": { + "id": 1485, + "nodeType": "ParameterList", + "parameters": [], + "src": "163:0:6" + }, + "scope": 1530, + "src": "149:16:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1528, + "nodeType": "Block", + "src": "392:335:6", + "statements": [ + { + "assignments": [ + 1504 + ], + "declarations": [ + { + "constant": false, + "id": 1504, + "mutability": "mutable", + "name": "deployedAirdrop", + "nameLocation": "419:15:6", + "nodeType": "VariableDeclaration", + "scope": 1528, + "src": "402:32:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + }, + "typeName": { + "id": 1503, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1502, + "name": "OpenAirdropERC20", + "nameLocations": [ + "402:16:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3233, + "src": "402:16:6" + }, + "referencedDeclaration": 3233, + "src": "402:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + }, + "visibility": "internal" + } + ], + "id": 1518, + "initialValue": { + "arguments": [ + { + "id": 1508, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "471:11:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "id": 1511, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "504:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AirdropDeployerERC20_$1530", + "typeString": "contract AirdropDeployerERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AirdropDeployerERC20_$1530", + "typeString": "contract AirdropDeployerERC20" + } + ], + "id": 1510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "496:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1509, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "496:7:6", + "typeDescriptions": {} + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "496:13:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1513, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1491, + "src": "523:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1514, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "549:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1515, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "581:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1516, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "606:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "437:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_OpenAirdropERC20_$3233_$", + "typeString": "function (string memory,address,address,uint256,uint256,uint256) returns (contract OpenAirdropERC20)" + }, + "typeName": { + "id": 1506, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1505, + "name": "OpenAirdropERC20", + "nameLocations": [ + "441:16:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3233, + "src": "441:16:6" + }, + "referencedDeclaration": 3233, + "src": "441:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + } + }, + "id": 1517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "437:193:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "402:228:6" + }, + { + "assignments": [ + 1520 + ], + "declarations": [ + { + "constant": false, + "id": 1520, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "648:14:6", + "nodeType": "VariableDeclaration", + "scope": 1528, + "src": "640:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "640:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1525, + "initialValue": { + "arguments": [ + { + "id": 1523, + "name": "deployedAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "673:15:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "665:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "665:7:6", + "typeDescriptions": {} + } + }, + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "665:24:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "640:49:6" + }, + { + "expression": { + "id": 1526, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1520, + "src": "706:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1501, + "id": 1527, + "nodeType": "Return", + "src": "699:21:6" + } + ] + }, + "functionSelector": "d171b519", + "id": 1529, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "179:19:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1489, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "222:11:6", + "nodeType": "VariableDeclaration", + "scope": 1529, + "src": "208:25:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1488, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "208:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1491, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "251:12:6", + "nodeType": "VariableDeclaration", + "scope": 1529, + "src": "243:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "243:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1493, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "281:18:6", + "nodeType": "VariableDeclaration", + "scope": 1529, + "src": "273:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1495, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "317:11:6", + "nodeType": "VariableDeclaration", + "scope": 1529, + "src": "309:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1497, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "346:14:6", + "nodeType": "VariableDeclaration", + "scope": 1529, + "src": "338:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "338:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "198:168:6" + }, + "returnParameters": { + "id": 1501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1500, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1529, + "src": "383:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "383:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "382:9:6" + }, + "scope": 1530, + "src": "170:557:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1531, + "src": "114:615:6", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:698:6" + }, + "id": 6 + }, + "contracts/AirdropManager.sol": { + "ast": { + "absolutePath": "contracts/AirdropManager.sol", + "exportedSymbols": { + "Administrable": [ + 1376 + ], + "AirdropInfo": [ + 3257 + ], + "AirdropManager": [ + 2133 + ], + "AirdropType": [ + 3239 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ] + }, + "id": 2134, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1532, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:7" + }, + { + "absolutePath": "contracts/Administrable.sol", + "file": "./Administrable.sol", + "id": 1533, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2134, + "sourceUnit": 1377, + "src": "58:29:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Types.sol", + "file": "./Types.sol", + "id": 1534, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2134, + "sourceUnit": 3430, + "src": "88:21:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1535, + "name": "Administrable", + "nameLocations": [ + "138:13:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1376, + "src": "138:13:7" + }, + "id": 1536, + "nodeType": "InheritanceSpecifier", + "src": "138:13:7" + } + ], + "canonicalName": "AirdropManager", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2133, + "linearizedBaseContracts": [ + 2133, + 1376 + ], + "name": "AirdropManager", + "nameLocation": "120:14:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1538, + "mutability": "mutable", + "name": "_airdropDeployerERC20Address", + "nameLocation": "166:28:7", + "nodeType": "VariableDeclaration", + "scope": 2133, + "src": "158:36:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1537, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "158:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1540, + "mutability": "mutable", + "name": "_airdropDeployerERC1155Address", + "nameLocation": "208:30:7", + "nodeType": "VariableDeclaration", + "scope": 2133, + "src": "200:38:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1543, + "mutability": "mutable", + "name": "_airdrops", + "nameLocation": "254:9:7", + "nodeType": "VariableDeclaration", + "scope": 2133, + "src": "244:19:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1541, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "244:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1542, + "nodeType": "ArrayTypeName", + "src": "244:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "eventSelector": "8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b64", + "id": 1547, + "name": "AirdropAdded", + "nameLocation": "276:12:7", + "nodeType": "EventDefinition", + "parameters": { + "id": 1546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1545, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "297:14:7", + "nodeType": "VariableDeclaration", + "scope": 1547, + "src": "289:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "289:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "288:24:7" + }, + "src": "270:43:7" + }, + { + "anonymous": false, + "eventSelector": "a075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32", + "id": 1551, + "name": "AirdropRemoved", + "nameLocation": "324:14:7", + "nodeType": "EventDefinition", + "parameters": { + "id": 1550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1549, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "347:14:7", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "339:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "339:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "338:24:7" + }, + "src": "318:45:7" + }, + { + "anonymous": false, + "eventSelector": "e0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257", + "id": 1555, + "name": "AirdropERC20Deployed", + "nameLocation": "374:20:7", + "nodeType": "EventDefinition", + "parameters": { + "id": 1554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1553, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "403:14:7", + "nodeType": "VariableDeclaration", + "scope": 1555, + "src": "395:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "395:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "394:24:7" + }, + "src": "368:51:7" + }, + { + "anonymous": false, + "eventSelector": "3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d", + "id": 1559, + "name": "AirdropERC1155Deployed", + "nameLocation": "430:22:7", + "nodeType": "EventDefinition", + "parameters": { + "id": 1558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1557, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "461:14:7", + "nodeType": "VariableDeclaration", + "scope": 1559, + "src": "453:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "453:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "452:24:7" + }, + "src": "424:53:7" + }, + { + "body": { + "id": 1580, + "nodeType": "Block", + "src": "662:147:7", + "statements": [ + { + "expression": { + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1572, + "name": "_airdropDeployerERC20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "672:28:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1573, + "name": "airdropDeployerERC20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "703:27:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "672:58:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1575, + "nodeType": "ExpressionStatement", + "src": "672:58:7" + }, + { + "expression": { + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1576, + "name": "_airdropDeployerERC1155Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "740:30:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1577, + "name": "airdropDeployerERC1155Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1566, + "src": "773:29:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "740:62:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1579, + "nodeType": "ExpressionStatement", + "src": "740:62:7" + } + ] + }, + "id": 1581, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 1569, + "name": "initialAdmins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1562, + "src": "647:13:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "id": 1570, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1568, + "name": "Administrable", + "nameLocations": [ + "633:13:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1376, + "src": "633:13:7" + }, + "nodeType": "ModifierInvocation", + "src": "633:28:7" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1562, + "mutability": "mutable", + "name": "initialAdmins", + "nameLocation": "521:13:7", + "nodeType": "VariableDeclaration", + "scope": 1581, + "src": "504:30:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "504:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1561, + "nodeType": "ArrayTypeName", + "src": "504:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1564, + "mutability": "mutable", + "name": "airdropDeployerERC20Address", + "nameLocation": "552:27:7", + "nodeType": "VariableDeclaration", + "scope": 1581, + "src": "544:35:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1566, + "mutability": "mutable", + "name": "airdropDeployerERC1155Address", + "nameLocation": "597:29:7", + "nodeType": "VariableDeclaration", + "scope": 1581, + "src": "589:37:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1565, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "589:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "494:138:7" + }, + "returnParameters": { + "id": 1571, + "nodeType": "ParameterList", + "parameters": [], + "src": "662:0:7" + }, + "scope": 2133, + "src": "483:326:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1608, + "nodeType": "Block", + "src": "955:104:7", + "statements": [ + { + "assignments": [ + 1595 + ], + "declarations": [ + { + "constant": false, + "id": 1595, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "974:7:7", + "nodeType": "VariableDeclaration", + "scope": 1608, + "src": "965:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1594, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1593, + "name": "IAirdrop", + "nameLocations": [ + "965:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "965:8:7" + }, + "referencedDeclaration": 3345, + "src": "965:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1599, + "initialValue": { + "arguments": [ + { + "id": 1597, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "993:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1596, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "984:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "984:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "965:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1603, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1585, + "src": "1032:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1604, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "1038:6:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1605, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "1046:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "expression": { + "id": 1600, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1595, + "src": "1018:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1026:5:7", + "memberName": "claim", + "nodeType": "MemberAccess", + "referencedDeclaration": 3267, + "src": "1018:13:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes32[] memory) external" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1018:34:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1607, + "nodeType": "ExpressionStatement", + "src": "1018:34:7" + } + ] + }, + "functionSelector": "fabed412", + "id": 1609, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "claim", + "nameLocation": "824:5:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1583, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "847:14:7", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "839:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "839:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1585, + "mutability": "mutable", + "name": "user", + "nameLocation": "879:4:7", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "871:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "871:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1587, + "mutability": "mutable", + "name": "amount", + "nameLocation": "901:6:7", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "893:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1586, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "893:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1590, + "mutability": "mutable", + "name": "proof", + "nameLocation": "936:5:7", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "917:24:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1588, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "917:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1589, + "nodeType": "ArrayTypeName", + "src": "917:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "829:118:7" + }, + "returnParameters": { + "id": 1592, + "nodeType": "ParameterList", + "parameters": [], + "src": "955:0:7" + }, + "scope": 2133, + "src": "815:244:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1630, + "nodeType": "Block", + "src": "1172:101:7", + "statements": [ + { + "assignments": [ + 1620 + ], + "declarations": [ + { + "constant": false, + "id": 1620, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1191:7:7", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "1182:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1619, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1618, + "name": "IAirdrop", + "nameLocations": [ + "1182:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1182:8:7" + }, + "referencedDeclaration": 3345, + "src": "1182:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1624, + "initialValue": { + "arguments": [ + { + "id": 1622, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1611, + "src": "1210:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1621, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "1201:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1201:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1182:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1627, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1613, + "src": "1261:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1625, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "1242:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1250:10:7", + "memberName": "hasClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3274, + "src": "1242:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1242:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1617, + "id": 1629, + "nodeType": "Return", + "src": "1235:31:7" + } + ] + }, + "functionSelector": "89266f60", + "id": 1631, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "1074:10:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1611, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1102:14:7", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1094:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1094:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1613, + "mutability": "mutable", + "name": "user", + "nameLocation": "1134:4:7", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1126:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1126:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1084:60:7" + }, + "returnParameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1616, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1166:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1615, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1166:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1165:6:7" + }, + "scope": 2133, + "src": "1065:208:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1649, + "nodeType": "Block", + "src": "1350:97:7", + "statements": [ + { + "assignments": [ + 1640 + ], + "declarations": [ + { + "constant": false, + "id": 1640, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1369:7:7", + "nodeType": "VariableDeclaration", + "scope": 1649, + "src": "1360:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1639, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1638, + "name": "IAirdrop", + "nameLocations": [ + "1360:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1360:8:7" + }, + "referencedDeclaration": 3345, + "src": "1360:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1644, + "initialValue": { + "arguments": [ + { + "id": 1642, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1633, + "src": "1388:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1641, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "1379:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1379:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1360:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1645, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1640, + "src": "1420:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1428:10:7", + "memberName": "hasExpired", + "nodeType": "MemberAccess", + "referencedDeclaration": 3279, + "src": "1420:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1420:20:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1637, + "id": 1648, + "nodeType": "Return", + "src": "1413:27:7" + } + ] + }, + "functionSelector": "f77bc88b", + "id": 1650, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "1288:10:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1633, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1307:14:7", + "nodeType": "VariableDeclaration", + "scope": 1650, + "src": "1299:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1299:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1298:24:7" + }, + "returnParameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1650, + "src": "1344:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1344:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1343:6:7" + }, + "scope": 2133, + "src": "1279:168:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1671, + "nodeType": "Block", + "src": "1559:100:7", + "statements": [ + { + "assignments": [ + 1661 + ], + "declarations": [ + { + "constant": false, + "id": 1661, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1578:7:7", + "nodeType": "VariableDeclaration", + "scope": 1671, + "src": "1569:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1660, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1659, + "name": "IAirdrop", + "nameLocations": [ + "1569:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1569:8:7" + }, + "referencedDeclaration": 3345, + "src": "1569:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1665, + "initialValue": { + "arguments": [ + { + "id": 1663, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1652, + "src": "1597:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1662, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "1588:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1588:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1569:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1668, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1654, + "src": "1647:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1666, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1661, + "src": "1629:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1637:9:7", + "memberName": "isAllowed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3308, + "src": "1629:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1629:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1658, + "id": 1670, + "nodeType": "Return", + "src": "1622:30:7" + } + ] + }, + "functionSelector": "a1654379", + "id": 1672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "1462:9:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1652, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1489:14:7", + "nodeType": "VariableDeclaration", + "scope": 1672, + "src": "1481:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1651, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1481:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1654, + "mutability": "mutable", + "name": "user", + "nameLocation": "1521:4:7", + "nodeType": "VariableDeclaration", + "scope": 1672, + "src": "1513:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1513:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1471:60:7" + }, + "returnParameters": { + "id": 1658, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1657, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1672, + "src": "1553:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1656, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1553:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1552:6:7" + }, + "scope": 2133, + "src": "1453:206:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1690, + "nodeType": "Block", + "src": "1760:104:7", + "statements": [ + { + "assignments": [ + 1681 + ], + "declarations": [ + { + "constant": false, + "id": 1681, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1779:7:7", + "nodeType": "VariableDeclaration", + "scope": 1690, + "src": "1770:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1680, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1679, + "name": "IAirdrop", + "nameLocations": [ + "1770:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1770:8:7" + }, + "referencedDeclaration": 3345, + "src": "1770:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1685, + "initialValue": { + "arguments": [ + { + "id": 1683, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1674, + "src": "1798:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1682, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "1789:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1789:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1770:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1686, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1681, + "src": "1830:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1838:17:7", + "memberName": "getExpirationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3313, + "src": "1830:25:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1830:27:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1678, + "id": 1689, + "nodeType": "Return", + "src": "1823:34:7" + } + ] + }, + "functionSelector": "2522f8da", + "id": 1691, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "1674:17:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1674, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1709:14:7", + "nodeType": "VariableDeclaration", + "scope": 1691, + "src": "1701:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1701:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1691:38:7" + }, + "returnParameters": { + "id": 1678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1677, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1691, + "src": "1751:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1751:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1750:9:7" + }, + "scope": 2133, + "src": "1665:199:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1709, + "nodeType": "Block", + "src": "1962:101:7", + "statements": [ + { + "assignments": [ + 1700 + ], + "declarations": [ + { + "constant": false, + "id": 1700, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1981:7:7", + "nodeType": "VariableDeclaration", + "scope": 1709, + "src": "1972:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1699, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1698, + "name": "IAirdrop", + "nameLocations": [ + "1972:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1972:8:7" + }, + "referencedDeclaration": 3345, + "src": "1972:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1704, + "initialValue": { + "arguments": [ + { + "id": 1702, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1693, + "src": "2000:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1701, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "1991:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1991:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1972:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1705, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "2032:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2040:14:7", + "memberName": "getClaimAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 3318, + "src": "2032:22:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2032:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1697, + "id": 1708, + "nodeType": "Return", + "src": "2025:31:7" + } + ] + }, + "functionSelector": "dde070e8", + "id": 1710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "1879:14:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1693, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1911:14:7", + "nodeType": "VariableDeclaration", + "scope": 1710, + "src": "1903:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1692, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1903:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1893:38:7" + }, + "returnParameters": { + "id": 1697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1710, + "src": "1953:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1953:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1952:9:7" + }, + "scope": 2133, + "src": "1870:193:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1729, + "nodeType": "Block", + "src": "2172:101:7", + "statements": [ + { + "assignments": [ + 1720 + ], + "declarations": [ + { + "constant": false, + "id": 1720, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2191:7:7", + "nodeType": "VariableDeclaration", + "scope": 1729, + "src": "2182:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1719, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1718, + "name": "IAirdrop", + "nameLocations": [ + "2182:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "2182:8:7" + }, + "referencedDeclaration": 3345, + "src": "2182:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1724, + "initialValue": { + "arguments": [ + { + "id": 1722, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1712, + "src": "2210:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1721, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "2201:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2201:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2182:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1725, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "2242:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2250:14:7", + "memberName": "getAirdropInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 3339, + "src": "2242:22:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_struct$_AirdropInfo_$3257_memory_ptr_$", + "typeString": "function () view external returns (struct AirdropInfo memory)" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2242:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 1717, + "id": 1728, + "nodeType": "Return", + "src": "2235:31:7" + } + ] + }, + "functionSelector": "6b58222e", + "id": 1730, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "2078:14:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1712, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2110:14:7", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "2102:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2102:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2092:38:7" + }, + "returnParameters": { + "id": 1717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1716, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "2152:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 1715, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1714, + "name": "AirdropInfo", + "nameLocations": [ + "2152:11:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3257, + "src": "2152:11:7" + }, + "referencedDeclaration": 3257, + "src": "2152:11:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "2151:20:7" + }, + "scope": 2133, + "src": "2069:204:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1748, + "nodeType": "Block", + "src": "2378:108:7", + "statements": [ + { + "assignments": [ + 1739 + ], + "declarations": [ + { + "constant": false, + "id": 1739, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2397:7:7", + "nodeType": "VariableDeclaration", + "scope": 1748, + "src": "2388:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1738, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1737, + "name": "IAirdrop", + "nameLocations": [ + "2388:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "2388:8:7" + }, + "referencedDeclaration": 3345, + "src": "2388:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1743, + "initialValue": { + "arguments": [ + { + "id": 1741, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1732, + "src": "2416:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1740, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "2407:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2407:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2388:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1744, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1739, + "src": "2448:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2456:21:7", + "memberName": "getTotalAirdropAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 3323, + "src": "2448:29:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2448:31:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1736, + "id": 1747, + "nodeType": "Return", + "src": "2441:38:7" + } + ] + }, + "functionSelector": "f89f2a2c", + "id": 1749, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "2288:21:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1732, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2327:14:7", + "nodeType": "VariableDeclaration", + "scope": 1749, + "src": "2319:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2319:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2309:38:7" + }, + "returnParameters": { + "id": 1736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1735, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1749, + "src": "2369:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2369:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2368:9:7" + }, + "scope": 2133, + "src": "2279:207:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1767, + "nodeType": "Block", + "src": "2590:107:7", + "statements": [ + { + "assignments": [ + 1758 + ], + "declarations": [ + { + "constant": false, + "id": 1758, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2609:7:7", + "nodeType": "VariableDeclaration", + "scope": 1767, + "src": "2600:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1757, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1756, + "name": "IAirdrop", + "nameLocations": [ + "2600:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "2600:8:7" + }, + "referencedDeclaration": 3345, + "src": "2600:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1762, + "initialValue": { + "arguments": [ + { + "id": 1760, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1751, + "src": "2628:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1759, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "2619:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2619:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2600:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1763, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "2660:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2668:20:7", + "memberName": "getAirdropAmountLeft", + "nodeType": "MemberAccess", + "referencedDeclaration": 3328, + "src": "2660:28:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2660:30:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1755, + "id": 1766, + "nodeType": "Return", + "src": "2653:37:7" + } + ] + }, + "functionSelector": "a9b8f018", + "id": 1768, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "2501:20:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1751, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2539:14:7", + "nodeType": "VariableDeclaration", + "scope": 1768, + "src": "2531:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1750, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2531:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2521:38:7" + }, + "returnParameters": { + "id": 1755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1754, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1768, + "src": "2581:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2581:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2580:9:7" + }, + "scope": 2133, + "src": "2492:205:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1786, + "nodeType": "Block", + "src": "2777:97:7", + "statements": [ + { + "assignments": [ + 1777 + ], + "declarations": [ + { + "constant": false, + "id": 1777, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2796:7:7", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "2787:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1776, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1775, + "name": "IAirdrop", + "nameLocations": [ + "2787:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "2787:8:7" + }, + "referencedDeclaration": 3345, + "src": "2787:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1781, + "initialValue": { + "arguments": [ + { + "id": 1779, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1770, + "src": "2815:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1778, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "2806:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2806:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2787:43:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1782, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1777, + "src": "2847:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2855:10:7", + "memberName": "getBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3333, + "src": "2847:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2847:20:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1774, + "id": 1785, + "nodeType": "Return", + "src": "2840:27:7" + } + ] + }, + "functionSelector": "f8b2cb4f", + "id": 1787, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "2712:10:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1770, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2731:14:7", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "2723:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2723:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2722:24:7" + }, + "returnParameters": { + "id": 1774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1773, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "2768:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1772, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2768:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2767:9:7" + }, + "scope": 2133, + "src": "2703:171:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1795, + "nodeType": "Block", + "src": "2942:33:7", + "statements": [ + { + "expression": { + "id": 1793, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "2959:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "functionReturnParameters": 1792, + "id": 1794, + "nodeType": "Return", + "src": "2952:16:7" + } + ] + }, + "functionSelector": "59f47add", + "id": 1796, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdrops", + "nameLocation": "2889:11:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1788, + "nodeType": "ParameterList", + "parameters": [], + "src": "2900:2:7" + }, + "returnParameters": { + "id": 1792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1791, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1796, + "src": "2924:16:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2924:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1790, + "nodeType": "ArrayTypeName", + "src": "2924:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2923:18:7" + }, + "scope": 2133, + "src": "2880:95:7", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1841, + "nodeType": "Block", + "src": "3218:428:7", + "statements": [ + { + "assignments": [ + 1815 + ], + "declarations": [ + { + "constant": false, + "id": 1815, + "mutability": "mutable", + "name": "deployerERC20", + "nameLocation": "3243:13:7", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "3228:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$3361", + "typeString": "contract IDeployerERC20" + }, + "typeName": { + "id": 1814, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1813, + "name": "IDeployerERC20", + "nameLocations": [ + "3228:14:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3361, + "src": "3228:14:7" + }, + "referencedDeclaration": 3361, + "src": "3228:14:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$3361", + "typeString": "contract IDeployerERC20" + } + }, + "visibility": "internal" + } + ], + "id": 1819, + "initialValue": { + "arguments": [ + { + "id": 1817, + "name": "_airdropDeployerERC20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "3274:28:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1816, + "name": "IDeployerERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3361, + "src": "3259:14:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IDeployerERC20_$3361_$", + "typeString": "type(contract IDeployerERC20)" + } + }, + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3259:44:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$3361", + "typeString": "contract IDeployerERC20" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3228:75:7" + }, + { + "assignments": [ + 1821 + ], + "declarations": [ + { + "constant": false, + "id": 1821, + "mutability": "mutable", + "name": "deployedAddress", + "nameLocation": "3321:15:7", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "3313:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3313:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1830, + "initialValue": { + "arguments": [ + { + "id": 1824, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1798, + "src": "3386:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1825, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1800, + "src": "3411:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1826, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1802, + "src": "3437:18:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1827, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1804, + "src": "3469:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1828, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1806, + "src": "3494:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1822, + "name": "deployerERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "3339:13:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$3361", + "typeString": "contract IDeployerERC20" + } + }, + "id": 1823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3353:19:7", + "memberName": "deployAndAddAirdrop", + "nodeType": "MemberAccess", + "referencedDeclaration": 3360, + "src": "3339:33:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_address_$", + "typeString": "function (string memory,address,uint256,uint256,uint256) external returns (address)" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3339:179:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3313:205:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1832, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "3539:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1831, + "name": "addAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1954, + "src": "3528:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3528:27:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1834, + "nodeType": "ExpressionStatement", + "src": "3528:27:7" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1836, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "3591:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1835, + "name": "AirdropERC20Deployed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "3570:20:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3570:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1838, + "nodeType": "EmitStatement", + "src": "3565:42:7" + }, + { + "expression": { + "id": 1839, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "3624:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1812, + "id": 1840, + "nodeType": "Return", + "src": "3617:22:7" + } + ] + }, + "functionSelector": "07b1d553", + "id": 1842, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1809, + "kind": "modifierInvocation", + "modifierName": { + "id": 1808, + "name": "onlyAdmins", + "nameLocations": [ + "3190:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "3190:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "3190:10:7" + } + ], + "name": "deployAndAddAirdropERC20", + "nameLocation": "2990:24:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1798, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "3038:11:7", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "3024:25:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1797, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3024:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1800, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "3067:12:7", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "3059:20:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3059:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1802, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "3097:18:7", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "3089:26:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1801, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3089:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1804, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "3133:11:7", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "3125:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3125:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1806, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "3162:14:7", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "3154:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3154:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3014:168:7" + }, + "returnParameters": { + "id": 1812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1811, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "3209:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3209:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3208:9:7" + }, + "scope": 2133, + "src": "2981:665:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1903, + "nodeType": "Block", + "src": "3938:545:7", + "statements": [ + { + "assignments": [ + 1865 + ], + "declarations": [ + { + "constant": false, + "id": 1865, + "mutability": "mutable", + "name": "deployer1155", + "nameLocation": "3962:12:7", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "3948:26:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$3381", + "typeString": "contract IDeployer1155" + }, + "typeName": { + "id": 1864, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1863, + "name": "IDeployer1155", + "nameLocations": [ + "3948:13:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3381, + "src": "3948:13:7" + }, + "referencedDeclaration": 3381, + "src": "3948:13:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$3381", + "typeString": "contract IDeployer1155" + } + }, + "visibility": "internal" + } + ], + "id": 1869, + "initialValue": { + "arguments": [ + { + "id": 1867, + "name": "_airdropDeployerERC1155Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "3991:30:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1866, + "name": "IDeployer1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3381, + "src": "3977:13:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IDeployer1155_$3381_$", + "typeString": "type(contract IDeployer1155)" + } + }, + "id": 1868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3977:45:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$3381", + "typeString": "contract IDeployer1155" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3948:74:7" + }, + { + "assignments": [ + 1871 + ], + "declarations": [ + { + "constant": false, + "id": 1871, + "mutability": "mutable", + "name": "deployedAddress", + "nameLocation": "4040:15:7", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "4032:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1870, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4032:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1882, + "initialValue": { + "arguments": [ + { + "id": 1874, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "4104:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1875, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1846, + "src": "4129:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1876, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1848, + "src": "4155:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1877, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1850, + "src": "4176:18:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1878, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "4208:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1879, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1854, + "src": "4233:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1880, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1856, + "src": "4261:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1872, + "name": "deployer1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1865, + "src": "4058:12:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$3381", + "typeString": "contract IDeployer1155" + } + }, + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4071:19:7", + "memberName": "deployAndAddAirdrop", + "nodeType": "MemberAccess", + "referencedDeclaration": 3380, + "src": "4058:32:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_address_$", + "typeString": "function (string memory,address,uint256,uint256,uint256,uint256,uint256) external returns (address)" + } + }, + "id": 1881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4058:217:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4032:243:7" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1884, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1871, + "src": "4293:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4320:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4312:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1885, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4312:7:7", + "typeDescriptions": {} + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4312:10:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4293:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4572726f722c2077726f6e67206d6f64652073656c6563746564", + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4324:28:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "typeString": "literal_string \"Error, wrong mode selected\"" + }, + "value": "Error, wrong mode selected" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "typeString": "literal_string \"Error, wrong mode selected\"" + } + ], + "id": 1883, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4285:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4285:68:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1892, + "nodeType": "ExpressionStatement", + "src": "4285:68:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1894, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1871, + "src": "4374:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1893, + "name": "addAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1954, + "src": "4363:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4363:27:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1896, + "nodeType": "ExpressionStatement", + "src": "4363:27:7" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1898, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1871, + "src": "4428:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1897, + "name": "AirdropERC1155Deployed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "4405:22:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4405:39:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1900, + "nodeType": "EmitStatement", + "src": "4400:44:7" + }, + { + "expression": { + "id": 1901, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1871, + "src": "4461:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1862, + "id": 1902, + "nodeType": "Return", + "src": "4454:22:7" + } + ] + }, + "functionSelector": "b17acd1a", + "id": 1904, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1859, + "kind": "modifierInvocation", + "modifierName": { + "id": 1858, + "name": "onlyAdmins", + "nameLocations": [ + "3910:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "3910:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "3910:10:7" + } + ], + "name": "deployAndAddAirdropERC1155", + "nameLocation": "3661:26:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1844, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "3711:11:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3697:25:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3697:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1846, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "3740:12:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3732:20:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3732:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1848, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3770:7:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3762:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3762:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1850, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "3795:18:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3787:26:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3787:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1852, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "3831:11:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3823:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3823:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1854, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "3860:14:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3852:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3852:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1856, + "mutability": "mutable", + "name": "mode", + "nameLocation": "3892:4:7", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3884:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3884:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3687:215:7" + }, + "returnParameters": { + "id": 1862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1861, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1904, + "src": "3929:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3929:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3928:9:7" + }, + "scope": 2133, + "src": "3652:831:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1953, + "nodeType": "Block", + "src": "4545:307:7", + "statements": [ + { + "assignments": [ + 1910 + ], + "declarations": [ + { + "constant": false, + "id": 1910, + "mutability": "mutable", + "name": "exists", + "nameLocation": "4560:6:7", + "nodeType": "VariableDeclaration", + "scope": 1953, + "src": "4555:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1909, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4555:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 1912, + "initialValue": { + "hexValue": "66616c7365", + "id": 1911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4569:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4555:19:7" + }, + { + "body": { + "id": 1935, + "nodeType": "Block", + "src": "4639:67:7", + "statements": [ + { + "expression": { + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1927, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "4653:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1928, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "4662:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 1930, + "indexExpression": { + "id": 1929, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1914, + "src": "4672:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4662:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1931, + "name": "newAirdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1906, + "src": "4678:17:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4662:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4653:42:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1934, + "nodeType": "ExpressionStatement", + "src": "4653:42:7" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1917, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1914, + "src": "4601:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1918, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "4605:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4615:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4605:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4601:20:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4625:7:7", + "subExpression": { + "id": 1921, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "4626:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4601:31:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1936, + "initializationExpression": { + "assignments": [ + 1914 + ], + "declarations": [ + { + "constant": false, + "id": 1914, + "mutability": "mutable", + "name": "i", + "nameLocation": "4594:1:7", + "nodeType": "VariableDeclaration", + "scope": 1936, + "src": "4589:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1913, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4589:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1916, + "initialValue": { + "hexValue": "30", + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4598:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4589:10:7" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 1925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4634:3:7", + "subExpression": { + "id": 1924, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1914, + "src": "4634:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1926, + "nodeType": "ExpressionStatement", + "src": "4634:3:7" + }, + "nodeType": "ForStatement", + "src": "4584:122:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4723:7:7", + "subExpression": { + "id": 1938, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "4724:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c7265616479206164646564", + "id": 1940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4732:23:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "typeString": "literal_string \"Airdrop already added\"" + }, + "value": "Airdrop already added" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "typeString": "literal_string \"Airdrop already added\"" + } + ], + "id": 1937, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4715:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4715:41:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1942, + "nodeType": "ExpressionStatement", + "src": "4715:41:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1946, + "name": "newAirdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1906, + "src": "4781:17:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1943, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "4766:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4776:4:7", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "4766:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer,address)" + } + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4766:33:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1948, + "nodeType": "ExpressionStatement", + "src": "4766:33:7" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1950, + "name": "newAirdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1906, + "src": "4827:17:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1949, + "name": "AirdropAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1547, + "src": "4814:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4814:31:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1952, + "nodeType": "EmitStatement", + "src": "4809:36:7" + } + ] + }, + "id": 1954, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addAirdrop", + "nameLocation": "4498:10:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1906, + "mutability": "mutable", + "name": "newAirdropAddress", + "nameLocation": "4517:17:7", + "nodeType": "VariableDeclaration", + "scope": 1954, + "src": "4509:25:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1905, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4509:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4508:27:7" + }, + "returnParameters": { + "id": 1908, + "nodeType": "ParameterList", + "parameters": [], + "src": "4545:0:7" + }, + "scope": 2133, + "src": "4489:363:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1976, + "nodeType": "Block", + "src": "4932:92:7", + "statements": [ + { + "assignments": [ + 1965 + ], + "declarations": [ + { + "constant": false, + "id": 1965, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "4951:7:7", + "nodeType": "VariableDeclaration", + "scope": 1976, + "src": "4942:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 1964, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1963, + "name": "IAirdrop", + "nameLocations": [ + "4942:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "4942:8:7" + }, + "referencedDeclaration": 3345, + "src": "4942:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 1969, + "initialValue": { + "arguments": [ + { + "id": 1967, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "4970:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1966, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4961:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 1968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4961:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4942:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1973, + "name": "_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1958, + "src": "5011:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1970, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1965, + "src": "4995:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 1972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5003:7:7", + "memberName": "setRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 3344, + "src": "4995:15:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 1974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4995:22:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1975, + "nodeType": "ExpressionStatement", + "src": "4995:22:7" + } + ] + }, + "functionSelector": "7f94f65d", + "id": 1977, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1961, + "kind": "modifierInvocation", + "modifierName": { + "id": 1960, + "name": "onlyAdmins", + "nameLocations": [ + "4921:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "4921:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "4921:10:7" + } + ], + "name": "setRoot", + "nameLocation": "4867:7:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1956, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "4883:14:7", + "nodeType": "VariableDeclaration", + "scope": 1977, + "src": "4875:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4875:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1958, + "mutability": "mutable", + "name": "_root", + "nameLocation": "4907:5:7", + "nodeType": "VariableDeclaration", + "scope": 1977, + "src": "4899:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4899:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4874:39:7" + }, + "returnParameters": { + "id": 1962, + "nodeType": "ParameterList", + "parameters": [], + "src": "4932:0:7" + }, + "scope": 2133, + "src": "4858:166:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2037, + "nodeType": "Block", + "src": "5095:361:7", + "statements": [ + { + "assignments": [ + 1985 + ], + "declarations": [ + { + "constant": false, + "id": 1985, + "mutability": "mutable", + "name": "exists", + "nameLocation": "5110:6:7", + "nodeType": "VariableDeclaration", + "scope": 2037, + "src": "5105:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1984, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5105:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 1987, + "initialValue": { + "hexValue": "66616c7365", + "id": 1986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5119:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5105:19:7" + }, + { + "body": { + "id": 2029, + "nodeType": "Block", + "src": "5189:203:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2002, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "5207:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2004, + "indexExpression": { + "id": 2003, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1989, + "src": "5217:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5207:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2005, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "5223:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5207:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2028, + "nodeType": "IfStatement", + "src": "5203:179:7", + "trueBody": { + "id": 2027, + "nodeType": "Block", + "src": "5239:143:7", + "statements": [ + { + "expression": { + "id": 2009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2007, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1985, + "src": "5257:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5266:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5257:13:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2010, + "nodeType": "ExpressionStatement", + "src": "5257:13:7" + }, + { + "expression": { + "id": 2020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2011, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "5288:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2013, + "indexExpression": { + "id": 2012, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1989, + "src": "5298:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5288:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2014, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "5303:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2019, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2015, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "5313:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5323:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5313:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 2017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5332:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5313:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5303:31:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5288:46:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2021, + "nodeType": "ExpressionStatement", + "src": "5288:46:7" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2022, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "5352:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5362:3:7", + "memberName": "pop", + "nodeType": "MemberAccess", + "src": "5352:13:7", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer)" + } + }, + "id": 2025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5352:15:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2026, + "nodeType": "ExpressionStatement", + "src": "5352:15:7" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1992, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1989, + "src": "5151:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1993, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "5155:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5165:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5155:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5151:20:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 1997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5175:7:7", + "subExpression": { + "id": 1996, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1985, + "src": "5176:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5151:31:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2030, + "initializationExpression": { + "assignments": [ + 1989 + ], + "declarations": [ + { + "constant": false, + "id": 1989, + "mutability": "mutable", + "name": "i", + "nameLocation": "5144:1:7", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "5139:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1988, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5139:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1991, + "initialValue": { + "hexValue": "30", + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5148:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5139:10:7" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 2000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5184:3:7", + "subExpression": { + "id": 1999, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1989, + "src": "5184:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2001, + "nodeType": "ExpressionStatement", + "src": "5184:3:7" + }, + "nodeType": "ForStatement", + "src": "5134:258:7" + }, + { + "condition": { + "id": 2031, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1985, + "src": "5406:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2036, + "nodeType": "IfStatement", + "src": "5402:47:7", + "trueBody": { + "eventCall": { + "arguments": [ + { + "id": 2033, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "5434:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2032, + "name": "AirdropRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1551, + "src": "5419:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5419:30:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2035, + "nodeType": "EmitStatement", + "src": "5414:35:7" + } + } + ] + }, + "functionSelector": "c012a68f", + "id": 2038, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1982, + "kind": "modifierInvocation", + "modifierName": { + "id": 1981, + "name": "onlyAdmins", + "nameLocations": [ + "5084:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "5084:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "5084:10:7" + } + ], + "name": "removeAirdrop", + "nameLocation": "5039:13:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1979, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5061:14:7", + "nodeType": "VariableDeclaration", + "scope": 2038, + "src": "5053:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5053:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5052:24:7" + }, + "returnParameters": { + "id": 1983, + "nodeType": "ParameterList", + "parameters": [], + "src": "5095:0:7" + }, + "scope": 2133, + "src": "5030:426:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2060, + "nodeType": "Block", + "src": "5562:96:7", + "statements": [ + { + "assignments": [ + 2049 + ], + "declarations": [ + { + "constant": false, + "id": 2049, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "5581:7:7", + "nodeType": "VariableDeclaration", + "scope": 2060, + "src": "5572:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 2048, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2047, + "name": "IAirdrop", + "nameLocations": [ + "5572:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "5572:8:7" + }, + "referencedDeclaration": 3345, + "src": "5572:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 2053, + "initialValue": { + "arguments": [ + { + "id": 2051, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "src": "5600:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2050, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5591:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5591:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5572:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 2057, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2042, + "src": "5646:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 2054, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2049, + "src": "5625:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 2056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5633:12:7", + "memberName": "allowAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3284, + "src": "5625:20:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5625:26:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2059, + "nodeType": "ExpressionStatement", + "src": "5625:26:7" + } + ] + }, + "functionSelector": "989a9863", + "id": 2061, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2045, + "kind": "modifierInvocation", + "modifierName": { + "id": 2044, + "name": "onlyAdmins", + "nameLocations": [ + "5551:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "5551:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "5551:10:7" + } + ], + "name": "allowAddress", + "nameLocation": "5471:12:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2040, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5501:14:7", + "nodeType": "VariableDeclaration", + "scope": 2061, + "src": "5493:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5493:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2042, + "mutability": "mutable", + "name": "user", + "nameLocation": "5533:4:7", + "nodeType": "VariableDeclaration", + "scope": 2061, + "src": "5525:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2041, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5525:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5483:60:7" + }, + "returnParameters": { + "id": 2046, + "nodeType": "ParameterList", + "parameters": [], + "src": "5562:0:7" + }, + "scope": 2133, + "src": "5462:196:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2084, + "nodeType": "Block", + "src": "5776:99:7", + "statements": [ + { + "assignments": [ + 2073 + ], + "declarations": [ + { + "constant": false, + "id": 2073, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "5795:7:7", + "nodeType": "VariableDeclaration", + "scope": 2084, + "src": "5786:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 2072, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2071, + "name": "IAirdrop", + "nameLocations": [ + "5786:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "5786:8:7" + }, + "referencedDeclaration": 3345, + "src": "5786:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 2077, + "initialValue": { + "arguments": [ + { + "id": 2075, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "5814:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2074, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5805:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 2076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5805:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5786:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 2081, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2066, + "src": "5862:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 2078, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2073, + "src": "5839:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5847:14:7", + "memberName": "allowAddresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 3290, + "src": "5839:22:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory) external" + } + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5839:29:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2083, + "nodeType": "ExpressionStatement", + "src": "5839:29:7" + } + ] + }, + "functionSelector": "ead7778a", + "id": 2085, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2069, + "kind": "modifierInvocation", + "modifierName": { + "id": 2068, + "name": "onlyAdmins", + "nameLocations": [ + "5765:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "5765:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "5765:10:7" + } + ], + "name": "allowAddresses", + "nameLocation": "5673:14:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2063, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5705:14:7", + "nodeType": "VariableDeclaration", + "scope": 2085, + "src": "5697:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5697:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2066, + "mutability": "mutable", + "name": "users", + "nameLocation": "5746:5:7", + "nodeType": "VariableDeclaration", + "scope": 2085, + "src": "5729:22:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5729:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2065, + "nodeType": "ArrayTypeName", + "src": "5729:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "5687:70:7" + }, + "returnParameters": { + "id": 2070, + "nodeType": "ParameterList", + "parameters": [], + "src": "5776:0:7" + }, + "scope": 2133, + "src": "5664:211:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2107, + "nodeType": "Block", + "src": "5984:99:7", + "statements": [ + { + "assignments": [ + 2096 + ], + "declarations": [ + { + "constant": false, + "id": 2096, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "6003:7:7", + "nodeType": "VariableDeclaration", + "scope": 2107, + "src": "5994:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 2095, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2094, + "name": "IAirdrop", + "nameLocations": [ + "5994:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "5994:8:7" + }, + "referencedDeclaration": 3345, + "src": "5994:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 2100, + "initialValue": { + "arguments": [ + { + "id": 2098, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "6022:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2097, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6013:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6013:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5994:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 2104, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2089, + "src": "6071:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 2101, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2096, + "src": "6047:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 2103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6055:15:7", + "memberName": "disallowAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3301, + "src": "6047:23:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 2105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6047:29:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2106, + "nodeType": "ExpressionStatement", + "src": "6047:29:7" + } + ] + }, + "functionSelector": "3ad14ed6", + "id": 2108, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2092, + "kind": "modifierInvocation", + "modifierName": { + "id": 2091, + "name": "onlyAdmins", + "nameLocations": [ + "5973:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "5973:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "5973:10:7" + } + ], + "name": "disallowAddress", + "nameLocation": "5890:15:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2087, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5923:14:7", + "nodeType": "VariableDeclaration", + "scope": 2108, + "src": "5915:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5915:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2089, + "mutability": "mutable", + "name": "user", + "nameLocation": "5955:4:7", + "nodeType": "VariableDeclaration", + "scope": 2108, + "src": "5947:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5947:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5905:60:7" + }, + "returnParameters": { + "id": 2093, + "nodeType": "ParameterList", + "parameters": [], + "src": "5984:0:7" + }, + "scope": 2133, + "src": "5881:202:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2131, + "nodeType": "Block", + "src": "6204:102:7", + "statements": [ + { + "assignments": [ + 2120 + ], + "declarations": [ + { + "constant": false, + "id": 2120, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "6223:7:7", + "nodeType": "VariableDeclaration", + "scope": 2131, + "src": "6214:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 2119, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2118, + "name": "IAirdrop", + "nameLocations": [ + "6214:8:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "6214:8:7" + }, + "referencedDeclaration": 3345, + "src": "6214:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 2124, + "initialValue": { + "arguments": [ + { + "id": 2122, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2110, + "src": "6242:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2121, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6233:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$3345_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 2123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6233:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6214:43:7" + }, + { + "expression": { + "arguments": [ + { + "id": 2128, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2113, + "src": "6293:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 2125, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2120, + "src": "6267:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$3345", + "typeString": "contract IAirdrop" + } + }, + "id": 2127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6275:17:7", + "memberName": "disallowAddresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 3296, + "src": "6267:25:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory) external" + } + }, + "id": 2129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6267:32:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2130, + "nodeType": "ExpressionStatement", + "src": "6267:32:7" + } + ] + }, + "functionSelector": "0cb27628", + "id": 2132, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2116, + "kind": "modifierInvocation", + "modifierName": { + "id": 2115, + "name": "onlyAdmins", + "nameLocations": [ + "6193:10:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1335, + "src": "6193:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "6193:10:7" + } + ], + "name": "disallowAddresses", + "nameLocation": "6098:17:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2110, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "6133:14:7", + "nodeType": "VariableDeclaration", + "scope": 2132, + "src": "6125:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6125:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2113, + "mutability": "mutable", + "name": "users", + "nameLocation": "6174:5:7", + "nodeType": "VariableDeclaration", + "scope": 2132, + "src": "6157:22:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6157:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2112, + "nodeType": "ArrayTypeName", + "src": "6157:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "6115:70:7" + }, + "returnParameters": { + "id": 2117, + "nodeType": "ParameterList", + "parameters": [], + "src": "6204:0:7" + }, + "scope": 2133, + "src": "6089:217:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2134, + "src": "111:6197:7", + "usedErrors": [], + "usedEvents": [ + 1547, + 1551, + 1555, + 1559 + ] + } + ], + "src": "32:6277:7" + }, + "id": 7 + }, + "contracts/CustomAirdrop1155.sol": { + "ast": { + "absolutePath": "contracts/CustomAirdrop1155.sol", + "exportedSymbols": { + "AirdropInfo": [ + 3257 + ], + "AirdropType": [ + 3239 + ], + "Context": [ + 177 + ], + "CustomAirdrop1155": [ + 2581 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ], + "Ownable": [ + 147 + ] + }, + "id": 2582, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2135, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:8" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2136, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2582, + "sourceUnit": 148, + "src": "58:52:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Types.sol", + "file": "./Types.sol", + "id": 2137, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2582, + "sourceUnit": 3430, + "src": "111:21:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2138, + "name": "Ownable", + "nameLocations": [ + "164:7:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "164:7:8" + }, + "id": 2139, + "nodeType": "InheritanceSpecifier", + "src": "164:7:8" + } + ], + "canonicalName": "CustomAirdrop1155", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2581, + "linearizedBaseContracts": [ + 2581, + 147, + 177 + ], + "name": "CustomAirdrop1155", + "nameLocation": "143:17:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4", + "id": 2145, + "name": "Claim", + "nameLocation": "184:5:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 2144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2141, + "indexed": false, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "198:9:8", + "nodeType": "VariableDeclaration", + "scope": 2145, + "src": "190:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "190:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2143, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "217:6:8", + "nodeType": "VariableDeclaration", + "scope": 2145, + "src": "209:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "209:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "189:35:8" + }, + "src": "178:47:8" + }, + { + "anonymous": false, + "eventSelector": "5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af77", + "id": 2149, + "name": "AddressAllowed", + "nameLocation": "236:14:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 2148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2147, + "indexed": false, + "mutability": "mutable", + "name": "allowedAddress", + "nameLocation": "259:14:8", + "nodeType": "VariableDeclaration", + "scope": 2149, + "src": "251:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "251:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "250:24:8" + }, + "src": "230:45:8" + }, + { + "anonymous": false, + "eventSelector": "5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d", + "id": 2153, + "name": "AddressDisallowed", + "nameLocation": "286:17:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 2152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2151, + "indexed": false, + "mutability": "mutable", + "name": "disallowedAddress", + "nameLocation": "312:17:8", + "nodeType": "VariableDeclaration", + "scope": 2153, + "src": "304:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "304:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "303:27:8" + }, + "src": "280:51:8" + }, + { + "constant": false, + "id": 2156, + "mutability": "mutable", + "name": "_tokenContract", + "nameLocation": "346:14:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "337:23:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + }, + "typeName": { + "id": 2155, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2154, + "name": "IERC1155", + "nameLocations": [ + "337:8:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3429, + "src": "337:8:8" + }, + "referencedDeclaration": 3429, + "src": "337:8:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2158, + "mutability": "mutable", + "name": "_totalAirdropAmount", + "nameLocation": "374:19:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "366:27:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "366:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2160, + "mutability": "mutable", + "name": "_airdropAmountLeft", + "nameLocation": "407:18:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "399:26:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2162, + "mutability": "mutable", + "name": "_claimAmount", + "nameLocation": "439:12:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "431:20:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "431:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2164, + "mutability": "mutable", + "name": "_expirationDate", + "nameLocation": "465:15:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "457:23:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2166, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "494:8:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "486:16:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "486:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2168, + "mutability": "mutable", + "name": "_airdropName", + "nameLocation": "515:12:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "508:19:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 2167, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "508:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2171, + "mutability": "mutable", + "name": "_airdropType", + "nameLocation": "545:12:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "533:24:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 2170, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2169, + "name": "AirdropType", + "nameLocations": [ + "533:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3239, + "src": "533:11:8" + }, + "referencedDeclaration": 3239, + "src": "533:11:8", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2175, + "mutability": "mutable", + "name": "_allowedAddresses", + "nameLocation": "589:17:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "564:42:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2174, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "564:24:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2173, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "583:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2179, + "mutability": "mutable", + "name": "_addressesThatAlreadyClaimed", + "nameLocation": "637:28:8", + "nodeType": "VariableDeclaration", + "scope": 2581, + "src": "612:53:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2178, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "620:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "612:24:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2177, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "631:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 2236, + "nodeType": "Block", + "src": "962:333:8", + "statements": [ + { + "expression": { + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2202, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2156, + "src": "972:14:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2204, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "998:12:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2203, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3429, + "src": "989:8:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$3429_$", + "typeString": "type(contract IERC1155)" + } + }, + "id": 2205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "989:22:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "src": "972:39:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2207, + "nodeType": "ExpressionStatement", + "src": "972:39:8" + }, + { + "expression": { + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2208, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "1021:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2209, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2181, + "src": "1036:11:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1021:26:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2211, + "nodeType": "ExpressionStatement", + "src": "1021:26:8" + }, + { + "expression": { + "id": 2214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2212, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2166, + "src": "1057:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2213, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2187, + "src": "1068:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1057:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2215, + "nodeType": "ExpressionStatement", + "src": "1057:18:8" + }, + { + "expression": { + "id": 2218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2216, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2158, + "src": "1085:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2217, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2189, + "src": "1107:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1085:40:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2219, + "nodeType": "ExpressionStatement", + "src": "1085:40:8" + }, + { + "expression": { + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2220, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2160, + "src": "1135:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2221, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2189, + "src": "1156:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1135:39:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2223, + "nodeType": "ExpressionStatement", + "src": "1135:39:8" + }, + { + "expression": { + "id": 2226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2224, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "1184:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2225, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2191, + "src": "1199:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1184:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2227, + "nodeType": "ExpressionStatement", + "src": "1184:26:8" + }, + { + "expression": { + "id": 2230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2228, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2164, + "src": "1220:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2229, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2193, + "src": "1238:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1220:32:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2231, + "nodeType": "ExpressionStatement", + "src": "1220:32:8" + }, + { + "expression": { + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2232, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2171, + "src": "1262:12:8", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2233, + "name": "airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2196, + "src": "1277:11:8", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "src": "1262:26:8", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "id": 2235, + "nodeType": "ExpressionStatement", + "src": "1262:26:8" + } + ] + }, + "id": 2237, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2199, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "948:12:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2200, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2198, + "name": "Ownable", + "nameLocations": [ + "940:7:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "940:7:8" + }, + "nodeType": "ModifierInvocation", + "src": "940:21:8" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2181, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "707:11:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "693:25:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2180, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "693:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2183, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "736:12:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "728:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "728:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2185, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "766:12:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "758:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "758:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2187, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "796:7:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "788:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2186, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2189, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "821:18:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "813:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "813:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2191, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "857:11:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "849:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2190, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "849:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2193, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "886:14:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "878:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "878:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2196, + "mutability": "mutable", + "name": "airdropType", + "nameLocation": "922:11:8", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "910:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 2195, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2194, + "name": "AirdropType", + "nameLocations": [ + "910:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3239, + "src": "910:11:8" + }, + "referencedDeclaration": 3239, + "src": "910:11:8", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + } + ], + "src": "683:256:8" + }, + "returnParameters": { + "id": 2201, + "nodeType": "ParameterList", + "parameters": [], + "src": "962:0:8" + }, + "scope": 2581, + "src": "672:623:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2312, + "nodeType": "Block", + "src": "1389:628:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2251, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1417:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2250, + "name": "isAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2502, + "src": "1407:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1407:15:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f20636c61696d20746869732061697264726f70", + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1424:43:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "typeString": "literal_string \"Address not allowed to claim this airdrop\"" + }, + "value": "Address not allowed to claim this airdrop" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "typeString": "literal_string \"Address not allowed to claim this airdrop\"" + } + ], + "id": 2249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1399:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1399:69:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2255, + "nodeType": "ExpressionStatement", + "src": "1399:69:8" + }, + { + "expression": { + "arguments": [ + { + "id": 2259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1486:13:8", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2257, + "name": "hasExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2384, + "src": "1487:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1487:12:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "id": 2260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1501:26:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + }, + "value": "Airdrop already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + } + ], + "id": 2256, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1478:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1478:50:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2262, + "nodeType": "ExpressionStatement", + "src": "1478:50:8" + }, + { + "expression": { + "arguments": [ + { + "id": 2267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1546:17:8", + "subExpression": { + "arguments": [ + { + "id": 2265, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1558:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2264, + "name": "hasClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2373, + "src": "1547:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1547:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d656420746869732061697264726f702e", + "id": 2268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1565:39:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + }, + "value": "Address already claimed this airdrop." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + } + ], + "id": 2263, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1538:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1538:67:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2270, + "nodeType": "ExpressionStatement", + "src": "1538:67:8" + }, + { + "expression": { + "arguments": [ + { + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1623:24:8", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2272, + "name": "hasBeenTotallyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "1624:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1624:23:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d656420616c72656164792e", + "id": 2275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1649:43:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + }, + "value": "Airdrop has been totally claimed already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + } + ], + "id": 2271, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1615:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1615:78:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2277, + "nodeType": "ExpressionStatement", + "src": "1615:78:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2279, + "name": "hasBalanceToClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2351, + "src": "1711:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1711:19:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e7420746f6b656e2062616c616e63652e", + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1732:50:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + }, + "value": "Airdrop contract has insufficient token balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + } + ], + "id": 2278, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1703:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1703:80:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2283, + "nodeType": "ExpressionStatement", + "src": "1703:80:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2289, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1834:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1826:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2287, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1826:7:8", + "typeDescriptions": {} + } + }, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1826:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2291, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1841:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2292, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2166, + "src": "1847:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2293, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "1857:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1871:2:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 2284, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2156, + "src": "1794:14:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1809:16:8", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 3414, + "src": "1794:31:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1794:80:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2296, + "nodeType": "ExpressionStatement", + "src": "1794:80:8" + }, + { + "expression": { + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2297, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2160, + "src": "1884:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 2298, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "1906:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1884:34:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2300, + "nodeType": "ExpressionStatement", + "src": "1884:34:8" + }, + { + "expression": { + "id": 2305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2301, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2179, + "src": "1928:28:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2303, + "indexExpression": { + "id": 2302, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1957:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1928:34:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1965:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1928:41:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2306, + "nodeType": "ExpressionStatement", + "src": "1928:41:8" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2308, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1991:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2309, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "1997:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2307, + "name": "Claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2145, + "src": "1985:5:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1985:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2311, + "nodeType": "EmitStatement", + "src": "1980:30:8" + } + ] + }, + "functionSelector": "3d13f874", + "id": 2313, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2247, + "kind": "modifierInvocation", + "modifierName": { + "id": 2246, + "name": "onlyOwner", + "nameLocations": [ + "1379:9:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1379:9:8" + }, + "nodeType": "ModifierInvocation", + "src": "1379:9:8" + } + ], + "name": "claim", + "nameLocation": "1310:5:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2239, + "mutability": "mutable", + "name": "user", + "nameLocation": "1324:4:8", + "nodeType": "VariableDeclaration", + "scope": 2313, + "src": "1316:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1316:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2241, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1338:6:8", + "nodeType": "VariableDeclaration", + "scope": 2313, + "src": "1330:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2240, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1330:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2244, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1365:5:8", + "nodeType": "VariableDeclaration", + "scope": 2313, + "src": "1346:24:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2242, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1346:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2243, + "nodeType": "ArrayTypeName", + "src": "1346:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1315:56:8" + }, + "returnParameters": { + "id": 2248, + "nodeType": "ParameterList", + "parameters": [], + "src": "1389:0:8" + }, + "scope": 2581, + "src": "1301:716:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2333, + "nodeType": "Block", + "src": "2089:154:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2320, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "2118:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "arguments": [ + { + "id": 2323, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2140:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 2322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2132:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2132:7:8", + "typeDescriptions": {} + } + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2132:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2325, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2158, + "src": "2147:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2326, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2160, + "src": "2168:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2327, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "2188:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2328, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2164, + "src": "2202:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2329, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2171, + "src": "2219:12:8", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + { + "hexValue": "", + "id": 2330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2233:2:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 2319, + "name": "AirdropInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3257, + "src": "2106:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AirdropInfo_$3257_storage_ptr_$", + "typeString": "type(struct AirdropInfo storage pointer)" + } + }, + "id": 2331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2106:130:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 2318, + "id": 2332, + "nodeType": "Return", + "src": "2099:137:8" + } + ] + }, + "functionSelector": "32f08873", + "id": 2334, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "2032:14:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2314, + "nodeType": "ParameterList", + "parameters": [], + "src": "2046:2:8" + }, + "returnParameters": { + "id": 2318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2317, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2334, + "src": "2069:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 2316, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2315, + "name": "AirdropInfo", + "nameLocations": [ + "2069:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3257, + "src": "2069:11:8" + }, + "referencedDeclaration": 3257, + "src": "2069:11:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "2068:20:8" + }, + "scope": 2581, + "src": "2023:220:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2350, + "nodeType": "Block", + "src": "2304:89:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2343, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2354:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 2342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2346:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2341, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2346:7:8", + "typeDescriptions": {} + } + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2346:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2345, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2166, + "src": "2361:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2339, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2156, + "src": "2321:14:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2336:9:8", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 3423, + "src": "2321:24:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2321:49:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2347, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "2374:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2321:65:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2338, + "id": 2349, + "nodeType": "Return", + "src": "2314:72:8" + } + ] + }, + "functionSelector": "01cb54c0", + "id": 2351, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBalanceToClaim", + "nameLocation": "2258:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2335, + "nodeType": "ParameterList", + "parameters": [], + "src": "2275:2:8" + }, + "returnParameters": { + "id": 2338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2337, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2351, + "src": "2298:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2336, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2298:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2297:6:8" + }, + "scope": 2581, + "src": "2249:144:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2360, + "nodeType": "Block", + "src": "2458:57:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2356, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2160, + "src": "2475:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2357, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "2496:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2475:33:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2355, + "id": 2359, + "nodeType": "Return", + "src": "2468:40:8" + } + ] + }, + "functionSelector": "9592a2cd", + "id": 2361, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBeenTotallyClaimed", + "nameLocation": "2408:21:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2352, + "nodeType": "ParameterList", + "parameters": [], + "src": "2429:2:8" + }, + "returnParameters": { + "id": 2355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2361, + "src": "2452:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2353, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2452:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2451:6:8" + }, + "scope": 2581, + "src": "2399:116:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2372, + "nodeType": "Block", + "src": "2585:62:8", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2368, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2179, + "src": "2602:28:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2370, + "indexExpression": { + "id": 2369, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "2631:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2602:38:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2367, + "id": 2371, + "nodeType": "Return", + "src": "2595:45:8" + } + ] + }, + "functionSelector": "73b2e80e", + "id": 2373, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "2530:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2363, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2549:8:8", + "nodeType": "VariableDeclaration", + "scope": 2373, + "src": "2541:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2541:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2540:18:8" + }, + "returnParameters": { + "id": 2367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2366, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2373, + "src": "2579:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2579:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2578:6:8" + }, + "scope": 2581, + "src": "2521:126:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2383, + "nodeType": "Block", + "src": "2701:57:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2378, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2164, + "src": "2718:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2379, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2736:5:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2742:9:8", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2736:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2718:33:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2377, + "id": 2382, + "nodeType": "Return", + "src": "2711:40:8" + } + ] + }, + "functionSelector": "90e64d13", + "id": 2384, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "2662:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2374, + "nodeType": "ParameterList", + "parameters": [], + "src": "2672:2:8" + }, + "returnParameters": { + "id": 2377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2376, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "2695:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2375, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2695:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2694:6:8" + }, + "scope": 2581, + "src": "2653:105:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2401, + "nodeType": "Block", + "src": "2821:90:8", + "statements": [ + { + "expression": { + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2391, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "2831:17:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2393, + "indexExpression": { + "id": 2392, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2386, + "src": "2849:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2831:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2831:34:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2396, + "nodeType": "ExpressionStatement", + "src": "2831:34:8" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2398, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2386, + "src": "2895:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2397, + "name": "AddressAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "2880:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2880:24:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2400, + "nodeType": "EmitStatement", + "src": "2875:29:8" + } + ] + }, + "functionSelector": "08af4d88", + "id": 2402, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2389, + "kind": "modifierInvocation", + "modifierName": { + "id": 2388, + "name": "onlyOwner", + "nameLocations": [ + "2811:9:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2811:9:8" + }, + "nodeType": "ModifierInvocation", + "src": "2811:9:8" + } + ], + "name": "allowAddress", + "nameLocation": "2773:12:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2386, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2794:8:8", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "2786:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2786:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2785:18:8" + }, + "returnParameters": { + "id": 2390, + "nodeType": "ParameterList", + "parameters": [], + "src": "2821:0:8" + }, + "scope": 2581, + "src": "2764:147:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2436, + "nodeType": "Block", + "src": "2986:166:8", + "statements": [ + { + "body": { + "id": 2434, + "nodeType": "Block", + "src": "3036:110:8", + "statements": [ + { + "expression": { + "id": 2426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2420, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "3050:17:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2424, + "indexExpression": { + "baseExpression": { + "id": 2421, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2405, + "src": "3068:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2423, + "indexExpression": { + "id": 2422, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2411, + "src": "3078:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3068:12:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3050:31:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3084:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3050:38:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2427, + "nodeType": "ExpressionStatement", + "src": "3050:38:8" + }, + { + "eventCall": { + "arguments": [ + { + "baseExpression": { + "id": 2429, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2405, + "src": "3122:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2431, + "indexExpression": { + "id": 2430, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2411, + "src": "3132:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3122:12:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2428, + "name": "AddressAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "3107:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3107:28:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2433, + "nodeType": "EmitStatement", + "src": "3102:33:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2413, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2411, + "src": "3009:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2414, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2405, + "src": "3013:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3023:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3013:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3009:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2435, + "initializationExpression": { + "assignments": [ + 2411 + ], + "declarations": [ + { + "constant": false, + "id": 2411, + "mutability": "mutable", + "name": "i", + "nameLocation": "3006:1:8", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "3001:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2410, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3001:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2412, + "nodeType": "VariableDeclarationStatement", + "src": "3001:6:8" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 2418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3031:3:8", + "subExpression": { + "id": 2417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2411, + "src": "3031:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2419, + "nodeType": "ExpressionStatement", + "src": "3031:3:8" + }, + "nodeType": "ForStatement", + "src": "2996:150:8" + } + ] + }, + "functionSelector": "3863b1f5", + "id": 2437, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2408, + "kind": "modifierInvocation", + "modifierName": { + "id": 2407, + "name": "onlyOwner", + "nameLocations": [ + "2976:9:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2976:9:8" + }, + "nodeType": "ModifierInvocation", + "src": "2976:9:8" + } + ], + "name": "allowAddresses", + "nameLocation": "2926:14:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2405, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "2958:9:8", + "nodeType": "VariableDeclaration", + "scope": 2437, + "src": "2941:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2941:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2404, + "nodeType": "ArrayTypeName", + "src": "2941:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2940:28:8" + }, + "returnParameters": { + "id": 2409, + "nodeType": "ParameterList", + "parameters": [], + "src": "2986:0:8" + }, + "scope": 2581, + "src": "2917:235:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2471, + "nodeType": "Block", + "src": "3230:170:8", + "statements": [ + { + "body": { + "id": 2469, + "nodeType": "Block", + "src": "3280:114:8", + "statements": [ + { + "expression": { + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2455, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "3294:17:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2459, + "indexExpression": { + "baseExpression": { + "id": 2456, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2440, + "src": "3312:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2458, + "indexExpression": { + "id": 2457, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2446, + "src": "3322:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3312:12:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3294:31:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 2460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3328:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3294:39:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2462, + "nodeType": "ExpressionStatement", + "src": "3294:39:8" + }, + { + "eventCall": { + "arguments": [ + { + "baseExpression": { + "id": 2464, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2440, + "src": "3370:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2466, + "indexExpression": { + "id": 2465, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2446, + "src": "3380:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3370:12:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2463, + "name": "AddressDisallowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2153, + "src": "3352:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3352:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2468, + "nodeType": "EmitStatement", + "src": "3347:36:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2448, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2446, + "src": "3253:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2449, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2440, + "src": "3257:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3267:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3257:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3253:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2470, + "initializationExpression": { + "assignments": [ + 2446 + ], + "declarations": [ + { + "constant": false, + "id": 2446, + "mutability": "mutable", + "name": "i", + "nameLocation": "3250:1:8", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "3245:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2445, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3245:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2447, + "nodeType": "VariableDeclarationStatement", + "src": "3245:6:8" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3275:3:8", + "subExpression": { + "id": 2452, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2446, + "src": "3275:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2454, + "nodeType": "ExpressionStatement", + "src": "3275:3:8" + }, + "nodeType": "ForStatement", + "src": "3240:154:8" + } + ] + }, + "functionSelector": "a9f7d0b2", + "id": 2472, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2443, + "kind": "modifierInvocation", + "modifierName": { + "id": 2442, + "name": "onlyOwner", + "nameLocations": [ + "3220:9:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "3220:9:8" + }, + "nodeType": "ModifierInvocation", + "src": "3220:9:8" + } + ], + "name": "disallowAddresses", + "nameLocation": "3167:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2440, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "3202:9:8", + "nodeType": "VariableDeclaration", + "scope": 2472, + "src": "3185:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3185:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2439, + "nodeType": "ArrayTypeName", + "src": "3185:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "3184:28:8" + }, + "returnParameters": { + "id": 2444, + "nodeType": "ParameterList", + "parameters": [], + "src": "3230:0:8" + }, + "scope": 2581, + "src": "3158:242:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2489, + "nodeType": "Block", + "src": "3466:94:8", + "statements": [ + { + "expression": { + "id": 2483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2479, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "3476:17:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2481, + "indexExpression": { + "id": 2480, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2474, + "src": "3494:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3476:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3506:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3476:35:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2484, + "nodeType": "ExpressionStatement", + "src": "3476:35:8" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2486, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2474, + "src": "3544:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2485, + "name": "AddressDisallowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2153, + "src": "3526:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3526:27:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2488, + "nodeType": "EmitStatement", + "src": "3521:32:8" + } + ] + }, + "functionSelector": "b7c58d7a", + "id": 2490, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2477, + "kind": "modifierInvocation", + "modifierName": { + "id": 2476, + "name": "onlyOwner", + "nameLocations": [ + "3456:9:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "3456:9:8" + }, + "nodeType": "ModifierInvocation", + "src": "3456:9:8" + } + ], + "name": "disallowAddress", + "nameLocation": "3415:15:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2474, + "mutability": "mutable", + "name": "_address", + "nameLocation": "3439:8:8", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "3431:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3431:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3430:18:8" + }, + "returnParameters": { + "id": 2478, + "nodeType": "ParameterList", + "parameters": [], + "src": "3466:0:8" + }, + "scope": 2581, + "src": "3406:154:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2501, + "nodeType": "Block", + "src": "3629:51:8", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2497, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "3646:17:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2499, + "indexExpression": { + "id": 2498, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2492, + "src": "3664:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3646:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2496, + "id": 2500, + "nodeType": "Return", + "src": "3639:34:8" + } + ] + }, + "functionSelector": "babcc539", + "id": 2502, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "3575:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2492, + "mutability": "mutable", + "name": "_address", + "nameLocation": "3593:8:8", + "nodeType": "VariableDeclaration", + "scope": 2502, + "src": "3585:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2491, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3585:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3584:18:8" + }, + "returnParameters": { + "id": 2496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2495, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2502, + "src": "3623:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2494, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3623:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3622:6:8" + }, + "scope": 2581, + "src": "3566:114:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2509, + "nodeType": "Block", + "src": "3744:39:8", + "statements": [ + { + "expression": { + "id": 2507, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2164, + "src": "3761:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2506, + "id": 2508, + "nodeType": "Return", + "src": "3754:22:8" + } + ] + }, + "functionSelector": "5edf7d8b", + "id": 2510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "3695:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2503, + "nodeType": "ParameterList", + "parameters": [], + "src": "3712:2:8" + }, + "returnParameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2505, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "3735:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3735:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3734:9:8" + }, + "scope": 2581, + "src": "3686:97:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2517, + "nodeType": "Block", + "src": "3844:36:8", + "statements": [ + { + "expression": { + "id": 2515, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "3861:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2514, + "id": 2516, + "nodeType": "Return", + "src": "3854:19:8" + } + ] + }, + "functionSelector": "71127ed2", + "id": 2518, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "3798:14:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2511, + "nodeType": "ParameterList", + "parameters": [], + "src": "3812:2:8" + }, + "returnParameters": { + "id": 2514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2513, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2518, + "src": "3835:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2512, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3835:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3834:9:8" + }, + "scope": 2581, + "src": "3789:91:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2525, + "nodeType": "Block", + "src": "3948:43:8", + "statements": [ + { + "expression": { + "id": 2523, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2158, + "src": "3965:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2522, + "id": 2524, + "nodeType": "Return", + "src": "3958:26:8" + } + ] + }, + "functionSelector": "43f367c8", + "id": 2526, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "3895:21:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2519, + "nodeType": "ParameterList", + "parameters": [], + "src": "3916:2:8" + }, + "returnParameters": { + "id": 2522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2521, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "3939:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2520, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3939:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3938:9:8" + }, + "scope": 2581, + "src": "3886:105:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2533, + "nodeType": "Block", + "src": "4058:42:8", + "statements": [ + { + "expression": { + "id": 2531, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2160, + "src": "4075:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2530, + "id": 2532, + "nodeType": "Return", + "src": "4068:25:8" + } + ] + }, + "functionSelector": "cd61a609", + "id": 2534, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "4006:20:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2527, + "nodeType": "ParameterList", + "parameters": [], + "src": "4026:2:8" + }, + "returnParameters": { + "id": 2530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2529, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "4049:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2528, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4049:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4048:9:8" + }, + "scope": 2581, + "src": "3997:103:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2548, + "nodeType": "Block", + "src": "4157:73:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2543, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4207:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$2581", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4199:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2541, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4199:7:8", + "typeDescriptions": {} + } + }, + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4199:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2545, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2166, + "src": "4214:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2539, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2156, + "src": "4174:14:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4189:9:8", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 3423, + "src": "4174:24:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 2546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4174:49:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2538, + "id": 2547, + "nodeType": "Return", + "src": "4167:56:8" + } + ] + }, + "functionSelector": "12065fe0", + "id": 2549, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "4115:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2535, + "nodeType": "ParameterList", + "parameters": [], + "src": "4125:2:8" + }, + "returnParameters": { + "id": 2538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2537, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2549, + "src": "4148:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4148:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4147:9:8" + }, + "scope": 2581, + "src": "4106:124:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2571, + "nodeType": "Block", + "src": "4372:101:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6f6e45524331313535526563656976656428616464726573732c616464726573732c75696e743235362c75696e743235362c627974657329", + "id": 2567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4406:58:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + }, + "value": "onERC1155Received(address,address,uint256,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + } + ], + "id": 2566, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4396:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4396:69:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4389:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 2564, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4389:6:8", + "typeDescriptions": {} + } + }, + "id": 2569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4389:77:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 2563, + "id": 2570, + "nodeType": "Return", + "src": "4382:84:8" + } + ] + }, + "functionSelector": "f23a6e61", + "id": 2572, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onERC1155Received", + "nameLocation": "4245:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2551, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4271:8:8", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "4263:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4263:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2553, + "mutability": "mutable", + "name": "from", + "nameLocation": "4289:4:8", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "4281:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4281:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2555, + "mutability": "mutable", + "name": "id", + "nameLocation": "4303:2:8", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "4295:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4295:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2557, + "mutability": "mutable", + "name": "value", + "nameLocation": "4315:5:8", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "4307:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4307:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2559, + "mutability": "mutable", + "name": "data", + "nameLocation": "4335:4:8", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "4322:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2558, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4322:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4262:78:8" + }, + "returnParameters": { + "id": 2563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2562, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "4364:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2561, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4364:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4363:8:8" + }, + "scope": 2581, + "src": "4236:237:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2579, + "nodeType": "Block", + "src": "4533:71:8", + "statements": [ + { + "expression": { + "hexValue": "6e6f7420696d706c656d656e746564", + "id": 2577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4580:17:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9", + "typeString": "literal_string \"not implemented\"" + }, + "value": "not implemented" + }, + "functionReturnParameters": 2576, + "id": 2578, + "nodeType": "Return", + "src": "4573:24:8" + } + ] + }, + "functionSelector": "4e16fc8b", + "id": 2580, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "4488:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2573, + "nodeType": "ParameterList", + "parameters": [], + "src": "4494:2:8" + }, + "returnParameters": { + "id": 2576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2575, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2580, + "src": "4518:13:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2574, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4518:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4517:15:8" + }, + "scope": 2581, + "src": "4479:125:8", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2582, + "src": "134:4472:8", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24, + 2145, + 2149, + 2153 + ] + } + ], + "src": "32:4574:8" + }, + "id": 8 + }, + "contracts/CustomAirdrop1155Merkle.sol": { + "ast": { + "absolutePath": "contracts/CustomAirdrop1155Merkle.sol", + "exportedSymbols": { + "AirdropInfo": [ + 3257 + ], + "AirdropType": [ + 3239 + ], + "Context": [ + 177 + ], + "CustomAirdrop1155Merkle": [ + 2943 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ], + "MerkleProof": [ + 1290 + ], + "Ownable": [ + 147 + ] + }, + "id": 2944, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2583, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:9" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2584, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2944, + "sourceUnit": 148, + "src": "58:52:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Types.sol", + "file": "./Types.sol", + "id": 2585, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2944, + "sourceUnit": 3430, + "src": "111:21:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", + "file": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", + "id": 2587, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2944, + "sourceUnit": 1291, + "src": "134:89:9", + "symbolAliases": [ + { + "foreign": { + "id": 2586, + "name": "MerkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "143:11:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2588, + "name": "Ownable", + "nameLocations": [ + "261:7:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "261:7:9" + }, + "id": 2589, + "nodeType": "InheritanceSpecifier", + "src": "261:7:9" + } + ], + "canonicalName": "CustomAirdrop1155Merkle", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2943, + "linearizedBaseContracts": [ + 2943, + 147, + 177 + ], + "name": "CustomAirdrop1155Merkle", + "nameLocation": "234:23:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4", + "id": 2595, + "name": "Claim", + "nameLocation": "281:5:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 2594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2591, + "indexed": false, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "295:9:9", + "nodeType": "VariableDeclaration", + "scope": 2595, + "src": "287:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2593, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "314:6:9", + "nodeType": "VariableDeclaration", + "scope": 2595, + "src": "306:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "306:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "286:35:9" + }, + "src": "275:47:9" + }, + { + "constant": false, + "id": 2598, + "mutability": "mutable", + "name": "_tokenContract", + "nameLocation": "337:14:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "328:23:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + }, + "typeName": { + "id": 2597, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2596, + "name": "IERC1155", + "nameLocations": [ + "328:8:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3429, + "src": "328:8:9" + }, + "referencedDeclaration": 3429, + "src": "328:8:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2600, + "mutability": "mutable", + "name": "_totalAirdropAmount", + "nameLocation": "365:19:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "357:27:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "357:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2602, + "mutability": "mutable", + "name": "_airdropAmountLeft", + "nameLocation": "398:18:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "390:26:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "390:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2604, + "mutability": "mutable", + "name": "_claimAmount", + "nameLocation": "430:12:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "422:20:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "422:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2606, + "mutability": "mutable", + "name": "_expirationDate", + "nameLocation": "456:15:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "448:23:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "448:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2608, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "485:8:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "477:16:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2610, + "mutability": "mutable", + "name": "_airdropName", + "nameLocation": "506:12:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "499:19:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 2609, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "499:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2613, + "mutability": "mutable", + "name": "_airdropType", + "nameLocation": "536:12:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "524:24:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 2612, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2611, + "name": "AirdropType", + "nameLocations": [ + "524:11:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3239, + "src": "524:11:9" + }, + "referencedDeclaration": 3239, + "src": "524:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "ebf0c717", + "id": 2615, + "mutability": "mutable", + "name": "root", + "nameLocation": "611:4:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "596:19:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2614, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "596:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "errorSelector": "09bde339", + "id": 2617, + "name": "InvalidProof", + "nameLocation": "627:12:9", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 2616, + "nodeType": "ParameterList", + "parameters": [], + "src": "639:2:9" + }, + "src": "621:21:9" + }, + { + "errorSelector": "c0ab2c9f", + "id": 2619, + "name": "UsedLeaf", + "nameLocation": "653:8:9", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 2618, + "nodeType": "ParameterList", + "parameters": [], + "src": "661:2:9" + }, + "src": "647:17:9" + }, + { + "constant": false, + "id": 2623, + "mutability": "mutable", + "name": "_addressesThatAlreadyClaimed", + "nameLocation": "695:28:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "670:53:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2622, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "678:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "670:24:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2621, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "689:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "80bdc421", + "id": 2627, + "mutability": "mutable", + "name": "claimedLeaf", + "nameLocation": "761:11:9", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "729:43:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "typeName": { + "id": 2626, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "737:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "729:24:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2625, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "748:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "public" + }, + { + "body": { + "id": 2678, + "nodeType": "Block", + "src": "1040:297:9", + "statements": [ + { + "expression": { + "id": 2652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2648, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2598, + "src": "1050:14:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2650, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "1076:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2649, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3429, + "src": "1067:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$3429_$", + "typeString": "type(contract IERC1155)" + } + }, + "id": 2651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1067:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "src": "1050:39:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2653, + "nodeType": "ExpressionStatement", + "src": "1050:39:9" + }, + { + "expression": { + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2654, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2610, + "src": "1099:12:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2655, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "1114:11:9", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1099:26:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2657, + "nodeType": "ExpressionStatement", + "src": "1099:26:9" + }, + { + "expression": { + "id": 2660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2658, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2608, + "src": "1135:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2659, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2635, + "src": "1146:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1135:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2661, + "nodeType": "ExpressionStatement", + "src": "1135:18:9" + }, + { + "expression": { + "id": 2664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2662, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2600, + "src": "1163:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2663, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2637, + "src": "1185:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1163:40:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2665, + "nodeType": "ExpressionStatement", + "src": "1163:40:9" + }, + { + "expression": { + "id": 2668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2666, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "1213:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2667, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2637, + "src": "1234:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1213:39:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2669, + "nodeType": "ExpressionStatement", + "src": "1213:39:9" + }, + { + "expression": { + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2670, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "1262:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2671, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "1280:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1262:32:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2673, + "nodeType": "ExpressionStatement", + "src": "1262:32:9" + }, + { + "expression": { + "id": 2676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2674, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2613, + "src": "1304:12:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2675, + "name": "airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2642, + "src": "1319:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "src": "1304:26:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "id": 2677, + "nodeType": "ExpressionStatement", + "src": "1304:26:9" + } + ] + }, + "id": 2679, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2645, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "1026:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2646, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2644, + "name": "Ownable", + "nameLocations": [ + "1018:7:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "1018:7:9" + }, + "nodeType": "ModifierInvocation", + "src": "1018:21:9" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2629, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "814:11:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "800:25:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2628, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "800:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2631, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "843:12:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "835:20:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "835:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2633, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "873:12:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "865:20:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "865:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2635, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "903:7:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "895:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "895:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2637, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "928:18:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "920:26:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "920:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2639, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "964:14:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "956:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "956:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2642, + "mutability": "mutable", + "name": "airdropType", + "nameLocation": "1000:11:9", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "988:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 2641, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2640, + "name": "AirdropType", + "nameLocations": [ + "988:11:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3239, + "src": "988:11:9" + }, + "referencedDeclaration": 3239, + "src": "988:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + } + ], + "src": "790:227:9" + }, + "returnParameters": { + "id": 2647, + "nodeType": "ParameterList", + "parameters": [], + "src": "1040:0:9" + }, + "scope": 2943, + "src": "779:558:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2690, + "nodeType": "Block", + "src": "1392:29:9", + "statements": [ + { + "expression": { + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2686, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2615, + "src": "1402:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2687, + "name": "_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2681, + "src": "1409:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1402:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2689, + "nodeType": "ExpressionStatement", + "src": "1402:12:9" + } + ] + }, + "functionSelector": "dab5f340", + "id": 2691, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2684, + "kind": "modifierInvocation", + "modifierName": { + "id": 2683, + "name": "onlyOwner", + "nameLocations": [ + "1382:9:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1382:9:9" + }, + "nodeType": "ModifierInvocation", + "src": "1382:9:9" + } + ], + "name": "setRoot", + "nameLocation": "1352:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2681, + "mutability": "mutable", + "name": "_root", + "nameLocation": "1368:5:9", + "nodeType": "VariableDeclaration", + "scope": 2691, + "src": "1360:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2680, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1360:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1359:15:9" + }, + "returnParameters": { + "id": 2685, + "nodeType": "ParameterList", + "parameters": [], + "src": "1392:0:9" + }, + "scope": 2943, + "src": "1343:78:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2709, + "nodeType": "Block", + "src": "1516:44:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2704, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "1533:4:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2705, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2695, + "src": "1539:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2706, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2698, + "src": "1547:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "id": 2703, + "name": "_claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2794, + "src": "1526:6:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_calldata_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes32[] calldata)" + } + }, + "id": 2707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1526:27:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2708, + "nodeType": "ExpressionStatement", + "src": "1526:27:9" + } + ] + }, + "functionSelector": "3d13f874", + "id": 2710, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2701, + "kind": "modifierInvocation", + "modifierName": { + "id": 2700, + "name": "onlyOwner", + "nameLocations": [ + "1507:9:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1507:9:9" + }, + "nodeType": "ModifierInvocation", + "src": "1507:9:9" + } + ], + "name": "claim", + "nameLocation": "1436:5:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2693, + "mutability": "mutable", + "name": "user", + "nameLocation": "1450:4:9", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "1442:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2692, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1442:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2695, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1464:6:9", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "1456:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1456:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2698, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1491:5:9", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "1472:24:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2696, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1472:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2697, + "nodeType": "ArrayTypeName", + "src": "1472:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1441:56:9" + }, + "returnParameters": { + "id": 2702, + "nodeType": "ParameterList", + "parameters": [], + "src": "1516:0:9" + }, + "scope": 2943, + "src": "1427:133:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2793, + "nodeType": "Block", + "src": "1652:598:9", + "statements": [ + { + "assignments": [ + 2721 + ], + "declarations": [ + { + "constant": false, + "id": 2721, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "1670:4:9", + "nodeType": "VariableDeclaration", + "scope": 2793, + "src": "1662:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2720, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1662:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2726, + "initialValue": { + "arguments": [ + { + "id": 2723, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "1688:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2724, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "1697:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2722, + "name": "_buildLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "1677:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1677:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1662:43:9" + }, + { + "condition": { + "id": 2733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1720:47:9", + "subExpression": { + "arguments": [ + { + "id": 2729, + "name": "proof_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "1748:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 2730, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2615, + "src": "1756:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2731, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2721, + "src": "1762:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2727, + "name": "MerkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "1721:11:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MerkleProof_$1290_$", + "typeString": "type(library MerkleProof)" + } + }, + "id": 2728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1733:14:9", + "memberName": "verifyCalldata", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "1721:26:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32[] calldata,bytes32,bytes32) pure returns (bool)" + } + }, + "id": 2732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1721:46:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2737, + "nodeType": "IfStatement", + "src": "1716:74:9", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2734, + "name": "InvalidProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2617, + "src": "1776:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1776:14:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2736, + "nodeType": "RevertStatement", + "src": "1769:21:9" + } + }, + { + "condition": { + "baseExpression": { + "id": 2738, + "name": "claimedLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "1804:11:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 2740, + "indexExpression": { + "id": 2739, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2721, + "src": "1816:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1804:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2744, + "nodeType": "IfStatement", + "src": "1800:40:9", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2741, + "name": "UsedLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2619, + "src": "1830:8:9", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1830:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2743, + "nodeType": "RevertStatement", + "src": "1823:17:9" + } + }, + { + "expression": { + "id": 2749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2745, + "name": "claimedLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "1850:11:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 2747, + "indexExpression": { + "id": 2746, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2721, + "src": "1862:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1850:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1870:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1850:24:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2750, + "nodeType": "ExpressionStatement", + "src": "1850:24:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1892:13:9", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2752, + "name": "hasExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "1893:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1893:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "id": 2755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1907:26:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + }, + "value": "Airdrop already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + } + ], + "id": 2751, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1884:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1884:50:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2757, + "nodeType": "ExpressionStatement", + "src": "1884:50:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1952:24:9", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2759, + "name": "hasBeenTotallyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2849, + "src": "1953:21:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1953:23:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d656420616c72656164792e", + "id": 2762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1978:43:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + }, + "value": "Airdrop has been totally claimed already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + } + ], + "id": 2758, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1944:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1944:78:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2764, + "nodeType": "ExpressionStatement", + "src": "1944:78:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2770, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2073:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2065:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2065:7:9", + "typeDescriptions": {} + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2065:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2772, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "2080:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2773, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2608, + "src": "2089:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2774, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "2099:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 2775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2108:2:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 2765, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2598, + "src": "2033:14:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2048:16:9", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 3414, + "src": "2033:31:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2033:78:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2777, + "nodeType": "ExpressionStatement", + "src": "2033:78:9" + }, + { + "expression": { + "id": 2780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2778, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "2121:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 2779, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "2143:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2121:29:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2781, + "nodeType": "ExpressionStatement", + "src": "2121:29:9" + }, + { + "expression": { + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2782, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "2160:28:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2784, + "indexExpression": { + "id": 2783, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "2189:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2160:37:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2200:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2160:44:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2787, + "nodeType": "ExpressionStatement", + "src": "2160:44:9" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2789, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "2226:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2790, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "2235:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2788, + "name": "Claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2595, + "src": "2220:5:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2220:23:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2792, + "nodeType": "EmitStatement", + "src": "2215:28:9" + } + ] + }, + "id": 2794, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_claim", + "nameLocation": "1575:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "mutability": "mutable", + "name": "origin_", + "nameLocation": "1590:7:9", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "1582:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1582:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2714, + "mutability": "mutable", + "name": "amount_", + "nameLocation": "1607:7:9", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "1599:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1599:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2717, + "mutability": "mutable", + "name": "proof_", + "nameLocation": "1635:6:9", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "1616:25:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1616:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2716, + "nodeType": "ArrayTypeName", + "src": "1616:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1581:61:9" + }, + "returnParameters": { + "id": 2719, + "nodeType": "ParameterList", + "parameters": [], + "src": "1652:0:9" + }, + "scope": 2943, + "src": "1566:684:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2817, + "nodeType": "Block", + "src": "2342:88:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2810, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2796, + "src": "2403:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2811, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "2412:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2808, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2392:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2396:6:9", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2392:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2392:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2807, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2382:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2382:39:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2369:5:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2804, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2369:5:9", + "typeDescriptions": {} + } + }, + "id": 2806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2375:6:9", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "2369:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2369:53:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2803, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2359:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2359:64:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2802, + "id": 2816, + "nodeType": "Return", + "src": "2352:71:9" + } + ] + }, + "id": 2818, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_buildLeaf", + "nameLocation": "2265:10:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2796, + "mutability": "mutable", + "name": "origin_", + "nameLocation": "2284:7:9", + "nodeType": "VariableDeclaration", + "scope": 2818, + "src": "2276:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2276:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2798, + "mutability": "mutable", + "name": "amount_", + "nameLocation": "2301:7:9", + "nodeType": "VariableDeclaration", + "scope": 2818, + "src": "2293:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2797, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2293:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2275:34:9" + }, + "returnParameters": { + "id": 2802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2801, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2818, + "src": "2333:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2333:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2332:9:9" + }, + "scope": 2943, + "src": "2256:174:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2838, + "nodeType": "Block", + "src": "2502:143:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2825, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2610, + "src": "2531:12:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "arguments": [ + { + "id": 2828, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2553:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 2827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2545:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2545:7:9", + "typeDescriptions": {} + } + }, + "id": 2829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2545:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2830, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2600, + "src": "2560:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2831, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "2581:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 2832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2601:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 2833, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "2604:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2834, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2613, + "src": "2621:12:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + { + "hexValue": "", + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2635:2:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 2824, + "name": "AirdropInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3257, + "src": "2519:11:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AirdropInfo_$3257_storage_ptr_$", + "typeString": "type(struct AirdropInfo storage pointer)" + } + }, + "id": 2836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2519:119:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 2823, + "id": 2837, + "nodeType": "Return", + "src": "2512:126:9" + } + ] + }, + "functionSelector": "32f08873", + "id": 2839, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "2445:14:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2819, + "nodeType": "ParameterList", + "parameters": [], + "src": "2459:2:9" + }, + "returnParameters": { + "id": 2823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2822, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2839, + "src": "2482:18:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 2821, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2820, + "name": "AirdropInfo", + "nameLocations": [ + "2482:11:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3257, + "src": "2482:11:9" + }, + "referencedDeclaration": 3257, + "src": "2482:11:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "2481:20:9" + }, + "scope": 2943, + "src": "2436:209:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2848, + "nodeType": "Block", + "src": "2710:46:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2844, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "2727:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "31", + "id": 2845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2748:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2727:22:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2843, + "id": 2847, + "nodeType": "Return", + "src": "2720:29:9" + } + ] + }, + "functionSelector": "9592a2cd", + "id": 2849, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBeenTotallyClaimed", + "nameLocation": "2660:21:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2840, + "nodeType": "ParameterList", + "parameters": [], + "src": "2681:2:9" + }, + "returnParameters": { + "id": 2843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2842, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2849, + "src": "2704:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2841, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2704:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2703:6:9" + }, + "scope": 2943, + "src": "2651:105:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2860, + "nodeType": "Block", + "src": "2826:62:9", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2856, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "2843:28:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2858, + "indexExpression": { + "id": 2857, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2851, + "src": "2872:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2843:38:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2855, + "id": 2859, + "nodeType": "Return", + "src": "2836:45:9" + } + ] + }, + "functionSelector": "73b2e80e", + "id": 2861, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "2771:10:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2851, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2790:8:9", + "nodeType": "VariableDeclaration", + "scope": 2861, + "src": "2782:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2782:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2781:18:9" + }, + "returnParameters": { + "id": 2855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2854, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2861, + "src": "2820:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2853, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2820:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2819:6:9" + }, + "scope": 2943, + "src": "2762:126:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2871, + "nodeType": "Block", + "src": "2942:57:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2866, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "2959:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2867, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2977:5:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2983:9:9", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2977:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2959:33:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2865, + "id": 2870, + "nodeType": "Return", + "src": "2952:40:9" + } + ] + }, + "functionSelector": "90e64d13", + "id": 2872, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "2903:10:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2862, + "nodeType": "ParameterList", + "parameters": [], + "src": "2913:2:9" + }, + "returnParameters": { + "id": 2865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2864, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2872, + "src": "2936:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2863, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2936:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2935:6:9" + }, + "scope": 2943, + "src": "2894:105:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2879, + "nodeType": "Block", + "src": "3063:39:9", + "statements": [ + { + "expression": { + "id": 2877, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "3080:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2876, + "id": 2878, + "nodeType": "Return", + "src": "3073:22:9" + } + ] + }, + "functionSelector": "5edf7d8b", + "id": 2880, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "3014:17:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2873, + "nodeType": "ParameterList", + "parameters": [], + "src": "3031:2:9" + }, + "returnParameters": { + "id": 2876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2875, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "3054:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3054:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3053:9:9" + }, + "scope": 2943, + "src": "3005:97:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2887, + "nodeType": "Block", + "src": "3170:43:9", + "statements": [ + { + "expression": { + "id": 2885, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2600, + "src": "3187:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2884, + "id": 2886, + "nodeType": "Return", + "src": "3180:26:9" + } + ] + }, + "functionSelector": "43f367c8", + "id": 2888, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "3117:21:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2881, + "nodeType": "ParameterList", + "parameters": [], + "src": "3138:2:9" + }, + "returnParameters": { + "id": 2884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2883, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2888, + "src": "3161:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2882, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3161:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3160:9:9" + }, + "scope": 2943, + "src": "3108:105:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2895, + "nodeType": "Block", + "src": "3280:42:9", + "statements": [ + { + "expression": { + "id": 2893, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "3297:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2892, + "id": 2894, + "nodeType": "Return", + "src": "3290:25:9" + } + ] + }, + "functionSelector": "cd61a609", + "id": 2896, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "3228:20:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2889, + "nodeType": "ParameterList", + "parameters": [], + "src": "3248:2:9" + }, + "returnParameters": { + "id": 2892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2891, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2896, + "src": "3271:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3271:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3270:9:9" + }, + "scope": 2943, + "src": "3219:103:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2910, + "nodeType": "Block", + "src": "3379:73:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2905, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3429:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$2943", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 2904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3421:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2903, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3421:7:9", + "typeDescriptions": {} + } + }, + "id": 2906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3421:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2907, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2608, + "src": "3436:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2901, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2598, + "src": "3396:14:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$3429", + "typeString": "contract IERC1155" + } + }, + "id": 2902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3411:9:9", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 3423, + "src": "3396:24:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 2908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3396:49:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2900, + "id": 2909, + "nodeType": "Return", + "src": "3389:56:9" + } + ] + }, + "functionSelector": "12065fe0", + "id": 2911, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "3337:10:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2897, + "nodeType": "ParameterList", + "parameters": [], + "src": "3347:2:9" + }, + "returnParameters": { + "id": 2900, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2899, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2911, + "src": "3370:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2898, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3370:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3369:9:9" + }, + "scope": 2943, + "src": "3328:124:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2933, + "nodeType": "Block", + "src": "3594:101:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6f6e45524331313535526563656976656428616464726573732c616464726573732c75696e743235362c75696e743235362c627974657329", + "id": 2929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3628:58:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + }, + "value": "onERC1155Received(address,address,uint256,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + } + ], + "id": 2928, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3618:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3618:69:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3611:6:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 2926, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3611:6:9", + "typeDescriptions": {} + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3611:77:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 2925, + "id": 2932, + "nodeType": "Return", + "src": "3604:84:9" + } + ] + }, + "functionSelector": "f23a6e61", + "id": 2934, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onERC1155Received", + "nameLocation": "3467:17:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2913, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3493:8:9", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "3485:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2912, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3485:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2915, + "mutability": "mutable", + "name": "from", + "nameLocation": "3511:4:9", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "3503:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2914, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3503:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2917, + "mutability": "mutable", + "name": "id", + "nameLocation": "3525:2:9", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "3517:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2916, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3517:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2919, + "mutability": "mutable", + "name": "value", + "nameLocation": "3537:5:9", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "3529:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2918, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3529:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2921, + "mutability": "mutable", + "name": "data", + "nameLocation": "3557:4:9", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "3544:17:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2920, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3544:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3484:78:9" + }, + "returnParameters": { + "id": 2925, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2924, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "3586:6:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2923, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3586:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "3585:8:9" + }, + "scope": 2943, + "src": "3458:237:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2941, + "nodeType": "Block", + "src": "3755:71:9", + "statements": [ + { + "expression": { + "hexValue": "6e6f7420696d706c656d656e746564", + "id": 2939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3802:17:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9", + "typeString": "literal_string \"not implemented\"" + }, + "value": "not implemented" + }, + "functionReturnParameters": 2938, + "id": 2940, + "nodeType": "Return", + "src": "3795:24:9" + } + ] + }, + "functionSelector": "4e16fc8b", + "id": 2942, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "3710:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2935, + "nodeType": "ParameterList", + "parameters": [], + "src": "3716:2:9" + }, + "returnParameters": { + "id": 2938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2937, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "3740:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2936, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3740:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3739:15:9" + }, + "scope": 2943, + "src": "3701:125:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2944, + "src": "225:3603:9", + "usedErrors": [ + 13, + 18, + 2617, + 2619 + ], + "usedEvents": [ + 24, + 2595 + ] + } + ], + "src": "32:3796:9" + }, + "id": 9 + }, + "contracts/OpenAirdropERC20.sol": { + "ast": { + "absolutePath": "contracts/OpenAirdropERC20.sol", + "exportedSymbols": { + "AirdropInfo": [ + 3257 + ], + "AirdropType": [ + 3239 + ], + "Context": [ + 177 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ], + "OpenAirdropERC20": [ + 3233 + ], + "Ownable": [ + 147 + ] + }, + "id": 3234, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2945, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:10" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2946, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3234, + "sourceUnit": 148, + "src": "58:52:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Types.sol", + "file": "./Types.sol", + "id": 2947, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3234, + "sourceUnit": 3430, + "src": "111:21:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2948, + "name": "Ownable", + "nameLocations": [ + "163:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "163:7:10" + }, + "id": 2949, + "nodeType": "InheritanceSpecifier", + "src": "163:7:10" + } + ], + "canonicalName": "OpenAirdropERC20", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3233, + "linearizedBaseContracts": [ + 3233, + 147, + 177 + ], + "name": "OpenAirdropERC20", + "nameLocation": "143:16:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4", + "id": 2955, + "name": "Claim", + "nameLocation": "183:5:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2951, + "indexed": false, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "197:9:10", + "nodeType": "VariableDeclaration", + "scope": 2955, + "src": "189:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2950, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "189:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2953, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "216:6:10", + "nodeType": "VariableDeclaration", + "scope": 2955, + "src": "208:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "208:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "188:35:10" + }, + "src": "177:47:10" + }, + { + "anonymous": false, + "eventSelector": "5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af77", + "id": 2959, + "name": "AddressAllowed", + "nameLocation": "235:14:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2957, + "indexed": false, + "mutability": "mutable", + "name": "allowedAddress", + "nameLocation": "258:14:10", + "nodeType": "VariableDeclaration", + "scope": 2959, + "src": "250:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "250:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "249:24:10" + }, + "src": "229:45:10" + }, + { + "anonymous": false, + "eventSelector": "5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d", + "id": 2963, + "name": "AddressDisallowed", + "nameLocation": "285:17:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2961, + "indexed": false, + "mutability": "mutable", + "name": "disallowedAddress", + "nameLocation": "311:17:10", + "nodeType": "VariableDeclaration", + "scope": 2963, + "src": "303:25:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "303:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "302:27:10" + }, + "src": "279:51:10" + }, + { + "constant": false, + "id": 2966, + "mutability": "mutable", + "name": "_tokenContract", + "nameLocation": "343:14:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "336:21:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + }, + "typeName": { + "id": 2965, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2964, + "name": "IERC20", + "nameLocations": [ + "336:6:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3401, + "src": "336:6:10" + }, + "referencedDeclaration": 3401, + "src": "336:6:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2968, + "mutability": "mutable", + "name": "_totalAirdropAmount", + "nameLocation": "371:19:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "363:27:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2967, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "363:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2970, + "mutability": "mutable", + "name": "_airdropAmountLeft", + "nameLocation": "404:18:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "396:26:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "396:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2972, + "mutability": "mutable", + "name": "_claimAmount", + "nameLocation": "436:12:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "428:20:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "428:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2974, + "mutability": "mutable", + "name": "_expirationDate", + "nameLocation": "462:15:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "454:23:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "454:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2976, + "mutability": "mutable", + "name": "_airdropName", + "nameLocation": "490:12:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "483:19:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 2975, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "483:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2979, + "mutability": "mutable", + "name": "_airdropType", + "nameLocation": "520:12:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "508:24:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 2978, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2977, + "name": "AirdropType", + "nameLocations": [ + "508:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3239, + "src": "508:11:10" + }, + "referencedDeclaration": 3239, + "src": "508:11:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2983, + "mutability": "mutable", + "name": "_allowedAddresses", + "nameLocation": "564:17:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "539:42:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2982, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2980, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "547:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "539:24:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "558:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2987, + "mutability": "mutable", + "name": "_addressesThatAlreadyClaimed", + "nameLocation": "612:28:10", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "587:53:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2986, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "595:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "587:24:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2985, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "606:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 3036, + "nodeType": "Block", + "src": "879:312:10", + "statements": [ + { + "expression": { + "id": 3009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3005, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2966, + "src": "889:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3007, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2993, + "src": "913:12:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3006, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "906:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$3401_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 3008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "906:20:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "src": "889:37:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "id": 3010, + "nodeType": "ExpressionStatement", + "src": "889:37:10" + }, + { + "expression": { + "id": 3013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3011, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "936:12:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3012, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2989, + "src": "951:11:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "936:26:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 3014, + "nodeType": "ExpressionStatement", + "src": "936:26:10" + }, + { + "expression": { + "id": 3017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3015, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2968, + "src": "972:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3016, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2995, + "src": "994:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "972:40:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3018, + "nodeType": "ExpressionStatement", + "src": "972:40:10" + }, + { + "expression": { + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3019, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "1022:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3020, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2995, + "src": "1043:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1022:39:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3022, + "nodeType": "ExpressionStatement", + "src": "1022:39:10" + }, + { + "expression": { + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3023, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "1071:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3024, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2997, + "src": "1086:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1071:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3026, + "nodeType": "ExpressionStatement", + "src": "1071:26:10" + }, + { + "expression": { + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3027, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "1107:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3028, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2999, + "src": "1125:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1107:32:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3030, + "nodeType": "ExpressionStatement", + "src": "1107:32:10" + }, + { + "expression": { + "id": 3034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3031, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2979, + "src": "1149:12:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 3032, + "name": "AirdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "1164:11:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AirdropType_$3239_$", + "typeString": "type(enum AirdropType)" + } + }, + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1176:8:10", + "memberName": "FUNGIBLE", + "nodeType": "MemberAccess", + "referencedDeclaration": 3238, + "src": "1164:20:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "src": "1149:35:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "id": 3035, + "nodeType": "ExpressionStatement", + "src": "1149:35:10" + } + ] + }, + "id": 3037, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3002, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2991, + "src": "865:12:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3003, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3001, + "name": "Ownable", + "nameLocations": [ + "857:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "857:7:10" + }, + "nodeType": "ModifierInvocation", + "src": "857:21:10" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2989, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "682:11:10", + "nodeType": "VariableDeclaration", + "scope": 3037, + "src": "668:25:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2988, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "668:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2991, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "711:12:10", + "nodeType": "VariableDeclaration", + "scope": 3037, + "src": "703:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2990, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "703:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2993, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "741:12:10", + "nodeType": "VariableDeclaration", + "scope": 3037, + "src": "733:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2995, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "771:18:10", + "nodeType": "VariableDeclaration", + "scope": 3037, + "src": "763:26:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "763:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2997, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "807:11:10", + "nodeType": "VariableDeclaration", + "scope": 3037, + "src": "799:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2996, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "799:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2999, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "836:14:10", + "nodeType": "VariableDeclaration", + "scope": 3037, + "src": "828:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2998, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "828:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "658:198:10" + }, + "returnParameters": { + "id": 3004, + "nodeType": "ParameterList", + "parameters": [], + "src": "879:0:10" + }, + "scope": 3233, + "src": "647:544:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3099, + "nodeType": "Block", + "src": "1285:512:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1303:13:10", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3050, + "name": "hasExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3186, + "src": "1304:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 3051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1304:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "id": 3053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1318:26:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + }, + "value": "Airdrop already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + } + ], + "id": 3049, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1295:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1295:50:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3055, + "nodeType": "ExpressionStatement", + "src": "1295:50:10" + }, + { + "expression": { + "arguments": [ + { + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1363:17:10", + "subExpression": { + "arguments": [ + { + "id": 3058, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3039, + "src": "1375:4:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3057, + "name": "hasClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3175, + "src": "1364:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1364:16:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d656420746869732061697264726f702e", + "id": 3061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1382:39:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + }, + "value": "Address already claimed this airdrop." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + } + ], + "id": 3056, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1355:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1355:67:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3063, + "nodeType": "ExpressionStatement", + "src": "1355:67:10" + }, + { + "expression": { + "arguments": [ + { + "id": 3067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1440:24:10", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3065, + "name": "hasBeenTotallyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3163, + "src": "1441:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 3066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1441:23:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d656420616c72656164792e", + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1466:43:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + }, + "value": "Airdrop has been totally claimed already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + } + ], + "id": 3064, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1432:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1432:78:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3070, + "nodeType": "ExpressionStatement", + "src": "1432:78:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3072, + "name": "hasBalanceToClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3153, + "src": "1528:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 3073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1528:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e7420746f6b656e2062616c616e63652e", + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1549:50:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + }, + "value": "Airdrop contract has insufficient token balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + } + ], + "id": 3071, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1520:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1520:80:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3076, + "nodeType": "ExpressionStatement", + "src": "1520:80:10" + }, + { + "expression": { + "arguments": [ + { + "id": 3080, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3039, + "src": "1635:4:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3081, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "1641:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3077, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2966, + "src": "1611:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "id": 3079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1626:8:10", + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3388, + "src": "1611:23:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 3082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1611:43:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3083, + "nodeType": "ExpressionStatement", + "src": "1611:43:10" + }, + { + "expression": { + "id": 3086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3084, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "1664:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 3085, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "1686:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1664:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3087, + "nodeType": "ExpressionStatement", + "src": "1664:34:10" + }, + { + "expression": { + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3088, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "1708:28:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3090, + "indexExpression": { + "id": 3089, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3039, + "src": "1737:4:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1708:34:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1745:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1708:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3093, + "nodeType": "ExpressionStatement", + "src": "1708:41:10" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3095, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3039, + "src": "1771:4:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3096, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "1777:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3094, + "name": "Claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2955, + "src": "1765:5:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1765:25:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3098, + "nodeType": "EmitStatement", + "src": "1760:30:10" + } + ] + }, + "functionSelector": "3d13f874", + "id": 3100, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3047, + "kind": "modifierInvocation", + "modifierName": { + "id": 3046, + "name": "onlyOwner", + "nameLocations": [ + "1275:9:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1275:9:10" + }, + "nodeType": "ModifierInvocation", + "src": "1275:9:10" + } + ], + "name": "claim", + "nameLocation": "1206:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3039, + "mutability": "mutable", + "name": "user", + "nameLocation": "1220:4:10", + "nodeType": "VariableDeclaration", + "scope": 3100, + "src": "1212:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3038, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1212:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3041, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1234:6:10", + "nodeType": "VariableDeclaration", + "scope": 3100, + "src": "1226:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3040, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1226:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3044, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1261:5:10", + "nodeType": "VariableDeclaration", + "scope": 3100, + "src": "1242:24:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3042, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1242:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3043, + "nodeType": "ArrayTypeName", + "src": "1242:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1211:56:10" + }, + "returnParameters": { + "id": 3048, + "nodeType": "ParameterList", + "parameters": [], + "src": "1285:0:10" + }, + "scope": 3233, + "src": "1197:600:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3109, + "nodeType": "Block", + "src": "1866:28:10", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 3107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1883:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3106, + "id": 3108, + "nodeType": "Return", + "src": "1876:11:10" + } + ] + }, + "functionSelector": "babcc539", + "id": 3110, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "1816:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3102, + "mutability": "mutable", + "name": "user", + "nameLocation": "1834:4:10", + "nodeType": "VariableDeclaration", + "scope": 3110, + "src": "1826:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1826:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1825:14:10" + }, + "returnParameters": { + "id": 3106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3105, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3110, + "src": "1860:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3104, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1860:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1859:6:10" + }, + "scope": 3233, + "src": "1807:87:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3136, + "nodeType": "Block", + "src": "1966:319:10", + "statements": [ + { + "assignments": [ + 3117 + ], + "declarations": [ + { + "constant": false, + "id": 3117, + "mutability": "mutable", + "name": "uri", + "nameLocation": "1990:3:10", + "nodeType": "VariableDeclaration", + "scope": 3136, + "src": "1976:17:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3116, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1976:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3121, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3118, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2966, + "src": "1996:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2011:6:10", + "memberName": "getUri", + "nodeType": "MemberAccess", + "referencedDeclaration": 3400, + "src": "1996:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view external returns (string memory)" + } + }, + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1996:23:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1976:43:10" + }, + { + "expression": { + "arguments": [ + { + "id": 3123, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "2061:12:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "arguments": [ + { + "id": 3126, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2096:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 3125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2088:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3124, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2088:7:10", + "typeDescriptions": {} + } + }, + "id": 3127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2088:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3128, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2968, + "src": "2115:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3129, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "2149:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3130, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "2182:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3131, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "2209:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3132, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2979, + "src": "2239:12:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + { + "id": 3133, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3117, + "src": "2265:3:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3122, + "name": "AirdropInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3257, + "src": "2036:11:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AirdropInfo_$3257_storage_ptr_$", + "typeString": "type(struct AirdropInfo storage pointer)" + } + }, + "id": 3134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2036:242:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 3115, + "id": 3135, + "nodeType": "Return", + "src": "2029:249:10" + } + ] + }, + "functionSelector": "32f08873", + "id": 3137, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "1909:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3111, + "nodeType": "ParameterList", + "parameters": [], + "src": "1923:2:10" + }, + "returnParameters": { + "id": 3115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3114, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3137, + "src": "1946:18:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 3113, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3112, + "name": "AirdropInfo", + "nameLocations": [ + "1946:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3257, + "src": "1946:11:10" + }, + "referencedDeclaration": 3257, + "src": "1946:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "1945:20:10" + }, + "scope": 3233, + "src": "1900:385:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3152, + "nodeType": "Block", + "src": "2346:79:10", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 3146, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2396:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2388:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2388:7:10", + "typeDescriptions": {} + } + }, + "id": 3147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2388:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3142, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2966, + "src": "2363:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "id": 3143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2378:9:10", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 3395, + "src": "2363:24:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2363:39:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 3149, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "2406:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2363:55:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3141, + "id": 3151, + "nodeType": "Return", + "src": "2356:62:10" + } + ] + }, + "functionSelector": "01cb54c0", + "id": 3153, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBalanceToClaim", + "nameLocation": "2300:17:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3138, + "nodeType": "ParameterList", + "parameters": [], + "src": "2317:2:10" + }, + "returnParameters": { + "id": 3141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3140, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3153, + "src": "2340:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3139, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2340:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2339:6:10" + }, + "scope": 3233, + "src": "2291:134:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3162, + "nodeType": "Block", + "src": "2490:57:10", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3158, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "2507:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3159, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "2528:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2507:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3157, + "id": 3161, + "nodeType": "Return", + "src": "2500:40:10" + } + ] + }, + "functionSelector": "9592a2cd", + "id": 3163, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBeenTotallyClaimed", + "nameLocation": "2440:21:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3154, + "nodeType": "ParameterList", + "parameters": [], + "src": "2461:2:10" + }, + "returnParameters": { + "id": 3157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3156, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3163, + "src": "2484:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3155, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2484:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2483:6:10" + }, + "scope": 3233, + "src": "2431:116:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3174, + "nodeType": "Block", + "src": "2617:62:10", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 3170, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "2634:28:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3172, + "indexExpression": { + "id": 3171, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3165, + "src": "2663:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2634:38:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3169, + "id": 3173, + "nodeType": "Return", + "src": "2627:45:10" + } + ] + }, + "functionSelector": "73b2e80e", + "id": 3175, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "2562:10:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3165, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2581:8:10", + "nodeType": "VariableDeclaration", + "scope": 3175, + "src": "2573:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2573:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2572:18:10" + }, + "returnParameters": { + "id": 3169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3168, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3175, + "src": "2611:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3167, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2611:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2610:6:10" + }, + "scope": 3233, + "src": "2553:126:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3185, + "nodeType": "Block", + "src": "2733:57:10", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3180, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "2750:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3181, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2768:5:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 3182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2774:9:10", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2768:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2750:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3179, + "id": 3184, + "nodeType": "Return", + "src": "2743:40:10" + } + ] + }, + "functionSelector": "90e64d13", + "id": 3186, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "2694:10:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3176, + "nodeType": "ParameterList", + "parameters": [], + "src": "2704:2:10" + }, + "returnParameters": { + "id": 3179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3178, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3186, + "src": "2727:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3177, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2727:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2726:6:10" + }, + "scope": 3233, + "src": "2685:105:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3193, + "nodeType": "Block", + "src": "2854:39:10", + "statements": [ + { + "expression": { + "id": 3191, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "2871:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3190, + "id": 3192, + "nodeType": "Return", + "src": "2864:22:10" + } + ] + }, + "functionSelector": "5edf7d8b", + "id": 3194, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "2805:17:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3187, + "nodeType": "ParameterList", + "parameters": [], + "src": "2822:2:10" + }, + "returnParameters": { + "id": 3190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3189, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3194, + "src": "2845:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2845:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2844:9:10" + }, + "scope": 3233, + "src": "2796:97:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3201, + "nodeType": "Block", + "src": "2954:36:10", + "statements": [ + { + "expression": { + "id": 3199, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "2971:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3198, + "id": 3200, + "nodeType": "Return", + "src": "2964:19:10" + } + ] + }, + "functionSelector": "71127ed2", + "id": 3202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "2908:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3195, + "nodeType": "ParameterList", + "parameters": [], + "src": "2922:2:10" + }, + "returnParameters": { + "id": 3198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3197, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3202, + "src": "2945:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2945:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2944:9:10" + }, + "scope": 3233, + "src": "2899:91:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3209, + "nodeType": "Block", + "src": "3058:43:10", + "statements": [ + { + "expression": { + "id": 3207, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2968, + "src": "3075:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3206, + "id": 3208, + "nodeType": "Return", + "src": "3068:26:10" + } + ] + }, + "functionSelector": "43f367c8", + "id": 3210, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "3005:21:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3203, + "nodeType": "ParameterList", + "parameters": [], + "src": "3026:2:10" + }, + "returnParameters": { + "id": 3206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3205, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3210, + "src": "3049:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3049:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3048:9:10" + }, + "scope": 3233, + "src": "2996:105:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3217, + "nodeType": "Block", + "src": "3168:42:10", + "statements": [ + { + "expression": { + "id": 3215, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "3185:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3214, + "id": 3216, + "nodeType": "Return", + "src": "3178:25:10" + } + ] + }, + "functionSelector": "cd61a609", + "id": 3218, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "3116:20:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3211, + "nodeType": "ParameterList", + "parameters": [], + "src": "3136:2:10" + }, + "returnParameters": { + "id": 3214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3213, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3218, + "src": "3159:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3159:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3158:9:10" + }, + "scope": 3233, + "src": "3107:103:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3231, + "nodeType": "Block", + "src": "3267:63:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3227, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3317:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$3233", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 3226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3309:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3225, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3309:7:10", + "typeDescriptions": {} + } + }, + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3309:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3223, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2966, + "src": "3284:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$3401", + "typeString": "contract IERC20" + } + }, + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:9:10", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 3395, + "src": "3284:24:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3284:39:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3222, + "id": 3230, + "nodeType": "Return", + "src": "3277:46:10" + } + ] + }, + "functionSelector": "12065fe0", + "id": 3232, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "3225:10:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3219, + "nodeType": "ParameterList", + "parameters": [], + "src": "3235:2:10" + }, + "returnParameters": { + "id": 3222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3221, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3232, + "src": "3258:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3258:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3257:9:10" + }, + "scope": 3233, + "src": "3216:114:10", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3234, + "src": "134:3198:10", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24, + 2955, + 2959, + 2963 + ] + } + ], + "src": "32:3300:10" + }, + "id": 10 + }, + "contracts/Types.sol": { + "ast": { + "absolutePath": "contracts/Types.sol", + "exportedSymbols": { + "AirdropInfo": [ + 3257 + ], + "AirdropType": [ + 3239 + ], + "IAirdrop": [ + 3345 + ], + "IDeployer1155": [ + 3381 + ], + "IDeployerERC20": [ + 3361 + ], + "IERC1155": [ + 3429 + ], + "IERC20": [ + 3401 + ] + }, + "id": 3430, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3235, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:11" + }, + { + "canonicalName": "AirdropType", + "id": 3239, + "members": [ + { + "id": 3236, + "name": "CUSTOM", + "nameLocation": "81:6:11", + "nodeType": "EnumValue", + "src": "81:6:11" + }, + { + "id": 3237, + "name": "MERKLE", + "nameLocation": "93:6:11", + "nodeType": "EnumValue", + "src": "93:6:11" + }, + { + "id": 3238, + "name": "FUNGIBLE", + "nameLocation": "105:8:11", + "nodeType": "EnumValue", + "src": "105:8:11" + } + ], + "name": "AirdropType", + "nameLocation": "63:11:11", + "nodeType": "EnumDefinition", + "src": "58:57:11" + }, + { + "canonicalName": "AirdropInfo", + "id": 3257, + "members": [ + { + "constant": false, + "id": 3241, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "149:11:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "142:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3240, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "142:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3243, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "174:14:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "166:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3245, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "202:18:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "194:26:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "194:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3247, + "mutability": "mutable", + "name": "airdropAmountLeft", + "nameLocation": "234:17:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "226:25:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "226:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3249, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "265:11:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "257:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3248, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "257:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3251, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "290:14:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "282:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3250, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "282:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3254, + "mutability": "mutable", + "name": "airdropType", + "nameLocation": "322:11:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "310:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 3253, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3252, + "name": "AirdropType", + "nameLocations": [ + "310:11:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3239, + "src": "310:11:11" + }, + "referencedDeclaration": 3239, + "src": "310:11:11", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$3239", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3256, + "mutability": "mutable", + "name": "uri", + "nameLocation": "346:3:11", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "339:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3255, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "339:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "AirdropInfo", + "nameLocation": "124:11:11", + "nodeType": "StructDefinition", + "scope": 3430, + "src": "117:235:11", + "visibility": "public" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAirdrop", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3345, + "linearizedBaseContracts": [ + 3345 + ], + "name": "IAirdrop", + "nameLocation": "364:8:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "3d13f874", + "id": 3267, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claim", + "nameLocation": "388:5:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3259, + "mutability": "mutable", + "name": "user", + "nameLocation": "402:4:11", + "nodeType": "VariableDeclaration", + "scope": 3267, + "src": "394:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "394:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3261, + "mutability": "mutable", + "name": "amount_", + "nameLocation": "416:7:11", + "nodeType": "VariableDeclaration", + "scope": 3267, + "src": "408:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3260, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "408:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3264, + "mutability": "mutable", + "name": "proof_", + "nameLocation": "444:6:11", + "nodeType": "VariableDeclaration", + "scope": 3267, + "src": "425:25:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3262, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "425:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3263, + "nodeType": "ArrayTypeName", + "src": "425:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "393:58:11" + }, + "returnParameters": { + "id": 3266, + "nodeType": "ParameterList", + "parameters": [], + "src": "460:0:11" + }, + "scope": 3345, + "src": "379:82:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "73b2e80e", + "id": 3274, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "475:10:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3269, + "mutability": "mutable", + "name": "_address", + "nameLocation": "494:8:11", + "nodeType": "VariableDeclaration", + "scope": 3274, + "src": "486:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3268, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "486:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "485:18:11" + }, + "returnParameters": { + "id": 3273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3272, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3274, + "src": "526:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3271, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "526:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "525:6:11" + }, + "scope": 3345, + "src": "466:66:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "90e64d13", + "id": 3279, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "546:10:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3275, + "nodeType": "ParameterList", + "parameters": [], + "src": "556:2:11" + }, + "returnParameters": { + "id": 3278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3277, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3279, + "src": "581:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3276, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "581:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "580:6:11" + }, + "scope": 3345, + "src": "537:50:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "08af4d88", + "id": 3284, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowAddress", + "nameLocation": "601:12:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3281, + "mutability": "mutable", + "name": "_address", + "nameLocation": "622:8:11", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "614:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "614:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "613:18:11" + }, + "returnParameters": { + "id": 3283, + "nodeType": "ParameterList", + "parameters": [], + "src": "640:0:11" + }, + "scope": 3345, + "src": "592:49:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "3863b1f5", + "id": 3290, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowAddresses", + "nameLocation": "655:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3287, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "687:9:11", + "nodeType": "VariableDeclaration", + "scope": 3290, + "src": "670:26:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "670:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3286, + "nodeType": "ArrayTypeName", + "src": "670:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "669:28:11" + }, + "returnParameters": { + "id": 3289, + "nodeType": "ParameterList", + "parameters": [], + "src": "706:0:11" + }, + "scope": 3345, + "src": "646:61:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a9f7d0b2", + "id": 3296, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "disallowAddresses", + "nameLocation": "721:17:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3293, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "756:9:11", + "nodeType": "VariableDeclaration", + "scope": 3296, + "src": "739:26:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "739:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3292, + "nodeType": "ArrayTypeName", + "src": "739:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "738:28:11" + }, + "returnParameters": { + "id": 3295, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:0:11" + }, + "scope": 3345, + "src": "712:64:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "b7c58d7a", + "id": 3301, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "disallowAddress", + "nameLocation": "790:15:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3298, + "mutability": "mutable", + "name": "_address", + "nameLocation": "814:8:11", + "nodeType": "VariableDeclaration", + "scope": 3301, + "src": "806:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "806:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "805:18:11" + }, + "returnParameters": { + "id": 3300, + "nodeType": "ParameterList", + "parameters": [], + "src": "832:0:11" + }, + "scope": 3345, + "src": "781:52:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "babcc539", + "id": 3308, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "847:9:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3303, + "mutability": "mutable", + "name": "_address", + "nameLocation": "865:8:11", + "nodeType": "VariableDeclaration", + "scope": 3308, + "src": "857:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "857:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "856:18:11" + }, + "returnParameters": { + "id": 3307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3306, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3308, + "src": "897:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3305, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "897:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "896:6:11" + }, + "scope": 3345, + "src": "838:65:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5edf7d8b", + "id": 3313, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "917:17:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3309, + "nodeType": "ParameterList", + "parameters": [], + "src": "934:2:11" + }, + "returnParameters": { + "id": 3312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3311, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3313, + "src": "959:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "959:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "958:9:11" + }, + "scope": 3345, + "src": "908:60:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "71127ed2", + "id": 3318, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "982:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3314, + "nodeType": "ParameterList", + "parameters": [], + "src": "996:2:11" + }, + "returnParameters": { + "id": 3317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3316, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "1021:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1021:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1020:9:11" + }, + "scope": 3345, + "src": "973:57:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "43f367c8", + "id": 3323, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "1044:21:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3319, + "nodeType": "ParameterList", + "parameters": [], + "src": "1065:2:11" + }, + "returnParameters": { + "id": 3322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3321, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3323, + "src": "1090:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1090:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1089:9:11" + }, + "scope": 3345, + "src": "1035:64:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "cd61a609", + "id": 3328, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "1113:20:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3324, + "nodeType": "ParameterList", + "parameters": [], + "src": "1133:2:11" + }, + "returnParameters": { + "id": 3327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3326, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "1158:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1158:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1157:9:11" + }, + "scope": 3345, + "src": "1104:63:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "12065fe0", + "id": 3333, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "1181:10:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3329, + "nodeType": "ParameterList", + "parameters": [], + "src": "1191:2:11" + }, + "returnParameters": { + "id": 3332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3331, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3333, + "src": "1216:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1216:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1215:9:11" + }, + "scope": 3345, + "src": "1172:53:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "32f08873", + "id": 3339, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "1239:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3334, + "nodeType": "ParameterList", + "parameters": [], + "src": "1253:2:11" + }, + "returnParameters": { + "id": 3338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3337, + "mutability": "mutable", + "name": "info", + "nameLocation": "1297:4:11", + "nodeType": "VariableDeclaration", + "scope": 3339, + "src": "1278:23:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 3336, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3335, + "name": "AirdropInfo", + "nameLocations": [ + "1278:11:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3257, + "src": "1278:11:11" + }, + "referencedDeclaration": 3257, + "src": "1278:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$3257_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "1277:25:11" + }, + "scope": 3345, + "src": "1230:73:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "dab5f340", + "id": 3344, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRoot", + "nameLocation": "1317:7:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3341, + "mutability": "mutable", + "name": "_root", + "nameLocation": "1333:5:11", + "nodeType": "VariableDeclaration", + "scope": 3344, + "src": "1325:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1325:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1324:15:11" + }, + "returnParameters": { + "id": 3343, + "nodeType": "ParameterList", + "parameters": [], + "src": "1348:0:11" + }, + "scope": 3345, + "src": "1308:41:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3430, + "src": "354:997:11", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IDeployerERC20", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3361, + "linearizedBaseContracts": [ + 3361 + ], + "name": "IDeployerERC20", + "nameLocation": "1363:14:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "d171b519", + "id": 3360, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "1393:19:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3347, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "1436:11:11", + "nodeType": "VariableDeclaration", + "scope": 3360, + "src": "1422:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3346, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1422:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3349, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "1465:12:11", + "nodeType": "VariableDeclaration", + "scope": 3360, + "src": "1457:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1457:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3351, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "1495:18:11", + "nodeType": "VariableDeclaration", + "scope": 3360, + "src": "1487:26:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3350, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1487:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3353, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "1531:11:11", + "nodeType": "VariableDeclaration", + "scope": 3360, + "src": "1523:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1523:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3355, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "1560:14:11", + "nodeType": "VariableDeclaration", + "scope": 3360, + "src": "1552:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1552:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1412:168:11" + }, + "returnParameters": { + "id": 3359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3358, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3360, + "src": "1598:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1598:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1597:9:11" + }, + "scope": 3361, + "src": "1384:223:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3430, + "src": "1353:256:11", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IDeployer1155", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3381, + "linearizedBaseContracts": [ + 3381 + ], + "name": "IDeployer1155", + "nameLocation": "1621:13:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "0920be42", + "id": 3380, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "1650:19:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3363, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "1693:11:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1679:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3362, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1679:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3365, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "1722:12:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1714:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3364, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1714:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3367, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1752:7:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1744:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1744:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3369, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "1777:18:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1769:26:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1769:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3371, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "1813:11:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1805:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1805:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3373, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "1842:14:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1834:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1834:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3375, + "mutability": "mutable", + "name": "mode", + "nameLocation": "1874:4:11", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1866:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3374, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1866:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1669:215:11" + }, + "returnParameters": { + "id": 3379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3378, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3380, + "src": "1902:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1902:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1901:9:11" + }, + "scope": 3381, + "src": "1641:270:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3430, + "src": "1611:302:11", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3401, + "linearizedBaseContracts": [ + 3401 + ], + "name": "IERC20", + "nameLocation": "1925:6:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "a9059cbb", + "id": 3388, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1947:8:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3383, + "mutability": "mutable", + "name": "to", + "nameLocation": "1964:2:11", + "nodeType": "VariableDeclaration", + "scope": 3388, + "src": "1956:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1956:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3385, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1976:6:11", + "nodeType": "VariableDeclaration", + "scope": 3388, + "src": "1968:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3384, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1968:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1955:28:11" + }, + "returnParameters": { + "id": 3387, + "nodeType": "ParameterList", + "parameters": [], + "src": "1992:0:11" + }, + "scope": 3401, + "src": "1938:55:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "70a08231", + "id": 3395, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2007:9:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3390, + "mutability": "mutable", + "name": "account", + "nameLocation": "2025:7:11", + "nodeType": "VariableDeclaration", + "scope": 3395, + "src": "2017:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3389, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2017:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2016:17:11" + }, + "returnParameters": { + "id": 3394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3393, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3395, + "src": "2057:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2057:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2056:9:11" + }, + "scope": 3401, + "src": "1998:68:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4e16fc8b", + "id": 3400, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "2080:6:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3396, + "nodeType": "ParameterList", + "parameters": [], + "src": "2086:2:11" + }, + "returnParameters": { + "id": 3399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3398, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3400, + "src": "2112:13:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3397, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2112:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2111:15:11" + }, + "scope": 3401, + "src": "2071:56:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3430, + "src": "1915:214:11", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1155", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3429, + "linearizedBaseContracts": [ + 3429 + ], + "name": "IERC1155", + "nameLocation": "2141:8:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "f242432a", + "id": 3414, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "2165:16:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3403, + "mutability": "mutable", + "name": "from", + "nameLocation": "2190:4:11", + "nodeType": "VariableDeclaration", + "scope": 3414, + "src": "2182:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2182:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3405, + "mutability": "mutable", + "name": "to", + "nameLocation": "2204:2:11", + "nodeType": "VariableDeclaration", + "scope": 3414, + "src": "2196:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2196:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "id", + "nameLocation": "2216:2:11", + "nodeType": "VariableDeclaration", + "scope": 3414, + "src": "2208:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2208:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3409, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2228:6:11", + "nodeType": "VariableDeclaration", + "scope": 3414, + "src": "2220:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2220:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3411, + "mutability": "mutable", + "name": "data", + "nameLocation": "2249:4:11", + "nodeType": "VariableDeclaration", + "scope": 3414, + "src": "2236:17:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3410, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2236:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2181:73:11" + }, + "returnParameters": { + "id": 3413, + "nodeType": "ParameterList", + "parameters": [], + "src": "2263:0:11" + }, + "scope": 3429, + "src": "2156:108:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "00fdd58e", + "id": 3423, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2278:9:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3416, + "mutability": "mutable", + "name": "account", + "nameLocation": "2296:7:11", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "2288:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3415, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2288:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3418, + "mutability": "mutable", + "name": "id", + "nameLocation": "2313:2:11", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "2305:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2305:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2287:29:11" + }, + "returnParameters": { + "id": 3422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3421, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "2340:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2340:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2339:9:11" + }, + "scope": 3429, + "src": "2269:80:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4e16fc8b", + "id": 3428, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "2363:6:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3424, + "nodeType": "ParameterList", + "parameters": [], + "src": "2369:2:11" + }, + "returnParameters": { + "id": 3427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3426, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3428, + "src": "2395:13:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3425, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2395:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2394:15:11" + }, + "scope": 3429, + "src": "2354:56:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3430, + "src": "2131:281:11", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:2380:11" + }, + "id": 11 + } + }, + "contracts": { + "@openzeppelin/contracts/access/Ownable.sol": { + "Ownable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/Hashes.sol": { + "Hashes": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220563d0f4d0f36fc2307470ba10127ff556206c7b6d7cc7f936146bcbc4240695a64736f6c63430008180033", + "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 JUMP RETURNDATASIZE 0xF 0x4D 0xF CALLDATASIZE 0xFC 0x23 SMOD SELFBALANCE SIGNEXTEND LOG1 ADD 0x27 SELFDESTRUCT SSTORE PUSH3 0x6C7B6 0xD7 0xCC PUSH32 0x936146BCBC4240695A64736F6C63430008180033000000000000000000000000 ", + "sourceMap": "221:813:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220563d0f4d0f36fc2307470ba10127ff556206c7b6d7cc7f936146bcbc4240695a64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMP RETURNDATASIZE 0xF 0x4D 0xF CALLDATASIZE 0xFC 0x23 SMOD SELFBALANCE SIGNEXTEND LOG1 ADD 0x27 SELFDESTRUCT SSTORE PUSH3 0x6C7B6 0xD7 0xCC PUSH32 0x936146BCBC4240695A64736F6C63430008180033000000000000000000000000 ", + "sourceMap": "221:813:2:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library of standard hash functions. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":\"Hashes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { + "MerkleProof": { + "abi": [ + { + "inputs": [], + "name": "MerkleProofInvalidMultiproof", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200fd4791050012ae280ced9990ca1dade2fe327aa5a5be0fb8ca61e541ad5308364736f6c63430008180033", + "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 0xF 0xD4 PUSH26 0x1050012AE280CED9990CA1DADE2FE327AA5A5BE0FB8CA61E541A 0xD5 ADDRESS DUP4 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "1353:22982:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200fd4791050012ae280ced9990ca1dade2fe327aa5a5be0fb8ca61e541ad5308364736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF 0xD4 PUSH26 0x1050012AE280CED9990CA1DADE2FE327AA5A5BE0FB8CA61E541A 0xD5 ADDRESS DUP4 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "1353:22982:3:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MerkleProofInvalidMultiproof\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"These functions deal with verification of Merkle Tree proofs. The tree and the proofs can be generated using our https://github.com/OpenZeppelin/merkle-tree[JavaScript library]. You will find a quickstart guide in the readme. WARNING: You should avoid using leaf values that are 64 bytes long prior to hashing, or use a hash function other than keccak256 for hashing leaves. This is because the concatenation of a sorted pair of internal nodes in the Merkle tree could be reinterpreted as a leaf value. OpenZeppelin's JavaScript library generates Merkle trees that are safe against this attack out of the box. IMPORTANT: Consider memory side-effects when using custom hashing functions that access memory in an unsafe way. NOTE: This library supports proof verification for merkle trees built using custom _commutative_ hashing functions (i.e. `H(a, b) == H(b, a)`). Proving leaf inclusion in trees built using non-commutative hashing functions requires additional logic that is not supported by this library.\",\"errors\":{\"MerkleProofInvalidMultiproof()\":[{\"details\":\"The multiproof provided is not valid.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":\"MerkleProof\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]}},\"version\":1}" + } + }, + "contracts/Administrable.sol": { + "Administrable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "initialAdmins", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAdmin", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "name": "removeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_1323": { + "entryPoint": null, + "id": 1323, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 503, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 482, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 608, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 654, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 333, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 195, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 360, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 441, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 409, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 284, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 727, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 237, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 215, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 404, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 210, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 205, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 220, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 459, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:4030:12", + "nodeType": "YulBlock", + "src": "0:4030:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "505:54:12", + "nodeType": "YulBlock", + "src": "505:54:12", + "statements": [ + { + "nativeSrc": "515:38:12", + "nodeType": "YulAssignment", + "src": "515:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "533:5:12", + "nodeType": "YulIdentifier", + "src": "533:5:12" + }, + { + "kind": "number", + "nativeSrc": "540:2:12", + "nodeType": "YulLiteral", + "src": "540:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "529:3:12", + "nodeType": "YulIdentifier", + "src": "529:3:12" + }, + "nativeSrc": "529:14:12", + "nodeType": "YulFunctionCall", + "src": "529:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "549:2:12", + "nodeType": "YulLiteral", + "src": "549:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "545:3:12", + "nodeType": "YulIdentifier", + "src": "545:3:12" + }, + "nativeSrc": "545:7:12", + "nodeType": "YulFunctionCall", + "src": "545:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "525:3:12", + "nodeType": "YulIdentifier", + "src": "525:3:12" + }, + "nativeSrc": "525:28:12", + "nodeType": "YulFunctionCall", + "src": "525:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "515:6:12", + "nodeType": "YulIdentifier", + "src": "515:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "457:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "488:5:12", + "nodeType": "YulTypedName", + "src": "488:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "498:6:12", + "nodeType": "YulTypedName", + "src": "498:6:12", + "type": "" + } + ], + "src": "457:102:12" + }, + { + "body": { + "nativeSrc": "593:152:12", + "nodeType": "YulBlock", + "src": "593:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "610:1:12", + "nodeType": "YulLiteral", + "src": "610:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "613:77:12", + "nodeType": "YulLiteral", + "src": "613:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "603:6:12", + "nodeType": "YulIdentifier", + "src": "603:6:12" + }, + "nativeSrc": "603:88:12", + "nodeType": "YulFunctionCall", + "src": "603:88:12" + }, + "nativeSrc": "603:88:12", + "nodeType": "YulExpressionStatement", + "src": "603:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "707:1:12", + "nodeType": "YulLiteral", + "src": "707:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "710:4:12", + "nodeType": "YulLiteral", + "src": "710:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "700:6:12", + "nodeType": "YulIdentifier", + "src": "700:6:12" + }, + "nativeSrc": "700:15:12", + "nodeType": "YulFunctionCall", + "src": "700:15:12" + }, + "nativeSrc": "700:15:12", + "nodeType": "YulExpressionStatement", + "src": "700:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "731:1:12", + "nodeType": "YulLiteral", + "src": "731:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "734:4:12", + "nodeType": "YulLiteral", + "src": "734:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "724:6:12", + "nodeType": "YulIdentifier", + "src": "724:6:12" + }, + "nativeSrc": "724:15:12", + "nodeType": "YulFunctionCall", + "src": "724:15:12" + }, + "nativeSrc": "724:15:12", + "nodeType": "YulExpressionStatement", + "src": "724:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "565:180:12", + "nodeType": "YulFunctionDefinition", + "src": "565:180:12" + }, + { + "body": { + "nativeSrc": "794:238:12", + "nodeType": "YulBlock", + "src": "794:238:12", + "statements": [ + { + "nativeSrc": "804:58:12", + "nodeType": "YulVariableDeclaration", + "src": "804:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "826:6:12", + "nodeType": "YulIdentifier", + "src": "826:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "856:4:12", + "nodeType": "YulIdentifier", + "src": "856:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "834:21:12", + "nodeType": "YulIdentifier", + "src": "834:21:12" + }, + "nativeSrc": "834:27:12", + "nodeType": "YulFunctionCall", + "src": "834:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "822:3:12", + "nodeType": "YulIdentifier", + "src": "822:3:12" + }, + "nativeSrc": "822:40:12", + "nodeType": "YulFunctionCall", + "src": "822:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "808:10:12", + "nodeType": "YulTypedName", + "src": "808:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "973:22:12", + "nodeType": "YulBlock", + "src": "973:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "975:16:12", + "nodeType": "YulIdentifier", + "src": "975:16:12" + }, + "nativeSrc": "975:18:12", + "nodeType": "YulFunctionCall", + "src": "975:18:12" + }, + "nativeSrc": "975:18:12", + "nodeType": "YulExpressionStatement", + "src": "975:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "916:10:12", + "nodeType": "YulIdentifier", + "src": "916:10:12" + }, + { + "kind": "number", + "nativeSrc": "928:18:12", + "nodeType": "YulLiteral", + "src": "928:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "913:2:12", + "nodeType": "YulIdentifier", + "src": "913:2:12" + }, + "nativeSrc": "913:34:12", + "nodeType": "YulFunctionCall", + "src": "913:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "952:10:12", + "nodeType": "YulIdentifier", + "src": "952:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "964:6:12", + "nodeType": "YulIdentifier", + "src": "964:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "949:2:12", + "nodeType": "YulIdentifier", + "src": "949:2:12" + }, + "nativeSrc": "949:22:12", + "nodeType": "YulFunctionCall", + "src": "949:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "910:2:12", + "nodeType": "YulIdentifier", + "src": "910:2:12" + }, + "nativeSrc": "910:62:12", + "nodeType": "YulFunctionCall", + "src": "910:62:12" + }, + "nativeSrc": "907:88:12", + "nodeType": "YulIf", + "src": "907:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1011:2:12", + "nodeType": "YulLiteral", + "src": "1011:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1015:10:12", + "nodeType": "YulIdentifier", + "src": "1015:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1004:6:12", + "nodeType": "YulIdentifier", + "src": "1004:6:12" + }, + "nativeSrc": "1004:22:12", + "nodeType": "YulFunctionCall", + "src": "1004:22:12" + }, + "nativeSrc": "1004:22:12", + "nodeType": "YulExpressionStatement", + "src": "1004:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "751:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "780:6:12", + "nodeType": "YulTypedName", + "src": "780:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "788:4:12", + "nodeType": "YulTypedName", + "src": "788:4:12", + "type": "" + } + ], + "src": "751:281:12" + }, + { + "body": { + "nativeSrc": "1079:88:12", + "nodeType": "YulBlock", + "src": "1079:88:12", + "statements": [ + { + "nativeSrc": "1089:30:12", + "nodeType": "YulAssignment", + "src": "1089:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1099:18:12", + "nodeType": "YulIdentifier", + "src": "1099:18:12" + }, + "nativeSrc": "1099:20:12", + "nodeType": "YulFunctionCall", + "src": "1099:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1089:6:12", + "nodeType": "YulIdentifier", + "src": "1089:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1148:6:12", + "nodeType": "YulIdentifier", + "src": "1148:6:12" + }, + { + "name": "size", + "nativeSrc": "1156:4:12", + "nodeType": "YulIdentifier", + "src": "1156:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1128:19:12", + "nodeType": "YulIdentifier", + "src": "1128:19:12" + }, + "nativeSrc": "1128:33:12", + "nodeType": "YulFunctionCall", + "src": "1128:33:12" + }, + "nativeSrc": "1128:33:12", + "nodeType": "YulExpressionStatement", + "src": "1128:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1038:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1063:4:12", + "nodeType": "YulTypedName", + "src": "1063:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1072:6:12", + "nodeType": "YulTypedName", + "src": "1072:6:12", + "type": "" + } + ], + "src": "1038:129:12" + }, + { + "body": { + "nativeSrc": "1255:229:12", + "nodeType": "YulBlock", + "src": "1255:229:12", + "statements": [ + { + "body": { + "nativeSrc": "1360:22:12", + "nodeType": "YulBlock", + "src": "1360:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1362:16:12", + "nodeType": "YulIdentifier", + "src": "1362:16:12" + }, + "nativeSrc": "1362:18:12", + "nodeType": "YulFunctionCall", + "src": "1362:18:12" + }, + "nativeSrc": "1362:18:12", + "nodeType": "YulExpressionStatement", + "src": "1362:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1332:6:12", + "nodeType": "YulIdentifier", + "src": "1332:6:12" + }, + { + "kind": "number", + "nativeSrc": "1340:18:12", + "nodeType": "YulLiteral", + "src": "1340:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1329:2:12", + "nodeType": "YulIdentifier", + "src": "1329:2:12" + }, + "nativeSrc": "1329:30:12", + "nodeType": "YulFunctionCall", + "src": "1329:30:12" + }, + "nativeSrc": "1326:56:12", + "nodeType": "YulIf", + "src": "1326:56:12" + }, + { + "nativeSrc": "1392:25:12", + "nodeType": "YulAssignment", + "src": "1392:25:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1404:6:12", + "nodeType": "YulIdentifier", + "src": "1404:6:12" + }, + { + "kind": "number", + "nativeSrc": "1412:4:12", + "nodeType": "YulLiteral", + "src": "1412:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "1400:3:12", + "nodeType": "YulIdentifier", + "src": "1400:3:12" + }, + "nativeSrc": "1400:17:12", + "nodeType": "YulFunctionCall", + "src": "1400:17:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1392:4:12", + "nodeType": "YulIdentifier", + "src": "1392:4:12" + } + ] + }, + { + "nativeSrc": "1454:23:12", + "nodeType": "YulAssignment", + "src": "1454:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1466:4:12", + "nodeType": "YulIdentifier", + "src": "1466:4:12" + }, + { + "kind": "number", + "nativeSrc": "1472:4:12", + "nodeType": "YulLiteral", + "src": "1472:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1462:3:12", + "nodeType": "YulIdentifier", + "src": "1462:3:12" + }, + "nativeSrc": "1462:15:12", + "nodeType": "YulFunctionCall", + "src": "1462:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1454:4:12", + "nodeType": "YulIdentifier", + "src": "1454:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "1173:311:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1239:6:12", + "nodeType": "YulTypedName", + "src": "1239:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1250:4:12", + "nodeType": "YulTypedName", + "src": "1250:4:12", + "type": "" + } + ], + "src": "1173:311:12" + }, + { + "body": { + "nativeSrc": "1579:28:12", + "nodeType": "YulBlock", + "src": "1579:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1596:1:12", + "nodeType": "YulLiteral", + "src": "1596:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1599:1:12", + "nodeType": "YulLiteral", + "src": "1599:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1589:6:12", + "nodeType": "YulIdentifier", + "src": "1589:6:12" + }, + "nativeSrc": "1589:12:12", + "nodeType": "YulFunctionCall", + "src": "1589:12:12" + }, + "nativeSrc": "1589:12:12", + "nodeType": "YulExpressionStatement", + "src": "1589:12:12" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "1490:117:12", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:12" + }, + { + "body": { + "nativeSrc": "1658:81:12", + "nodeType": "YulBlock", + "src": "1658:81:12", + "statements": [ + { + "nativeSrc": "1668:65:12", + "nodeType": "YulAssignment", + "src": "1668:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1683:5:12", + "nodeType": "YulIdentifier", + "src": "1683:5:12" + }, + { + "kind": "number", + "nativeSrc": "1690:42:12", + "nodeType": "YulLiteral", + "src": "1690:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1679:3:12", + "nodeType": "YulIdentifier", + "src": "1679:3:12" + }, + "nativeSrc": "1679:54:12", + "nodeType": "YulFunctionCall", + "src": "1679:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1668:7:12", + "nodeType": "YulIdentifier", + "src": "1668:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1613:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1640:5:12", + "nodeType": "YulTypedName", + "src": "1640:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1650:7:12", + "nodeType": "YulTypedName", + "src": "1650:7:12", + "type": "" + } + ], + "src": "1613:126:12" + }, + { + "body": { + "nativeSrc": "1790:51:12", + "nodeType": "YulBlock", + "src": "1790:51:12", + "statements": [ + { + "nativeSrc": "1800:35:12", + "nodeType": "YulAssignment", + "src": "1800:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1829:5:12", + "nodeType": "YulIdentifier", + "src": "1829:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1811:17:12", + "nodeType": "YulIdentifier", + "src": "1811:17:12" + }, + "nativeSrc": "1811:24:12", + "nodeType": "YulFunctionCall", + "src": "1811:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1800:7:12", + "nodeType": "YulIdentifier", + "src": "1800:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1745:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1772:5:12", + "nodeType": "YulTypedName", + "src": "1772:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1782:7:12", + "nodeType": "YulTypedName", + "src": "1782:7:12", + "type": "" + } + ], + "src": "1745:96:12" + }, + { + "body": { + "nativeSrc": "1890:79:12", + "nodeType": "YulBlock", + "src": "1890:79:12", + "statements": [ + { + "body": { + "nativeSrc": "1947:16:12", + "nodeType": "YulBlock", + "src": "1947:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1956:1:12", + "nodeType": "YulLiteral", + "src": "1956:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1959:1:12", + "nodeType": "YulLiteral", + "src": "1959:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1949:6:12", + "nodeType": "YulIdentifier", + "src": "1949:6:12" + }, + "nativeSrc": "1949:12:12", + "nodeType": "YulFunctionCall", + "src": "1949:12:12" + }, + "nativeSrc": "1949:12:12", + "nodeType": "YulExpressionStatement", + "src": "1949:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1913:5:12", + "nodeType": "YulIdentifier", + "src": "1913:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1938:5:12", + "nodeType": "YulIdentifier", + "src": "1938:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1920:17:12", + "nodeType": "YulIdentifier", + "src": "1920:17:12" + }, + "nativeSrc": "1920:24:12", + "nodeType": "YulFunctionCall", + "src": "1920:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1910:2:12", + "nodeType": "YulIdentifier", + "src": "1910:2:12" + }, + "nativeSrc": "1910:35:12", + "nodeType": "YulFunctionCall", + "src": "1910:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1903:6:12", + "nodeType": "YulIdentifier", + "src": "1903:6:12" + }, + "nativeSrc": "1903:43:12", + "nodeType": "YulFunctionCall", + "src": "1903:43:12" + }, + "nativeSrc": "1900:63:12", + "nodeType": "YulIf", + "src": "1900:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "1847:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1883:5:12", + "nodeType": "YulTypedName", + "src": "1883:5:12", + "type": "" + } + ], + "src": "1847:122:12" + }, + { + "body": { + "nativeSrc": "2038:80:12", + "nodeType": "YulBlock", + "src": "2038:80:12", + "statements": [ + { + "nativeSrc": "2048:22:12", + "nodeType": "YulAssignment", + "src": "2048:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2063:6:12", + "nodeType": "YulIdentifier", + "src": "2063:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2057:5:12", + "nodeType": "YulIdentifier", + "src": "2057:5:12" + }, + "nativeSrc": "2057:13:12", + "nodeType": "YulFunctionCall", + "src": "2057:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2048:5:12", + "nodeType": "YulIdentifier", + "src": "2048:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2106:5:12", + "nodeType": "YulIdentifier", + "src": "2106:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "2079:26:12", + "nodeType": "YulIdentifier", + "src": "2079:26:12" + }, + "nativeSrc": "2079:33:12", + "nodeType": "YulFunctionCall", + "src": "2079:33:12" + }, + "nativeSrc": "2079:33:12", + "nodeType": "YulExpressionStatement", + "src": "2079:33:12" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "1975:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2016:6:12", + "nodeType": "YulTypedName", + "src": "2016:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2024:3:12", + "nodeType": "YulTypedName", + "src": "2024:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2032:5:12", + "nodeType": "YulTypedName", + "src": "2032:5:12", + "type": "" + } + ], + "src": "1975:143:12" + }, + { + "body": { + "nativeSrc": "2254:619:12", + "nodeType": "YulBlock", + "src": "2254:619:12", + "statements": [ + { + "nativeSrc": "2264:90:12", + "nodeType": "YulAssignment", + "src": "2264:90:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2346:6:12", + "nodeType": "YulIdentifier", + "src": "2346:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "2289:56:12", + "nodeType": "YulIdentifier", + "src": "2289:56:12" + }, + "nativeSrc": "2289:64:12", + "nodeType": "YulFunctionCall", + "src": "2289:64:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "2273:15:12", + "nodeType": "YulIdentifier", + "src": "2273:15:12" + }, + "nativeSrc": "2273:81:12", + "nodeType": "YulFunctionCall", + "src": "2273:81:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2264:5:12", + "nodeType": "YulIdentifier", + "src": "2264:5:12" + } + ] + }, + { + "nativeSrc": "2363:16:12", + "nodeType": "YulVariableDeclaration", + "src": "2363:16:12", + "value": { + "name": "array", + "nativeSrc": "2374:5:12", + "nodeType": "YulIdentifier", + "src": "2374:5:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2367:3:12", + "nodeType": "YulTypedName", + "src": "2367:3:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2396:5:12", + "nodeType": "YulIdentifier", + "src": "2396:5:12" + }, + { + "name": "length", + "nativeSrc": "2403:6:12", + "nodeType": "YulIdentifier", + "src": "2403:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2389:6:12", + "nodeType": "YulIdentifier", + "src": "2389:6:12" + }, + "nativeSrc": "2389:21:12", + "nodeType": "YulFunctionCall", + "src": "2389:21:12" + }, + "nativeSrc": "2389:21:12", + "nodeType": "YulExpressionStatement", + "src": "2389:21:12" + }, + { + "nativeSrc": "2419:23:12", + "nodeType": "YulAssignment", + "src": "2419:23:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2430:5:12", + "nodeType": "YulIdentifier", + "src": "2430:5:12" + }, + { + "kind": "number", + "nativeSrc": "2437:4:12", + "nodeType": "YulLiteral", + "src": "2437:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2426:3:12", + "nodeType": "YulIdentifier", + "src": "2426:3:12" + }, + "nativeSrc": "2426:16:12", + "nodeType": "YulFunctionCall", + "src": "2426:16:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2419:3:12", + "nodeType": "YulIdentifier", + "src": "2419:3:12" + } + ] + }, + { + "nativeSrc": "2452:44:12", + "nodeType": "YulVariableDeclaration", + "src": "2452:44:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2470:6:12", + "nodeType": "YulIdentifier", + "src": "2470:6:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2482:6:12", + "nodeType": "YulIdentifier", + "src": "2482:6:12" + }, + { + "kind": "number", + "nativeSrc": "2490:4:12", + "nodeType": "YulLiteral", + "src": "2490:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2478:3:12", + "nodeType": "YulIdentifier", + "src": "2478:3:12" + }, + "nativeSrc": "2478:17:12", + "nodeType": "YulFunctionCall", + "src": "2478:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2466:3:12", + "nodeType": "YulIdentifier", + "src": "2466:3:12" + }, + "nativeSrc": "2466:30:12", + "nodeType": "YulFunctionCall", + "src": "2466:30:12" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "2456:6:12", + "nodeType": "YulTypedName", + "src": "2456:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2524:103:12", + "nodeType": "YulBlock", + "src": "2524:103:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "2538:77:12", + "nodeType": "YulIdentifier", + "src": "2538:77:12" + }, + "nativeSrc": "2538:79:12", + "nodeType": "YulFunctionCall", + "src": "2538:79:12" + }, + "nativeSrc": "2538:79:12", + "nodeType": "YulExpressionStatement", + "src": "2538:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "2511:6:12", + "nodeType": "YulIdentifier", + "src": "2511:6:12" + }, + { + "name": "end", + "nativeSrc": "2519:3:12", + "nodeType": "YulIdentifier", + "src": "2519:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2508:2:12", + "nodeType": "YulIdentifier", + "src": "2508:2:12" + }, + "nativeSrc": "2508:15:12", + "nodeType": "YulFunctionCall", + "src": "2508:15:12" + }, + "nativeSrc": "2505:122:12", + "nodeType": "YulIf", + "src": "2505:122:12" + }, + { + "body": { + "nativeSrc": "2712:155:12", + "nodeType": "YulBlock", + "src": "2712:155:12", + "statements": [ + { + "nativeSrc": "2727:21:12", + "nodeType": "YulVariableDeclaration", + "src": "2727:21:12", + "value": { + "name": "src", + "nativeSrc": "2745:3:12", + "nodeType": "YulIdentifier", + "src": "2745:3:12" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "2731:10:12", + "nodeType": "YulTypedName", + "src": "2731:10:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2769:3:12", + "nodeType": "YulIdentifier", + "src": "2769:3:12" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "2806:10:12", + "nodeType": "YulIdentifier", + "src": "2806:10:12" + }, + { + "name": "end", + "nativeSrc": "2818:3:12", + "nodeType": "YulIdentifier", + "src": "2818:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "2774:31:12", + "nodeType": "YulIdentifier", + "src": "2774:31:12" + }, + "nativeSrc": "2774:48:12", + "nodeType": "YulFunctionCall", + "src": "2774:48:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2762:6:12", + "nodeType": "YulIdentifier", + "src": "2762:6:12" + }, + "nativeSrc": "2762:61:12", + "nodeType": "YulFunctionCall", + "src": "2762:61:12" + }, + "nativeSrc": "2762:61:12", + "nodeType": "YulExpressionStatement", + "src": "2762:61:12" + }, + { + "nativeSrc": "2836:21:12", + "nodeType": "YulAssignment", + "src": "2836:21:12", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2847:3:12", + "nodeType": "YulIdentifier", + "src": "2847:3:12" + }, + { + "kind": "number", + "nativeSrc": "2852:4:12", + "nodeType": "YulLiteral", + "src": "2852:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2843:3:12", + "nodeType": "YulIdentifier", + "src": "2843:3:12" + }, + "nativeSrc": "2843:14:12", + "nodeType": "YulFunctionCall", + "src": "2843:14:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2836:3:12", + "nodeType": "YulIdentifier", + "src": "2836:3:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2665:3:12", + "nodeType": "YulIdentifier", + "src": "2665:3:12" + }, + { + "name": "srcEnd", + "nativeSrc": "2670:6:12", + "nodeType": "YulIdentifier", + "src": "2670:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2662:2:12", + "nodeType": "YulIdentifier", + "src": "2662:2:12" + }, + "nativeSrc": "2662:15:12", + "nodeType": "YulFunctionCall", + "src": "2662:15:12" + }, + "nativeSrc": "2636:231:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2678:25:12", + "nodeType": "YulBlock", + "src": "2678:25:12", + "statements": [ + { + "nativeSrc": "2680:21:12", + "nodeType": "YulAssignment", + "src": "2680:21:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2691:3:12", + "nodeType": "YulIdentifier", + "src": "2691:3:12" + }, + { + "kind": "number", + "nativeSrc": "2696:4:12", + "nodeType": "YulLiteral", + "src": "2696:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2687:3:12", + "nodeType": "YulIdentifier", + "src": "2687:3:12" + }, + "nativeSrc": "2687:14:12", + "nodeType": "YulFunctionCall", + "src": "2687:14:12" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "2680:3:12", + "nodeType": "YulIdentifier", + "src": "2680:3:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2640:21:12", + "nodeType": "YulBlock", + "src": "2640:21:12", + "statements": [ + { + "nativeSrc": "2642:17:12", + "nodeType": "YulVariableDeclaration", + "src": "2642:17:12", + "value": { + "name": "offset", + "nativeSrc": "2653:6:12", + "nodeType": "YulIdentifier", + "src": "2653:6:12" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "2646:3:12", + "nodeType": "YulTypedName", + "src": "2646:3:12", + "type": "" + } + ] + } + ] + }, + "src": "2636:231:12" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2141:732:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2224:6:12", + "nodeType": "YulTypedName", + "src": "2224:6:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2232:6:12", + "nodeType": "YulTypedName", + "src": "2232:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2240:3:12", + "nodeType": "YulTypedName", + "src": "2240:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2248:5:12", + "nodeType": "YulTypedName", + "src": "2248:5:12", + "type": "" + } + ], + "src": "2141:732:12" + }, + { + "body": { + "nativeSrc": "2984:297:12", + "nodeType": "YulBlock", + "src": "2984:297:12", + "statements": [ + { + "body": { + "nativeSrc": "3033:83:12", + "nodeType": "YulBlock", + "src": "3033:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3035:77:12", + "nodeType": "YulIdentifier", + "src": "3035:77:12" + }, + "nativeSrc": "3035:79:12", + "nodeType": "YulFunctionCall", + "src": "3035:79:12" + }, + "nativeSrc": "3035:79:12", + "nodeType": "YulExpressionStatement", + "src": "3035:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3012:6:12", + "nodeType": "YulIdentifier", + "src": "3012:6:12" + }, + { + "kind": "number", + "nativeSrc": "3020:4:12", + "nodeType": "YulLiteral", + "src": "3020:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3008:3:12", + "nodeType": "YulIdentifier", + "src": "3008:3:12" + }, + "nativeSrc": "3008:17:12", + "nodeType": "YulFunctionCall", + "src": "3008:17:12" + }, + { + "name": "end", + "nativeSrc": "3027:3:12", + "nodeType": "YulIdentifier", + "src": "3027:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3004:3:12", + "nodeType": "YulIdentifier", + "src": "3004:3:12" + }, + "nativeSrc": "3004:27:12", + "nodeType": "YulFunctionCall", + "src": "3004:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2997:6:12", + "nodeType": "YulIdentifier", + "src": "2997:6:12" + }, + "nativeSrc": "2997:35:12", + "nodeType": "YulFunctionCall", + "src": "2997:35:12" + }, + "nativeSrc": "2994:122:12", + "nodeType": "YulIf", + "src": "2994:122:12" + }, + { + "nativeSrc": "3125:27:12", + "nodeType": "YulVariableDeclaration", + "src": "3125:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3145:6:12", + "nodeType": "YulIdentifier", + "src": "3145:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3139:5:12", + "nodeType": "YulIdentifier", + "src": "3139:5:12" + }, + "nativeSrc": "3139:13:12", + "nodeType": "YulFunctionCall", + "src": "3139:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "3129:6:12", + "nodeType": "YulTypedName", + "src": "3129:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3161:114:12", + "nodeType": "YulAssignment", + "src": "3161:114:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3248:6:12", + "nodeType": "YulIdentifier", + "src": "3248:6:12" + }, + { + "kind": "number", + "nativeSrc": "3256:4:12", + "nodeType": "YulLiteral", + "src": "3256:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3244:3:12", + "nodeType": "YulIdentifier", + "src": "3244:3:12" + }, + "nativeSrc": "3244:17:12", + "nodeType": "YulFunctionCall", + "src": "3244:17:12" + }, + { + "name": "length", + "nativeSrc": "3263:6:12", + "nodeType": "YulIdentifier", + "src": "3263:6:12" + }, + { + "name": "end", + "nativeSrc": "3271:3:12", + "nodeType": "YulIdentifier", + "src": "3271:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3170:73:12", + "nodeType": "YulIdentifier", + "src": "3170:73:12" + }, + "nativeSrc": "3170:105:12", + "nodeType": "YulFunctionCall", + "src": "3170:105:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3161:5:12", + "nodeType": "YulIdentifier", + "src": "3161:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2896:385:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2962:6:12", + "nodeType": "YulTypedName", + "src": "2962:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2970:3:12", + "nodeType": "YulTypedName", + "src": "2970:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2978:5:12", + "nodeType": "YulTypedName", + "src": "2978:5:12", + "type": "" + } + ], + "src": "2896:385:12" + }, + { + "body": { + "nativeSrc": "3389:452:12", + "nodeType": "YulBlock", + "src": "3389:452:12", + "statements": [ + { + "body": { + "nativeSrc": "3435:83:12", + "nodeType": "YulBlock", + "src": "3435:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3437:77:12", + "nodeType": "YulIdentifier", + "src": "3437:77:12" + }, + "nativeSrc": "3437:79:12", + "nodeType": "YulFunctionCall", + "src": "3437:79:12" + }, + "nativeSrc": "3437:79:12", + "nodeType": "YulExpressionStatement", + "src": "3437:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3410:7:12", + "nodeType": "YulIdentifier", + "src": "3410:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3419:9:12", + "nodeType": "YulIdentifier", + "src": "3419:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3406:3:12", + "nodeType": "YulIdentifier", + "src": "3406:3:12" + }, + "nativeSrc": "3406:23:12", + "nodeType": "YulFunctionCall", + "src": "3406:23:12" + }, + { + "kind": "number", + "nativeSrc": "3431:2:12", + "nodeType": "YulLiteral", + "src": "3431:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3402:3:12", + "nodeType": "YulIdentifier", + "src": "3402:3:12" + }, + "nativeSrc": "3402:32:12", + "nodeType": "YulFunctionCall", + "src": "3402:32:12" + }, + "nativeSrc": "3399:119:12", + "nodeType": "YulIf", + "src": "3399:119:12" + }, + { + "nativeSrc": "3528:306:12", + "nodeType": "YulBlock", + "src": "3528:306:12", + "statements": [ + { + "nativeSrc": "3543:38:12", + "nodeType": "YulVariableDeclaration", + "src": "3543:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3567:9:12", + "nodeType": "YulIdentifier", + "src": "3567:9:12" + }, + { + "kind": "number", + "nativeSrc": "3578:1:12", + "nodeType": "YulLiteral", + "src": "3578:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3563:3:12", + "nodeType": "YulIdentifier", + "src": "3563:3:12" + }, + "nativeSrc": "3563:17:12", + "nodeType": "YulFunctionCall", + "src": "3563:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3557:5:12", + "nodeType": "YulIdentifier", + "src": "3557:5:12" + }, + "nativeSrc": "3557:24:12", + "nodeType": "YulFunctionCall", + "src": "3557:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3547:6:12", + "nodeType": "YulTypedName", + "src": "3547:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3628:83:12", + "nodeType": "YulBlock", + "src": "3628:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3630:77:12", + "nodeType": "YulIdentifier", + "src": "3630:77:12" + }, + "nativeSrc": "3630:79:12", + "nodeType": "YulFunctionCall", + "src": "3630:79:12" + }, + "nativeSrc": "3630:79:12", + "nodeType": "YulExpressionStatement", + "src": "3630:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3600:6:12", + "nodeType": "YulIdentifier", + "src": "3600:6:12" + }, + { + "kind": "number", + "nativeSrc": "3608:18:12", + "nodeType": "YulLiteral", + "src": "3608:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3597:2:12", + "nodeType": "YulIdentifier", + "src": "3597:2:12" + }, + "nativeSrc": "3597:30:12", + "nodeType": "YulFunctionCall", + "src": "3597:30:12" + }, + "nativeSrc": "3594:117:12", + "nodeType": "YulIf", + "src": "3594:117:12" + }, + { + "nativeSrc": "3725:99:12", + "nodeType": "YulAssignment", + "src": "3725:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3796:9:12", + "nodeType": "YulIdentifier", + "src": "3796:9:12" + }, + { + "name": "offset", + "nativeSrc": "3807:6:12", + "nodeType": "YulIdentifier", + "src": "3807:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3792:3:12", + "nodeType": "YulIdentifier", + "src": "3792:3:12" + }, + "nativeSrc": "3792:22:12", + "nodeType": "YulFunctionCall", + "src": "3792:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3816:7:12", + "nodeType": "YulIdentifier", + "src": "3816:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3735:56:12", + "nodeType": "YulIdentifier", + "src": "3735:56:12" + }, + "nativeSrc": "3735:89:12", + "nodeType": "YulFunctionCall", + "src": "3735:89:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3725:6:12", + "nodeType": "YulIdentifier", + "src": "3725:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3287:554:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3359:9:12", + "nodeType": "YulTypedName", + "src": "3359:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3370:7:12", + "nodeType": "YulTypedName", + "src": "3370:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3382:6:12", + "nodeType": "YulTypedName", + "src": "3382:6:12", + "type": "" + } + ], + "src": "3287:554:12" + }, + { + "body": { + "nativeSrc": "3875:152:12", + "nodeType": "YulBlock", + "src": "3875:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3892:1:12", + "nodeType": "YulLiteral", + "src": "3892:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3895:77:12", + "nodeType": "YulLiteral", + "src": "3895:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3885:6:12", + "nodeType": "YulIdentifier", + "src": "3885:6:12" + }, + "nativeSrc": "3885:88:12", + "nodeType": "YulFunctionCall", + "src": "3885:88:12" + }, + "nativeSrc": "3885:88:12", + "nodeType": "YulExpressionStatement", + "src": "3885:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3989:1:12", + "nodeType": "YulLiteral", + "src": "3989:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3992:4:12", + "nodeType": "YulLiteral", + "src": "3992:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3982:6:12", + "nodeType": "YulIdentifier", + "src": "3982:6:12" + }, + "nativeSrc": "3982:15:12", + "nodeType": "YulFunctionCall", + "src": "3982:15:12" + }, + "nativeSrc": "3982:15:12", + "nodeType": "YulExpressionStatement", + "src": "3982:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4013:1:12", + "nodeType": "YulLiteral", + "src": "4013:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4016:4:12", + "nodeType": "YulLiteral", + "src": "4016:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4006:6:12", + "nodeType": "YulIdentifier", + "src": "4006:6:12" + }, + "nativeSrc": "4006:15:12", + "nodeType": "YulFunctionCall", + "src": "4006:15:12" + }, + "nativeSrc": "4006:15:12", + "nodeType": "YulExpressionStatement", + "src": "4006:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "3847:180:12", + "nodeType": "YulFunctionDefinition", + "src": "3847:180:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b506040516107813803806107818339818101604052810190610032919061028e565b60005b81518110156100bc576001600080848481518110610056576100556102d7565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610035565b5050610306565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610125826100dc565b810181811067ffffffffffffffff82111715610144576101436100ed565b5b80604052505050565b60006101576100c3565b9050610163828261011c565b919050565b600067ffffffffffffffff821115610183576101826100ed565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101c482610199565b9050919050565b6101d4816101b9565b81146101df57600080fd5b50565b6000815190506101f1816101cb565b92915050565b600061020a61020584610168565b61014d565b9050808382526020820190506020840283018581111561022d5761022c610194565b5b835b81811015610256578061024288826101e2565b84526020840193505060208101905061022f565b5050509392505050565b600082601f830112610275576102746100d7565b5b81516102858482602086016101f7565b91505092915050565b6000602082840312156102a4576102a36100cd565b5b600082015167ffffffffffffffff8111156102c2576102c16100d2565b5b6102ce84828501610260565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61046c806103156000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631785f53c1461004657806324d7806c146100625780637048027514610092575b600080fd5b610060600480360381019061005b9190610330565b6100ae565b005b61007c60048036038101906100779190610330565b610193565b6040516100899190610378565b60405180910390f35b6100ac60048036038101906100a79190610330565b6101e8565b005b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013090610416565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610416565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102fd826102d2565b9050919050565b61030d816102f2565b811461031857600080fd5b50565b60008135905061032a81610304565b92915050565b600060208284031215610346576103456102cd565b5b60006103548482850161031b565b91505092915050565b60008115159050919050565b6103728161035d565b82525050565b600060208201905061038d6000830184610369565b92915050565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b6000610400602783610393565b915061040b826103a4565b604082019050919050565b6000602082019050818103600083015261042f816103f3565b905091905056fea2646970667358221220e4aae6b7e57ffddbcb60688cb2e53e69b0752e3c23ed4f2f653fcbdaf7347a5564736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x781 CODESIZE SUB DUP1 PUSH2 0x781 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xBC JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x56 JUMPI PUSH2 0x55 PUSH2 0x2D7 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x35 JUMP JUMPDEST POP POP PUSH2 0x306 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x125 DUP3 PUSH2 0xDC JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x144 JUMPI PUSH2 0x143 PUSH2 0xED JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x157 PUSH2 0xC3 JUMP JUMPDEST SWAP1 POP PUSH2 0x163 DUP3 DUP3 PUSH2 0x11C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x183 JUMPI PUSH2 0x182 PUSH2 0xED JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C4 DUP3 PUSH2 0x199 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D4 DUP2 PUSH2 0x1B9 JUMP JUMPDEST DUP2 EQ PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1 DUP2 PUSH2 0x1CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A PUSH2 0x205 DUP5 PUSH2 0x168 JUMP JUMPDEST PUSH2 0x14D JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x22D JUMPI PUSH2 0x22C PUSH2 0x194 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x256 JUMPI DUP1 PUSH2 0x242 DUP9 DUP3 PUSH2 0x1E2 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x22F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x275 JUMPI PUSH2 0x274 PUSH2 0xD7 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x285 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1F7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A4 JUMPI PUSH2 0x2A3 PUSH2 0xCD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C2 JUMPI PUSH2 0x2C1 PUSH2 0xD2 JUMP JUMPDEST JUMPDEST PUSH2 0x2CE DUP5 DUP3 DUP6 ADD PUSH2 0x260 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x46C DUP1 PUSH2 0x315 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1785F53C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0xAE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x89 SWAP2 SWAP1 PUSH2 0x378 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x1E8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x139 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x130 SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x273 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26A SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FD DUP3 PUSH2 0x2D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30D DUP2 PUSH2 0x2F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x32A DUP2 PUSH2 0x304 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x346 JUMPI PUSH2 0x345 PUSH2 0x2CD JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x354 DUP5 DUP3 DUP6 ADD PUSH2 0x31B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x372 DUP2 PUSH2 0x35D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x38D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x369 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x400 PUSH1 0x27 DUP4 PUSH2 0x393 JUMP JUMPDEST SWAP2 POP PUSH2 0x40B DUP3 PUSH2 0x3A4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x42F DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 0xAA 0xE6 0xB7 0xE5 PUSH32 0xFDDBCB60688CB2E53E69B0752E3C23ED4F2F653FCBDAF7347A5564736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "58:668:4:-:0;;;126:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;185:6;180:101;197:13;:20;193:1;:24;180:101;;;266:4;238:7;:25;246:13;260:1;246:16;;;;;;;;:::i;:::-;;;;;;;;238:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;219:3;;;;;;;180:101;;;;126:161;58:668;;7:75:12;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:554::-;3382:6;3431:2;3419:9;3410:7;3406:23;3402:32;3399:119;;;3437:79;;:::i;:::-;3399:119;3578:1;3567:9;3563:17;3557:24;3608:18;3600:6;3597:30;3594:117;;;3630:79;;:::i;:::-;3594:117;3735:89;3816:7;3807:6;3796:9;3792:22;3735:89;:::i;:::-;3725:99;;3528:306;3287:554;;;;:::o;3847:180::-;3895:77;3892:1;3885:88;3992:4;3989:1;3982:15;4016:4;4013:1;4006:15;58:668:4;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@addAdmin_1361": { + "entryPoint": 488, + "id": 1361, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@isAdmin_1347": { + "entryPoint": 403, + "id": 1347, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@removeAdmin_1375": { + "entryPoint": 174, + "id": 1375, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_t_address": { + "entryPoint": 795, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 816, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 873, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1011, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 888, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1046, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 915, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 754, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 861, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 722, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 717, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01": { + "entryPoint": 932, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 772, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:2804:12", + "nodeType": "YulBlock", + "src": "0:2804:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "379:81:12", + "nodeType": "YulBlock", + "src": "379:81:12", + "statements": [ + { + "nativeSrc": "389:65:12", + "nodeType": "YulAssignment", + "src": "389:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:12", + "nodeType": "YulIdentifier", + "src": "404:5:12" + }, + { + "kind": "number", + "nativeSrc": "411:42:12", + "nodeType": "YulLiteral", + "src": "411:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:12", + "nodeType": "YulIdentifier", + "src": "400:3:12" + }, + "nativeSrc": "400:54:12", + "nodeType": "YulFunctionCall", + "src": "400:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:12", + "nodeType": "YulIdentifier", + "src": "389:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:12", + "nodeType": "YulTypedName", + "src": "361:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:12", + "nodeType": "YulTypedName", + "src": "371:7:12", + "type": "" + } + ], + "src": "334:126:12" + }, + { + "body": { + "nativeSrc": "511:51:12", + "nodeType": "YulBlock", + "src": "511:51:12", + "statements": [ + { + "nativeSrc": "521:35:12", + "nodeType": "YulAssignment", + "src": "521:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:12", + "nodeType": "YulIdentifier", + "src": "550:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:12", + "nodeType": "YulIdentifier", + "src": "532:17:12" + }, + "nativeSrc": "532:24:12", + "nodeType": "YulFunctionCall", + "src": "532:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:12", + "nodeType": "YulIdentifier", + "src": "521:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:12", + "nodeType": "YulTypedName", + "src": "493:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:12", + "nodeType": "YulTypedName", + "src": "503:7:12", + "type": "" + } + ], + "src": "466:96:12" + }, + { + "body": { + "nativeSrc": "611:79:12", + "nodeType": "YulBlock", + "src": "611:79:12", + "statements": [ + { + "body": { + "nativeSrc": "668:16:12", + "nodeType": "YulBlock", + "src": "668:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "677:1:12", + "nodeType": "YulLiteral", + "src": "677:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "680:1:12", + "nodeType": "YulLiteral", + "src": "680:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "670:6:12", + "nodeType": "YulIdentifier", + "src": "670:6:12" + }, + "nativeSrc": "670:12:12", + "nodeType": "YulFunctionCall", + "src": "670:12:12" + }, + "nativeSrc": "670:12:12", + "nodeType": "YulExpressionStatement", + "src": "670:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "634:5:12", + "nodeType": "YulIdentifier", + "src": "634:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "659:5:12", + "nodeType": "YulIdentifier", + "src": "659:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "641:17:12", + "nodeType": "YulIdentifier", + "src": "641:17:12" + }, + "nativeSrc": "641:24:12", + "nodeType": "YulFunctionCall", + "src": "641:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "631:2:12", + "nodeType": "YulIdentifier", + "src": "631:2:12" + }, + "nativeSrc": "631:35:12", + "nodeType": "YulFunctionCall", + "src": "631:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "624:6:12", + "nodeType": "YulIdentifier", + "src": "624:6:12" + }, + "nativeSrc": "624:43:12", + "nodeType": "YulFunctionCall", + "src": "624:43:12" + }, + "nativeSrc": "621:63:12", + "nodeType": "YulIf", + "src": "621:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "568:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "604:5:12", + "nodeType": "YulTypedName", + "src": "604:5:12", + "type": "" + } + ], + "src": "568:122:12" + }, + { + "body": { + "nativeSrc": "748:87:12", + "nodeType": "YulBlock", + "src": "748:87:12", + "statements": [ + { + "nativeSrc": "758:29:12", + "nodeType": "YulAssignment", + "src": "758:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "780:6:12", + "nodeType": "YulIdentifier", + "src": "780:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "767:12:12", + "nodeType": "YulIdentifier", + "src": "767:12:12" + }, + "nativeSrc": "767:20:12", + "nodeType": "YulFunctionCall", + "src": "767:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "758:5:12", + "nodeType": "YulIdentifier", + "src": "758:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "823:5:12", + "nodeType": "YulIdentifier", + "src": "823:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "796:26:12", + "nodeType": "YulIdentifier", + "src": "796:26:12" + }, + "nativeSrc": "796:33:12", + "nodeType": "YulFunctionCall", + "src": "796:33:12" + }, + "nativeSrc": "796:33:12", + "nodeType": "YulExpressionStatement", + "src": "796:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "696:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "726:6:12", + "nodeType": "YulTypedName", + "src": "726:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "734:3:12", + "nodeType": "YulTypedName", + "src": "734:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "742:5:12", + "nodeType": "YulTypedName", + "src": "742:5:12", + "type": "" + } + ], + "src": "696:139:12" + }, + { + "body": { + "nativeSrc": "907:263:12", + "nodeType": "YulBlock", + "src": "907:263:12", + "statements": [ + { + "body": { + "nativeSrc": "953:83:12", + "nodeType": "YulBlock", + "src": "953:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "955:77:12", + "nodeType": "YulIdentifier", + "src": "955:77:12" + }, + "nativeSrc": "955:79:12", + "nodeType": "YulFunctionCall", + "src": "955:79:12" + }, + "nativeSrc": "955:79:12", + "nodeType": "YulExpressionStatement", + "src": "955:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "928:7:12", + "nodeType": "YulIdentifier", + "src": "928:7:12" + }, + { + "name": "headStart", + "nativeSrc": "937:9:12", + "nodeType": "YulIdentifier", + "src": "937:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "924:3:12", + "nodeType": "YulIdentifier", + "src": "924:3:12" + }, + "nativeSrc": "924:23:12", + "nodeType": "YulFunctionCall", + "src": "924:23:12" + }, + { + "kind": "number", + "nativeSrc": "949:2:12", + "nodeType": "YulLiteral", + "src": "949:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "920:3:12", + "nodeType": "YulIdentifier", + "src": "920:3:12" + }, + "nativeSrc": "920:32:12", + "nodeType": "YulFunctionCall", + "src": "920:32:12" + }, + "nativeSrc": "917:119:12", + "nodeType": "YulIf", + "src": "917:119:12" + }, + { + "nativeSrc": "1046:117:12", + "nodeType": "YulBlock", + "src": "1046:117:12", + "statements": [ + { + "nativeSrc": "1061:15:12", + "nodeType": "YulVariableDeclaration", + "src": "1061:15:12", + "value": { + "kind": "number", + "nativeSrc": "1075:1:12", + "nodeType": "YulLiteral", + "src": "1075:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1065:6:12", + "nodeType": "YulTypedName", + "src": "1065:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1090:63:12", + "nodeType": "YulAssignment", + "src": "1090:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1125:9:12", + "nodeType": "YulIdentifier", + "src": "1125:9:12" + }, + { + "name": "offset", + "nativeSrc": "1136:6:12", + "nodeType": "YulIdentifier", + "src": "1136:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1121:3:12", + "nodeType": "YulIdentifier", + "src": "1121:3:12" + }, + "nativeSrc": "1121:22:12", + "nodeType": "YulFunctionCall", + "src": "1121:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "1145:7:12", + "nodeType": "YulIdentifier", + "src": "1145:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "1100:20:12", + "nodeType": "YulIdentifier", + "src": "1100:20:12" + }, + "nativeSrc": "1100:53:12", + "nodeType": "YulFunctionCall", + "src": "1100:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1090:6:12", + "nodeType": "YulIdentifier", + "src": "1090:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "841:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "877:9:12", + "nodeType": "YulTypedName", + "src": "877:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "888:7:12", + "nodeType": "YulTypedName", + "src": "888:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "900:6:12", + "nodeType": "YulTypedName", + "src": "900:6:12", + "type": "" + } + ], + "src": "841:329:12" + }, + { + "body": { + "nativeSrc": "1218:48:12", + "nodeType": "YulBlock", + "src": "1218:48:12", + "statements": [ + { + "nativeSrc": "1228:32:12", + "nodeType": "YulAssignment", + "src": "1228:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1253:5:12", + "nodeType": "YulIdentifier", + "src": "1253:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1246:6:12", + "nodeType": "YulIdentifier", + "src": "1246:6:12" + }, + "nativeSrc": "1246:13:12", + "nodeType": "YulFunctionCall", + "src": "1246:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1239:6:12", + "nodeType": "YulIdentifier", + "src": "1239:6:12" + }, + "nativeSrc": "1239:21:12", + "nodeType": "YulFunctionCall", + "src": "1239:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1228:7:12", + "nodeType": "YulIdentifier", + "src": "1228:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "1176:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1200:5:12", + "nodeType": "YulTypedName", + "src": "1200:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1210:7:12", + "nodeType": "YulTypedName", + "src": "1210:7:12", + "type": "" + } + ], + "src": "1176:90:12" + }, + { + "body": { + "nativeSrc": "1331:50:12", + "nodeType": "YulBlock", + "src": "1331:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1348:3:12", + "nodeType": "YulIdentifier", + "src": "1348:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1368:5:12", + "nodeType": "YulIdentifier", + "src": "1368:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "1353:14:12", + "nodeType": "YulIdentifier", + "src": "1353:14:12" + }, + "nativeSrc": "1353:21:12", + "nodeType": "YulFunctionCall", + "src": "1353:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1341:6:12", + "nodeType": "YulIdentifier", + "src": "1341:6:12" + }, + "nativeSrc": "1341:34:12", + "nodeType": "YulFunctionCall", + "src": "1341:34:12" + }, + "nativeSrc": "1341:34:12", + "nodeType": "YulExpressionStatement", + "src": "1341:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1272:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1319:5:12", + "nodeType": "YulTypedName", + "src": "1319:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1326:3:12", + "nodeType": "YulTypedName", + "src": "1326:3:12", + "type": "" + } + ], + "src": "1272:109:12" + }, + { + "body": { + "nativeSrc": "1479:118:12", + "nodeType": "YulBlock", + "src": "1479:118:12", + "statements": [ + { + "nativeSrc": "1489:26:12", + "nodeType": "YulAssignment", + "src": "1489:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1501:9:12", + "nodeType": "YulIdentifier", + "src": "1501:9:12" + }, + { + "kind": "number", + "nativeSrc": "1512:2:12", + "nodeType": "YulLiteral", + "src": "1512:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1497:3:12", + "nodeType": "YulIdentifier", + "src": "1497:3:12" + }, + "nativeSrc": "1497:18:12", + "nodeType": "YulFunctionCall", + "src": "1497:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1489:4:12", + "nodeType": "YulIdentifier", + "src": "1489:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1563:6:12", + "nodeType": "YulIdentifier", + "src": "1563:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1576:9:12", + "nodeType": "YulIdentifier", + "src": "1576:9:12" + }, + { + "kind": "number", + "nativeSrc": "1587:1:12", + "nodeType": "YulLiteral", + "src": "1587:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1572:3:12", + "nodeType": "YulIdentifier", + "src": "1572:3:12" + }, + "nativeSrc": "1572:17:12", + "nodeType": "YulFunctionCall", + "src": "1572:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1525:37:12", + "nodeType": "YulIdentifier", + "src": "1525:37:12" + }, + "nativeSrc": "1525:65:12", + "nodeType": "YulFunctionCall", + "src": "1525:65:12" + }, + "nativeSrc": "1525:65:12", + "nodeType": "YulExpressionStatement", + "src": "1525:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "1387:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1451:9:12", + "nodeType": "YulTypedName", + "src": "1451:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1463:6:12", + "nodeType": "YulTypedName", + "src": "1463:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1474:4:12", + "nodeType": "YulTypedName", + "src": "1474:4:12", + "type": "" + } + ], + "src": "1387:210:12" + }, + { + "body": { + "nativeSrc": "1699:73:12", + "nodeType": "YulBlock", + "src": "1699:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1716:3:12", + "nodeType": "YulIdentifier", + "src": "1716:3:12" + }, + { + "name": "length", + "nativeSrc": "1721:6:12", + "nodeType": "YulIdentifier", + "src": "1721:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1709:6:12", + "nodeType": "YulIdentifier", + "src": "1709:6:12" + }, + "nativeSrc": "1709:19:12", + "nodeType": "YulFunctionCall", + "src": "1709:19:12" + }, + "nativeSrc": "1709:19:12", + "nodeType": "YulExpressionStatement", + "src": "1709:19:12" + }, + { + "nativeSrc": "1737:29:12", + "nodeType": "YulAssignment", + "src": "1737:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1756:3:12", + "nodeType": "YulIdentifier", + "src": "1756:3:12" + }, + { + "kind": "number", + "nativeSrc": "1761:4:12", + "nodeType": "YulLiteral", + "src": "1761:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1752:3:12", + "nodeType": "YulIdentifier", + "src": "1752:3:12" + }, + "nativeSrc": "1752:14:12", + "nodeType": "YulFunctionCall", + "src": "1752:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "1737:11:12", + "nodeType": "YulIdentifier", + "src": "1737:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "1603:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "1671:3:12", + "nodeType": "YulTypedName", + "src": "1671:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1676:6:12", + "nodeType": "YulTypedName", + "src": "1676:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "1687:11:12", + "nodeType": "YulTypedName", + "src": "1687:11:12", + "type": "" + } + ], + "src": "1603:169:12" + }, + { + "body": { + "nativeSrc": "1884:120:12", + "nodeType": "YulBlock", + "src": "1884:120:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1906:6:12", + "nodeType": "YulIdentifier", + "src": "1906:6:12" + }, + { + "kind": "number", + "nativeSrc": "1914:1:12", + "nodeType": "YulLiteral", + "src": "1914:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1902:3:12", + "nodeType": "YulIdentifier", + "src": "1902:3:12" + }, + "nativeSrc": "1902:14:12", + "nodeType": "YulFunctionCall", + "src": "1902:14:12" + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f2063616c6c2074686973", + "kind": "string", + "nativeSrc": "1918:34:12", + "nodeType": "YulLiteral", + "src": "1918:34:12", + "type": "", + "value": "Address not allowed to call this" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1895:6:12", + "nodeType": "YulIdentifier", + "src": "1895:6:12" + }, + "nativeSrc": "1895:58:12", + "nodeType": "YulFunctionCall", + "src": "1895:58:12" + }, + "nativeSrc": "1895:58:12", + "nodeType": "YulExpressionStatement", + "src": "1895:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1974:6:12", + "nodeType": "YulIdentifier", + "src": "1974:6:12" + }, + { + "kind": "number", + "nativeSrc": "1982:2:12", + "nodeType": "YulLiteral", + "src": "1982:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1970:3:12", + "nodeType": "YulIdentifier", + "src": "1970:3:12" + }, + "nativeSrc": "1970:15:12", + "nodeType": "YulFunctionCall", + "src": "1970:15:12" + }, + { + "hexValue": "206d6574686f64", + "kind": "string", + "nativeSrc": "1987:9:12", + "nodeType": "YulLiteral", + "src": "1987:9:12", + "type": "", + "value": " method" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1963:6:12", + "nodeType": "YulIdentifier", + "src": "1963:6:12" + }, + "nativeSrc": "1963:34:12", + "nodeType": "YulFunctionCall", + "src": "1963:34:12" + }, + "nativeSrc": "1963:34:12", + "nodeType": "YulExpressionStatement", + "src": "1963:34:12" + } + ] + }, + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "1778:226:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "1876:6:12", + "nodeType": "YulTypedName", + "src": "1876:6:12", + "type": "" + } + ], + "src": "1778:226:12" + }, + { + "body": { + "nativeSrc": "2156:220:12", + "nodeType": "YulBlock", + "src": "2156:220:12", + "statements": [ + { + "nativeSrc": "2166:74:12", + "nodeType": "YulAssignment", + "src": "2166:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2232:3:12", + "nodeType": "YulIdentifier", + "src": "2232:3:12" + }, + { + "kind": "number", + "nativeSrc": "2237:2:12", + "nodeType": "YulLiteral", + "src": "2237:2:12", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "2173:58:12", + "nodeType": "YulIdentifier", + "src": "2173:58:12" + }, + "nativeSrc": "2173:67:12", + "nodeType": "YulFunctionCall", + "src": "2173:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2166:3:12", + "nodeType": "YulIdentifier", + "src": "2166:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2338:3:12", + "nodeType": "YulIdentifier", + "src": "2338:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "2249:88:12", + "nodeType": "YulIdentifier", + "src": "2249:88:12" + }, + "nativeSrc": "2249:93:12", + "nodeType": "YulFunctionCall", + "src": "2249:93:12" + }, + "nativeSrc": "2249:93:12", + "nodeType": "YulExpressionStatement", + "src": "2249:93:12" + }, + { + "nativeSrc": "2351:19:12", + "nodeType": "YulAssignment", + "src": "2351:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2362:3:12", + "nodeType": "YulIdentifier", + "src": "2362:3:12" + }, + { + "kind": "number", + "nativeSrc": "2367:2:12", + "nodeType": "YulLiteral", + "src": "2367:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2358:3:12", + "nodeType": "YulIdentifier", + "src": "2358:3:12" + }, + "nativeSrc": "2358:12:12", + "nodeType": "YulFunctionCall", + "src": "2358:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2351:3:12", + "nodeType": "YulIdentifier", + "src": "2351:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2010:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2144:3:12", + "nodeType": "YulTypedName", + "src": "2144:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2152:3:12", + "nodeType": "YulTypedName", + "src": "2152:3:12", + "type": "" + } + ], + "src": "2010:366:12" + }, + { + "body": { + "nativeSrc": "2553:248:12", + "nodeType": "YulBlock", + "src": "2553:248:12", + "statements": [ + { + "nativeSrc": "2563:26:12", + "nodeType": "YulAssignment", + "src": "2563:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2575:9:12", + "nodeType": "YulIdentifier", + "src": "2575:9:12" + }, + { + "kind": "number", + "nativeSrc": "2586:2:12", + "nodeType": "YulLiteral", + "src": "2586:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2571:3:12", + "nodeType": "YulIdentifier", + "src": "2571:3:12" + }, + "nativeSrc": "2571:18:12", + "nodeType": "YulFunctionCall", + "src": "2571:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2563:4:12", + "nodeType": "YulIdentifier", + "src": "2563:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2610:9:12", + "nodeType": "YulIdentifier", + "src": "2610:9:12" + }, + { + "kind": "number", + "nativeSrc": "2621:1:12", + "nodeType": "YulLiteral", + "src": "2621:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2606:3:12", + "nodeType": "YulIdentifier", + "src": "2606:3:12" + }, + "nativeSrc": "2606:17:12", + "nodeType": "YulFunctionCall", + "src": "2606:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "2629:4:12", + "nodeType": "YulIdentifier", + "src": "2629:4:12" + }, + { + "name": "headStart", + "nativeSrc": "2635:9:12", + "nodeType": "YulIdentifier", + "src": "2635:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2625:3:12", + "nodeType": "YulIdentifier", + "src": "2625:3:12" + }, + "nativeSrc": "2625:20:12", + "nodeType": "YulFunctionCall", + "src": "2625:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2599:6:12", + "nodeType": "YulIdentifier", + "src": "2599:6:12" + }, + "nativeSrc": "2599:47:12", + "nodeType": "YulFunctionCall", + "src": "2599:47:12" + }, + "nativeSrc": "2599:47:12", + "nodeType": "YulExpressionStatement", + "src": "2599:47:12" + }, + { + "nativeSrc": "2655:139:12", + "nodeType": "YulAssignment", + "src": "2655:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "2789:4:12", + "nodeType": "YulIdentifier", + "src": "2789:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2663:124:12", + "nodeType": "YulIdentifier", + "src": "2663:124:12" + }, + "nativeSrc": "2663:131:12", + "nodeType": "YulFunctionCall", + "src": "2663:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2655:4:12", + "nodeType": "YulIdentifier", + "src": "2655:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "2382:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2533:9:12", + "nodeType": "YulTypedName", + "src": "2533:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "2548:4:12", + "nodeType": "YulTypedName", + "src": "2548:4:12", + "type": "" + } + ], + "src": "2382:419:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(memPtr) {\n\n mstore(add(memPtr, 0), \"Address not allowed to call this\")\n\n mstore(add(memPtr, 32), \" method\")\n\n }\n\n function abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__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_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80631785f53c1461004657806324d7806c146100625780637048027514610092575b600080fd5b610060600480360381019061005b9190610330565b6100ae565b005b61007c60048036038101906100779190610330565b610193565b6040516100899190610378565b60405180910390f35b6100ac60048036038101906100a79190610330565b6101e8565b005b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013090610416565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610416565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102fd826102d2565b9050919050565b61030d816102f2565b811461031857600080fd5b50565b60008135905061032a81610304565b92915050565b600060208284031215610346576103456102cd565b5b60006103548482850161031b565b91505092915050565b60008115159050919050565b6103728161035d565b82525050565b600060208201905061038d6000830184610369565b92915050565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b6000610400602783610393565b915061040b826103a4565b604082019050919050565b6000602082019050818103600083015261042f816103f3565b905091905056fea2646970667358221220e4aae6b7e57ffddbcb60688cb2e53e69b0752e3c23ed4f2f653fcbdaf7347a5564736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1785F53C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0xAE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x89 SWAP2 SWAP1 PUSH2 0x378 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x1E8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x139 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x130 SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x273 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26A SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FD DUP3 PUSH2 0x2D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30D DUP2 PUSH2 0x2F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x32A DUP2 PUSH2 0x304 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x346 JUMPI PUSH2 0x345 PUSH2 0x2CD JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x354 DUP5 DUP3 DUP6 ADD PUSH2 0x31B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x372 DUP2 PUSH2 0x35D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x38D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x369 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x400 PUSH1 0x27 DUP4 PUSH2 0x393 JUMP JUMPDEST SWAP2 POP PUSH2 0x40B DUP3 PUSH2 0x3A4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x42F DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 0xAA 0xE6 0xB7 0xE5 PUSH32 0xFDDBCB60688CB2E53E69B0752E3C23ED4F2F653FCBDAF7347A5564736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "58:668:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;629:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;418:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;629:95;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;712:5:::1;694:7:::0;:15:::1;702:6;694:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;629:95:::0;:::o;418:102::-;473:4;496:7;:17;504:8;496:17;;;;;;;;;;;;;;;;;;;;;;;;;489:24;;418:102;;;:::o;526:97::-;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;612:4:::1;591:7;:18:::0;599:9:::1;591:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;526:97:::0;:::o;88:117:12:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:169::-;1687:11;1721:6;1716:3;1709:19;1761:4;1756:3;1752:14;1737:29;;1603:169;;;;:::o;1778:226::-;1918:34;1914:1;1906:6;1902:14;1895:58;1987:9;1982:2;1974:6;1970:15;1963:34;1778:226;:::o;2010:366::-;2152:3;2173:67;2237:2;2232:3;2173:67;:::i;:::-;2166:74;;2249:93;2338:3;2249:93;:::i;:::-;2367:2;2362:3;2358:12;2351:19;;2010:366;;;:::o;2382:419::-;2548:4;2586:2;2575:9;2571:18;2563:26;;2635:9;2629:4;2625:20;2621:1;2610:9;2606:17;2599:47;2663:131;2789:4;2663:131;:::i;:::-;2655:139;;2382:419;;;:::o" + }, + "methodIdentifiers": { + "addAdmin(address)": "70480275", + "isAdmin(address)": "24d7806c", + "removeAdmin(address)": "1785f53c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialAdmins\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAdmin\",\"type\":\"address\"}],\"name\":\"addAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"}],\"name\":\"removeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Administrable.sol\":\"Administrable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Administrable.sol\":{\"keccak256\":\"0xf5cb19fd1d0fcffcfa1f8475075e93fe4aef6c964a1f672fe378a72119b3b75d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97a66f5774463cfd9ceb4fb2148a2a079b23fe41d18974eb0b90c26c2ec617f\",\"dweb:/ipfs/QmP8sBeatf66mDQJZa4vXj3oRsxTAxnhkXNEwSxUptTrk7\"]}},\"version\":1}" + } + }, + "contracts/AirdropDeployerERC1155.sol": { + "AirdropDeployerERC1155": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mode", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_1385": { + "entryPoint": null, + "id": 1385, + "parameterSlots": 0, + "returnSlots": 0 + } + }, + "generatedSources": [], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50614c60806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200002e5760003560e01c80630920be421462000033575b600080fd5b6200005160048036038101906200004b919062000374565b62000069565b60405162000060919062000457565b60405180910390f35b6000808203620000cf5760008830898989898960006040516200008c9062000142565b6200009f9897969594939291906200058e565b604051809103906000f080158015620000bc573d6000803e3d6000fd5b5090506000819050809250505062000137565b60018203620001325760008830898989886001604051620000f09062000150565b62000102979695949392919062000623565b604051809103906000f0801580156200011f573d6000803e3d6000fd5b5090506000819050809250505062000137565b600090505b979650505050505050565b61258080620006a883390190565b6120038062002c2883390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001c7826200017c565b810181811067ffffffffffffffff82111715620001e957620001e86200018d565b5b80604052505050565b6000620001fe6200015e565b90506200020c8282620001bc565b919050565b600067ffffffffffffffff8211156200022f576200022e6200018d565b5b6200023a826200017c565b9050602081019050919050565b82818337600083830152505050565b60006200026d620002678462000211565b620001f2565b9050828152602081018484840111156200028c576200028b62000177565b5b6200029984828562000247565b509392505050565b600082601f830112620002b957620002b862000172565b5b8135620002cb84826020860162000256565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030182620002d4565b9050919050565b6200031381620002f4565b81146200031f57600080fd5b50565b600081359050620003338162000308565b92915050565b6000819050919050565b6200034e8162000339565b81146200035a57600080fd5b50565b6000813590506200036e8162000343565b92915050565b600080600080600080600060e0888a03121562000396576200039562000168565b5b600088013567ffffffffffffffff811115620003b757620003b66200016d565b5b620003c58a828b01620002a1565b9750506020620003d88a828b0162000322565b9650506040620003eb8a828b016200035d565b9550506060620003fe8a828b016200035d565b9450506080620004118a828b016200035d565b93505060a0620004248a828b016200035d565b92505060c0620004378a828b016200035d565b91505092959891949750929550565b6200045181620002f4565b82525050565b60006020820190506200046e600083018462000446565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004b057808201518184015260208101905062000493565b60008484015250505050565b6000620004c98262000474565b620004d581856200047f565b9350620004e781856020860162000490565b620004f2816200017c565b840191505092915050565b620005088162000339565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106200055157620005506200050e565b5b50565b600081905062000564826200053d565b919050565b6000620005768262000554565b9050919050565b620005888162000569565b82525050565b6000610100820190508181036000830152620005ab818b620004bc565b9050620005bc602083018a62000446565b620005cb604083018962000446565b620005da6060830188620004fd565b620005e96080830187620004fd565b620005f860a0830186620004fd565b6200060760c0830185620004fd565b6200061660e08301846200057d565b9998505050505050505050565b600060e08201905081810360008301526200063f818a620004bc565b905062000650602083018962000446565b6200065f604083018862000446565b6200066e6060830187620004fd565b6200067d6080830186620004fd565b6200068c60a0830185620004fd565b6200069b60c08301846200057d565b9897505050505050505056fe60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea26469706673582212204cd4ce436aa778d507342d29768b639c0cf04f46fd105d6e069c996c9e6075b264736f6c6343000818003360806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220372f16de976df56b639eca3e408656bd4cd1ad8b78cd60f8ce05600d7ec32f5a64736f6c63430008180033a2646970667358221220da2897684e2916ac87131a332e6a04d2727997593567ccc5ff41816e451e4eae64736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C60 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x920BE42 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x374 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH3 0xCF JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH3 0x8C SWAP1 PUSH3 0x142 JUMP JUMPDEST PUSH3 0x9F SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x58E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x1 DUP3 SUB PUSH3 0x132 JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP9 PUSH1 0x1 PUSH1 0x40 MLOAD PUSH3 0xF0 SWAP1 PUSH3 0x150 JUMP JUMPDEST PUSH3 0x102 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x623 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x11F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2580 DUP1 PUSH3 0x6A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x2003 DUP1 PUSH3 0x2C28 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1C7 DUP3 PUSH3 0x17C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x1E9 JUMPI PUSH3 0x1E8 PUSH3 0x18D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FE PUSH3 0x15E JUMP JUMPDEST SWAP1 POP PUSH3 0x20C DUP3 DUP3 PUSH3 0x1BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x22F JUMPI PUSH3 0x22E PUSH3 0x18D JUMP JUMPDEST JUMPDEST PUSH3 0x23A DUP3 PUSH3 0x17C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x26D PUSH3 0x267 DUP5 PUSH3 0x211 JUMP JUMPDEST PUSH3 0x1F2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x28C JUMPI PUSH3 0x28B PUSH3 0x177 JUMP JUMPDEST JUMPDEST PUSH3 0x299 DUP5 DUP3 DUP6 PUSH3 0x247 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x2B9 JUMPI PUSH3 0x2B8 PUSH3 0x172 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x2CB DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x256 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x301 DUP3 PUSH3 0x2D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x313 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP2 EQ PUSH3 0x31F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x333 DUP2 PUSH3 0x308 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x34E DUP2 PUSH3 0x339 JUMP JUMPDEST DUP2 EQ PUSH3 0x35A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x36E DUP2 PUSH3 0x343 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x396 JUMPI PUSH3 0x395 PUSH3 0x168 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x3B7 JUMPI PUSH3 0x3B6 PUSH3 0x16D JUMP JUMPDEST JUMPDEST PUSH3 0x3C5 DUP11 DUP3 DUP12 ADD PUSH3 0x2A1 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x3D8 DUP11 DUP3 DUP12 ADD PUSH3 0x322 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x3EB DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x3FE DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x411 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x424 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x437 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x46E PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x446 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x4B0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x493 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4C9 DUP3 PUSH3 0x474 JUMP JUMPDEST PUSH3 0x4D5 DUP2 DUP6 PUSH3 0x47F JUMP JUMPDEST SWAP4 POP PUSH3 0x4E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x490 JUMP JUMPDEST PUSH3 0x4F2 DUP2 PUSH3 0x17C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x508 DUP2 PUSH3 0x339 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x551 JUMPI PUSH3 0x550 PUSH3 0x50E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH3 0x564 DUP3 PUSH3 0x53D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x576 DUP3 PUSH3 0x554 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x588 DUP2 PUSH3 0x569 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x5AB DUP2 DUP12 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x5BC PUSH1 0x20 DUP4 ADD DUP11 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5CB PUSH1 0x40 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5DA PUSH1 0x60 DUP4 ADD DUP9 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5E9 PUSH1 0x80 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5F8 PUSH1 0xA0 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x607 PUSH1 0xC0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x616 PUSH1 0xE0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x63F DUP2 DUP11 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x650 PUSH1 0x20 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x65F PUSH1 0x40 DUP4 ADD DUP9 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x66E PUSH1 0x60 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x67D PUSH1 0x80 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x68C PUSH1 0xA0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x69B PUSH1 0xC0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2580 CODESIZE SUB DUP1 PUSH3 0x2580 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x48F JUMP JUMPDEST DUP7 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x170 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP8 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7E6 JUMP JUMPDEST POP DUP5 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x8CD JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP PUSH3 0x8FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x29D DUP3 PUSH3 0x252 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BF JUMPI PUSH3 0x2BE PUSH3 0x263 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D4 PUSH3 0x234 JUMP JUMPDEST SWAP1 POP PUSH3 0x2E2 DUP3 DUP3 PUSH3 0x292 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x305 JUMPI PUSH3 0x304 PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x310 DUP3 PUSH3 0x252 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x33D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x320 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x360 PUSH3 0x35A DUP5 PUSH3 0x2E7 JUMP JUMPDEST PUSH3 0x2C8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x24D JUMP JUMPDEST JUMPDEST PUSH3 0x38C DUP5 DUP3 DUP6 PUSH3 0x31D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3AC JUMPI PUSH3 0x3AB PUSH3 0x248 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3BE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x349 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3F4 DUP3 PUSH3 0x3C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x406 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP2 EQ PUSH3 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x426 DUP2 PUSH3 0x3FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x441 DUP2 PUSH3 0x42C JUMP JUMPDEST DUP2 EQ PUSH3 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x461 DUP2 PUSH3 0x436 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x475 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x489 DUP2 PUSH3 0x467 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH3 0x4B2 PUSH3 0x23E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP10 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4D4 JUMPI PUSH3 0x4D3 PUSH3 0x243 JUMP JUMPDEST JUMPDEST PUSH3 0x4E2 DUP12 DUP3 DUP13 ADD PUSH3 0x394 JUMP JUMPDEST SWAP9 POP POP PUSH1 0x20 PUSH3 0x4F5 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x40 PUSH3 0x508 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x60 PUSH3 0x51B DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x80 PUSH3 0x52E DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP5 POP POP PUSH1 0xA0 PUSH3 0x541 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xC0 PUSH3 0x554 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 PUSH3 0x567 DUP12 DUP3 DUP13 ADD PUSH3 0x478 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH3 0x582 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x59F PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x60E JUMPI PUSH3 0x60D PUSH3 0x5B0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x678 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x639 JUMP JUMPDEST PUSH3 0x684 DUP7 DUP4 PUSH3 0x639 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6C7 PUSH3 0x6C1 PUSH3 0x6BB DUP5 PUSH3 0x42C JUMP JUMPDEST PUSH3 0x69C JUMP JUMPDEST PUSH3 0x42C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6E3 DUP4 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6FB PUSH3 0x6F2 DUP3 PUSH3 0x6CE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x646 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x712 PUSH3 0x703 JUMP JUMPDEST PUSH3 0x71F DUP2 DUP5 DUP5 PUSH3 0x6D8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x747 JUMPI PUSH3 0x73B PUSH1 0x0 DUP3 PUSH3 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x725 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x796 JUMPI PUSH3 0x760 DUP2 PUSH3 0x614 JUMP JUMPDEST PUSH3 0x76B DUP5 PUSH3 0x629 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x77B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x793 PUSH3 0x78A DUP6 PUSH3 0x629 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x724 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7BB PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x79B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7D6 DUP4 DUP4 PUSH3 0x7A8 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7F1 DUP3 PUSH3 0x5A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x80D JUMPI PUSH3 0x80C PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x819 DUP3 SLOAD PUSH3 0x5DF JUMP JUMPDEST PUSH3 0x826 DUP3 DUP3 DUP6 PUSH3 0x74B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x85E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x849 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x855 DUP6 DUP3 PUSH3 0x7C8 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8C5 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x86E DUP7 PUSH3 0x614 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x898 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x871 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x8B8 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x8B4 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x7A8 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1C74 DUP1 PUSH3 0x90C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4C 0xD4 0xCE NUMBER PUSH11 0xA778D507342D29768B639C 0xC CREATE 0x4F CHAINID REVERT LT TSTORE PUSH15 0x69C996C9E6075B264736F6C634300 ADDMOD XOR STOP CALLER PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2003 CODESIZE SUB DUP1 PUSH3 0x2003 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x487 JUMP JUMPDEST DUP6 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x56A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP7 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7C8 JUMP JUMPDEST POP DUP4 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x156 JUMPI PUSH3 0x155 PUSH3 0x8AF JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP PUSH3 0x8DE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x46D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x481 DUP2 PUSH3 0x45F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x4A9 JUMPI PUSH3 0x4A8 PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4CA JUMPI PUSH3 0x4C9 PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4D8 DUP11 DUP3 DUP12 ADD PUSH3 0x38C JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x4EB DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x4FE DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x511 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x524 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x537 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x54A DUP11 DUP3 DUP12 ADD PUSH3 0x470 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x564 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x581 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5F0 JUMPI PUSH3 0x5EF PUSH3 0x592 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x65A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x61B JUMP JUMPDEST PUSH3 0x666 DUP7 DUP4 PUSH3 0x61B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6A9 PUSH3 0x6A3 PUSH3 0x69D DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x67E JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6C5 DUP4 PUSH3 0x688 JUMP JUMPDEST PUSH3 0x6DD PUSH3 0x6D4 DUP3 PUSH3 0x6B0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x628 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6F4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x701 DUP2 DUP5 DUP5 PUSH3 0x6BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x729 JUMPI PUSH3 0x71D PUSH1 0x0 DUP3 PUSH3 0x6EA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x778 JUMPI PUSH3 0x742 DUP2 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x74D DUP5 PUSH3 0x60B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x75D JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x775 PUSH3 0x76C DUP6 PUSH3 0x60B JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x706 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x77D JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7B8 DUP4 DUP4 PUSH3 0x78A JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7D3 DUP3 PUSH3 0x587 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7EF JUMPI PUSH3 0x7EE PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7FB DUP3 SLOAD PUSH3 0x5C1 JUMP JUMPDEST PUSH3 0x808 DUP3 DUP3 DUP6 PUSH3 0x72D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x840 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x82B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x837 DUP6 DUP3 PUSH3 0x7AA JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8A7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x850 DUP7 PUSH3 0x5F6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x87A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x853 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x89A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x896 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x78A JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1715 DUP1 PUSH3 0x8EE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0x2F AND 0xDE SWAP8 PUSH14 0xF56B639ECA3E408656BD4CD1AD8B PUSH25 0xCD60F8CE05600D7EC32F5A64736F6C63430008180033A26469 PUSH17 0x667358221220DA2897684E2916AC87131A CALLER 0x2E PUSH11 0x4D2727997593567CCC5FF COINBASE DUP2 PUSH15 0x451E4EAE64736F6C63430008180033 ", + "sourceMap": "155:1329:5:-:0;;;193:16;;;;;;;;;;155:1329;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@deployAndAddAirdrop_1478": { + "entryPoint": 105, + "id": 1478, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 598, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 802, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 673, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 861, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256": { + "entryPoint": 884, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1094, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack": { + "entryPoint": 1405, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1212, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 1277, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1111, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$3239__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed": { + "entryPoint": 1571, + "id": null, + "parameterSlots": 8, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$3239__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed": { + "entryPoint": 1422, + "id": null, + "parameterSlots": 9, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 498, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 350, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 529, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1140, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 1151, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 756, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$3239": { + "entryPoint": 1364, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 724, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 825, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 1385, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 583, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 1168, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 444, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 1294, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 397, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 370, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 375, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 365, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 360, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 380, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_assert_t_enum$_AirdropType_$3239": { + "entryPoint": 1341, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 776, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 835, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:9102:12", + "nodeType": "YulBlock", + "src": "0:9102:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1674:82:12", + "nodeType": "YulBlock", + "src": "1674:82:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:12", + "nodeType": "YulIdentifier", + "src": "1697:3:12" + }, + { + "name": "src", + "nativeSrc": "1702:3:12", + "nodeType": "YulIdentifier", + "src": "1702:3:12" + }, + { + "name": "length", + "nativeSrc": "1707:6:12", + "nodeType": "YulIdentifier", + "src": "1707:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:12", + "nodeType": "YulIdentifier", + "src": "1684:12:12" + }, + "nativeSrc": "1684:30:12", + "nodeType": "YulFunctionCall", + "src": "1684:30:12" + }, + "nativeSrc": "1684:30:12", + "nodeType": "YulExpressionStatement", + "src": "1684:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:12", + "nodeType": "YulIdentifier", + "src": "1734:3:12" + }, + { + "name": "length", + "nativeSrc": "1739:6:12", + "nodeType": "YulIdentifier", + "src": "1739:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:12", + "nodeType": "YulIdentifier", + "src": "1730:3:12" + }, + "nativeSrc": "1730:16:12", + "nodeType": "YulFunctionCall", + "src": "1730:16:12" + }, + { + "kind": "number", + "nativeSrc": "1748:1:12", + "nodeType": "YulLiteral", + "src": "1748:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:12", + "nodeType": "YulIdentifier", + "src": "1723:6:12" + }, + "nativeSrc": "1723:27:12", + "nodeType": "YulFunctionCall", + "src": "1723:27:12" + }, + "nativeSrc": "1723:27:12", + "nodeType": "YulExpressionStatement", + "src": "1723:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1610:146:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1656:3:12", + "nodeType": "YulTypedName", + "src": "1656:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1661:3:12", + "nodeType": "YulTypedName", + "src": "1661:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1666:6:12", + "nodeType": "YulTypedName", + "src": "1666:6:12", + "type": "" + } + ], + "src": "1610:146:12" + }, + { + "body": { + "nativeSrc": "1846:341:12", + "nodeType": "YulBlock", + "src": "1846:341:12", + "statements": [ + { + "nativeSrc": "1856:75:12", + "nodeType": "YulAssignment", + "src": "1856:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1923:6:12", + "nodeType": "YulIdentifier", + "src": "1923:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1881:41:12", + "nodeType": "YulIdentifier", + "src": "1881:41:12" + }, + "nativeSrc": "1881:49:12", + "nodeType": "YulFunctionCall", + "src": "1881:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:12", + "nodeType": "YulIdentifier", + "src": "1865:15:12" + }, + "nativeSrc": "1865:66:12", + "nodeType": "YulFunctionCall", + "src": "1865:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:12", + "nodeType": "YulIdentifier", + "src": "1856:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1947:5:12", + "nodeType": "YulIdentifier", + "src": "1947:5:12" + }, + { + "name": "length", + "nativeSrc": "1954:6:12", + "nodeType": "YulIdentifier", + "src": "1954:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1940:6:12", + "nodeType": "YulIdentifier", + "src": "1940:6:12" + }, + "nativeSrc": "1940:21:12", + "nodeType": "YulFunctionCall", + "src": "1940:21:12" + }, + "nativeSrc": "1940:21:12", + "nodeType": "YulExpressionStatement", + "src": "1940:21:12" + }, + { + "nativeSrc": "1970:27:12", + "nodeType": "YulVariableDeclaration", + "src": "1970:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1985:5:12", + "nodeType": "YulIdentifier", + "src": "1985:5:12" + }, + { + "kind": "number", + "nativeSrc": "1992:4:12", + "nodeType": "YulLiteral", + "src": "1992:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1981:3:12", + "nodeType": "YulIdentifier", + "src": "1981:3:12" + }, + "nativeSrc": "1981:16:12", + "nodeType": "YulFunctionCall", + "src": "1981:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1974:3:12", + "nodeType": "YulTypedName", + "src": "1974:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2035:83:12", + "nodeType": "YulBlock", + "src": "2035:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2037:77:12", + "nodeType": "YulIdentifier", + "src": "2037:77:12" + }, + "nativeSrc": "2037:79:12", + "nodeType": "YulFunctionCall", + "src": "2037:79:12" + }, + "nativeSrc": "2037:79:12", + "nodeType": "YulExpressionStatement", + "src": "2037:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2016:3:12", + "nodeType": "YulIdentifier", + "src": "2016:3:12" + }, + { + "name": "length", + "nativeSrc": "2021:6:12", + "nodeType": "YulIdentifier", + "src": "2021:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2012:3:12", + "nodeType": "YulIdentifier", + "src": "2012:3:12" + }, + "nativeSrc": "2012:16:12", + "nodeType": "YulFunctionCall", + "src": "2012:16:12" + }, + { + "name": "end", + "nativeSrc": "2030:3:12", + "nodeType": "YulIdentifier", + "src": "2030:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2009:2:12", + "nodeType": "YulIdentifier", + "src": "2009:2:12" + }, + "nativeSrc": "2009:25:12", + "nodeType": "YulFunctionCall", + "src": "2009:25:12" + }, + "nativeSrc": "2006:112:12", + "nodeType": "YulIf", + "src": "2006:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2164:3:12", + "nodeType": "YulIdentifier", + "src": "2164:3:12" + }, + { + "name": "dst", + "nativeSrc": "2169:3:12", + "nodeType": "YulIdentifier", + "src": "2169:3:12" + }, + { + "name": "length", + "nativeSrc": "2174:6:12", + "nodeType": "YulIdentifier", + "src": "2174:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2127:36:12", + "nodeType": "YulIdentifier", + "src": "2127:36:12" + }, + "nativeSrc": "2127:54:12", + "nodeType": "YulFunctionCall", + "src": "2127:54:12" + }, + "nativeSrc": "2127:54:12", + "nodeType": "YulExpressionStatement", + "src": "2127:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "1762:425:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:12", + "nodeType": "YulTypedName", + "src": "1819:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:12", + "nodeType": "YulTypedName", + "src": "1824:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:12", + "nodeType": "YulTypedName", + "src": "1832:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:12", + "nodeType": "YulTypedName", + "src": "1840:5:12", + "type": "" + } + ], + "src": "1762:425:12" + }, + { + "body": { + "nativeSrc": "2269:278:12", + "nodeType": "YulBlock", + "src": "2269:278:12", + "statements": [ + { + "body": { + "nativeSrc": "2318:83:12", + "nodeType": "YulBlock", + "src": "2318:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2320:77:12", + "nodeType": "YulIdentifier", + "src": "2320:77:12" + }, + "nativeSrc": "2320:79:12", + "nodeType": "YulFunctionCall", + "src": "2320:79:12" + }, + "nativeSrc": "2320:79:12", + "nodeType": "YulExpressionStatement", + "src": "2320:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2297:6:12", + "nodeType": "YulIdentifier", + "src": "2297:6:12" + }, + { + "kind": "number", + "nativeSrc": "2305:4:12", + "nodeType": "YulLiteral", + "src": "2305:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2293:3:12", + "nodeType": "YulIdentifier", + "src": "2293:3:12" + }, + "nativeSrc": "2293:17:12", + "nodeType": "YulFunctionCall", + "src": "2293:17:12" + }, + { + "name": "end", + "nativeSrc": "2312:3:12", + "nodeType": "YulIdentifier", + "src": "2312:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2289:3:12", + "nodeType": "YulIdentifier", + "src": "2289:3:12" + }, + "nativeSrc": "2289:27:12", + "nodeType": "YulFunctionCall", + "src": "2289:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2282:6:12", + "nodeType": "YulIdentifier", + "src": "2282:6:12" + }, + "nativeSrc": "2282:35:12", + "nodeType": "YulFunctionCall", + "src": "2282:35:12" + }, + "nativeSrc": "2279:122:12", + "nodeType": "YulIf", + "src": "2279:122:12" + }, + { + "nativeSrc": "2410:34:12", + "nodeType": "YulVariableDeclaration", + "src": "2410:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2437:6:12", + "nodeType": "YulIdentifier", + "src": "2437:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2424:12:12", + "nodeType": "YulIdentifier", + "src": "2424:12:12" + }, + "nativeSrc": "2424:20:12", + "nodeType": "YulFunctionCall", + "src": "2424:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2414:6:12", + "nodeType": "YulTypedName", + "src": "2414:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2453:88:12", + "nodeType": "YulAssignment", + "src": "2453:88:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2514:6:12", + "nodeType": "YulIdentifier", + "src": "2514:6:12" + }, + { + "kind": "number", + "nativeSrc": "2522:4:12", + "nodeType": "YulLiteral", + "src": "2522:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2510:3:12", + "nodeType": "YulIdentifier", + "src": "2510:3:12" + }, + "nativeSrc": "2510:17:12", + "nodeType": "YulFunctionCall", + "src": "2510:17:12" + }, + { + "name": "length", + "nativeSrc": "2529:6:12", + "nodeType": "YulIdentifier", + "src": "2529:6:12" + }, + { + "name": "end", + "nativeSrc": "2537:3:12", + "nodeType": "YulIdentifier", + "src": "2537:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "2462:47:12", + "nodeType": "YulIdentifier", + "src": "2462:47:12" + }, + "nativeSrc": "2462:79:12", + "nodeType": "YulFunctionCall", + "src": "2462:79:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2453:5:12", + "nodeType": "YulIdentifier", + "src": "2453:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "2207:340:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2247:6:12", + "nodeType": "YulTypedName", + "src": "2247:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2255:3:12", + "nodeType": "YulTypedName", + "src": "2255:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2263:5:12", + "nodeType": "YulTypedName", + "src": "2263:5:12", + "type": "" + } + ], + "src": "2207:340:12" + }, + { + "body": { + "nativeSrc": "2598:81:12", + "nodeType": "YulBlock", + "src": "2598:81:12", + "statements": [ + { + "nativeSrc": "2608:65:12", + "nodeType": "YulAssignment", + "src": "2608:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2623:5:12", + "nodeType": "YulIdentifier", + "src": "2623:5:12" + }, + { + "kind": "number", + "nativeSrc": "2630:42:12", + "nodeType": "YulLiteral", + "src": "2630:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2619:3:12", + "nodeType": "YulIdentifier", + "src": "2619:3:12" + }, + "nativeSrc": "2619:54:12", + "nodeType": "YulFunctionCall", + "src": "2619:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2608:7:12", + "nodeType": "YulIdentifier", + "src": "2608:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2553:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2580:5:12", + "nodeType": "YulTypedName", + "src": "2580:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2590:7:12", + "nodeType": "YulTypedName", + "src": "2590:7:12", + "type": "" + } + ], + "src": "2553:126:12" + }, + { + "body": { + "nativeSrc": "2730:51:12", + "nodeType": "YulBlock", + "src": "2730:51:12", + "statements": [ + { + "nativeSrc": "2740:35:12", + "nodeType": "YulAssignment", + "src": "2740:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2769:5:12", + "nodeType": "YulIdentifier", + "src": "2769:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2751:17:12", + "nodeType": "YulIdentifier", + "src": "2751:17:12" + }, + "nativeSrc": "2751:24:12", + "nodeType": "YulFunctionCall", + "src": "2751:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2740:7:12", + "nodeType": "YulIdentifier", + "src": "2740:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2685:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2712:5:12", + "nodeType": "YulTypedName", + "src": "2712:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2722:7:12", + "nodeType": "YulTypedName", + "src": "2722:7:12", + "type": "" + } + ], + "src": "2685:96:12" + }, + { + "body": { + "nativeSrc": "2830:79:12", + "nodeType": "YulBlock", + "src": "2830:79:12", + "statements": [ + { + "body": { + "nativeSrc": "2887:16:12", + "nodeType": "YulBlock", + "src": "2887:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2896:1:12", + "nodeType": "YulLiteral", + "src": "2896:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2899:1:12", + "nodeType": "YulLiteral", + "src": "2899:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2889:6:12", + "nodeType": "YulIdentifier", + "src": "2889:6:12" + }, + "nativeSrc": "2889:12:12", + "nodeType": "YulFunctionCall", + "src": "2889:12:12" + }, + "nativeSrc": "2889:12:12", + "nodeType": "YulExpressionStatement", + "src": "2889:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2853:5:12", + "nodeType": "YulIdentifier", + "src": "2853:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2878:5:12", + "nodeType": "YulIdentifier", + "src": "2878:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2860:17:12", + "nodeType": "YulIdentifier", + "src": "2860:17:12" + }, + "nativeSrc": "2860:24:12", + "nodeType": "YulFunctionCall", + "src": "2860:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2850:2:12", + "nodeType": "YulIdentifier", + "src": "2850:2:12" + }, + "nativeSrc": "2850:35:12", + "nodeType": "YulFunctionCall", + "src": "2850:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2843:6:12", + "nodeType": "YulIdentifier", + "src": "2843:6:12" + }, + "nativeSrc": "2843:43:12", + "nodeType": "YulFunctionCall", + "src": "2843:43:12" + }, + "nativeSrc": "2840:63:12", + "nodeType": "YulIf", + "src": "2840:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2787:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2823:5:12", + "nodeType": "YulTypedName", + "src": "2823:5:12", + "type": "" + } + ], + "src": "2787:122:12" + }, + { + "body": { + "nativeSrc": "2967:87:12", + "nodeType": "YulBlock", + "src": "2967:87:12", + "statements": [ + { + "nativeSrc": "2977:29:12", + "nodeType": "YulAssignment", + "src": "2977:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2999:6:12", + "nodeType": "YulIdentifier", + "src": "2999:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2986:12:12", + "nodeType": "YulIdentifier", + "src": "2986:12:12" + }, + "nativeSrc": "2986:20:12", + "nodeType": "YulFunctionCall", + "src": "2986:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2977:5:12", + "nodeType": "YulIdentifier", + "src": "2977:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3042:5:12", + "nodeType": "YulIdentifier", + "src": "3042:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3015:26:12", + "nodeType": "YulIdentifier", + "src": "3015:26:12" + }, + "nativeSrc": "3015:33:12", + "nodeType": "YulFunctionCall", + "src": "3015:33:12" + }, + "nativeSrc": "3015:33:12", + "nodeType": "YulExpressionStatement", + "src": "3015:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2915:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2945:6:12", + "nodeType": "YulTypedName", + "src": "2945:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2953:3:12", + "nodeType": "YulTypedName", + "src": "2953:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2961:5:12", + "nodeType": "YulTypedName", + "src": "2961:5:12", + "type": "" + } + ], + "src": "2915:139:12" + }, + { + "body": { + "nativeSrc": "3105:32:12", + "nodeType": "YulBlock", + "src": "3105:32:12", + "statements": [ + { + "nativeSrc": "3115:16:12", + "nodeType": "YulAssignment", + "src": "3115:16:12", + "value": { + "name": "value", + "nativeSrc": "3126:5:12", + "nodeType": "YulIdentifier", + "src": "3126:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3115:7:12", + "nodeType": "YulIdentifier", + "src": "3115:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3060:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3087:5:12", + "nodeType": "YulTypedName", + "src": "3087:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3097:7:12", + "nodeType": "YulTypedName", + "src": "3097:7:12", + "type": "" + } + ], + "src": "3060:77:12" + }, + { + "body": { + "nativeSrc": "3186:79:12", + "nodeType": "YulBlock", + "src": "3186:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3243:16:12", + "nodeType": "YulBlock", + "src": "3243:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:1:12", + "nodeType": "YulLiteral", + "src": "3252:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3255:1:12", + "nodeType": "YulLiteral", + "src": "3255:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3245:6:12", + "nodeType": "YulIdentifier", + "src": "3245:6:12" + }, + "nativeSrc": "3245:12:12", + "nodeType": "YulFunctionCall", + "src": "3245:12:12" + }, + "nativeSrc": "3245:12:12", + "nodeType": "YulExpressionStatement", + "src": "3245:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3209:5:12", + "nodeType": "YulIdentifier", + "src": "3209:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3234:5:12", + "nodeType": "YulIdentifier", + "src": "3234:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3216:17:12", + "nodeType": "YulIdentifier", + "src": "3216:17:12" + }, + "nativeSrc": "3216:24:12", + "nodeType": "YulFunctionCall", + "src": "3216:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3206:2:12", + "nodeType": "YulIdentifier", + "src": "3206:2:12" + }, + "nativeSrc": "3206:35:12", + "nodeType": "YulFunctionCall", + "src": "3206:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3199:6:12", + "nodeType": "YulIdentifier", + "src": "3199:6:12" + }, + "nativeSrc": "3199:43:12", + "nodeType": "YulFunctionCall", + "src": "3199:43:12" + }, + "nativeSrc": "3196:63:12", + "nodeType": "YulIf", + "src": "3196:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3143:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3179:5:12", + "nodeType": "YulTypedName", + "src": "3179:5:12", + "type": "" + } + ], + "src": "3143:122:12" + }, + { + "body": { + "nativeSrc": "3323:87:12", + "nodeType": "YulBlock", + "src": "3323:87:12", + "statements": [ + { + "nativeSrc": "3333:29:12", + "nodeType": "YulAssignment", + "src": "3333:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3355:6:12", + "nodeType": "YulIdentifier", + "src": "3355:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3342:12:12", + "nodeType": "YulIdentifier", + "src": "3342:12:12" + }, + "nativeSrc": "3342:20:12", + "nodeType": "YulFunctionCall", + "src": "3342:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3333:5:12", + "nodeType": "YulIdentifier", + "src": "3333:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3398:5:12", + "nodeType": "YulIdentifier", + "src": "3398:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3371:26:12", + "nodeType": "YulIdentifier", + "src": "3371:26:12" + }, + "nativeSrc": "3371:33:12", + "nodeType": "YulFunctionCall", + "src": "3371:33:12" + }, + "nativeSrc": "3371:33:12", + "nodeType": "YulExpressionStatement", + "src": "3371:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3271:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3301:6:12", + "nodeType": "YulTypedName", + "src": "3301:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3309:3:12", + "nodeType": "YulTypedName", + "src": "3309:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3317:5:12", + "nodeType": "YulTypedName", + "src": "3317:5:12", + "type": "" + } + ], + "src": "3271:139:12" + }, + { + "body": { + "nativeSrc": "3594:1205:12", + "nodeType": "YulBlock", + "src": "3594:1205:12", + "statements": [ + { + "body": { + "nativeSrc": "3641:83:12", + "nodeType": "YulBlock", + "src": "3641:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3643:77:12", + "nodeType": "YulIdentifier", + "src": "3643:77:12" + }, + "nativeSrc": "3643:79:12", + "nodeType": "YulFunctionCall", + "src": "3643:79:12" + }, + "nativeSrc": "3643:79:12", + "nodeType": "YulExpressionStatement", + "src": "3643:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3615:7:12", + "nodeType": "YulIdentifier", + "src": "3615:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3624:9:12", + "nodeType": "YulIdentifier", + "src": "3624:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3611:3:12", + "nodeType": "YulIdentifier", + "src": "3611:3:12" + }, + "nativeSrc": "3611:23:12", + "nodeType": "YulFunctionCall", + "src": "3611:23:12" + }, + { + "kind": "number", + "nativeSrc": "3636:3:12", + "nodeType": "YulLiteral", + "src": "3636:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3607:3:12", + "nodeType": "YulIdentifier", + "src": "3607:3:12" + }, + "nativeSrc": "3607:33:12", + "nodeType": "YulFunctionCall", + "src": "3607:33:12" + }, + "nativeSrc": "3604:120:12", + "nodeType": "YulIf", + "src": "3604:120:12" + }, + { + "nativeSrc": "3734:287:12", + "nodeType": "YulBlock", + "src": "3734:287:12", + "statements": [ + { + "nativeSrc": "3749:45:12", + "nodeType": "YulVariableDeclaration", + "src": "3749:45:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3780:9:12", + "nodeType": "YulIdentifier", + "src": "3780:9:12" + }, + { + "kind": "number", + "nativeSrc": "3791:1:12", + "nodeType": "YulLiteral", + "src": "3791:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3776:3:12", + "nodeType": "YulIdentifier", + "src": "3776:3:12" + }, + "nativeSrc": "3776:17:12", + "nodeType": "YulFunctionCall", + "src": "3776:17:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3763:12:12", + "nodeType": "YulIdentifier", + "src": "3763:12:12" + }, + "nativeSrc": "3763:31:12", + "nodeType": "YulFunctionCall", + "src": "3763:31:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3753:6:12", + "nodeType": "YulTypedName", + "src": "3753:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3841:83:12", + "nodeType": "YulBlock", + "src": "3841:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3843:77:12", + "nodeType": "YulIdentifier", + "src": "3843:77:12" + }, + "nativeSrc": "3843:79:12", + "nodeType": "YulFunctionCall", + "src": "3843:79:12" + }, + "nativeSrc": "3843:79:12", + "nodeType": "YulExpressionStatement", + "src": "3843:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3813:6:12", + "nodeType": "YulIdentifier", + "src": "3813:6:12" + }, + { + "kind": "number", + "nativeSrc": "3821:18:12", + "nodeType": "YulLiteral", + "src": "3821:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3810:2:12", + "nodeType": "YulIdentifier", + "src": "3810:2:12" + }, + "nativeSrc": "3810:30:12", + "nodeType": "YulFunctionCall", + "src": "3810:30:12" + }, + "nativeSrc": "3807:117:12", + "nodeType": "YulIf", + "src": "3807:117:12" + }, + { + "nativeSrc": "3938:73:12", + "nodeType": "YulAssignment", + "src": "3938:73:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3983:9:12", + "nodeType": "YulIdentifier", + "src": "3983:9:12" + }, + { + "name": "offset", + "nativeSrc": "3994:6:12", + "nodeType": "YulIdentifier", + "src": "3994:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3979:3:12", + "nodeType": "YulIdentifier", + "src": "3979:3:12" + }, + "nativeSrc": "3979:22:12", + "nodeType": "YulFunctionCall", + "src": "3979:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4003:7:12", + "nodeType": "YulIdentifier", + "src": "4003:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "3948:30:12", + "nodeType": "YulIdentifier", + "src": "3948:30:12" + }, + "nativeSrc": "3948:63:12", + "nodeType": "YulFunctionCall", + "src": "3948:63:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3938:6:12", + "nodeType": "YulIdentifier", + "src": "3938:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4031:118:12", + "nodeType": "YulBlock", + "src": "4031:118:12", + "statements": [ + { + "nativeSrc": "4046:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4046:16:12", + "value": { + "kind": "number", + "nativeSrc": "4060:2:12", + "nodeType": "YulLiteral", + "src": "4060:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4050:6:12", + "nodeType": "YulTypedName", + "src": "4050:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4076:63:12", + "nodeType": "YulAssignment", + "src": "4076:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4111:9:12", + "nodeType": "YulIdentifier", + "src": "4111:9:12" + }, + { + "name": "offset", + "nativeSrc": "4122:6:12", + "nodeType": "YulIdentifier", + "src": "4122:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4107:3:12", + "nodeType": "YulIdentifier", + "src": "4107:3:12" + }, + "nativeSrc": "4107:22:12", + "nodeType": "YulFunctionCall", + "src": "4107:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4131:7:12", + "nodeType": "YulIdentifier", + "src": "4131:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4086:20:12", + "nodeType": "YulIdentifier", + "src": "4086:20:12" + }, + "nativeSrc": "4086:53:12", + "nodeType": "YulFunctionCall", + "src": "4086:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4076:6:12", + "nodeType": "YulIdentifier", + "src": "4076:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4159:118:12", + "nodeType": "YulBlock", + "src": "4159:118:12", + "statements": [ + { + "nativeSrc": "4174:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4174:16:12", + "value": { + "kind": "number", + "nativeSrc": "4188:2:12", + "nodeType": "YulLiteral", + "src": "4188:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4178:6:12", + "nodeType": "YulTypedName", + "src": "4178:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4204:63:12", + "nodeType": "YulAssignment", + "src": "4204:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4239:9:12", + "nodeType": "YulIdentifier", + "src": "4239:9:12" + }, + { + "name": "offset", + "nativeSrc": "4250:6:12", + "nodeType": "YulIdentifier", + "src": "4250:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4235:3:12", + "nodeType": "YulIdentifier", + "src": "4235:3:12" + }, + "nativeSrc": "4235:22:12", + "nodeType": "YulFunctionCall", + "src": "4235:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4259:7:12", + "nodeType": "YulIdentifier", + "src": "4259:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4214:20:12", + "nodeType": "YulIdentifier", + "src": "4214:20:12" + }, + "nativeSrc": "4214:53:12", + "nodeType": "YulFunctionCall", + "src": "4214:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4204:6:12", + "nodeType": "YulIdentifier", + "src": "4204:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4287:118:12", + "nodeType": "YulBlock", + "src": "4287:118:12", + "statements": [ + { + "nativeSrc": "4302:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4302:16:12", + "value": { + "kind": "number", + "nativeSrc": "4316:2:12", + "nodeType": "YulLiteral", + "src": "4316:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4306:6:12", + "nodeType": "YulTypedName", + "src": "4306:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4332:63:12", + "nodeType": "YulAssignment", + "src": "4332:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4367:9:12", + "nodeType": "YulIdentifier", + "src": "4367:9:12" + }, + { + "name": "offset", + "nativeSrc": "4378:6:12", + "nodeType": "YulIdentifier", + "src": "4378:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4363:3:12", + "nodeType": "YulIdentifier", + "src": "4363:3:12" + }, + "nativeSrc": "4363:22:12", + "nodeType": "YulFunctionCall", + "src": "4363:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4387:7:12", + "nodeType": "YulIdentifier", + "src": "4387:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4342:20:12", + "nodeType": "YulIdentifier", + "src": "4342:20:12" + }, + "nativeSrc": "4342:53:12", + "nodeType": "YulFunctionCall", + "src": "4342:53:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4332:6:12", + "nodeType": "YulIdentifier", + "src": "4332:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4415:119:12", + "nodeType": "YulBlock", + "src": "4415:119:12", + "statements": [ + { + "nativeSrc": "4430:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4430:17:12", + "value": { + "kind": "number", + "nativeSrc": "4444:3:12", + "nodeType": "YulLiteral", + "src": "4444:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4434:6:12", + "nodeType": "YulTypedName", + "src": "4434:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4461:63:12", + "nodeType": "YulAssignment", + "src": "4461:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4496:9:12", + "nodeType": "YulIdentifier", + "src": "4496:9:12" + }, + { + "name": "offset", + "nativeSrc": "4507:6:12", + "nodeType": "YulIdentifier", + "src": "4507:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4492:3:12", + "nodeType": "YulIdentifier", + "src": "4492:3:12" + }, + "nativeSrc": "4492:22:12", + "nodeType": "YulFunctionCall", + "src": "4492:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4516:7:12", + "nodeType": "YulIdentifier", + "src": "4516:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4471:20:12", + "nodeType": "YulIdentifier", + "src": "4471:20:12" + }, + "nativeSrc": "4471:53:12", + "nodeType": "YulFunctionCall", + "src": "4471:53:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4461:6:12", + "nodeType": "YulIdentifier", + "src": "4461:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4544:119:12", + "nodeType": "YulBlock", + "src": "4544:119:12", + "statements": [ + { + "nativeSrc": "4559:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4559:17:12", + "value": { + "kind": "number", + "nativeSrc": "4573:3:12", + "nodeType": "YulLiteral", + "src": "4573:3:12", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4563:6:12", + "nodeType": "YulTypedName", + "src": "4563:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4590:63:12", + "nodeType": "YulAssignment", + "src": "4590:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4625:9:12", + "nodeType": "YulIdentifier", + "src": "4625:9:12" + }, + { + "name": "offset", + "nativeSrc": "4636:6:12", + "nodeType": "YulIdentifier", + "src": "4636:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4621:3:12", + "nodeType": "YulIdentifier", + "src": "4621:3:12" + }, + "nativeSrc": "4621:22:12", + "nodeType": "YulFunctionCall", + "src": "4621:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4645:7:12", + "nodeType": "YulIdentifier", + "src": "4645:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4600:20:12", + "nodeType": "YulIdentifier", + "src": "4600:20:12" + }, + "nativeSrc": "4600:53:12", + "nodeType": "YulFunctionCall", + "src": "4600:53:12" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "4590:6:12", + "nodeType": "YulIdentifier", + "src": "4590:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4673:119:12", + "nodeType": "YulBlock", + "src": "4673:119:12", + "statements": [ + { + "nativeSrc": "4688:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4688:17:12", + "value": { + "kind": "number", + "nativeSrc": "4702:3:12", + "nodeType": "YulLiteral", + "src": "4702:3:12", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4692:6:12", + "nodeType": "YulTypedName", + "src": "4692:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4719:63:12", + "nodeType": "YulAssignment", + "src": "4719:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4754:9:12", + "nodeType": "YulIdentifier", + "src": "4754:9:12" + }, + { + "name": "offset", + "nativeSrc": "4765:6:12", + "nodeType": "YulIdentifier", + "src": "4765:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4750:3:12", + "nodeType": "YulIdentifier", + "src": "4750:3:12" + }, + "nativeSrc": "4750:22:12", + "nodeType": "YulFunctionCall", + "src": "4750:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4774:7:12", + "nodeType": "YulIdentifier", + "src": "4774:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4729:20:12", + "nodeType": "YulIdentifier", + "src": "4729:20:12" + }, + "nativeSrc": "4729:53:12", + "nodeType": "YulFunctionCall", + "src": "4729:53:12" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "4719:6:12", + "nodeType": "YulIdentifier", + "src": "4719:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256", + "nativeSrc": "3416:1383:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3516:9:12", + "nodeType": "YulTypedName", + "src": "3516:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3527:7:12", + "nodeType": "YulTypedName", + "src": "3527:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3539:6:12", + "nodeType": "YulTypedName", + "src": "3539:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3547:6:12", + "nodeType": "YulTypedName", + "src": "3547:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3555:6:12", + "nodeType": "YulTypedName", + "src": "3555:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3563:6:12", + "nodeType": "YulTypedName", + "src": "3563:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3571:6:12", + "nodeType": "YulTypedName", + "src": "3571:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "3579:6:12", + "nodeType": "YulTypedName", + "src": "3579:6:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "3587:6:12", + "nodeType": "YulTypedName", + "src": "3587:6:12", + "type": "" + } + ], + "src": "3416:1383:12" + }, + { + "body": { + "nativeSrc": "4870:53:12", + "nodeType": "YulBlock", + "src": "4870:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4887:3:12", + "nodeType": "YulIdentifier", + "src": "4887:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4910:5:12", + "nodeType": "YulIdentifier", + "src": "4910:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4892:17:12", + "nodeType": "YulIdentifier", + "src": "4892:17:12" + }, + "nativeSrc": "4892:24:12", + "nodeType": "YulFunctionCall", + "src": "4892:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4880:6:12", + "nodeType": "YulIdentifier", + "src": "4880:6:12" + }, + "nativeSrc": "4880:37:12", + "nodeType": "YulFunctionCall", + "src": "4880:37:12" + }, + "nativeSrc": "4880:37:12", + "nodeType": "YulExpressionStatement", + "src": "4880:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4805:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4858:5:12", + "nodeType": "YulTypedName", + "src": "4858:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4865:3:12", + "nodeType": "YulTypedName", + "src": "4865:3:12", + "type": "" + } + ], + "src": "4805:118:12" + }, + { + "body": { + "nativeSrc": "5027:124:12", + "nodeType": "YulBlock", + "src": "5027:124:12", + "statements": [ + { + "nativeSrc": "5037:26:12", + "nodeType": "YulAssignment", + "src": "5037:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5049:9:12", + "nodeType": "YulIdentifier", + "src": "5049:9:12" + }, + { + "kind": "number", + "nativeSrc": "5060:2:12", + "nodeType": "YulLiteral", + "src": "5060:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5045:3:12", + "nodeType": "YulIdentifier", + "src": "5045:3:12" + }, + "nativeSrc": "5045:18:12", + "nodeType": "YulFunctionCall", + "src": "5045:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5037:4:12", + "nodeType": "YulIdentifier", + "src": "5037:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5117:6:12", + "nodeType": "YulIdentifier", + "src": "5117:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5130:9:12", + "nodeType": "YulIdentifier", + "src": "5130:9:12" + }, + { + "kind": "number", + "nativeSrc": "5141:1:12", + "nodeType": "YulLiteral", + "src": "5141:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5126:3:12", + "nodeType": "YulIdentifier", + "src": "5126:3:12" + }, + "nativeSrc": "5126:17:12", + "nodeType": "YulFunctionCall", + "src": "5126:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5073:43:12", + "nodeType": "YulIdentifier", + "src": "5073:43:12" + }, + "nativeSrc": "5073:71:12", + "nodeType": "YulFunctionCall", + "src": "5073:71:12" + }, + "nativeSrc": "5073:71:12", + "nodeType": "YulExpressionStatement", + "src": "5073:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4929:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4999:9:12", + "nodeType": "YulTypedName", + "src": "4999:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5011:6:12", + "nodeType": "YulTypedName", + "src": "5011:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5022:4:12", + "nodeType": "YulTypedName", + "src": "5022:4:12", + "type": "" + } + ], + "src": "4929:222:12" + }, + { + "body": { + "nativeSrc": "5216:40:12", + "nodeType": "YulBlock", + "src": "5216:40:12", + "statements": [ + { + "nativeSrc": "5227:22:12", + "nodeType": "YulAssignment", + "src": "5227:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5243:5:12", + "nodeType": "YulIdentifier", + "src": "5243:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5237:5:12", + "nodeType": "YulIdentifier", + "src": "5237:5:12" + }, + "nativeSrc": "5237:12:12", + "nodeType": "YulFunctionCall", + "src": "5237:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5227:6:12", + "nodeType": "YulIdentifier", + "src": "5227:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5157:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5199:5:12", + "nodeType": "YulTypedName", + "src": "5199:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5209:6:12", + "nodeType": "YulTypedName", + "src": "5209:6:12", + "type": "" + } + ], + "src": "5157:99:12" + }, + { + "body": { + "nativeSrc": "5358:73:12", + "nodeType": "YulBlock", + "src": "5358:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5375:3:12", + "nodeType": "YulIdentifier", + "src": "5375:3:12" + }, + { + "name": "length", + "nativeSrc": "5380:6:12", + "nodeType": "YulIdentifier", + "src": "5380:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5368:6:12", + "nodeType": "YulIdentifier", + "src": "5368:6:12" + }, + "nativeSrc": "5368:19:12", + "nodeType": "YulFunctionCall", + "src": "5368:19:12" + }, + "nativeSrc": "5368:19:12", + "nodeType": "YulExpressionStatement", + "src": "5368:19:12" + }, + { + "nativeSrc": "5396:29:12", + "nodeType": "YulAssignment", + "src": "5396:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5415:3:12", + "nodeType": "YulIdentifier", + "src": "5415:3:12" + }, + { + "kind": "number", + "nativeSrc": "5420:4:12", + "nodeType": "YulLiteral", + "src": "5420:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5411:3:12", + "nodeType": "YulIdentifier", + "src": "5411:3:12" + }, + "nativeSrc": "5411:14:12", + "nodeType": "YulFunctionCall", + "src": "5411:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "5396:11:12", + "nodeType": "YulIdentifier", + "src": "5396:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5262:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5330:3:12", + "nodeType": "YulTypedName", + "src": "5330:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5335:6:12", + "nodeType": "YulTypedName", + "src": "5335:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "5346:11:12", + "nodeType": "YulTypedName", + "src": "5346:11:12", + "type": "" + } + ], + "src": "5262:169:12" + }, + { + "body": { + "nativeSrc": "5499:184:12", + "nodeType": "YulBlock", + "src": "5499:184:12", + "statements": [ + { + "nativeSrc": "5509:10:12", + "nodeType": "YulVariableDeclaration", + "src": "5509:10:12", + "value": { + "kind": "number", + "nativeSrc": "5518:1:12", + "nodeType": "YulLiteral", + "src": "5518:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5513:1:12", + "nodeType": "YulTypedName", + "src": "5513:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5578:63:12", + "nodeType": "YulBlock", + "src": "5578:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5603:3:12", + "nodeType": "YulIdentifier", + "src": "5603:3:12" + }, + { + "name": "i", + "nativeSrc": "5608:1:12", + "nodeType": "YulIdentifier", + "src": "5608:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5599:3:12", + "nodeType": "YulIdentifier", + "src": "5599:3:12" + }, + "nativeSrc": "5599:11:12", + "nodeType": "YulFunctionCall", + "src": "5599:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5622:3:12", + "nodeType": "YulIdentifier", + "src": "5622:3:12" + }, + { + "name": "i", + "nativeSrc": "5627:1:12", + "nodeType": "YulIdentifier", + "src": "5627:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5618:3:12", + "nodeType": "YulIdentifier", + "src": "5618:3:12" + }, + "nativeSrc": "5618:11:12", + "nodeType": "YulFunctionCall", + "src": "5618:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5612:5:12", + "nodeType": "YulIdentifier", + "src": "5612:5:12" + }, + "nativeSrc": "5612:18:12", + "nodeType": "YulFunctionCall", + "src": "5612:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5592:6:12", + "nodeType": "YulIdentifier", + "src": "5592:6:12" + }, + "nativeSrc": "5592:39:12", + "nodeType": "YulFunctionCall", + "src": "5592:39:12" + }, + "nativeSrc": "5592:39:12", + "nodeType": "YulExpressionStatement", + "src": "5592:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5539:1:12", + "nodeType": "YulIdentifier", + "src": "5539:1:12" + }, + { + "name": "length", + "nativeSrc": "5542:6:12", + "nodeType": "YulIdentifier", + "src": "5542:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5536:2:12", + "nodeType": "YulIdentifier", + "src": "5536:2:12" + }, + "nativeSrc": "5536:13:12", + "nodeType": "YulFunctionCall", + "src": "5536:13:12" + }, + "nativeSrc": "5528:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5550:19:12", + "nodeType": "YulBlock", + "src": "5550:19:12", + "statements": [ + { + "nativeSrc": "5552:15:12", + "nodeType": "YulAssignment", + "src": "5552:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5561:1:12", + "nodeType": "YulIdentifier", + "src": "5561:1:12" + }, + { + "kind": "number", + "nativeSrc": "5564:2:12", + "nodeType": "YulLiteral", + "src": "5564:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5557:3:12", + "nodeType": "YulIdentifier", + "src": "5557:3:12" + }, + "nativeSrc": "5557:10:12", + "nodeType": "YulFunctionCall", + "src": "5557:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5552:1:12", + "nodeType": "YulIdentifier", + "src": "5552:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5532:3:12", + "nodeType": "YulBlock", + "src": "5532:3:12", + "statements": [] + }, + "src": "5528:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5661:3:12", + "nodeType": "YulIdentifier", + "src": "5661:3:12" + }, + { + "name": "length", + "nativeSrc": "5666:6:12", + "nodeType": "YulIdentifier", + "src": "5666:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5657:3:12", + "nodeType": "YulIdentifier", + "src": "5657:3:12" + }, + "nativeSrc": "5657:16:12", + "nodeType": "YulFunctionCall", + "src": "5657:16:12" + }, + { + "kind": "number", + "nativeSrc": "5675:1:12", + "nodeType": "YulLiteral", + "src": "5675:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5650:6:12", + "nodeType": "YulIdentifier", + "src": "5650:6:12" + }, + "nativeSrc": "5650:27:12", + "nodeType": "YulFunctionCall", + "src": "5650:27:12" + }, + "nativeSrc": "5650:27:12", + "nodeType": "YulExpressionStatement", + "src": "5650:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5437:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "5481:3:12", + "nodeType": "YulTypedName", + "src": "5481:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "5486:3:12", + "nodeType": "YulTypedName", + "src": "5486:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5491:6:12", + "nodeType": "YulTypedName", + "src": "5491:6:12", + "type": "" + } + ], + "src": "5437:246:12" + }, + { + "body": { + "nativeSrc": "5781:285:12", + "nodeType": "YulBlock", + "src": "5781:285:12", + "statements": [ + { + "nativeSrc": "5791:53:12", + "nodeType": "YulVariableDeclaration", + "src": "5791:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5838:5:12", + "nodeType": "YulIdentifier", + "src": "5838:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5805:32:12", + "nodeType": "YulIdentifier", + "src": "5805:32:12" + }, + "nativeSrc": "5805:39:12", + "nodeType": "YulFunctionCall", + "src": "5805:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5795:6:12", + "nodeType": "YulTypedName", + "src": "5795:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5853:78:12", + "nodeType": "YulAssignment", + "src": "5853:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5919:3:12", + "nodeType": "YulIdentifier", + "src": "5919:3:12" + }, + { + "name": "length", + "nativeSrc": "5924:6:12", + "nodeType": "YulIdentifier", + "src": "5924:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5860:58:12", + "nodeType": "YulIdentifier", + "src": "5860:58:12" + }, + "nativeSrc": "5860:71:12", + "nodeType": "YulFunctionCall", + "src": "5860:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5853:3:12", + "nodeType": "YulIdentifier", + "src": "5853:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5979:5:12", + "nodeType": "YulIdentifier", + "src": "5979:5:12" + }, + { + "kind": "number", + "nativeSrc": "5986:4:12", + "nodeType": "YulLiteral", + "src": "5986:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5975:3:12", + "nodeType": "YulIdentifier", + "src": "5975:3:12" + }, + "nativeSrc": "5975:16:12", + "nodeType": "YulFunctionCall", + "src": "5975:16:12" + }, + { + "name": "pos", + "nativeSrc": "5993:3:12", + "nodeType": "YulIdentifier", + "src": "5993:3:12" + }, + { + "name": "length", + "nativeSrc": "5998:6:12", + "nodeType": "YulIdentifier", + "src": "5998:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5940:34:12", + "nodeType": "YulIdentifier", + "src": "5940:34:12" + }, + "nativeSrc": "5940:65:12", + "nodeType": "YulFunctionCall", + "src": "5940:65:12" + }, + "nativeSrc": "5940:65:12", + "nodeType": "YulExpressionStatement", + "src": "5940:65:12" + }, + { + "nativeSrc": "6014:46:12", + "nodeType": "YulAssignment", + "src": "6014:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6025:3:12", + "nodeType": "YulIdentifier", + "src": "6025:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6052:6:12", + "nodeType": "YulIdentifier", + "src": "6052:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "6030:21:12", + "nodeType": "YulIdentifier", + "src": "6030:21:12" + }, + "nativeSrc": "6030:29:12", + "nodeType": "YulFunctionCall", + "src": "6030:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6021:3:12", + "nodeType": "YulIdentifier", + "src": "6021:3:12" + }, + "nativeSrc": "6021:39:12", + "nodeType": "YulFunctionCall", + "src": "6021:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6014:3:12", + "nodeType": "YulIdentifier", + "src": "6014:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5689:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5762:5:12", + "nodeType": "YulTypedName", + "src": "5762:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5769:3:12", + "nodeType": "YulTypedName", + "src": "5769:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5777:3:12", + "nodeType": "YulTypedName", + "src": "5777:3:12", + "type": "" + } + ], + "src": "5689:377:12" + }, + { + "body": { + "nativeSrc": "6137:53:12", + "nodeType": "YulBlock", + "src": "6137:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6154:3:12", + "nodeType": "YulIdentifier", + "src": "6154:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6177:5:12", + "nodeType": "YulIdentifier", + "src": "6177:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6159:17:12", + "nodeType": "YulIdentifier", + "src": "6159:17:12" + }, + "nativeSrc": "6159:24:12", + "nodeType": "YulFunctionCall", + "src": "6159:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6147:6:12", + "nodeType": "YulIdentifier", + "src": "6147:6:12" + }, + "nativeSrc": "6147:37:12", + "nodeType": "YulFunctionCall", + "src": "6147:37:12" + }, + "nativeSrc": "6147:37:12", + "nodeType": "YulExpressionStatement", + "src": "6147:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6072:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6125:5:12", + "nodeType": "YulTypedName", + "src": "6125:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6132:3:12", + "nodeType": "YulTypedName", + "src": "6132:3:12", + "type": "" + } + ], + "src": "6072:118:12" + }, + { + "body": { + "nativeSrc": "6224:152:12", + "nodeType": "YulBlock", + "src": "6224:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6241:1:12", + "nodeType": "YulLiteral", + "src": "6241:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6244:77:12", + "nodeType": "YulLiteral", + "src": "6244:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6234:6:12", + "nodeType": "YulIdentifier", + "src": "6234:6:12" + }, + "nativeSrc": "6234:88:12", + "nodeType": "YulFunctionCall", + "src": "6234:88:12" + }, + "nativeSrc": "6234:88:12", + "nodeType": "YulExpressionStatement", + "src": "6234:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6338:1:12", + "nodeType": "YulLiteral", + "src": "6338:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6341:4:12", + "nodeType": "YulLiteral", + "src": "6341:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6331:6:12", + "nodeType": "YulIdentifier", + "src": "6331:6:12" + }, + "nativeSrc": "6331:15:12", + "nodeType": "YulFunctionCall", + "src": "6331:15:12" + }, + "nativeSrc": "6331:15:12", + "nodeType": "YulExpressionStatement", + "src": "6331:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6362:1:12", + "nodeType": "YulLiteral", + "src": "6362:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6365:4:12", + "nodeType": "YulLiteral", + "src": "6365:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6355:6:12", + "nodeType": "YulIdentifier", + "src": "6355:6:12" + }, + "nativeSrc": "6355:15:12", + "nodeType": "YulFunctionCall", + "src": "6355:15:12" + }, + "nativeSrc": "6355:15:12", + "nodeType": "YulExpressionStatement", + "src": "6355:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "6196:180:12", + "nodeType": "YulFunctionDefinition", + "src": "6196:180:12" + }, + { + "body": { + "nativeSrc": "6441:62:12", + "nodeType": "YulBlock", + "src": "6441:62:12", + "statements": [ + { + "body": { + "nativeSrc": "6475:22:12", + "nodeType": "YulBlock", + "src": "6475:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "6477:16:12", + "nodeType": "YulIdentifier", + "src": "6477:16:12" + }, + "nativeSrc": "6477:18:12", + "nodeType": "YulFunctionCall", + "src": "6477:18:12" + }, + "nativeSrc": "6477:18:12", + "nodeType": "YulExpressionStatement", + "src": "6477:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6464:5:12", + "nodeType": "YulIdentifier", + "src": "6464:5:12" + }, + { + "kind": "number", + "nativeSrc": "6471:1:12", + "nodeType": "YulLiteral", + "src": "6471:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6461:2:12", + "nodeType": "YulIdentifier", + "src": "6461:2:12" + }, + "nativeSrc": "6461:12:12", + "nodeType": "YulFunctionCall", + "src": "6461:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6454:6:12", + "nodeType": "YulIdentifier", + "src": "6454:6:12" + }, + "nativeSrc": "6454:20:12", + "nodeType": "YulFunctionCall", + "src": "6454:20:12" + }, + "nativeSrc": "6451:46:12", + "nodeType": "YulIf", + "src": "6451:46:12" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "6382:121:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6434:5:12", + "nodeType": "YulTypedName", + "src": "6434:5:12", + "type": "" + } + ], + "src": "6382:121:12" + }, + { + "body": { + "nativeSrc": "6570:82:12", + "nodeType": "YulBlock", + "src": "6570:82:12", + "statements": [ + { + "nativeSrc": "6580:16:12", + "nodeType": "YulAssignment", + "src": "6580:16:12", + "value": { + "name": "value", + "nativeSrc": "6591:5:12", + "nodeType": "YulIdentifier", + "src": "6591:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "6580:7:12", + "nodeType": "YulIdentifier", + "src": "6580:7:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6640:5:12", + "nodeType": "YulIdentifier", + "src": "6640:5:12" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "6597:42:12", + "nodeType": "YulIdentifier", + "src": "6597:42:12" + }, + "nativeSrc": "6597:49:12", + "nodeType": "YulFunctionCall", + "src": "6597:49:12" + }, + "nativeSrc": "6597:49:12", + "nodeType": "YulExpressionStatement", + "src": "6597:49:12" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "6509:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6552:5:12", + "nodeType": "YulTypedName", + "src": "6552:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "6562:7:12", + "nodeType": "YulTypedName", + "src": "6562:7:12", + "type": "" + } + ], + "src": "6509:143:12" + }, + { + "body": { + "nativeSrc": "6732:69:12", + "nodeType": "YulBlock", + "src": "6732:69:12", + "statements": [ + { + "nativeSrc": "6742:53:12", + "nodeType": "YulAssignment", + "src": "6742:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6789:5:12", + "nodeType": "YulIdentifier", + "src": "6789:5:12" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "6755:33:12", + "nodeType": "YulIdentifier", + "src": "6755:33:12" + }, + "nativeSrc": "6755:40:12", + "nodeType": "YulFunctionCall", + "src": "6755:40:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "6742:9:12", + "nodeType": "YulIdentifier", + "src": "6742:9:12" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "6658:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6712:5:12", + "nodeType": "YulTypedName", + "src": "6712:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "6722:9:12", + "nodeType": "YulTypedName", + "src": "6722:9:12", + "type": "" + } + ], + "src": "6658:143:12" + }, + { + "body": { + "nativeSrc": "6886:80:12", + "nodeType": "YulBlock", + "src": "6886:80:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6903:3:12", + "nodeType": "YulIdentifier", + "src": "6903:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6953:5:12", + "nodeType": "YulIdentifier", + "src": "6953:5:12" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "6908:44:12", + "nodeType": "YulIdentifier", + "src": "6908:44:12" + }, + "nativeSrc": "6908:51:12", + "nodeType": "YulFunctionCall", + "src": "6908:51:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6896:6:12", + "nodeType": "YulIdentifier", + "src": "6896:6:12" + }, + "nativeSrc": "6896:64:12", + "nodeType": "YulFunctionCall", + "src": "6896:64:12" + }, + "nativeSrc": "6896:64:12", + "nodeType": "YulExpressionStatement", + "src": "6896:64:12" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack", + "nativeSrc": "6807:159:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6874:5:12", + "nodeType": "YulTypedName", + "src": "6874:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6881:3:12", + "nodeType": "YulTypedName", + "src": "6881:3:12", + "type": "" + } + ], + "src": "6807:159:12" + }, + { + "body": { + "nativeSrc": "7300:788:12", + "nodeType": "YulBlock", + "src": "7300:788:12", + "statements": [ + { + "nativeSrc": "7310:27:12", + "nodeType": "YulAssignment", + "src": "7310:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7322:9:12", + "nodeType": "YulIdentifier", + "src": "7322:9:12" + }, + { + "kind": "number", + "nativeSrc": "7333:3:12", + "nodeType": "YulLiteral", + "src": "7333:3:12", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7318:3:12", + "nodeType": "YulIdentifier", + "src": "7318:3:12" + }, + "nativeSrc": "7318:19:12", + "nodeType": "YulFunctionCall", + "src": "7318:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7310:4:12", + "nodeType": "YulIdentifier", + "src": "7310:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7358:9:12", + "nodeType": "YulIdentifier", + "src": "7358:9:12" + }, + { + "kind": "number", + "nativeSrc": "7369:1:12", + "nodeType": "YulLiteral", + "src": "7369:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7354:3:12", + "nodeType": "YulIdentifier", + "src": "7354:3:12" + }, + "nativeSrc": "7354:17:12", + "nodeType": "YulFunctionCall", + "src": "7354:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7377:4:12", + "nodeType": "YulIdentifier", + "src": "7377:4:12" + }, + { + "name": "headStart", + "nativeSrc": "7383:9:12", + "nodeType": "YulIdentifier", + "src": "7383:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7373:3:12", + "nodeType": "YulIdentifier", + "src": "7373:3:12" + }, + "nativeSrc": "7373:20:12", + "nodeType": "YulFunctionCall", + "src": "7373:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7347:6:12", + "nodeType": "YulIdentifier", + "src": "7347:6:12" + }, + "nativeSrc": "7347:47:12", + "nodeType": "YulFunctionCall", + "src": "7347:47:12" + }, + "nativeSrc": "7347:47:12", + "nodeType": "YulExpressionStatement", + "src": "7347:47:12" + }, + { + "nativeSrc": "7403:86:12", + "nodeType": "YulAssignment", + "src": "7403:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7475:6:12", + "nodeType": "YulIdentifier", + "src": "7475:6:12" + }, + { + "name": "tail", + "nativeSrc": "7484:4:12", + "nodeType": "YulIdentifier", + "src": "7484:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7411:63:12", + "nodeType": "YulIdentifier", + "src": "7411:63:12" + }, + "nativeSrc": "7411:78:12", + "nodeType": "YulFunctionCall", + "src": "7411:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7403:4:12", + "nodeType": "YulIdentifier", + "src": "7403:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "7543:6:12", + "nodeType": "YulIdentifier", + "src": "7543:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7556:9:12", + "nodeType": "YulIdentifier", + "src": "7556:9:12" + }, + { + "kind": "number", + "nativeSrc": "7567:2:12", + "nodeType": "YulLiteral", + "src": "7567:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7552:3:12", + "nodeType": "YulIdentifier", + "src": "7552:3:12" + }, + "nativeSrc": "7552:18:12", + "nodeType": "YulFunctionCall", + "src": "7552:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "7499:43:12", + "nodeType": "YulIdentifier", + "src": "7499:43:12" + }, + "nativeSrc": "7499:72:12", + "nodeType": "YulFunctionCall", + "src": "7499:72:12" + }, + "nativeSrc": "7499:72:12", + "nodeType": "YulExpressionStatement", + "src": "7499:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "7625:6:12", + "nodeType": "YulIdentifier", + "src": "7625:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7638:9:12", + "nodeType": "YulIdentifier", + "src": "7638:9:12" + }, + { + "kind": "number", + "nativeSrc": "7649:2:12", + "nodeType": "YulLiteral", + "src": "7649:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7634:3:12", + "nodeType": "YulIdentifier", + "src": "7634:3:12" + }, + "nativeSrc": "7634:18:12", + "nodeType": "YulFunctionCall", + "src": "7634:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "7581:43:12", + "nodeType": "YulIdentifier", + "src": "7581:43:12" + }, + "nativeSrc": "7581:72:12", + "nodeType": "YulFunctionCall", + "src": "7581:72:12" + }, + "nativeSrc": "7581:72:12", + "nodeType": "YulExpressionStatement", + "src": "7581:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "7707:6:12", + "nodeType": "YulIdentifier", + "src": "7707:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7720:9:12", + "nodeType": "YulIdentifier", + "src": "7720:9:12" + }, + { + "kind": "number", + "nativeSrc": "7731:2:12", + "nodeType": "YulLiteral", + "src": "7731:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7716:3:12", + "nodeType": "YulIdentifier", + "src": "7716:3:12" + }, + "nativeSrc": "7716:18:12", + "nodeType": "YulFunctionCall", + "src": "7716:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7663:43:12", + "nodeType": "YulIdentifier", + "src": "7663:43:12" + }, + "nativeSrc": "7663:72:12", + "nodeType": "YulFunctionCall", + "src": "7663:72:12" + }, + "nativeSrc": "7663:72:12", + "nodeType": "YulExpressionStatement", + "src": "7663:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "7789:6:12", + "nodeType": "YulIdentifier", + "src": "7789:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7802:9:12", + "nodeType": "YulIdentifier", + "src": "7802:9:12" + }, + { + "kind": "number", + "nativeSrc": "7813:3:12", + "nodeType": "YulLiteral", + "src": "7813:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7798:3:12", + "nodeType": "YulIdentifier", + "src": "7798:3:12" + }, + "nativeSrc": "7798:19:12", + "nodeType": "YulFunctionCall", + "src": "7798:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7745:43:12", + "nodeType": "YulIdentifier", + "src": "7745:43:12" + }, + "nativeSrc": "7745:73:12", + "nodeType": "YulFunctionCall", + "src": "7745:73:12" + }, + "nativeSrc": "7745:73:12", + "nodeType": "YulExpressionStatement", + "src": "7745:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "7872:6:12", + "nodeType": "YulIdentifier", + "src": "7872:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7885:9:12", + "nodeType": "YulIdentifier", + "src": "7885:9:12" + }, + { + "kind": "number", + "nativeSrc": "7896:3:12", + "nodeType": "YulLiteral", + "src": "7896:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7881:3:12", + "nodeType": "YulIdentifier", + "src": "7881:3:12" + }, + "nativeSrc": "7881:19:12", + "nodeType": "YulFunctionCall", + "src": "7881:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7828:43:12", + "nodeType": "YulIdentifier", + "src": "7828:43:12" + }, + "nativeSrc": "7828:73:12", + "nodeType": "YulFunctionCall", + "src": "7828:73:12" + }, + "nativeSrc": "7828:73:12", + "nodeType": "YulExpressionStatement", + "src": "7828:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "7955:6:12", + "nodeType": "YulIdentifier", + "src": "7955:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7968:9:12", + "nodeType": "YulIdentifier", + "src": "7968:9:12" + }, + { + "kind": "number", + "nativeSrc": "7979:3:12", + "nodeType": "YulLiteral", + "src": "7979:3:12", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7964:3:12", + "nodeType": "YulIdentifier", + "src": "7964:3:12" + }, + "nativeSrc": "7964:19:12", + "nodeType": "YulFunctionCall", + "src": "7964:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7911:43:12", + "nodeType": "YulIdentifier", + "src": "7911:43:12" + }, + "nativeSrc": "7911:73:12", + "nodeType": "YulFunctionCall", + "src": "7911:73:12" + }, + "nativeSrc": "7911:73:12", + "nodeType": "YulExpressionStatement", + "src": "7911:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value7", + "nativeSrc": "8052:6:12", + "nodeType": "YulIdentifier", + "src": "8052:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8065:9:12", + "nodeType": "YulIdentifier", + "src": "8065:9:12" + }, + { + "kind": "number", + "nativeSrc": "8076:3:12", + "nodeType": "YulLiteral", + "src": "8076:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8061:3:12", + "nodeType": "YulIdentifier", + "src": "8061:3:12" + }, + "nativeSrc": "8061:19:12", + "nodeType": "YulFunctionCall", + "src": "8061:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack", + "nativeSrc": "7994:57:12", + "nodeType": "YulIdentifier", + "src": "7994:57:12" + }, + "nativeSrc": "7994:87:12", + "nodeType": "YulFunctionCall", + "src": "7994:87:12" + }, + "nativeSrc": "7994:87:12", + "nodeType": "YulExpressionStatement", + "src": "7994:87:12" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$3239__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed", + "nativeSrc": "6972:1116:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7216:9:12", + "nodeType": "YulTypedName", + "src": "7216:9:12", + "type": "" + }, + { + "name": "value7", + "nativeSrc": "7228:6:12", + "nodeType": "YulTypedName", + "src": "7228:6:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "7236:6:12", + "nodeType": "YulTypedName", + "src": "7236:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "7244:6:12", + "nodeType": "YulTypedName", + "src": "7244:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "7252:6:12", + "nodeType": "YulTypedName", + "src": "7252:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "7260:6:12", + "nodeType": "YulTypedName", + "src": "7260:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7268:6:12", + "nodeType": "YulTypedName", + "src": "7268:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7276:6:12", + "nodeType": "YulTypedName", + "src": "7276:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7284:6:12", + "nodeType": "YulTypedName", + "src": "7284:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7295:4:12", + "nodeType": "YulTypedName", + "src": "7295:4:12", + "type": "" + } + ], + "src": "6972:1116:12" + }, + { + "body": { + "nativeSrc": "8394:705:12", + "nodeType": "YulBlock", + "src": "8394:705:12", + "statements": [ + { + "nativeSrc": "8404:27:12", + "nodeType": "YulAssignment", + "src": "8404:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8416:9:12", + "nodeType": "YulIdentifier", + "src": "8416:9:12" + }, + { + "kind": "number", + "nativeSrc": "8427:3:12", + "nodeType": "YulLiteral", + "src": "8427:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8412:3:12", + "nodeType": "YulIdentifier", + "src": "8412:3:12" + }, + "nativeSrc": "8412:19:12", + "nodeType": "YulFunctionCall", + "src": "8412:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8404:4:12", + "nodeType": "YulIdentifier", + "src": "8404:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8452:9:12", + "nodeType": "YulIdentifier", + "src": "8452:9:12" + }, + { + "kind": "number", + "nativeSrc": "8463:1:12", + "nodeType": "YulLiteral", + "src": "8463:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8448:3:12", + "nodeType": "YulIdentifier", + "src": "8448:3:12" + }, + "nativeSrc": "8448:17:12", + "nodeType": "YulFunctionCall", + "src": "8448:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8471:4:12", + "nodeType": "YulIdentifier", + "src": "8471:4:12" + }, + { + "name": "headStart", + "nativeSrc": "8477:9:12", + "nodeType": "YulIdentifier", + "src": "8477:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8467:3:12", + "nodeType": "YulIdentifier", + "src": "8467:3:12" + }, + "nativeSrc": "8467:20:12", + "nodeType": "YulFunctionCall", + "src": "8467:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8441:6:12", + "nodeType": "YulIdentifier", + "src": "8441:6:12" + }, + "nativeSrc": "8441:47:12", + "nodeType": "YulFunctionCall", + "src": "8441:47:12" + }, + "nativeSrc": "8441:47:12", + "nodeType": "YulExpressionStatement", + "src": "8441:47:12" + }, + { + "nativeSrc": "8497:86:12", + "nodeType": "YulAssignment", + "src": "8497:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8569:6:12", + "nodeType": "YulIdentifier", + "src": "8569:6:12" + }, + { + "name": "tail", + "nativeSrc": "8578:4:12", + "nodeType": "YulIdentifier", + "src": "8578:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8505:63:12", + "nodeType": "YulIdentifier", + "src": "8505:63:12" + }, + "nativeSrc": "8505:78:12", + "nodeType": "YulFunctionCall", + "src": "8505:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8497:4:12", + "nodeType": "YulIdentifier", + "src": "8497:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "8637:6:12", + "nodeType": "YulIdentifier", + "src": "8637:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8650:9:12", + "nodeType": "YulIdentifier", + "src": "8650:9:12" + }, + { + "kind": "number", + "nativeSrc": "8661:2:12", + "nodeType": "YulLiteral", + "src": "8661:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8646:3:12", + "nodeType": "YulIdentifier", + "src": "8646:3:12" + }, + "nativeSrc": "8646:18:12", + "nodeType": "YulFunctionCall", + "src": "8646:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8593:43:12", + "nodeType": "YulIdentifier", + "src": "8593:43:12" + }, + "nativeSrc": "8593:72:12", + "nodeType": "YulFunctionCall", + "src": "8593:72:12" + }, + "nativeSrc": "8593:72:12", + "nodeType": "YulExpressionStatement", + "src": "8593:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "8719:6:12", + "nodeType": "YulIdentifier", + "src": "8719:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8732:9:12", + "nodeType": "YulIdentifier", + "src": "8732:9:12" + }, + { + "kind": "number", + "nativeSrc": "8743:2:12", + "nodeType": "YulLiteral", + "src": "8743:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8728:3:12", + "nodeType": "YulIdentifier", + "src": "8728:3:12" + }, + "nativeSrc": "8728:18:12", + "nodeType": "YulFunctionCall", + "src": "8728:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8675:43:12", + "nodeType": "YulIdentifier", + "src": "8675:43:12" + }, + "nativeSrc": "8675:72:12", + "nodeType": "YulFunctionCall", + "src": "8675:72:12" + }, + "nativeSrc": "8675:72:12", + "nodeType": "YulExpressionStatement", + "src": "8675:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "8801:6:12", + "nodeType": "YulIdentifier", + "src": "8801:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8814:9:12", + "nodeType": "YulIdentifier", + "src": "8814:9:12" + }, + { + "kind": "number", + "nativeSrc": "8825:2:12", + "nodeType": "YulLiteral", + "src": "8825:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8810:3:12", + "nodeType": "YulIdentifier", + "src": "8810:3:12" + }, + "nativeSrc": "8810:18:12", + "nodeType": "YulFunctionCall", + "src": "8810:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8757:43:12", + "nodeType": "YulIdentifier", + "src": "8757:43:12" + }, + "nativeSrc": "8757:72:12", + "nodeType": "YulFunctionCall", + "src": "8757:72:12" + }, + "nativeSrc": "8757:72:12", + "nodeType": "YulExpressionStatement", + "src": "8757:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "8883:6:12", + "nodeType": "YulIdentifier", + "src": "8883:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8896:9:12", + "nodeType": "YulIdentifier", + "src": "8896:9:12" + }, + { + "kind": "number", + "nativeSrc": "8907:3:12", + "nodeType": "YulLiteral", + "src": "8907:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8892:3:12", + "nodeType": "YulIdentifier", + "src": "8892:3:12" + }, + "nativeSrc": "8892:19:12", + "nodeType": "YulFunctionCall", + "src": "8892:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8839:43:12", + "nodeType": "YulIdentifier", + "src": "8839:43:12" + }, + "nativeSrc": "8839:73:12", + "nodeType": "YulFunctionCall", + "src": "8839:73:12" + }, + "nativeSrc": "8839:73:12", + "nodeType": "YulExpressionStatement", + "src": "8839:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "8966:6:12", + "nodeType": "YulIdentifier", + "src": "8966:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8979:9:12", + "nodeType": "YulIdentifier", + "src": "8979:9:12" + }, + { + "kind": "number", + "nativeSrc": "8990:3:12", + "nodeType": "YulLiteral", + "src": "8990:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8975:3:12", + "nodeType": "YulIdentifier", + "src": "8975:3:12" + }, + "nativeSrc": "8975:19:12", + "nodeType": "YulFunctionCall", + "src": "8975:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8922:43:12", + "nodeType": "YulIdentifier", + "src": "8922:43:12" + }, + "nativeSrc": "8922:73:12", + "nodeType": "YulFunctionCall", + "src": "8922:73:12" + }, + "nativeSrc": "8922:73:12", + "nodeType": "YulExpressionStatement", + "src": "8922:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "9063:6:12", + "nodeType": "YulIdentifier", + "src": "9063:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9076:9:12", + "nodeType": "YulIdentifier", + "src": "9076:9:12" + }, + { + "kind": "number", + "nativeSrc": "9087:3:12", + "nodeType": "YulLiteral", + "src": "9087:3:12", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9072:3:12", + "nodeType": "YulIdentifier", + "src": "9072:3:12" + }, + "nativeSrc": "9072:19:12", + "nodeType": "YulFunctionCall", + "src": "9072:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack", + "nativeSrc": "9005:57:12", + "nodeType": "YulIdentifier", + "src": "9005:57:12" + }, + "nativeSrc": "9005:87:12", + "nodeType": "YulFunctionCall", + "src": "9005:87:12" + }, + "nativeSrc": "9005:87:12", + "nodeType": "YulExpressionStatement", + "src": "9005:87:12" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$3239__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed", + "nativeSrc": "8094:1005:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8318:9:12", + "nodeType": "YulTypedName", + "src": "8318:9:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "8330:6:12", + "nodeType": "YulTypedName", + "src": "8330:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "8338:6:12", + "nodeType": "YulTypedName", + "src": "8338:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "8346:6:12", + "nodeType": "YulTypedName", + "src": "8346:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "8354:6:12", + "nodeType": "YulTypedName", + "src": "8354:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "8362:6:12", + "nodeType": "YulTypedName", + "src": "8362:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8370:6:12", + "nodeType": "YulTypedName", + "src": "8370:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8378:6:12", + "nodeType": "YulTypedName", + "src": "8378:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8389:4:12", + "nodeType": "YulTypedName", + "src": "8389:4:12", + "type": "" + } + ], + "src": "8094:1005:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$3239(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$3239(value)\n }\n\n function convert_t_enum$_AirdropType_$3239_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$3239_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$3239__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed(headStart , value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 256)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack(value7, add(headStart, 224))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$3239__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_enum$_AirdropType_$3239_to_t_uint8_fromStack(value6, add(headStart, 192))\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50600436106200002e5760003560e01c80630920be421462000033575b600080fd5b6200005160048036038101906200004b919062000374565b62000069565b60405162000060919062000457565b60405180910390f35b6000808203620000cf5760008830898989898960006040516200008c9062000142565b6200009f9897969594939291906200058e565b604051809103906000f080158015620000bc573d6000803e3d6000fd5b5090506000819050809250505062000137565b60018203620001325760008830898989886001604051620000f09062000150565b62000102979695949392919062000623565b604051809103906000f0801580156200011f573d6000803e3d6000fd5b5090506000819050809250505062000137565b600090505b979650505050505050565b61258080620006a883390190565b6120038062002c2883390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001c7826200017c565b810181811067ffffffffffffffff82111715620001e957620001e86200018d565b5b80604052505050565b6000620001fe6200015e565b90506200020c8282620001bc565b919050565b600067ffffffffffffffff8211156200022f576200022e6200018d565b5b6200023a826200017c565b9050602081019050919050565b82818337600083830152505050565b60006200026d620002678462000211565b620001f2565b9050828152602081018484840111156200028c576200028b62000177565b5b6200029984828562000247565b509392505050565b600082601f830112620002b957620002b862000172565b5b8135620002cb84826020860162000256565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030182620002d4565b9050919050565b6200031381620002f4565b81146200031f57600080fd5b50565b600081359050620003338162000308565b92915050565b6000819050919050565b6200034e8162000339565b81146200035a57600080fd5b50565b6000813590506200036e8162000343565b92915050565b600080600080600080600060e0888a03121562000396576200039562000168565b5b600088013567ffffffffffffffff811115620003b757620003b66200016d565b5b620003c58a828b01620002a1565b9750506020620003d88a828b0162000322565b9650506040620003eb8a828b016200035d565b9550506060620003fe8a828b016200035d565b9450506080620004118a828b016200035d565b93505060a0620004248a828b016200035d565b92505060c0620004378a828b016200035d565b91505092959891949750929550565b6200045181620002f4565b82525050565b60006020820190506200046e600083018462000446565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004b057808201518184015260208101905062000493565b60008484015250505050565b6000620004c98262000474565b620004d581856200047f565b9350620004e781856020860162000490565b620004f2816200017c565b840191505092915050565b620005088162000339565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106200055157620005506200050e565b5b50565b600081905062000564826200053d565b919050565b6000620005768262000554565b9050919050565b620005888162000569565b82525050565b6000610100820190508181036000830152620005ab818b620004bc565b9050620005bc602083018a62000446565b620005cb604083018962000446565b620005da6060830188620004fd565b620005e96080830187620004fd565b620005f860a0830186620004fd565b6200060760c0830185620004fd565b6200061660e08301846200057d565b9998505050505050505050565b600060e08201905081810360008301526200063f818a620004bc565b905062000650602083018962000446565b6200065f604083018862000446565b6200066e6060830187620004fd565b6200067d6080830186620004fd565b6200068c60a0830185620004fd565b6200069b60c08301846200057d565b9897505050505050505056fe60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea26469706673582212204cd4ce436aa778d507342d29768b639c0cf04f46fd105d6e069c996c9e6075b264736f6c6343000818003360806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220372f16de976df56b639eca3e408656bd4cd1ad8b78cd60f8ce05600d7ec32f5a64736f6c63430008180033a2646970667358221220da2897684e2916ac87131a332e6a04d2727997593567ccc5ff41816e451e4eae64736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x920BE42 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x374 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH3 0xCF JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH3 0x8C SWAP1 PUSH3 0x142 JUMP JUMPDEST PUSH3 0x9F SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x58E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x1 DUP3 SUB PUSH3 0x132 JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP9 PUSH1 0x1 PUSH1 0x40 MLOAD PUSH3 0xF0 SWAP1 PUSH3 0x150 JUMP JUMPDEST PUSH3 0x102 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x623 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x11F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2580 DUP1 PUSH3 0x6A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x2003 DUP1 PUSH3 0x2C28 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1C7 DUP3 PUSH3 0x17C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x1E9 JUMPI PUSH3 0x1E8 PUSH3 0x18D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FE PUSH3 0x15E JUMP JUMPDEST SWAP1 POP PUSH3 0x20C DUP3 DUP3 PUSH3 0x1BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x22F JUMPI PUSH3 0x22E PUSH3 0x18D JUMP JUMPDEST JUMPDEST PUSH3 0x23A DUP3 PUSH3 0x17C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x26D PUSH3 0x267 DUP5 PUSH3 0x211 JUMP JUMPDEST PUSH3 0x1F2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x28C JUMPI PUSH3 0x28B PUSH3 0x177 JUMP JUMPDEST JUMPDEST PUSH3 0x299 DUP5 DUP3 DUP6 PUSH3 0x247 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x2B9 JUMPI PUSH3 0x2B8 PUSH3 0x172 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x2CB DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x256 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x301 DUP3 PUSH3 0x2D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x313 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP2 EQ PUSH3 0x31F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x333 DUP2 PUSH3 0x308 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x34E DUP2 PUSH3 0x339 JUMP JUMPDEST DUP2 EQ PUSH3 0x35A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x36E DUP2 PUSH3 0x343 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x396 JUMPI PUSH3 0x395 PUSH3 0x168 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x3B7 JUMPI PUSH3 0x3B6 PUSH3 0x16D JUMP JUMPDEST JUMPDEST PUSH3 0x3C5 DUP11 DUP3 DUP12 ADD PUSH3 0x2A1 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x3D8 DUP11 DUP3 DUP12 ADD PUSH3 0x322 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x3EB DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x3FE DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x411 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x424 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x437 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x46E PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x446 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x4B0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x493 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4C9 DUP3 PUSH3 0x474 JUMP JUMPDEST PUSH3 0x4D5 DUP2 DUP6 PUSH3 0x47F JUMP JUMPDEST SWAP4 POP PUSH3 0x4E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x490 JUMP JUMPDEST PUSH3 0x4F2 DUP2 PUSH3 0x17C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x508 DUP2 PUSH3 0x339 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x551 JUMPI PUSH3 0x550 PUSH3 0x50E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH3 0x564 DUP3 PUSH3 0x53D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x576 DUP3 PUSH3 0x554 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x588 DUP2 PUSH3 0x569 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x5AB DUP2 DUP12 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x5BC PUSH1 0x20 DUP4 ADD DUP11 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5CB PUSH1 0x40 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5DA PUSH1 0x60 DUP4 ADD DUP9 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5E9 PUSH1 0x80 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5F8 PUSH1 0xA0 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x607 PUSH1 0xC0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x616 PUSH1 0xE0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x63F DUP2 DUP11 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x650 PUSH1 0x20 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x65F PUSH1 0x40 DUP4 ADD DUP9 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x66E PUSH1 0x60 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x67D PUSH1 0x80 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x68C PUSH1 0xA0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x69B PUSH1 0xC0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2580 CODESIZE SUB DUP1 PUSH3 0x2580 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x48F JUMP JUMPDEST DUP7 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x170 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP8 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7E6 JUMP JUMPDEST POP DUP5 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x8CD JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP PUSH3 0x8FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x29D DUP3 PUSH3 0x252 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BF JUMPI PUSH3 0x2BE PUSH3 0x263 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D4 PUSH3 0x234 JUMP JUMPDEST SWAP1 POP PUSH3 0x2E2 DUP3 DUP3 PUSH3 0x292 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x305 JUMPI PUSH3 0x304 PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x310 DUP3 PUSH3 0x252 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x33D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x320 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x360 PUSH3 0x35A DUP5 PUSH3 0x2E7 JUMP JUMPDEST PUSH3 0x2C8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x24D JUMP JUMPDEST JUMPDEST PUSH3 0x38C DUP5 DUP3 DUP6 PUSH3 0x31D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3AC JUMPI PUSH3 0x3AB PUSH3 0x248 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3BE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x349 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3F4 DUP3 PUSH3 0x3C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x406 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP2 EQ PUSH3 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x426 DUP2 PUSH3 0x3FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x441 DUP2 PUSH3 0x42C JUMP JUMPDEST DUP2 EQ PUSH3 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x461 DUP2 PUSH3 0x436 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x475 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x489 DUP2 PUSH3 0x467 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH3 0x4B2 PUSH3 0x23E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP10 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4D4 JUMPI PUSH3 0x4D3 PUSH3 0x243 JUMP JUMPDEST JUMPDEST PUSH3 0x4E2 DUP12 DUP3 DUP13 ADD PUSH3 0x394 JUMP JUMPDEST SWAP9 POP POP PUSH1 0x20 PUSH3 0x4F5 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x40 PUSH3 0x508 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x60 PUSH3 0x51B DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x80 PUSH3 0x52E DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP5 POP POP PUSH1 0xA0 PUSH3 0x541 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xC0 PUSH3 0x554 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 PUSH3 0x567 DUP12 DUP3 DUP13 ADD PUSH3 0x478 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH3 0x582 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x59F PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x60E JUMPI PUSH3 0x60D PUSH3 0x5B0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x678 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x639 JUMP JUMPDEST PUSH3 0x684 DUP7 DUP4 PUSH3 0x639 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6C7 PUSH3 0x6C1 PUSH3 0x6BB DUP5 PUSH3 0x42C JUMP JUMPDEST PUSH3 0x69C JUMP JUMPDEST PUSH3 0x42C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6E3 DUP4 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6FB PUSH3 0x6F2 DUP3 PUSH3 0x6CE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x646 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x712 PUSH3 0x703 JUMP JUMPDEST PUSH3 0x71F DUP2 DUP5 DUP5 PUSH3 0x6D8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x747 JUMPI PUSH3 0x73B PUSH1 0x0 DUP3 PUSH3 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x725 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x796 JUMPI PUSH3 0x760 DUP2 PUSH3 0x614 JUMP JUMPDEST PUSH3 0x76B DUP5 PUSH3 0x629 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x77B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x793 PUSH3 0x78A DUP6 PUSH3 0x629 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x724 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7BB PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x79B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7D6 DUP4 DUP4 PUSH3 0x7A8 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7F1 DUP3 PUSH3 0x5A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x80D JUMPI PUSH3 0x80C PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x819 DUP3 SLOAD PUSH3 0x5DF JUMP JUMPDEST PUSH3 0x826 DUP3 DUP3 DUP6 PUSH3 0x74B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x85E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x849 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x855 DUP6 DUP3 PUSH3 0x7C8 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8C5 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x86E DUP7 PUSH3 0x614 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x898 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x871 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x8B8 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x8B4 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x7A8 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1C74 DUP1 PUSH3 0x90C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4C 0xD4 0xCE NUMBER PUSH11 0xA778D507342D29768B639C 0xC CREATE 0x4F CHAINID REVERT LT TSTORE PUSH15 0x69C996C9E6075B264736F6C634300 ADDMOD XOR STOP CALLER PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2003 CODESIZE SUB DUP1 PUSH3 0x2003 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x487 JUMP JUMPDEST DUP6 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x56A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP7 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7C8 JUMP JUMPDEST POP DUP4 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x156 JUMPI PUSH3 0x155 PUSH3 0x8AF JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP PUSH3 0x8DE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x46D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x481 DUP2 PUSH3 0x45F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x4A9 JUMPI PUSH3 0x4A8 PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4CA JUMPI PUSH3 0x4C9 PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4D8 DUP11 DUP3 DUP12 ADD PUSH3 0x38C JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x4EB DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x4FE DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x511 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x524 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x537 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x54A DUP11 DUP3 DUP12 ADD PUSH3 0x470 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x564 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x581 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5F0 JUMPI PUSH3 0x5EF PUSH3 0x592 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x65A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x61B JUMP JUMPDEST PUSH3 0x666 DUP7 DUP4 PUSH3 0x61B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6A9 PUSH3 0x6A3 PUSH3 0x69D DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x67E JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6C5 DUP4 PUSH3 0x688 JUMP JUMPDEST PUSH3 0x6DD PUSH3 0x6D4 DUP3 PUSH3 0x6B0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x628 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6F4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x701 DUP2 DUP5 DUP5 PUSH3 0x6BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x729 JUMPI PUSH3 0x71D PUSH1 0x0 DUP3 PUSH3 0x6EA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x778 JUMPI PUSH3 0x742 DUP2 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x74D DUP5 PUSH3 0x60B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x75D JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x775 PUSH3 0x76C DUP6 PUSH3 0x60B JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x706 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x77D JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7B8 DUP4 DUP4 PUSH3 0x78A JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7D3 DUP3 PUSH3 0x587 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7EF JUMPI PUSH3 0x7EE PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7FB DUP3 SLOAD PUSH3 0x5C1 JUMP JUMPDEST PUSH3 0x808 DUP3 DUP3 DUP6 PUSH3 0x72D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x840 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x82B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x837 DUP6 DUP3 PUSH3 0x7AA JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8A7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x850 DUP7 PUSH3 0x5F6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x87A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x853 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x89A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x896 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x78A JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1715 DUP1 PUSH3 0x8EE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0x2F AND 0xDE SWAP8 PUSH14 0xF56B639ECA3E408656BD4CD1AD8B PUSH25 0xCD60F8CE05600D7EC32F5A64736F6C63430008180033A26469 PUSH17 0x667358221220DA2897684E2916AC87131A CALLER 0x2E PUSH11 0x4D2727997593567CCC5FF COINBASE DUP2 PUSH15 0x451E4EAE64736F6C63430008180033 ", + "sourceMap": "155:1329:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;214:1268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;474:7;505:1;497:4;:9;493:983;;522:33;597:11;634:4;657:12;687:7;712:18;748:11;777:14;809:18;558:283;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;522:319;;855:22;888:15;855:49;;925:14;918:21;;;;;;493:983;968:1;960:4;:9;956:520;;985:39;1076:11;1117:4;1144:12;1178:7;1207:18;1247:14;1283:18;1027:292;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;985:334;;1333:22;1366:15;1333:49;;1403:14;1396:21;;;;;;956:520;1463:1;1448:17;;214:1268;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:126::-;2590:7;2630:42;2623:5;2619:54;2608:65;;2553:126;;;:::o;2685:96::-;2722:7;2751:24;2769:5;2751:24;:::i;:::-;2740:35;;2685:96;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:1383::-;3539:6;3547;3555;3563;3571;3579;3587;3636:3;3624:9;3615:7;3611:23;3607:33;3604:120;;;3643:79;;:::i;:::-;3604:120;3791:1;3780:9;3776:17;3763:31;3821:18;3813:6;3810:30;3807:117;;;3843:79;;:::i;:::-;3807:117;3948:63;4003:7;3994:6;3983:9;3979:22;3948:63;:::i;:::-;3938:73;;3734:287;4060:2;4086:53;4131:7;4122:6;4111:9;4107:22;4086:53;:::i;:::-;4076:63;;4031:118;4188:2;4214:53;4259:7;4250:6;4239:9;4235:22;4214:53;:::i;:::-;4204:63;;4159:118;4316:2;4342:53;4387:7;4378:6;4367:9;4363:22;4342:53;:::i;:::-;4332:63;;4287:118;4444:3;4471:53;4516:7;4507:6;4496:9;4492:22;4471:53;:::i;:::-;4461:63;;4415:119;4573:3;4600:53;4645:7;4636:6;4625:9;4621:22;4600:53;:::i;:::-;4590:63;;4544:119;4702:3;4729:53;4774:7;4765:6;4754:9;4750:22;4729:53;:::i;:::-;4719:63;;4673:119;3416:1383;;;;;;;;;;:::o;4805:118::-;4892:24;4910:5;4892:24;:::i;:::-;4887:3;4880:37;4805:118;;:::o;4929:222::-;5022:4;5060:2;5049:9;5045:18;5037:26;;5073:71;5141:1;5130:9;5126:17;5117:6;5073:71;:::i;:::-;4929:222;;;;:::o;5157:99::-;5209:6;5243:5;5237:12;5227:22;;5157:99;;;:::o;5262:169::-;5346:11;5380:6;5375:3;5368:19;5420:4;5415:3;5411:14;5396:29;;5262:169;;;;:::o;5437:246::-;5518:1;5528:113;5542:6;5539:1;5536:13;5528:113;;;5627:1;5622:3;5618:11;5612:18;5608:1;5603:3;5599:11;5592:39;5564:2;5561:1;5557:10;5552:15;;5528:113;;;5675:1;5666:6;5661:3;5657:16;5650:27;5499:184;5437:246;;;:::o;5689:377::-;5777:3;5805:39;5838:5;5805:39;:::i;:::-;5860:71;5924:6;5919:3;5860:71;:::i;:::-;5853:78;;5940:65;5998:6;5993:3;5986:4;5979:5;5975:16;5940:65;:::i;:::-;6030:29;6052:6;6030:29;:::i;:::-;6025:3;6021:39;6014:46;;5781:285;5689:377;;;;:::o;6072:118::-;6159:24;6177:5;6159:24;:::i;:::-;6154:3;6147:37;6072:118;;:::o;6196:180::-;6244:77;6241:1;6234:88;6341:4;6338:1;6331:15;6365:4;6362:1;6355:15;6382:121;6471:1;6464:5;6461:12;6451:46;;6477:18;;:::i;:::-;6451:46;6382:121;:::o;6509:143::-;6562:7;6591:5;6580:16;;6597:49;6640:5;6597:49;:::i;:::-;6509:143;;;:::o;6658:::-;6722:9;6755:40;6789:5;6755:40;:::i;:::-;6742:53;;6658:143;;;:::o;6807:159::-;6908:51;6953:5;6908:51;:::i;:::-;6903:3;6896:64;6807:159;;:::o;6972:1116::-;7295:4;7333:3;7322:9;7318:19;7310:27;;7383:9;7377:4;7373:20;7369:1;7358:9;7354:17;7347:47;7411:78;7484:4;7475:6;7411:78;:::i;:::-;7403:86;;7499:72;7567:2;7556:9;7552:18;7543:6;7499:72;:::i;:::-;7581;7649:2;7638:9;7634:18;7625:6;7581:72;:::i;:::-;7663;7731:2;7720:9;7716:18;7707:6;7663:72;:::i;:::-;7745:73;7813:3;7802:9;7798:19;7789:6;7745:73;:::i;:::-;7828;7896:3;7885:9;7881:19;7872:6;7828:73;:::i;:::-;7911;7979:3;7968:9;7964:19;7955:6;7911:73;:::i;:::-;7994:87;8076:3;8065:9;8061:19;8052:6;7994:87;:::i;:::-;6972:1116;;;;;;;;;;;:::o;8094:1005::-;8389:4;8427:3;8416:9;8412:19;8404:27;;8477:9;8471:4;8467:20;8463:1;8452:9;8448:17;8441:47;8505:78;8578:4;8569:6;8505:78;:::i;:::-;8497:86;;8593:72;8661:2;8650:9;8646:18;8637:6;8593:72;:::i;:::-;8675;8743:2;8732:9;8728:18;8719:6;8675:72;:::i;:::-;8757;8825:2;8814:9;8810:18;8801:6;8757:72;:::i;:::-;8839:73;8907:3;8896:9;8892:19;8883:6;8839:73;:::i;:::-;8922;8990:3;8979:9;8975:19;8966:6;8922:73;:::i;:::-;9005:87;9087:3;9076:9;9072:19;9063:6;9005:87;:::i;:::-;8094:1005;;;;;;;;;;:::o" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256,uint256,uint256)": "0920be42" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mode\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AirdropDeployerERC1155.sol\":\"AirdropDeployerERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]},\"contracts/AirdropDeployerERC1155.sol\":{\"keccak256\":\"0x774b00642ce1e66a1c1e5e5d3c171103aaf42931b1a08e326209a132cbabbad7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb089554ade6d85e0d1f41fd77574f95193b7f1c04c23399f4daecfc6d197405\",\"dweb:/ipfs/Qman76HaJkNdamUdpzRpYoS9nGL9yoHb6d76yj63ohufhX\"]},\"contracts/CustomAirdrop1155.sol\":{\"keccak256\":\"0xd8ff3168b2ebcdc7d2877f4cf04e424d17706ce750a1d6e60f45dd905e887ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ee5b27eb96e9684d4987ca934683eab2a0aa1afec2f958580e20c1e2a89028\",\"dweb:/ipfs/QmZKNTKcF9xMdhyfrhZJCfKpALBkFCtgqmb9edCsfxLU5Q\"]},\"contracts/CustomAirdrop1155Merkle.sol\":{\"keccak256\":\"0x812379e19ede26fcca8f9d802295c9044900466fe3f39c34c82b9a8b68dd6be3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d371bcc9730a102cad7147b9f769faf68652e967fad14f017e8137e5d95314\",\"dweb:/ipfs/QmborPgXUzdTW3vuqCaXHXjNdPCBpvSwrKLQpJ3cQ1EsJ5\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/AirdropDeployerERC20.sol": { + "AirdropDeployerERC20": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_1487": { + "entryPoint": null, + "id": 1487, + "parameterSlots": 0, + "returnSlots": 0 + } + }, + "generatedSources": [], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50612238806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200002e5760003560e01c8063d171b5191462000033575b600080fd5b6200005160048036038101906200004b9190620002e8565b62000069565b604051620000609190620003a0565b60405180910390f35b6000808630878787876040516200008090620000c4565b620000919695949392919062000457565b604051809103906000f080158015620000ae573d6000803e3d6000fd5b5090506000819050809250505095945050505050565b611d3780620004cc83390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200013b82620000f0565b810181811067ffffffffffffffff821117156200015d576200015c62000101565b5b80604052505050565b600062000172620000d2565b905062000180828262000130565b919050565b600067ffffffffffffffff821115620001a357620001a262000101565b5b620001ae82620000f0565b9050602081019050919050565b82818337600083830152505050565b6000620001e1620001db8462000185565b62000166565b9050828152602081018484840111156200020057620001ff620000eb565b5b6200020d848285620001bb565b509392505050565b600082601f8301126200022d576200022c620000e6565b5b81356200023f848260208601620001ca565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002758262000248565b9050919050565b620002878162000268565b81146200029357600080fd5b50565b600081359050620002a7816200027c565b92915050565b6000819050919050565b620002c281620002ad565b8114620002ce57600080fd5b50565b600081359050620002e281620002b7565b92915050565b600080600080600060a08688031215620003075762000306620000dc565b5b600086013567ffffffffffffffff811115620003285762000327620000e1565b5b620003368882890162000215565b9550506020620003498882890162000296565b94505060406200035c88828901620002d1565b93505060606200036f88828901620002d1565b92505060806200038288828901620002d1565b9150509295509295909350565b6200039a8162000268565b82525050565b6000602082019050620003b760008301846200038f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620003f9578082015181840152602081019050620003dc565b60008484015250505050565b60006200041282620003bd565b6200041e8185620003c8565b935062000430818560208601620003d9565b6200043b81620000f0565b840191505092915050565b6200045181620002ad565b82525050565b600060c082019050818103600083015262000473818962000405565b90506200048460208301886200038f565b6200049360408301876200038f565b620004a2606083018662000446565b620004b1608083018562000446565b620004c060a083018462000446565b97965050505050505056fe60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea2646970667358221220dc7478e0f77c19ad5b5cce42402c417ece1788d5fc13eab8340b1e173ba67c1764736f6c63430008180033a264697066735822122055e0b36c0e627785c1c66a7ff8f551ee377f434128e6116112d541d943312a1664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2238 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD171B519 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x2E8 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x3A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP7 ADDRESS DUP8 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH3 0x80 SWAP1 PUSH3 0xC4 JUMP JUMPDEST PUSH3 0x91 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1D37 DUP1 PUSH3 0x4CC DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x13B DUP3 PUSH3 0xF0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x101 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x172 PUSH3 0xD2 JUMP JUMPDEST SWAP1 POP PUSH3 0x180 DUP3 DUP3 PUSH3 0x130 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x1A3 JUMPI PUSH3 0x1A2 PUSH3 0x101 JUMP JUMPDEST JUMPDEST PUSH3 0x1AE DUP3 PUSH3 0xF0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E1 PUSH3 0x1DB DUP5 PUSH3 0x185 JUMP JUMPDEST PUSH3 0x166 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x200 JUMPI PUSH3 0x1FF PUSH3 0xEB JUMP JUMPDEST JUMPDEST PUSH3 0x20D DUP5 DUP3 DUP6 PUSH3 0x1BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x22D JUMPI PUSH3 0x22C PUSH3 0xE6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x23F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x275 DUP3 PUSH3 0x248 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x287 DUP2 PUSH3 0x268 JUMP JUMPDEST DUP2 EQ PUSH3 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2A7 DUP2 PUSH3 0x27C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2C2 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP2 EQ PUSH3 0x2CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2E2 DUP2 PUSH3 0x2B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH3 0x307 JUMPI PUSH3 0x306 PUSH3 0xDC JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x328 JUMPI PUSH3 0x327 PUSH3 0xE1 JUMP JUMPDEST JUMPDEST PUSH3 0x336 DUP9 DUP3 DUP10 ADD PUSH3 0x215 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH3 0x349 DUP9 DUP3 DUP10 ADD PUSH3 0x296 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH3 0x35C DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH3 0x36F DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH3 0x382 DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH3 0x39A DUP2 PUSH3 0x268 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x3B7 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x38F 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3F9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3DC JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x412 DUP3 PUSH3 0x3BD JUMP JUMPDEST PUSH3 0x41E DUP2 DUP6 PUSH3 0x3C8 JUMP JUMPDEST SWAP4 POP PUSH3 0x430 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x3D9 JUMP JUMPDEST PUSH3 0x43B DUP2 PUSH3 0xF0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x473 DUP2 DUP10 PUSH3 0x405 JUMP JUMPDEST SWAP1 POP PUSH3 0x484 PUSH1 0x20 DUP4 ADD DUP9 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x493 PUSH1 0x40 DUP4 ADD DUP8 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x4A2 PUSH1 0x60 DUP4 ADD DUP7 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4B1 PUSH1 0x80 DUP4 ADD DUP6 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4C0 PUSH1 0xA0 DUP4 ADD DUP5 PUSH3 0x446 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D37 CODESIZE SUB DUP1 PUSH3 0x1D37 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x45F JUMP JUMPDEST DUP5 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 PUSH1 0x6 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x789 JUMP JUMPDEST POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x157 JUMPI PUSH3 0x156 PUSH3 0x870 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP PUSH3 0x89F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x47F JUMPI PUSH3 0x47E PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4AE DUP10 DUP3 DUP11 ADD PUSH3 0x38C JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH3 0x4C1 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH3 0x4D4 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH3 0x4E7 DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH3 0x4FA DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 PUSH3 0x50D DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH3 0x525 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x542 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x51A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5B1 JUMPI PUSH3 0x5B0 PUSH3 0x553 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x61B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5DC JUMP JUMPDEST PUSH3 0x627 DUP7 DUP4 PUSH3 0x5DC JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x66A PUSH3 0x664 PUSH3 0x65E DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x63F JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x686 DUP4 PUSH3 0x649 JUMP JUMPDEST PUSH3 0x69E PUSH3 0x695 DUP3 PUSH3 0x671 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5E9 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6B5 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6C2 DUP2 DUP5 DUP5 PUSH3 0x67B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6EA JUMPI PUSH3 0x6DE PUSH1 0x0 DUP3 PUSH3 0x6AB JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6C8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x739 JUMPI PUSH3 0x703 DUP2 PUSH3 0x5B7 JUMP JUMPDEST PUSH3 0x70E DUP5 PUSH3 0x5CC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x71E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x736 PUSH3 0x72D DUP6 PUSH3 0x5CC JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6C7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x75E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x73E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x779 DUP4 DUP4 PUSH3 0x74B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x794 DUP3 PUSH3 0x548 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7B0 JUMPI PUSH3 0x7AF PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7BC DUP3 SLOAD PUSH3 0x582 JUMP JUMPDEST PUSH3 0x7C9 DUP3 DUP3 DUP6 PUSH3 0x6EE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x801 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7EC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7F8 DUP6 DUP3 PUSH3 0x76B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x868 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x811 DUP7 PUSH3 0x5B7 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x83B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x814 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x85B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x857 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x74B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1488 DUP1 PUSH3 0x8AF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC PUSH21 0x78E0F77C19AD5B5CCE42402C417ECE1788D5FC13EA 0xB8 CALLVALUE SIGNEXTEND 0x1E OR EXTCODESIZE 0xA6 PUSH29 0x1764736F6C63430008180033A264697066735822122055E0B36C0E6277 DUP6 0xC1 0xC6 PUSH11 0x7FF8F551EE377F434128E6 GT PUSH2 0x12D5 COINBASE 0xD9 NUMBER BALANCE 0x2A AND PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "114:615:6:-:0;;;149:16;;;;;;;;;;114:615;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@deployAndAddAirdrop_1529": { + "entryPoint": 105, + "id": 1529, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 458, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 662, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 533, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 721, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256": { + "entryPoint": 744, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 911, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1029, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 1094, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 928, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 1111, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 358, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 210, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 389, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 957, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 968, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 616, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 584, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 685, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 443, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 985, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 304, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 257, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 230, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 235, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 225, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 220, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 240, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 636, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 695, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:6773:12", + "nodeType": "YulBlock", + "src": "0:6773:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1674:82:12", + "nodeType": "YulBlock", + "src": "1674:82:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:12", + "nodeType": "YulIdentifier", + "src": "1697:3:12" + }, + { + "name": "src", + "nativeSrc": "1702:3:12", + "nodeType": "YulIdentifier", + "src": "1702:3:12" + }, + { + "name": "length", + "nativeSrc": "1707:6:12", + "nodeType": "YulIdentifier", + "src": "1707:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:12", + "nodeType": "YulIdentifier", + "src": "1684:12:12" + }, + "nativeSrc": "1684:30:12", + "nodeType": "YulFunctionCall", + "src": "1684:30:12" + }, + "nativeSrc": "1684:30:12", + "nodeType": "YulExpressionStatement", + "src": "1684:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:12", + "nodeType": "YulIdentifier", + "src": "1734:3:12" + }, + { + "name": "length", + "nativeSrc": "1739:6:12", + "nodeType": "YulIdentifier", + "src": "1739:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:12", + "nodeType": "YulIdentifier", + "src": "1730:3:12" + }, + "nativeSrc": "1730:16:12", + "nodeType": "YulFunctionCall", + "src": "1730:16:12" + }, + { + "kind": "number", + "nativeSrc": "1748:1:12", + "nodeType": "YulLiteral", + "src": "1748:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:12", + "nodeType": "YulIdentifier", + "src": "1723:6:12" + }, + "nativeSrc": "1723:27:12", + "nodeType": "YulFunctionCall", + "src": "1723:27:12" + }, + "nativeSrc": "1723:27:12", + "nodeType": "YulExpressionStatement", + "src": "1723:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1610:146:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1656:3:12", + "nodeType": "YulTypedName", + "src": "1656:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1661:3:12", + "nodeType": "YulTypedName", + "src": "1661:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1666:6:12", + "nodeType": "YulTypedName", + "src": "1666:6:12", + "type": "" + } + ], + "src": "1610:146:12" + }, + { + "body": { + "nativeSrc": "1846:341:12", + "nodeType": "YulBlock", + "src": "1846:341:12", + "statements": [ + { + "nativeSrc": "1856:75:12", + "nodeType": "YulAssignment", + "src": "1856:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1923:6:12", + "nodeType": "YulIdentifier", + "src": "1923:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1881:41:12", + "nodeType": "YulIdentifier", + "src": "1881:41:12" + }, + "nativeSrc": "1881:49:12", + "nodeType": "YulFunctionCall", + "src": "1881:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:12", + "nodeType": "YulIdentifier", + "src": "1865:15:12" + }, + "nativeSrc": "1865:66:12", + "nodeType": "YulFunctionCall", + "src": "1865:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:12", + "nodeType": "YulIdentifier", + "src": "1856:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1947:5:12", + "nodeType": "YulIdentifier", + "src": "1947:5:12" + }, + { + "name": "length", + "nativeSrc": "1954:6:12", + "nodeType": "YulIdentifier", + "src": "1954:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1940:6:12", + "nodeType": "YulIdentifier", + "src": "1940:6:12" + }, + "nativeSrc": "1940:21:12", + "nodeType": "YulFunctionCall", + "src": "1940:21:12" + }, + "nativeSrc": "1940:21:12", + "nodeType": "YulExpressionStatement", + "src": "1940:21:12" + }, + { + "nativeSrc": "1970:27:12", + "nodeType": "YulVariableDeclaration", + "src": "1970:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1985:5:12", + "nodeType": "YulIdentifier", + "src": "1985:5:12" + }, + { + "kind": "number", + "nativeSrc": "1992:4:12", + "nodeType": "YulLiteral", + "src": "1992:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1981:3:12", + "nodeType": "YulIdentifier", + "src": "1981:3:12" + }, + "nativeSrc": "1981:16:12", + "nodeType": "YulFunctionCall", + "src": "1981:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1974:3:12", + "nodeType": "YulTypedName", + "src": "1974:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2035:83:12", + "nodeType": "YulBlock", + "src": "2035:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2037:77:12", + "nodeType": "YulIdentifier", + "src": "2037:77:12" + }, + "nativeSrc": "2037:79:12", + "nodeType": "YulFunctionCall", + "src": "2037:79:12" + }, + "nativeSrc": "2037:79:12", + "nodeType": "YulExpressionStatement", + "src": "2037:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2016:3:12", + "nodeType": "YulIdentifier", + "src": "2016:3:12" + }, + { + "name": "length", + "nativeSrc": "2021:6:12", + "nodeType": "YulIdentifier", + "src": "2021:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2012:3:12", + "nodeType": "YulIdentifier", + "src": "2012:3:12" + }, + "nativeSrc": "2012:16:12", + "nodeType": "YulFunctionCall", + "src": "2012:16:12" + }, + { + "name": "end", + "nativeSrc": "2030:3:12", + "nodeType": "YulIdentifier", + "src": "2030:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2009:2:12", + "nodeType": "YulIdentifier", + "src": "2009:2:12" + }, + "nativeSrc": "2009:25:12", + "nodeType": "YulFunctionCall", + "src": "2009:25:12" + }, + "nativeSrc": "2006:112:12", + "nodeType": "YulIf", + "src": "2006:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2164:3:12", + "nodeType": "YulIdentifier", + "src": "2164:3:12" + }, + { + "name": "dst", + "nativeSrc": "2169:3:12", + "nodeType": "YulIdentifier", + "src": "2169:3:12" + }, + { + "name": "length", + "nativeSrc": "2174:6:12", + "nodeType": "YulIdentifier", + "src": "2174:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2127:36:12", + "nodeType": "YulIdentifier", + "src": "2127:36:12" + }, + "nativeSrc": "2127:54:12", + "nodeType": "YulFunctionCall", + "src": "2127:54:12" + }, + "nativeSrc": "2127:54:12", + "nodeType": "YulExpressionStatement", + "src": "2127:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "1762:425:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:12", + "nodeType": "YulTypedName", + "src": "1819:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:12", + "nodeType": "YulTypedName", + "src": "1824:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:12", + "nodeType": "YulTypedName", + "src": "1832:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:12", + "nodeType": "YulTypedName", + "src": "1840:5:12", + "type": "" + } + ], + "src": "1762:425:12" + }, + { + "body": { + "nativeSrc": "2269:278:12", + "nodeType": "YulBlock", + "src": "2269:278:12", + "statements": [ + { + "body": { + "nativeSrc": "2318:83:12", + "nodeType": "YulBlock", + "src": "2318:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2320:77:12", + "nodeType": "YulIdentifier", + "src": "2320:77:12" + }, + "nativeSrc": "2320:79:12", + "nodeType": "YulFunctionCall", + "src": "2320:79:12" + }, + "nativeSrc": "2320:79:12", + "nodeType": "YulExpressionStatement", + "src": "2320:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2297:6:12", + "nodeType": "YulIdentifier", + "src": "2297:6:12" + }, + { + "kind": "number", + "nativeSrc": "2305:4:12", + "nodeType": "YulLiteral", + "src": "2305:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2293:3:12", + "nodeType": "YulIdentifier", + "src": "2293:3:12" + }, + "nativeSrc": "2293:17:12", + "nodeType": "YulFunctionCall", + "src": "2293:17:12" + }, + { + "name": "end", + "nativeSrc": "2312:3:12", + "nodeType": "YulIdentifier", + "src": "2312:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2289:3:12", + "nodeType": "YulIdentifier", + "src": "2289:3:12" + }, + "nativeSrc": "2289:27:12", + "nodeType": "YulFunctionCall", + "src": "2289:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2282:6:12", + "nodeType": "YulIdentifier", + "src": "2282:6:12" + }, + "nativeSrc": "2282:35:12", + "nodeType": "YulFunctionCall", + "src": "2282:35:12" + }, + "nativeSrc": "2279:122:12", + "nodeType": "YulIf", + "src": "2279:122:12" + }, + { + "nativeSrc": "2410:34:12", + "nodeType": "YulVariableDeclaration", + "src": "2410:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2437:6:12", + "nodeType": "YulIdentifier", + "src": "2437:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2424:12:12", + "nodeType": "YulIdentifier", + "src": "2424:12:12" + }, + "nativeSrc": "2424:20:12", + "nodeType": "YulFunctionCall", + "src": "2424:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2414:6:12", + "nodeType": "YulTypedName", + "src": "2414:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2453:88:12", + "nodeType": "YulAssignment", + "src": "2453:88:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2514:6:12", + "nodeType": "YulIdentifier", + "src": "2514:6:12" + }, + { + "kind": "number", + "nativeSrc": "2522:4:12", + "nodeType": "YulLiteral", + "src": "2522:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2510:3:12", + "nodeType": "YulIdentifier", + "src": "2510:3:12" + }, + "nativeSrc": "2510:17:12", + "nodeType": "YulFunctionCall", + "src": "2510:17:12" + }, + { + "name": "length", + "nativeSrc": "2529:6:12", + "nodeType": "YulIdentifier", + "src": "2529:6:12" + }, + { + "name": "end", + "nativeSrc": "2537:3:12", + "nodeType": "YulIdentifier", + "src": "2537:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "2462:47:12", + "nodeType": "YulIdentifier", + "src": "2462:47:12" + }, + "nativeSrc": "2462:79:12", + "nodeType": "YulFunctionCall", + "src": "2462:79:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2453:5:12", + "nodeType": "YulIdentifier", + "src": "2453:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "2207:340:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2247:6:12", + "nodeType": "YulTypedName", + "src": "2247:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2255:3:12", + "nodeType": "YulTypedName", + "src": "2255:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2263:5:12", + "nodeType": "YulTypedName", + "src": "2263:5:12", + "type": "" + } + ], + "src": "2207:340:12" + }, + { + "body": { + "nativeSrc": "2598:81:12", + "nodeType": "YulBlock", + "src": "2598:81:12", + "statements": [ + { + "nativeSrc": "2608:65:12", + "nodeType": "YulAssignment", + "src": "2608:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2623:5:12", + "nodeType": "YulIdentifier", + "src": "2623:5:12" + }, + { + "kind": "number", + "nativeSrc": "2630:42:12", + "nodeType": "YulLiteral", + "src": "2630:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2619:3:12", + "nodeType": "YulIdentifier", + "src": "2619:3:12" + }, + "nativeSrc": "2619:54:12", + "nodeType": "YulFunctionCall", + "src": "2619:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2608:7:12", + "nodeType": "YulIdentifier", + "src": "2608:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2553:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2580:5:12", + "nodeType": "YulTypedName", + "src": "2580:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2590:7:12", + "nodeType": "YulTypedName", + "src": "2590:7:12", + "type": "" + } + ], + "src": "2553:126:12" + }, + { + "body": { + "nativeSrc": "2730:51:12", + "nodeType": "YulBlock", + "src": "2730:51:12", + "statements": [ + { + "nativeSrc": "2740:35:12", + "nodeType": "YulAssignment", + "src": "2740:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2769:5:12", + "nodeType": "YulIdentifier", + "src": "2769:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2751:17:12", + "nodeType": "YulIdentifier", + "src": "2751:17:12" + }, + "nativeSrc": "2751:24:12", + "nodeType": "YulFunctionCall", + "src": "2751:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2740:7:12", + "nodeType": "YulIdentifier", + "src": "2740:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2685:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2712:5:12", + "nodeType": "YulTypedName", + "src": "2712:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2722:7:12", + "nodeType": "YulTypedName", + "src": "2722:7:12", + "type": "" + } + ], + "src": "2685:96:12" + }, + { + "body": { + "nativeSrc": "2830:79:12", + "nodeType": "YulBlock", + "src": "2830:79:12", + "statements": [ + { + "body": { + "nativeSrc": "2887:16:12", + "nodeType": "YulBlock", + "src": "2887:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2896:1:12", + "nodeType": "YulLiteral", + "src": "2896:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2899:1:12", + "nodeType": "YulLiteral", + "src": "2899:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2889:6:12", + "nodeType": "YulIdentifier", + "src": "2889:6:12" + }, + "nativeSrc": "2889:12:12", + "nodeType": "YulFunctionCall", + "src": "2889:12:12" + }, + "nativeSrc": "2889:12:12", + "nodeType": "YulExpressionStatement", + "src": "2889:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2853:5:12", + "nodeType": "YulIdentifier", + "src": "2853:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2878:5:12", + "nodeType": "YulIdentifier", + "src": "2878:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2860:17:12", + "nodeType": "YulIdentifier", + "src": "2860:17:12" + }, + "nativeSrc": "2860:24:12", + "nodeType": "YulFunctionCall", + "src": "2860:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2850:2:12", + "nodeType": "YulIdentifier", + "src": "2850:2:12" + }, + "nativeSrc": "2850:35:12", + "nodeType": "YulFunctionCall", + "src": "2850:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2843:6:12", + "nodeType": "YulIdentifier", + "src": "2843:6:12" + }, + "nativeSrc": "2843:43:12", + "nodeType": "YulFunctionCall", + "src": "2843:43:12" + }, + "nativeSrc": "2840:63:12", + "nodeType": "YulIf", + "src": "2840:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2787:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2823:5:12", + "nodeType": "YulTypedName", + "src": "2823:5:12", + "type": "" + } + ], + "src": "2787:122:12" + }, + { + "body": { + "nativeSrc": "2967:87:12", + "nodeType": "YulBlock", + "src": "2967:87:12", + "statements": [ + { + "nativeSrc": "2977:29:12", + "nodeType": "YulAssignment", + "src": "2977:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2999:6:12", + "nodeType": "YulIdentifier", + "src": "2999:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2986:12:12", + "nodeType": "YulIdentifier", + "src": "2986:12:12" + }, + "nativeSrc": "2986:20:12", + "nodeType": "YulFunctionCall", + "src": "2986:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2977:5:12", + "nodeType": "YulIdentifier", + "src": "2977:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3042:5:12", + "nodeType": "YulIdentifier", + "src": "3042:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3015:26:12", + "nodeType": "YulIdentifier", + "src": "3015:26:12" + }, + "nativeSrc": "3015:33:12", + "nodeType": "YulFunctionCall", + "src": "3015:33:12" + }, + "nativeSrc": "3015:33:12", + "nodeType": "YulExpressionStatement", + "src": "3015:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2915:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2945:6:12", + "nodeType": "YulTypedName", + "src": "2945:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2953:3:12", + "nodeType": "YulTypedName", + "src": "2953:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2961:5:12", + "nodeType": "YulTypedName", + "src": "2961:5:12", + "type": "" + } + ], + "src": "2915:139:12" + }, + { + "body": { + "nativeSrc": "3105:32:12", + "nodeType": "YulBlock", + "src": "3105:32:12", + "statements": [ + { + "nativeSrc": "3115:16:12", + "nodeType": "YulAssignment", + "src": "3115:16:12", + "value": { + "name": "value", + "nativeSrc": "3126:5:12", + "nodeType": "YulIdentifier", + "src": "3126:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3115:7:12", + "nodeType": "YulIdentifier", + "src": "3115:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3060:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3087:5:12", + "nodeType": "YulTypedName", + "src": "3087:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3097:7:12", + "nodeType": "YulTypedName", + "src": "3097:7:12", + "type": "" + } + ], + "src": "3060:77:12" + }, + { + "body": { + "nativeSrc": "3186:79:12", + "nodeType": "YulBlock", + "src": "3186:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3243:16:12", + "nodeType": "YulBlock", + "src": "3243:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:1:12", + "nodeType": "YulLiteral", + "src": "3252:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3255:1:12", + "nodeType": "YulLiteral", + "src": "3255:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3245:6:12", + "nodeType": "YulIdentifier", + "src": "3245:6:12" + }, + "nativeSrc": "3245:12:12", + "nodeType": "YulFunctionCall", + "src": "3245:12:12" + }, + "nativeSrc": "3245:12:12", + "nodeType": "YulExpressionStatement", + "src": "3245:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3209:5:12", + "nodeType": "YulIdentifier", + "src": "3209:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3234:5:12", + "nodeType": "YulIdentifier", + "src": "3234:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3216:17:12", + "nodeType": "YulIdentifier", + "src": "3216:17:12" + }, + "nativeSrc": "3216:24:12", + "nodeType": "YulFunctionCall", + "src": "3216:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3206:2:12", + "nodeType": "YulIdentifier", + "src": "3206:2:12" + }, + "nativeSrc": "3206:35:12", + "nodeType": "YulFunctionCall", + "src": "3206:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3199:6:12", + "nodeType": "YulIdentifier", + "src": "3199:6:12" + }, + "nativeSrc": "3199:43:12", + "nodeType": "YulFunctionCall", + "src": "3199:43:12" + }, + "nativeSrc": "3196:63:12", + "nodeType": "YulIf", + "src": "3196:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3143:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3179:5:12", + "nodeType": "YulTypedName", + "src": "3179:5:12", + "type": "" + } + ], + "src": "3143:122:12" + }, + { + "body": { + "nativeSrc": "3323:87:12", + "nodeType": "YulBlock", + "src": "3323:87:12", + "statements": [ + { + "nativeSrc": "3333:29:12", + "nodeType": "YulAssignment", + "src": "3333:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3355:6:12", + "nodeType": "YulIdentifier", + "src": "3355:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3342:12:12", + "nodeType": "YulIdentifier", + "src": "3342:12:12" + }, + "nativeSrc": "3342:20:12", + "nodeType": "YulFunctionCall", + "src": "3342:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3333:5:12", + "nodeType": "YulIdentifier", + "src": "3333:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3398:5:12", + "nodeType": "YulIdentifier", + "src": "3398:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3371:26:12", + "nodeType": "YulIdentifier", + "src": "3371:26:12" + }, + "nativeSrc": "3371:33:12", + "nodeType": "YulFunctionCall", + "src": "3371:33:12" + }, + "nativeSrc": "3371:33:12", + "nodeType": "YulExpressionStatement", + "src": "3371:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3271:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3301:6:12", + "nodeType": "YulTypedName", + "src": "3301:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3309:3:12", + "nodeType": "YulTypedName", + "src": "3309:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3317:5:12", + "nodeType": "YulTypedName", + "src": "3317:5:12", + "type": "" + } + ], + "src": "3271:139:12" + }, + { + "body": { + "nativeSrc": "3560:947:12", + "nodeType": "YulBlock", + "src": "3560:947:12", + "statements": [ + { + "body": { + "nativeSrc": "3607:83:12", + "nodeType": "YulBlock", + "src": "3607:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3609:77:12", + "nodeType": "YulIdentifier", + "src": "3609:77:12" + }, + "nativeSrc": "3609:79:12", + "nodeType": "YulFunctionCall", + "src": "3609:79:12" + }, + "nativeSrc": "3609:79:12", + "nodeType": "YulExpressionStatement", + "src": "3609:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3581:7:12", + "nodeType": "YulIdentifier", + "src": "3581:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3590:9:12", + "nodeType": "YulIdentifier", + "src": "3590:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3577:3:12", + "nodeType": "YulIdentifier", + "src": "3577:3:12" + }, + "nativeSrc": "3577:23:12", + "nodeType": "YulFunctionCall", + "src": "3577:23:12" + }, + { + "kind": "number", + "nativeSrc": "3602:3:12", + "nodeType": "YulLiteral", + "src": "3602:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3573:3:12", + "nodeType": "YulIdentifier", + "src": "3573:3:12" + }, + "nativeSrc": "3573:33:12", + "nodeType": "YulFunctionCall", + "src": "3573:33:12" + }, + "nativeSrc": "3570:120:12", + "nodeType": "YulIf", + "src": "3570:120:12" + }, + { + "nativeSrc": "3700:287:12", + "nodeType": "YulBlock", + "src": "3700:287:12", + "statements": [ + { + "nativeSrc": "3715:45:12", + "nodeType": "YulVariableDeclaration", + "src": "3715:45:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3746:9:12", + "nodeType": "YulIdentifier", + "src": "3746:9:12" + }, + { + "kind": "number", + "nativeSrc": "3757:1:12", + "nodeType": "YulLiteral", + "src": "3757:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3742:3:12", + "nodeType": "YulIdentifier", + "src": "3742:3:12" + }, + "nativeSrc": "3742:17:12", + "nodeType": "YulFunctionCall", + "src": "3742:17:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3729:12:12", + "nodeType": "YulIdentifier", + "src": "3729:12:12" + }, + "nativeSrc": "3729:31:12", + "nodeType": "YulFunctionCall", + "src": "3729:31:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3719:6:12", + "nodeType": "YulTypedName", + "src": "3719:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3807:83:12", + "nodeType": "YulBlock", + "src": "3807:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3809:77:12", + "nodeType": "YulIdentifier", + "src": "3809:77:12" + }, + "nativeSrc": "3809:79:12", + "nodeType": "YulFunctionCall", + "src": "3809:79:12" + }, + "nativeSrc": "3809:79:12", + "nodeType": "YulExpressionStatement", + "src": "3809:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3779:6:12", + "nodeType": "YulIdentifier", + "src": "3779:6:12" + }, + { + "kind": "number", + "nativeSrc": "3787:18:12", + "nodeType": "YulLiteral", + "src": "3787:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3776:2:12", + "nodeType": "YulIdentifier", + "src": "3776:2:12" + }, + "nativeSrc": "3776:30:12", + "nodeType": "YulFunctionCall", + "src": "3776:30:12" + }, + "nativeSrc": "3773:117:12", + "nodeType": "YulIf", + "src": "3773:117:12" + }, + { + "nativeSrc": "3904:73:12", + "nodeType": "YulAssignment", + "src": "3904:73:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3949:9:12", + "nodeType": "YulIdentifier", + "src": "3949:9:12" + }, + { + "name": "offset", + "nativeSrc": "3960:6:12", + "nodeType": "YulIdentifier", + "src": "3960:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3945:3:12", + "nodeType": "YulIdentifier", + "src": "3945:3:12" + }, + "nativeSrc": "3945:22:12", + "nodeType": "YulFunctionCall", + "src": "3945:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3969:7:12", + "nodeType": "YulIdentifier", + "src": "3969:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "3914:30:12", + "nodeType": "YulIdentifier", + "src": "3914:30:12" + }, + "nativeSrc": "3914:63:12", + "nodeType": "YulFunctionCall", + "src": "3914:63:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3904:6:12", + "nodeType": "YulIdentifier", + "src": "3904:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "3997:118:12", + "nodeType": "YulBlock", + "src": "3997:118:12", + "statements": [ + { + "nativeSrc": "4012:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4012:16:12", + "value": { + "kind": "number", + "nativeSrc": "4026:2:12", + "nodeType": "YulLiteral", + "src": "4026:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4016:6:12", + "nodeType": "YulTypedName", + "src": "4016:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4042:63:12", + "nodeType": "YulAssignment", + "src": "4042:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4077:9:12", + "nodeType": "YulIdentifier", + "src": "4077:9:12" + }, + { + "name": "offset", + "nativeSrc": "4088:6:12", + "nodeType": "YulIdentifier", + "src": "4088:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4073:3:12", + "nodeType": "YulIdentifier", + "src": "4073:3:12" + }, + "nativeSrc": "4073:22:12", + "nodeType": "YulFunctionCall", + "src": "4073:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4097:7:12", + "nodeType": "YulIdentifier", + "src": "4097:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4052:20:12", + "nodeType": "YulIdentifier", + "src": "4052:20:12" + }, + "nativeSrc": "4052:53:12", + "nodeType": "YulFunctionCall", + "src": "4052:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4042:6:12", + "nodeType": "YulIdentifier", + "src": "4042:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4125:118:12", + "nodeType": "YulBlock", + "src": "4125:118:12", + "statements": [ + { + "nativeSrc": "4140:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4140:16:12", + "value": { + "kind": "number", + "nativeSrc": "4154:2:12", + "nodeType": "YulLiteral", + "src": "4154:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4144:6:12", + "nodeType": "YulTypedName", + "src": "4144:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4170:63:12", + "nodeType": "YulAssignment", + "src": "4170:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4205:9:12", + "nodeType": "YulIdentifier", + "src": "4205:9:12" + }, + { + "name": "offset", + "nativeSrc": "4216:6:12", + "nodeType": "YulIdentifier", + "src": "4216:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4201:3:12", + "nodeType": "YulIdentifier", + "src": "4201:3:12" + }, + "nativeSrc": "4201:22:12", + "nodeType": "YulFunctionCall", + "src": "4201:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4225:7:12", + "nodeType": "YulIdentifier", + "src": "4225:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4180:20:12", + "nodeType": "YulIdentifier", + "src": "4180:20:12" + }, + "nativeSrc": "4180:53:12", + "nodeType": "YulFunctionCall", + "src": "4180:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4170:6:12", + "nodeType": "YulIdentifier", + "src": "4170:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4253:118:12", + "nodeType": "YulBlock", + "src": "4253:118:12", + "statements": [ + { + "nativeSrc": "4268:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4268:16:12", + "value": { + "kind": "number", + "nativeSrc": "4282:2:12", + "nodeType": "YulLiteral", + "src": "4282:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4272:6:12", + "nodeType": "YulTypedName", + "src": "4272:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4298:63:12", + "nodeType": "YulAssignment", + "src": "4298:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4333:9:12", + "nodeType": "YulIdentifier", + "src": "4333:9:12" + }, + { + "name": "offset", + "nativeSrc": "4344:6:12", + "nodeType": "YulIdentifier", + "src": "4344:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4329:3:12", + "nodeType": "YulIdentifier", + "src": "4329:3:12" + }, + "nativeSrc": "4329:22:12", + "nodeType": "YulFunctionCall", + "src": "4329:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4353:7:12", + "nodeType": "YulIdentifier", + "src": "4353:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4308:20:12", + "nodeType": "YulIdentifier", + "src": "4308:20:12" + }, + "nativeSrc": "4308:53:12", + "nodeType": "YulFunctionCall", + "src": "4308:53:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4298:6:12", + "nodeType": "YulIdentifier", + "src": "4298:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4381:119:12", + "nodeType": "YulBlock", + "src": "4381:119:12", + "statements": [ + { + "nativeSrc": "4396:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4396:17:12", + "value": { + "kind": "number", + "nativeSrc": "4410:3:12", + "nodeType": "YulLiteral", + "src": "4410:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4400:6:12", + "nodeType": "YulTypedName", + "src": "4400:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4427:63:12", + "nodeType": "YulAssignment", + "src": "4427:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4462:9:12", + "nodeType": "YulIdentifier", + "src": "4462:9:12" + }, + { + "name": "offset", + "nativeSrc": "4473:6:12", + "nodeType": "YulIdentifier", + "src": "4473:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4458:3:12", + "nodeType": "YulIdentifier", + "src": "4458:3:12" + }, + "nativeSrc": "4458:22:12", + "nodeType": "YulFunctionCall", + "src": "4458:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4482:7:12", + "nodeType": "YulIdentifier", + "src": "4482:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4437:20:12", + "nodeType": "YulIdentifier", + "src": "4437:20:12" + }, + "nativeSrc": "4437:53:12", + "nodeType": "YulFunctionCall", + "src": "4437:53:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4427:6:12", + "nodeType": "YulIdentifier", + "src": "4427:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256", + "nativeSrc": "3416:1091:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3498:9:12", + "nodeType": "YulTypedName", + "src": "3498:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3509:7:12", + "nodeType": "YulTypedName", + "src": "3509:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3521:6:12", + "nodeType": "YulTypedName", + "src": "3521:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3529:6:12", + "nodeType": "YulTypedName", + "src": "3529:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3537:6:12", + "nodeType": "YulTypedName", + "src": "3537:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3545:6:12", + "nodeType": "YulTypedName", + "src": "3545:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3553:6:12", + "nodeType": "YulTypedName", + "src": "3553:6:12", + "type": "" + } + ], + "src": "3416:1091:12" + }, + { + "body": { + "nativeSrc": "4578:53:12", + "nodeType": "YulBlock", + "src": "4578:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4595:3:12", + "nodeType": "YulIdentifier", + "src": "4595:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4618:5:12", + "nodeType": "YulIdentifier", + "src": "4618:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4600:17:12", + "nodeType": "YulIdentifier", + "src": "4600:17:12" + }, + "nativeSrc": "4600:24:12", + "nodeType": "YulFunctionCall", + "src": "4600:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4588:6:12", + "nodeType": "YulIdentifier", + "src": "4588:6:12" + }, + "nativeSrc": "4588:37:12", + "nodeType": "YulFunctionCall", + "src": "4588:37:12" + }, + "nativeSrc": "4588:37:12", + "nodeType": "YulExpressionStatement", + "src": "4588:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4513:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4566:5:12", + "nodeType": "YulTypedName", + "src": "4566:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4573:3:12", + "nodeType": "YulTypedName", + "src": "4573:3:12", + "type": "" + } + ], + "src": "4513:118:12" + }, + { + "body": { + "nativeSrc": "4735:124:12", + "nodeType": "YulBlock", + "src": "4735:124:12", + "statements": [ + { + "nativeSrc": "4745:26:12", + "nodeType": "YulAssignment", + "src": "4745:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4757:9:12", + "nodeType": "YulIdentifier", + "src": "4757:9:12" + }, + { + "kind": "number", + "nativeSrc": "4768:2:12", + "nodeType": "YulLiteral", + "src": "4768:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4753:3:12", + "nodeType": "YulIdentifier", + "src": "4753:3:12" + }, + "nativeSrc": "4753:18:12", + "nodeType": "YulFunctionCall", + "src": "4753:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4745:4:12", + "nodeType": "YulIdentifier", + "src": "4745:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4825:6:12", + "nodeType": "YulIdentifier", + "src": "4825:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4838:9:12", + "nodeType": "YulIdentifier", + "src": "4838:9:12" + }, + { + "kind": "number", + "nativeSrc": "4849:1:12", + "nodeType": "YulLiteral", + "src": "4849:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4834:3:12", + "nodeType": "YulIdentifier", + "src": "4834:3:12" + }, + "nativeSrc": "4834:17:12", + "nodeType": "YulFunctionCall", + "src": "4834:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4781:43:12", + "nodeType": "YulIdentifier", + "src": "4781:43:12" + }, + "nativeSrc": "4781:71:12", + "nodeType": "YulFunctionCall", + "src": "4781:71:12" + }, + "nativeSrc": "4781:71:12", + "nodeType": "YulExpressionStatement", + "src": "4781:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4637:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4707:9:12", + "nodeType": "YulTypedName", + "src": "4707:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4719:6:12", + "nodeType": "YulTypedName", + "src": "4719:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4730:4:12", + "nodeType": "YulTypedName", + "src": "4730:4:12", + "type": "" + } + ], + "src": "4637:222:12" + }, + { + "body": { + "nativeSrc": "4924:40:12", + "nodeType": "YulBlock", + "src": "4924:40:12", + "statements": [ + { + "nativeSrc": "4935:22:12", + "nodeType": "YulAssignment", + "src": "4935:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4951:5:12", + "nodeType": "YulIdentifier", + "src": "4951:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4945:5:12", + "nodeType": "YulIdentifier", + "src": "4945:5:12" + }, + "nativeSrc": "4945:12:12", + "nodeType": "YulFunctionCall", + "src": "4945:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "4935:6:12", + "nodeType": "YulIdentifier", + "src": "4935:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "4865:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4907:5:12", + "nodeType": "YulTypedName", + "src": "4907:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "4917:6:12", + "nodeType": "YulTypedName", + "src": "4917:6:12", + "type": "" + } + ], + "src": "4865:99:12" + }, + { + "body": { + "nativeSrc": "5066:73:12", + "nodeType": "YulBlock", + "src": "5066:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5083:3:12", + "nodeType": "YulIdentifier", + "src": "5083:3:12" + }, + { + "name": "length", + "nativeSrc": "5088:6:12", + "nodeType": "YulIdentifier", + "src": "5088:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5076:6:12", + "nodeType": "YulIdentifier", + "src": "5076:6:12" + }, + "nativeSrc": "5076:19:12", + "nodeType": "YulFunctionCall", + "src": "5076:19:12" + }, + "nativeSrc": "5076:19:12", + "nodeType": "YulExpressionStatement", + "src": "5076:19:12" + }, + { + "nativeSrc": "5104:29:12", + "nodeType": "YulAssignment", + "src": "5104:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5123:3:12", + "nodeType": "YulIdentifier", + "src": "5123:3:12" + }, + { + "kind": "number", + "nativeSrc": "5128:4:12", + "nodeType": "YulLiteral", + "src": "5128:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5119:3:12", + "nodeType": "YulIdentifier", + "src": "5119:3:12" + }, + "nativeSrc": "5119:14:12", + "nodeType": "YulFunctionCall", + "src": "5119:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "5104:11:12", + "nodeType": "YulIdentifier", + "src": "5104:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "4970:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5038:3:12", + "nodeType": "YulTypedName", + "src": "5038:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5043:6:12", + "nodeType": "YulTypedName", + "src": "5043:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "5054:11:12", + "nodeType": "YulTypedName", + "src": "5054:11:12", + "type": "" + } + ], + "src": "4970:169:12" + }, + { + "body": { + "nativeSrc": "5207:184:12", + "nodeType": "YulBlock", + "src": "5207:184:12", + "statements": [ + { + "nativeSrc": "5217:10:12", + "nodeType": "YulVariableDeclaration", + "src": "5217:10:12", + "value": { + "kind": "number", + "nativeSrc": "5226:1:12", + "nodeType": "YulLiteral", + "src": "5226:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5221:1:12", + "nodeType": "YulTypedName", + "src": "5221:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5286:63:12", + "nodeType": "YulBlock", + "src": "5286:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5311:3:12", + "nodeType": "YulIdentifier", + "src": "5311:3:12" + }, + { + "name": "i", + "nativeSrc": "5316:1:12", + "nodeType": "YulIdentifier", + "src": "5316:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5307:3:12", + "nodeType": "YulIdentifier", + "src": "5307:3:12" + }, + "nativeSrc": "5307:11:12", + "nodeType": "YulFunctionCall", + "src": "5307:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5330:3:12", + "nodeType": "YulIdentifier", + "src": "5330:3:12" + }, + { + "name": "i", + "nativeSrc": "5335:1:12", + "nodeType": "YulIdentifier", + "src": "5335:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5326:3:12", + "nodeType": "YulIdentifier", + "src": "5326:3:12" + }, + "nativeSrc": "5326:11:12", + "nodeType": "YulFunctionCall", + "src": "5326:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5320:5:12", + "nodeType": "YulIdentifier", + "src": "5320:5:12" + }, + "nativeSrc": "5320:18:12", + "nodeType": "YulFunctionCall", + "src": "5320:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5300:6:12", + "nodeType": "YulIdentifier", + "src": "5300:6:12" + }, + "nativeSrc": "5300:39:12", + "nodeType": "YulFunctionCall", + "src": "5300:39:12" + }, + "nativeSrc": "5300:39:12", + "nodeType": "YulExpressionStatement", + "src": "5300:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5247:1:12", + "nodeType": "YulIdentifier", + "src": "5247:1:12" + }, + { + "name": "length", + "nativeSrc": "5250:6:12", + "nodeType": "YulIdentifier", + "src": "5250:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5244:2:12", + "nodeType": "YulIdentifier", + "src": "5244:2:12" + }, + "nativeSrc": "5244:13:12", + "nodeType": "YulFunctionCall", + "src": "5244:13:12" + }, + "nativeSrc": "5236:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5258:19:12", + "nodeType": "YulBlock", + "src": "5258:19:12", + "statements": [ + { + "nativeSrc": "5260:15:12", + "nodeType": "YulAssignment", + "src": "5260:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5269:1:12", + "nodeType": "YulIdentifier", + "src": "5269:1:12" + }, + { + "kind": "number", + "nativeSrc": "5272:2:12", + "nodeType": "YulLiteral", + "src": "5272:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5265:3:12", + "nodeType": "YulIdentifier", + "src": "5265:3:12" + }, + "nativeSrc": "5265:10:12", + "nodeType": "YulFunctionCall", + "src": "5265:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5260:1:12", + "nodeType": "YulIdentifier", + "src": "5260:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5240:3:12", + "nodeType": "YulBlock", + "src": "5240:3:12", + "statements": [] + }, + "src": "5236:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5369:3:12", + "nodeType": "YulIdentifier", + "src": "5369:3:12" + }, + { + "name": "length", + "nativeSrc": "5374:6:12", + "nodeType": "YulIdentifier", + "src": "5374:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5365:3:12", + "nodeType": "YulIdentifier", + "src": "5365:3:12" + }, + "nativeSrc": "5365:16:12", + "nodeType": "YulFunctionCall", + "src": "5365:16:12" + }, + { + "kind": "number", + "nativeSrc": "5383:1:12", + "nodeType": "YulLiteral", + "src": "5383:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5358:6:12", + "nodeType": "YulIdentifier", + "src": "5358:6:12" + }, + "nativeSrc": "5358:27:12", + "nodeType": "YulFunctionCall", + "src": "5358:27:12" + }, + "nativeSrc": "5358:27:12", + "nodeType": "YulExpressionStatement", + "src": "5358:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5145:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "5189:3:12", + "nodeType": "YulTypedName", + "src": "5189:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "5194:3:12", + "nodeType": "YulTypedName", + "src": "5194:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5199:6:12", + "nodeType": "YulTypedName", + "src": "5199:6:12", + "type": "" + } + ], + "src": "5145:246:12" + }, + { + "body": { + "nativeSrc": "5489:285:12", + "nodeType": "YulBlock", + "src": "5489:285:12", + "statements": [ + { + "nativeSrc": "5499:53:12", + "nodeType": "YulVariableDeclaration", + "src": "5499:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5546:5:12", + "nodeType": "YulIdentifier", + "src": "5546:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5513:32:12", + "nodeType": "YulIdentifier", + "src": "5513:32:12" + }, + "nativeSrc": "5513:39:12", + "nodeType": "YulFunctionCall", + "src": "5513:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5503:6:12", + "nodeType": "YulTypedName", + "src": "5503:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5561:78:12", + "nodeType": "YulAssignment", + "src": "5561:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5627:3:12", + "nodeType": "YulIdentifier", + "src": "5627:3:12" + }, + { + "name": "length", + "nativeSrc": "5632:6:12", + "nodeType": "YulIdentifier", + "src": "5632:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5568:58:12", + "nodeType": "YulIdentifier", + "src": "5568:58:12" + }, + "nativeSrc": "5568:71:12", + "nodeType": "YulFunctionCall", + "src": "5568:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5561:3:12", + "nodeType": "YulIdentifier", + "src": "5561:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5687:5:12", + "nodeType": "YulIdentifier", + "src": "5687:5:12" + }, + { + "kind": "number", + "nativeSrc": "5694:4:12", + "nodeType": "YulLiteral", + "src": "5694:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5683:3:12", + "nodeType": "YulIdentifier", + "src": "5683:3:12" + }, + "nativeSrc": "5683:16:12", + "nodeType": "YulFunctionCall", + "src": "5683:16:12" + }, + { + "name": "pos", + "nativeSrc": "5701:3:12", + "nodeType": "YulIdentifier", + "src": "5701:3:12" + }, + { + "name": "length", + "nativeSrc": "5706:6:12", + "nodeType": "YulIdentifier", + "src": "5706:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5648:34:12", + "nodeType": "YulIdentifier", + "src": "5648:34:12" + }, + "nativeSrc": "5648:65:12", + "nodeType": "YulFunctionCall", + "src": "5648:65:12" + }, + "nativeSrc": "5648:65:12", + "nodeType": "YulExpressionStatement", + "src": "5648:65:12" + }, + { + "nativeSrc": "5722:46:12", + "nodeType": "YulAssignment", + "src": "5722:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5733:3:12", + "nodeType": "YulIdentifier", + "src": "5733:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5760:6:12", + "nodeType": "YulIdentifier", + "src": "5760:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "5738:21:12", + "nodeType": "YulIdentifier", + "src": "5738:21:12" + }, + "nativeSrc": "5738:29:12", + "nodeType": "YulFunctionCall", + "src": "5738:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5729:3:12", + "nodeType": "YulIdentifier", + "src": "5729:3:12" + }, + "nativeSrc": "5729:39:12", + "nodeType": "YulFunctionCall", + "src": "5729:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "5722:3:12", + "nodeType": "YulIdentifier", + "src": "5722:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5397:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5470:5:12", + "nodeType": "YulTypedName", + "src": "5470:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5477:3:12", + "nodeType": "YulTypedName", + "src": "5477:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5485:3:12", + "nodeType": "YulTypedName", + "src": "5485:3:12", + "type": "" + } + ], + "src": "5397:377:12" + }, + { + "body": { + "nativeSrc": "5845:53:12", + "nodeType": "YulBlock", + "src": "5845:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5862:3:12", + "nodeType": "YulIdentifier", + "src": "5862:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5885:5:12", + "nodeType": "YulIdentifier", + "src": "5885:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5867:17:12", + "nodeType": "YulIdentifier", + "src": "5867:17:12" + }, + "nativeSrc": "5867:24:12", + "nodeType": "YulFunctionCall", + "src": "5867:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5855:6:12", + "nodeType": "YulIdentifier", + "src": "5855:6:12" + }, + "nativeSrc": "5855:37:12", + "nodeType": "YulFunctionCall", + "src": "5855:37:12" + }, + "nativeSrc": "5855:37:12", + "nodeType": "YulExpressionStatement", + "src": "5855:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "5780:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5833:5:12", + "nodeType": "YulTypedName", + "src": "5833:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5840:3:12", + "nodeType": "YulTypedName", + "src": "5840:3:12", + "type": "" + } + ], + "src": "5780:118:12" + }, + { + "body": { + "nativeSrc": "6162:608:12", + "nodeType": "YulBlock", + "src": "6162:608:12", + "statements": [ + { + "nativeSrc": "6172:27:12", + "nodeType": "YulAssignment", + "src": "6172:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6184:9:12", + "nodeType": "YulIdentifier", + "src": "6184:9:12" + }, + { + "kind": "number", + "nativeSrc": "6195:3:12", + "nodeType": "YulLiteral", + "src": "6195:3:12", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6180:3:12", + "nodeType": "YulIdentifier", + "src": "6180:3:12" + }, + "nativeSrc": "6180:19:12", + "nodeType": "YulFunctionCall", + "src": "6180:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6172:4:12", + "nodeType": "YulIdentifier", + "src": "6172:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6220:9:12", + "nodeType": "YulIdentifier", + "src": "6220:9:12" + }, + { + "kind": "number", + "nativeSrc": "6231:1:12", + "nodeType": "YulLiteral", + "src": "6231:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6216:3:12", + "nodeType": "YulIdentifier", + "src": "6216:3:12" + }, + "nativeSrc": "6216:17:12", + "nodeType": "YulFunctionCall", + "src": "6216:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6239:4:12", + "nodeType": "YulIdentifier", + "src": "6239:4:12" + }, + { + "name": "headStart", + "nativeSrc": "6245:9:12", + "nodeType": "YulIdentifier", + "src": "6245:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6235:3:12", + "nodeType": "YulIdentifier", + "src": "6235:3:12" + }, + "nativeSrc": "6235:20:12", + "nodeType": "YulFunctionCall", + "src": "6235:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6209:6:12", + "nodeType": "YulIdentifier", + "src": "6209:6:12" + }, + "nativeSrc": "6209:47:12", + "nodeType": "YulFunctionCall", + "src": "6209:47:12" + }, + "nativeSrc": "6209:47:12", + "nodeType": "YulExpressionStatement", + "src": "6209:47:12" + }, + { + "nativeSrc": "6265:86:12", + "nodeType": "YulAssignment", + "src": "6265:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6337:6:12", + "nodeType": "YulIdentifier", + "src": "6337:6:12" + }, + { + "name": "tail", + "nativeSrc": "6346:4:12", + "nodeType": "YulIdentifier", + "src": "6346:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6273:63:12", + "nodeType": "YulIdentifier", + "src": "6273:63:12" + }, + "nativeSrc": "6273:78:12", + "nodeType": "YulFunctionCall", + "src": "6273:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6265:4:12", + "nodeType": "YulIdentifier", + "src": "6265:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "6405:6:12", + "nodeType": "YulIdentifier", + "src": "6405:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6418:9:12", + "nodeType": "YulIdentifier", + "src": "6418:9:12" + }, + { + "kind": "number", + "nativeSrc": "6429:2:12", + "nodeType": "YulLiteral", + "src": "6429:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6414:3:12", + "nodeType": "YulIdentifier", + "src": "6414:3:12" + }, + "nativeSrc": "6414:18:12", + "nodeType": "YulFunctionCall", + "src": "6414:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6361:43:12", + "nodeType": "YulIdentifier", + "src": "6361:43:12" + }, + "nativeSrc": "6361:72:12", + "nodeType": "YulFunctionCall", + "src": "6361:72:12" + }, + "nativeSrc": "6361:72:12", + "nodeType": "YulExpressionStatement", + "src": "6361:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "6487:6:12", + "nodeType": "YulIdentifier", + "src": "6487:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6500:9:12", + "nodeType": "YulIdentifier", + "src": "6500:9:12" + }, + { + "kind": "number", + "nativeSrc": "6511:2:12", + "nodeType": "YulLiteral", + "src": "6511:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6496:3:12", + "nodeType": "YulIdentifier", + "src": "6496:3:12" + }, + "nativeSrc": "6496:18:12", + "nodeType": "YulFunctionCall", + "src": "6496:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6443:43:12", + "nodeType": "YulIdentifier", + "src": "6443:43:12" + }, + "nativeSrc": "6443:72:12", + "nodeType": "YulFunctionCall", + "src": "6443:72:12" + }, + "nativeSrc": "6443:72:12", + "nodeType": "YulExpressionStatement", + "src": "6443:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "6569:6:12", + "nodeType": "YulIdentifier", + "src": "6569:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6582:9:12", + "nodeType": "YulIdentifier", + "src": "6582:9:12" + }, + { + "kind": "number", + "nativeSrc": "6593:2:12", + "nodeType": "YulLiteral", + "src": "6593:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6578:3:12", + "nodeType": "YulIdentifier", + "src": "6578:3:12" + }, + "nativeSrc": "6578:18:12", + "nodeType": "YulFunctionCall", + "src": "6578:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6525:43:12", + "nodeType": "YulIdentifier", + "src": "6525:43:12" + }, + "nativeSrc": "6525:72:12", + "nodeType": "YulFunctionCall", + "src": "6525:72:12" + }, + "nativeSrc": "6525:72:12", + "nodeType": "YulExpressionStatement", + "src": "6525:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "6651:6:12", + "nodeType": "YulIdentifier", + "src": "6651:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6664:9:12", + "nodeType": "YulIdentifier", + "src": "6664:9:12" + }, + { + "kind": "number", + "nativeSrc": "6675:3:12", + "nodeType": "YulLiteral", + "src": "6675:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6660:3:12", + "nodeType": "YulIdentifier", + "src": "6660:3:12" + }, + "nativeSrc": "6660:19:12", + "nodeType": "YulFunctionCall", + "src": "6660:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6607:43:12", + "nodeType": "YulIdentifier", + "src": "6607:43:12" + }, + "nativeSrc": "6607:73:12", + "nodeType": "YulFunctionCall", + "src": "6607:73:12" + }, + "nativeSrc": "6607:73:12", + "nodeType": "YulExpressionStatement", + "src": "6607:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "6734:6:12", + "nodeType": "YulIdentifier", + "src": "6734:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6747:9:12", + "nodeType": "YulIdentifier", + "src": "6747:9:12" + }, + { + "kind": "number", + "nativeSrc": "6758:3:12", + "nodeType": "YulLiteral", + "src": "6758:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6743:3:12", + "nodeType": "YulIdentifier", + "src": "6743:3:12" + }, + "nativeSrc": "6743:19:12", + "nodeType": "YulFunctionCall", + "src": "6743:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6690:43:12", + "nodeType": "YulIdentifier", + "src": "6690:43:12" + }, + "nativeSrc": "6690:73:12", + "nodeType": "YulFunctionCall", + "src": "6690:73:12" + }, + "nativeSrc": "6690:73:12", + "nodeType": "YulExpressionStatement", + "src": "6690:73:12" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "5904:866:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6094:9:12", + "nodeType": "YulTypedName", + "src": "6094:9:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "6106:6:12", + "nodeType": "YulTypedName", + "src": "6106:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "6114:6:12", + "nodeType": "YulTypedName", + "src": "6114:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "6122:6:12", + "nodeType": "YulTypedName", + "src": "6122:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "6130:6:12", + "nodeType": "YulTypedName", + "src": "6130:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6138:6:12", + "nodeType": "YulTypedName", + "src": "6138:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6146:6:12", + "nodeType": "YulTypedName", + "src": "6146:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6157:4:12", + "nodeType": "YulTypedName", + "src": "6157:4:12", + "type": "" + } + ], + "src": "5904:866:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50600436106200002e5760003560e01c8063d171b5191462000033575b600080fd5b6200005160048036038101906200004b9190620002e8565b62000069565b604051620000609190620003a0565b60405180910390f35b6000808630878787876040516200008090620000c4565b620000919695949392919062000457565b604051809103906000f080158015620000ae573d6000803e3d6000fd5b5090506000819050809250505095945050505050565b611d3780620004cc83390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200013b82620000f0565b810181811067ffffffffffffffff821117156200015d576200015c62000101565b5b80604052505050565b600062000172620000d2565b905062000180828262000130565b919050565b600067ffffffffffffffff821115620001a357620001a262000101565b5b620001ae82620000f0565b9050602081019050919050565b82818337600083830152505050565b6000620001e1620001db8462000185565b62000166565b9050828152602081018484840111156200020057620001ff620000eb565b5b6200020d848285620001bb565b509392505050565b600082601f8301126200022d576200022c620000e6565b5b81356200023f848260208601620001ca565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002758262000248565b9050919050565b620002878162000268565b81146200029357600080fd5b50565b600081359050620002a7816200027c565b92915050565b6000819050919050565b620002c281620002ad565b8114620002ce57600080fd5b50565b600081359050620002e281620002b7565b92915050565b600080600080600060a08688031215620003075762000306620000dc565b5b600086013567ffffffffffffffff811115620003285762000327620000e1565b5b620003368882890162000215565b9550506020620003498882890162000296565b94505060406200035c88828901620002d1565b93505060606200036f88828901620002d1565b92505060806200038288828901620002d1565b9150509295509295909350565b6200039a8162000268565b82525050565b6000602082019050620003b760008301846200038f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620003f9578082015181840152602081019050620003dc565b60008484015250505050565b60006200041282620003bd565b6200041e8185620003c8565b935062000430818560208601620003d9565b6200043b81620000f0565b840191505092915050565b6200045181620002ad565b82525050565b600060c082019050818103600083015262000473818962000405565b90506200048460208301886200038f565b6200049360408301876200038f565b620004a2606083018662000446565b620004b1608083018562000446565b620004c060a083018462000446565b97965050505050505056fe60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea2646970667358221220dc7478e0f77c19ad5b5cce42402c417ece1788d5fc13eab8340b1e173ba67c1764736f6c63430008180033a264697066735822122055e0b36c0e627785c1c66a7ff8f551ee377f434128e6116112d541d943312a1664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD171B519 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x2E8 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x3A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP7 ADDRESS DUP8 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH3 0x80 SWAP1 PUSH3 0xC4 JUMP JUMPDEST PUSH3 0x91 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1D37 DUP1 PUSH3 0x4CC DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x13B DUP3 PUSH3 0xF0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x101 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x172 PUSH3 0xD2 JUMP JUMPDEST SWAP1 POP PUSH3 0x180 DUP3 DUP3 PUSH3 0x130 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x1A3 JUMPI PUSH3 0x1A2 PUSH3 0x101 JUMP JUMPDEST JUMPDEST PUSH3 0x1AE DUP3 PUSH3 0xF0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E1 PUSH3 0x1DB DUP5 PUSH3 0x185 JUMP JUMPDEST PUSH3 0x166 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x200 JUMPI PUSH3 0x1FF PUSH3 0xEB JUMP JUMPDEST JUMPDEST PUSH3 0x20D DUP5 DUP3 DUP6 PUSH3 0x1BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x22D JUMPI PUSH3 0x22C PUSH3 0xE6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x23F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x275 DUP3 PUSH3 0x248 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x287 DUP2 PUSH3 0x268 JUMP JUMPDEST DUP2 EQ PUSH3 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2A7 DUP2 PUSH3 0x27C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2C2 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP2 EQ PUSH3 0x2CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2E2 DUP2 PUSH3 0x2B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH3 0x307 JUMPI PUSH3 0x306 PUSH3 0xDC JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x328 JUMPI PUSH3 0x327 PUSH3 0xE1 JUMP JUMPDEST JUMPDEST PUSH3 0x336 DUP9 DUP3 DUP10 ADD PUSH3 0x215 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH3 0x349 DUP9 DUP3 DUP10 ADD PUSH3 0x296 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH3 0x35C DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH3 0x36F DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH3 0x382 DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH3 0x39A DUP2 PUSH3 0x268 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x3B7 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x38F 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3F9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3DC JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x412 DUP3 PUSH3 0x3BD JUMP JUMPDEST PUSH3 0x41E DUP2 DUP6 PUSH3 0x3C8 JUMP JUMPDEST SWAP4 POP PUSH3 0x430 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x3D9 JUMP JUMPDEST PUSH3 0x43B DUP2 PUSH3 0xF0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x473 DUP2 DUP10 PUSH3 0x405 JUMP JUMPDEST SWAP1 POP PUSH3 0x484 PUSH1 0x20 DUP4 ADD DUP9 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x493 PUSH1 0x40 DUP4 ADD DUP8 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x4A2 PUSH1 0x60 DUP4 ADD DUP7 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4B1 PUSH1 0x80 DUP4 ADD DUP6 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4C0 PUSH1 0xA0 DUP4 ADD DUP5 PUSH3 0x446 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D37 CODESIZE SUB DUP1 PUSH3 0x1D37 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x45F JUMP JUMPDEST DUP5 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 PUSH1 0x6 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x789 JUMP JUMPDEST POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x157 JUMPI PUSH3 0x156 PUSH3 0x870 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP PUSH3 0x89F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x47F JUMPI PUSH3 0x47E PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4AE DUP10 DUP3 DUP11 ADD PUSH3 0x38C JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH3 0x4C1 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH3 0x4D4 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH3 0x4E7 DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH3 0x4FA DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 PUSH3 0x50D DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH3 0x525 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x542 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x51A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5B1 JUMPI PUSH3 0x5B0 PUSH3 0x553 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x61B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5DC JUMP JUMPDEST PUSH3 0x627 DUP7 DUP4 PUSH3 0x5DC JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x66A PUSH3 0x664 PUSH3 0x65E DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x63F JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x686 DUP4 PUSH3 0x649 JUMP JUMPDEST PUSH3 0x69E PUSH3 0x695 DUP3 PUSH3 0x671 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5E9 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6B5 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6C2 DUP2 DUP5 DUP5 PUSH3 0x67B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6EA JUMPI PUSH3 0x6DE PUSH1 0x0 DUP3 PUSH3 0x6AB JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6C8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x739 JUMPI PUSH3 0x703 DUP2 PUSH3 0x5B7 JUMP JUMPDEST PUSH3 0x70E DUP5 PUSH3 0x5CC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x71E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x736 PUSH3 0x72D DUP6 PUSH3 0x5CC JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6C7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x75E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x73E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x779 DUP4 DUP4 PUSH3 0x74B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x794 DUP3 PUSH3 0x548 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7B0 JUMPI PUSH3 0x7AF PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7BC DUP3 SLOAD PUSH3 0x582 JUMP JUMPDEST PUSH3 0x7C9 DUP3 DUP3 DUP6 PUSH3 0x6EE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x801 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7EC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7F8 DUP6 DUP3 PUSH3 0x76B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x868 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x811 DUP7 PUSH3 0x5B7 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x83B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x814 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x85B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x857 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x74B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1488 DUP1 PUSH3 0x8AF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC PUSH21 0x78E0F77C19AD5B5CCE42402C417ECE1788D5FC13EA 0xB8 CALLVALUE SIGNEXTEND 0x1E OR EXTCODESIZE 0xA6 PUSH29 0x1764736F6C63430008180033A264697066735822122055E0B36C0E6277 DUP6 0xC1 0xC6 PUSH11 0x7FF8F551EE377F434128E6 GT PUSH2 0x12D5 COINBASE 0xD9 NUMBER BALANCE 0x2A AND PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "114:615:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:557;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;383:7;402:32;471:11;504:4;523:12;549:18;581:11;606:14;437:193;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;402:228;;640:22;673:15;640:49;;706:14;699:21;;;;170:557;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:126::-;2590:7;2630:42;2623:5;2619:54;2608:65;;2553:126;;;:::o;2685:96::-;2722:7;2751:24;2769:5;2751:24;:::i;:::-;2740:35;;2685:96;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:1091::-;3521:6;3529;3537;3545;3553;3602:3;3590:9;3581:7;3577:23;3573:33;3570:120;;;3609:79;;:::i;:::-;3570:120;3757:1;3746:9;3742:17;3729:31;3787:18;3779:6;3776:30;3773:117;;;3809:79;;:::i;:::-;3773:117;3914:63;3969:7;3960:6;3949:9;3945:22;3914:63;:::i;:::-;3904:73;;3700:287;4026:2;4052:53;4097:7;4088:6;4077:9;4073:22;4052:53;:::i;:::-;4042:63;;3997:118;4154:2;4180:53;4225:7;4216:6;4205:9;4201:22;4180:53;:::i;:::-;4170:63;;4125:118;4282:2;4308:53;4353:7;4344:6;4333:9;4329:22;4308:53;:::i;:::-;4298:63;;4253:118;4410:3;4437:53;4482:7;4473:6;4462:9;4458:22;4437:53;:::i;:::-;4427:63;;4381:119;3416:1091;;;;;;;;:::o;4513:118::-;4600:24;4618:5;4600:24;:::i;:::-;4595:3;4588:37;4513:118;;:::o;4637:222::-;4730:4;4768:2;4757:9;4753:18;4745:26;;4781:71;4849:1;4838:9;4834:17;4825:6;4781:71;:::i;:::-;4637:222;;;;:::o;4865:99::-;4917:6;4951:5;4945:12;4935:22;;4865:99;;;:::o;4970:169::-;5054:11;5088:6;5083:3;5076:19;5128:4;5123:3;5119:14;5104:29;;4970:169;;;;:::o;5145:246::-;5226:1;5236:113;5250:6;5247:1;5244:13;5236:113;;;5335:1;5330:3;5326:11;5320:18;5316:1;5311:3;5307:11;5300:39;5272:2;5269:1;5265:10;5260:15;;5236:113;;;5383:1;5374:6;5369:3;5365:16;5358:27;5207:184;5145:246;;;:::o;5397:377::-;5485:3;5513:39;5546:5;5513:39;:::i;:::-;5568:71;5632:6;5627:3;5568:71;:::i;:::-;5561:78;;5648:65;5706:6;5701:3;5694:4;5687:5;5683:16;5648:65;:::i;:::-;5738:29;5760:6;5738:29;:::i;:::-;5733:3;5729:39;5722:46;;5489:285;5397:377;;;;:::o;5780:118::-;5867:24;5885:5;5867:24;:::i;:::-;5862:3;5855:37;5780:118;;:::o;5904:866::-;6157:4;6195:3;6184:9;6180:19;6172:27;;6245:9;6239:4;6235:20;6231:1;6220:9;6216:17;6209:47;6273:78;6346:4;6337:6;6273:78;:::i;:::-;6265:86;;6361:72;6429:2;6418:9;6414:18;6405:6;6361:72;:::i;:::-;6443;6511:2;6500:9;6496:18;6487:6;6443:72;:::i;:::-;6525;6593:2;6582:9;6578:18;6569:6;6525:72;:::i;:::-;6607:73;6675:3;6664:9;6660:19;6651:6;6607:73;:::i;:::-;6690;6758:3;6747:9;6743:19;6734:6;6690:73;:::i;:::-;5904:866;;;;;;;;;:::o" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256)": "d171b519" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AirdropDeployerERC20.sol\":\"AirdropDeployerERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/AirdropDeployerERC20.sol\":{\"keccak256\":\"0x550361a88815ad70a67a96e50b00594f9c78faeab07295cda0aadc1f1ae6e398\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93837c4e566db515a686ec0b210db566b039bed9a3f8f838ea787b9adb37181f\",\"dweb:/ipfs/QmQ98H6HY43Fpf8fdPXURt7Sd1xaT6jnJKHYtqARQJo2qq\"]},\"contracts/OpenAirdropERC20.sol\":{\"keccak256\":\"0x8264b69f61632f3869a932aaf532931bed3f1b5aa85dfa18abf589866f0d7810\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f411e72cbff09a3d66e7ccaa0bf797f2dffce4ffdaf74e3f671fabe870305132\",\"dweb:/ipfs/QmQ9BHBgcq9b3GDra6FWBM6e6mBDfchiDkLX5Ue4qFbiz5\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/AirdropManager.sol": { + "AirdropManager": { + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "initialAdmins", + "type": "address[]" + }, + { + "internalType": "address", + "name": "airdropDeployerERC20Address", + "type": "address" + }, + { + "internalType": "address", + "name": "airdropDeployerERC1155Address", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropERC1155Deployed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropERC20Deployed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropRemoved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "allowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "users", + "type": "address[]" + } + ], + "name": "allowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mode", + "type": "uint256" + } + ], + "name": "deployAndAddAirdropERC1155", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "deployAndAddAirdropERC20", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "disallowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "users", + "type": "address[]" + } + ], + "name": "disallowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdrops", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAdmin", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "name": "removeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "removeAirdrop", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_1323": { + "entryPoint": null, + "id": 1323, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_1581": { + "entryPoint": null, + "id": 1581, + "parameterSlots": 3, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 667, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 644, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 783, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_addresst_address_fromMemory": { + "entryPoint": 834, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "allocate_memory": { + "entryPoint": 483, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 340, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 514, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 598, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 566, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 429, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 957, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 382, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 360, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 561, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 355, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 350, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 365, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 618, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:4342:12", + "nodeType": "YulBlock", + "src": "0:4342:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "505:54:12", + "nodeType": "YulBlock", + "src": "505:54:12", + "statements": [ + { + "nativeSrc": "515:38:12", + "nodeType": "YulAssignment", + "src": "515:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "533:5:12", + "nodeType": "YulIdentifier", + "src": "533:5:12" + }, + { + "kind": "number", + "nativeSrc": "540:2:12", + "nodeType": "YulLiteral", + "src": "540:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "529:3:12", + "nodeType": "YulIdentifier", + "src": "529:3:12" + }, + "nativeSrc": "529:14:12", + "nodeType": "YulFunctionCall", + "src": "529:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "549:2:12", + "nodeType": "YulLiteral", + "src": "549:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "545:3:12", + "nodeType": "YulIdentifier", + "src": "545:3:12" + }, + "nativeSrc": "545:7:12", + "nodeType": "YulFunctionCall", + "src": "545:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "525:3:12", + "nodeType": "YulIdentifier", + "src": "525:3:12" + }, + "nativeSrc": "525:28:12", + "nodeType": "YulFunctionCall", + "src": "525:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "515:6:12", + "nodeType": "YulIdentifier", + "src": "515:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "457:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "488:5:12", + "nodeType": "YulTypedName", + "src": "488:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "498:6:12", + "nodeType": "YulTypedName", + "src": "498:6:12", + "type": "" + } + ], + "src": "457:102:12" + }, + { + "body": { + "nativeSrc": "593:152:12", + "nodeType": "YulBlock", + "src": "593:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "610:1:12", + "nodeType": "YulLiteral", + "src": "610:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "613:77:12", + "nodeType": "YulLiteral", + "src": "613:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "603:6:12", + "nodeType": "YulIdentifier", + "src": "603:6:12" + }, + "nativeSrc": "603:88:12", + "nodeType": "YulFunctionCall", + "src": "603:88:12" + }, + "nativeSrc": "603:88:12", + "nodeType": "YulExpressionStatement", + "src": "603:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "707:1:12", + "nodeType": "YulLiteral", + "src": "707:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "710:4:12", + "nodeType": "YulLiteral", + "src": "710:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "700:6:12", + "nodeType": "YulIdentifier", + "src": "700:6:12" + }, + "nativeSrc": "700:15:12", + "nodeType": "YulFunctionCall", + "src": "700:15:12" + }, + "nativeSrc": "700:15:12", + "nodeType": "YulExpressionStatement", + "src": "700:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "731:1:12", + "nodeType": "YulLiteral", + "src": "731:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "734:4:12", + "nodeType": "YulLiteral", + "src": "734:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "724:6:12", + "nodeType": "YulIdentifier", + "src": "724:6:12" + }, + "nativeSrc": "724:15:12", + "nodeType": "YulFunctionCall", + "src": "724:15:12" + }, + "nativeSrc": "724:15:12", + "nodeType": "YulExpressionStatement", + "src": "724:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "565:180:12", + "nodeType": "YulFunctionDefinition", + "src": "565:180:12" + }, + { + "body": { + "nativeSrc": "794:238:12", + "nodeType": "YulBlock", + "src": "794:238:12", + "statements": [ + { + "nativeSrc": "804:58:12", + "nodeType": "YulVariableDeclaration", + "src": "804:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "826:6:12", + "nodeType": "YulIdentifier", + "src": "826:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "856:4:12", + "nodeType": "YulIdentifier", + "src": "856:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "834:21:12", + "nodeType": "YulIdentifier", + "src": "834:21:12" + }, + "nativeSrc": "834:27:12", + "nodeType": "YulFunctionCall", + "src": "834:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "822:3:12", + "nodeType": "YulIdentifier", + "src": "822:3:12" + }, + "nativeSrc": "822:40:12", + "nodeType": "YulFunctionCall", + "src": "822:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "808:10:12", + "nodeType": "YulTypedName", + "src": "808:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "973:22:12", + "nodeType": "YulBlock", + "src": "973:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "975:16:12", + "nodeType": "YulIdentifier", + "src": "975:16:12" + }, + "nativeSrc": "975:18:12", + "nodeType": "YulFunctionCall", + "src": "975:18:12" + }, + "nativeSrc": "975:18:12", + "nodeType": "YulExpressionStatement", + "src": "975:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "916:10:12", + "nodeType": "YulIdentifier", + "src": "916:10:12" + }, + { + "kind": "number", + "nativeSrc": "928:18:12", + "nodeType": "YulLiteral", + "src": "928:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "913:2:12", + "nodeType": "YulIdentifier", + "src": "913:2:12" + }, + "nativeSrc": "913:34:12", + "nodeType": "YulFunctionCall", + "src": "913:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "952:10:12", + "nodeType": "YulIdentifier", + "src": "952:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "964:6:12", + "nodeType": "YulIdentifier", + "src": "964:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "949:2:12", + "nodeType": "YulIdentifier", + "src": "949:2:12" + }, + "nativeSrc": "949:22:12", + "nodeType": "YulFunctionCall", + "src": "949:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "910:2:12", + "nodeType": "YulIdentifier", + "src": "910:2:12" + }, + "nativeSrc": "910:62:12", + "nodeType": "YulFunctionCall", + "src": "910:62:12" + }, + "nativeSrc": "907:88:12", + "nodeType": "YulIf", + "src": "907:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1011:2:12", + "nodeType": "YulLiteral", + "src": "1011:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1015:10:12", + "nodeType": "YulIdentifier", + "src": "1015:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1004:6:12", + "nodeType": "YulIdentifier", + "src": "1004:6:12" + }, + "nativeSrc": "1004:22:12", + "nodeType": "YulFunctionCall", + "src": "1004:22:12" + }, + "nativeSrc": "1004:22:12", + "nodeType": "YulExpressionStatement", + "src": "1004:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "751:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "780:6:12", + "nodeType": "YulTypedName", + "src": "780:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "788:4:12", + "nodeType": "YulTypedName", + "src": "788:4:12", + "type": "" + } + ], + "src": "751:281:12" + }, + { + "body": { + "nativeSrc": "1079:88:12", + "nodeType": "YulBlock", + "src": "1079:88:12", + "statements": [ + { + "nativeSrc": "1089:30:12", + "nodeType": "YulAssignment", + "src": "1089:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1099:18:12", + "nodeType": "YulIdentifier", + "src": "1099:18:12" + }, + "nativeSrc": "1099:20:12", + "nodeType": "YulFunctionCall", + "src": "1099:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1089:6:12", + "nodeType": "YulIdentifier", + "src": "1089:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1148:6:12", + "nodeType": "YulIdentifier", + "src": "1148:6:12" + }, + { + "name": "size", + "nativeSrc": "1156:4:12", + "nodeType": "YulIdentifier", + "src": "1156:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1128:19:12", + "nodeType": "YulIdentifier", + "src": "1128:19:12" + }, + "nativeSrc": "1128:33:12", + "nodeType": "YulFunctionCall", + "src": "1128:33:12" + }, + "nativeSrc": "1128:33:12", + "nodeType": "YulExpressionStatement", + "src": "1128:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1038:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1063:4:12", + "nodeType": "YulTypedName", + "src": "1063:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1072:6:12", + "nodeType": "YulTypedName", + "src": "1072:6:12", + "type": "" + } + ], + "src": "1038:129:12" + }, + { + "body": { + "nativeSrc": "1255:229:12", + "nodeType": "YulBlock", + "src": "1255:229:12", + "statements": [ + { + "body": { + "nativeSrc": "1360:22:12", + "nodeType": "YulBlock", + "src": "1360:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1362:16:12", + "nodeType": "YulIdentifier", + "src": "1362:16:12" + }, + "nativeSrc": "1362:18:12", + "nodeType": "YulFunctionCall", + "src": "1362:18:12" + }, + "nativeSrc": "1362:18:12", + "nodeType": "YulExpressionStatement", + "src": "1362:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1332:6:12", + "nodeType": "YulIdentifier", + "src": "1332:6:12" + }, + { + "kind": "number", + "nativeSrc": "1340:18:12", + "nodeType": "YulLiteral", + "src": "1340:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1329:2:12", + "nodeType": "YulIdentifier", + "src": "1329:2:12" + }, + "nativeSrc": "1329:30:12", + "nodeType": "YulFunctionCall", + "src": "1329:30:12" + }, + "nativeSrc": "1326:56:12", + "nodeType": "YulIf", + "src": "1326:56:12" + }, + { + "nativeSrc": "1392:25:12", + "nodeType": "YulAssignment", + "src": "1392:25:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1404:6:12", + "nodeType": "YulIdentifier", + "src": "1404:6:12" + }, + { + "kind": "number", + "nativeSrc": "1412:4:12", + "nodeType": "YulLiteral", + "src": "1412:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "1400:3:12", + "nodeType": "YulIdentifier", + "src": "1400:3:12" + }, + "nativeSrc": "1400:17:12", + "nodeType": "YulFunctionCall", + "src": "1400:17:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1392:4:12", + "nodeType": "YulIdentifier", + "src": "1392:4:12" + } + ] + }, + { + "nativeSrc": "1454:23:12", + "nodeType": "YulAssignment", + "src": "1454:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1466:4:12", + "nodeType": "YulIdentifier", + "src": "1466:4:12" + }, + { + "kind": "number", + "nativeSrc": "1472:4:12", + "nodeType": "YulLiteral", + "src": "1472:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1462:3:12", + "nodeType": "YulIdentifier", + "src": "1462:3:12" + }, + "nativeSrc": "1462:15:12", + "nodeType": "YulFunctionCall", + "src": "1462:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1454:4:12", + "nodeType": "YulIdentifier", + "src": "1454:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "1173:311:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1239:6:12", + "nodeType": "YulTypedName", + "src": "1239:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1250:4:12", + "nodeType": "YulTypedName", + "src": "1250:4:12", + "type": "" + } + ], + "src": "1173:311:12" + }, + { + "body": { + "nativeSrc": "1579:28:12", + "nodeType": "YulBlock", + "src": "1579:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1596:1:12", + "nodeType": "YulLiteral", + "src": "1596:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1599:1:12", + "nodeType": "YulLiteral", + "src": "1599:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1589:6:12", + "nodeType": "YulIdentifier", + "src": "1589:6:12" + }, + "nativeSrc": "1589:12:12", + "nodeType": "YulFunctionCall", + "src": "1589:12:12" + }, + "nativeSrc": "1589:12:12", + "nodeType": "YulExpressionStatement", + "src": "1589:12:12" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "1490:117:12", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:12" + }, + { + "body": { + "nativeSrc": "1658:81:12", + "nodeType": "YulBlock", + "src": "1658:81:12", + "statements": [ + { + "nativeSrc": "1668:65:12", + "nodeType": "YulAssignment", + "src": "1668:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1683:5:12", + "nodeType": "YulIdentifier", + "src": "1683:5:12" + }, + { + "kind": "number", + "nativeSrc": "1690:42:12", + "nodeType": "YulLiteral", + "src": "1690:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1679:3:12", + "nodeType": "YulIdentifier", + "src": "1679:3:12" + }, + "nativeSrc": "1679:54:12", + "nodeType": "YulFunctionCall", + "src": "1679:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1668:7:12", + "nodeType": "YulIdentifier", + "src": "1668:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1613:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1640:5:12", + "nodeType": "YulTypedName", + "src": "1640:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1650:7:12", + "nodeType": "YulTypedName", + "src": "1650:7:12", + "type": "" + } + ], + "src": "1613:126:12" + }, + { + "body": { + "nativeSrc": "1790:51:12", + "nodeType": "YulBlock", + "src": "1790:51:12", + "statements": [ + { + "nativeSrc": "1800:35:12", + "nodeType": "YulAssignment", + "src": "1800:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1829:5:12", + "nodeType": "YulIdentifier", + "src": "1829:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1811:17:12", + "nodeType": "YulIdentifier", + "src": "1811:17:12" + }, + "nativeSrc": "1811:24:12", + "nodeType": "YulFunctionCall", + "src": "1811:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1800:7:12", + "nodeType": "YulIdentifier", + "src": "1800:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1745:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1772:5:12", + "nodeType": "YulTypedName", + "src": "1772:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1782:7:12", + "nodeType": "YulTypedName", + "src": "1782:7:12", + "type": "" + } + ], + "src": "1745:96:12" + }, + { + "body": { + "nativeSrc": "1890:79:12", + "nodeType": "YulBlock", + "src": "1890:79:12", + "statements": [ + { + "body": { + "nativeSrc": "1947:16:12", + "nodeType": "YulBlock", + "src": "1947:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1956:1:12", + "nodeType": "YulLiteral", + "src": "1956:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1959:1:12", + "nodeType": "YulLiteral", + "src": "1959:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1949:6:12", + "nodeType": "YulIdentifier", + "src": "1949:6:12" + }, + "nativeSrc": "1949:12:12", + "nodeType": "YulFunctionCall", + "src": "1949:12:12" + }, + "nativeSrc": "1949:12:12", + "nodeType": "YulExpressionStatement", + "src": "1949:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1913:5:12", + "nodeType": "YulIdentifier", + "src": "1913:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1938:5:12", + "nodeType": "YulIdentifier", + "src": "1938:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1920:17:12", + "nodeType": "YulIdentifier", + "src": "1920:17:12" + }, + "nativeSrc": "1920:24:12", + "nodeType": "YulFunctionCall", + "src": "1920:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1910:2:12", + "nodeType": "YulIdentifier", + "src": "1910:2:12" + }, + "nativeSrc": "1910:35:12", + "nodeType": "YulFunctionCall", + "src": "1910:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1903:6:12", + "nodeType": "YulIdentifier", + "src": "1903:6:12" + }, + "nativeSrc": "1903:43:12", + "nodeType": "YulFunctionCall", + "src": "1903:43:12" + }, + "nativeSrc": "1900:63:12", + "nodeType": "YulIf", + "src": "1900:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "1847:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1883:5:12", + "nodeType": "YulTypedName", + "src": "1883:5:12", + "type": "" + } + ], + "src": "1847:122:12" + }, + { + "body": { + "nativeSrc": "2038:80:12", + "nodeType": "YulBlock", + "src": "2038:80:12", + "statements": [ + { + "nativeSrc": "2048:22:12", + "nodeType": "YulAssignment", + "src": "2048:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2063:6:12", + "nodeType": "YulIdentifier", + "src": "2063:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2057:5:12", + "nodeType": "YulIdentifier", + "src": "2057:5:12" + }, + "nativeSrc": "2057:13:12", + "nodeType": "YulFunctionCall", + "src": "2057:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2048:5:12", + "nodeType": "YulIdentifier", + "src": "2048:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2106:5:12", + "nodeType": "YulIdentifier", + "src": "2106:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "2079:26:12", + "nodeType": "YulIdentifier", + "src": "2079:26:12" + }, + "nativeSrc": "2079:33:12", + "nodeType": "YulFunctionCall", + "src": "2079:33:12" + }, + "nativeSrc": "2079:33:12", + "nodeType": "YulExpressionStatement", + "src": "2079:33:12" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "1975:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2016:6:12", + "nodeType": "YulTypedName", + "src": "2016:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2024:3:12", + "nodeType": "YulTypedName", + "src": "2024:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2032:5:12", + "nodeType": "YulTypedName", + "src": "2032:5:12", + "type": "" + } + ], + "src": "1975:143:12" + }, + { + "body": { + "nativeSrc": "2254:619:12", + "nodeType": "YulBlock", + "src": "2254:619:12", + "statements": [ + { + "nativeSrc": "2264:90:12", + "nodeType": "YulAssignment", + "src": "2264:90:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2346:6:12", + "nodeType": "YulIdentifier", + "src": "2346:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "2289:56:12", + "nodeType": "YulIdentifier", + "src": "2289:56:12" + }, + "nativeSrc": "2289:64:12", + "nodeType": "YulFunctionCall", + "src": "2289:64:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "2273:15:12", + "nodeType": "YulIdentifier", + "src": "2273:15:12" + }, + "nativeSrc": "2273:81:12", + "nodeType": "YulFunctionCall", + "src": "2273:81:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2264:5:12", + "nodeType": "YulIdentifier", + "src": "2264:5:12" + } + ] + }, + { + "nativeSrc": "2363:16:12", + "nodeType": "YulVariableDeclaration", + "src": "2363:16:12", + "value": { + "name": "array", + "nativeSrc": "2374:5:12", + "nodeType": "YulIdentifier", + "src": "2374:5:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2367:3:12", + "nodeType": "YulTypedName", + "src": "2367:3:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2396:5:12", + "nodeType": "YulIdentifier", + "src": "2396:5:12" + }, + { + "name": "length", + "nativeSrc": "2403:6:12", + "nodeType": "YulIdentifier", + "src": "2403:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2389:6:12", + "nodeType": "YulIdentifier", + "src": "2389:6:12" + }, + "nativeSrc": "2389:21:12", + "nodeType": "YulFunctionCall", + "src": "2389:21:12" + }, + "nativeSrc": "2389:21:12", + "nodeType": "YulExpressionStatement", + "src": "2389:21:12" + }, + { + "nativeSrc": "2419:23:12", + "nodeType": "YulAssignment", + "src": "2419:23:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2430:5:12", + "nodeType": "YulIdentifier", + "src": "2430:5:12" + }, + { + "kind": "number", + "nativeSrc": "2437:4:12", + "nodeType": "YulLiteral", + "src": "2437:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2426:3:12", + "nodeType": "YulIdentifier", + "src": "2426:3:12" + }, + "nativeSrc": "2426:16:12", + "nodeType": "YulFunctionCall", + "src": "2426:16:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2419:3:12", + "nodeType": "YulIdentifier", + "src": "2419:3:12" + } + ] + }, + { + "nativeSrc": "2452:44:12", + "nodeType": "YulVariableDeclaration", + "src": "2452:44:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2470:6:12", + "nodeType": "YulIdentifier", + "src": "2470:6:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2482:6:12", + "nodeType": "YulIdentifier", + "src": "2482:6:12" + }, + { + "kind": "number", + "nativeSrc": "2490:4:12", + "nodeType": "YulLiteral", + "src": "2490:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2478:3:12", + "nodeType": "YulIdentifier", + "src": "2478:3:12" + }, + "nativeSrc": "2478:17:12", + "nodeType": "YulFunctionCall", + "src": "2478:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2466:3:12", + "nodeType": "YulIdentifier", + "src": "2466:3:12" + }, + "nativeSrc": "2466:30:12", + "nodeType": "YulFunctionCall", + "src": "2466:30:12" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "2456:6:12", + "nodeType": "YulTypedName", + "src": "2456:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2524:103:12", + "nodeType": "YulBlock", + "src": "2524:103:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "2538:77:12", + "nodeType": "YulIdentifier", + "src": "2538:77:12" + }, + "nativeSrc": "2538:79:12", + "nodeType": "YulFunctionCall", + "src": "2538:79:12" + }, + "nativeSrc": "2538:79:12", + "nodeType": "YulExpressionStatement", + "src": "2538:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "2511:6:12", + "nodeType": "YulIdentifier", + "src": "2511:6:12" + }, + { + "name": "end", + "nativeSrc": "2519:3:12", + "nodeType": "YulIdentifier", + "src": "2519:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2508:2:12", + "nodeType": "YulIdentifier", + "src": "2508:2:12" + }, + "nativeSrc": "2508:15:12", + "nodeType": "YulFunctionCall", + "src": "2508:15:12" + }, + "nativeSrc": "2505:122:12", + "nodeType": "YulIf", + "src": "2505:122:12" + }, + { + "body": { + "nativeSrc": "2712:155:12", + "nodeType": "YulBlock", + "src": "2712:155:12", + "statements": [ + { + "nativeSrc": "2727:21:12", + "nodeType": "YulVariableDeclaration", + "src": "2727:21:12", + "value": { + "name": "src", + "nativeSrc": "2745:3:12", + "nodeType": "YulIdentifier", + "src": "2745:3:12" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "2731:10:12", + "nodeType": "YulTypedName", + "src": "2731:10:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2769:3:12", + "nodeType": "YulIdentifier", + "src": "2769:3:12" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "2806:10:12", + "nodeType": "YulIdentifier", + "src": "2806:10:12" + }, + { + "name": "end", + "nativeSrc": "2818:3:12", + "nodeType": "YulIdentifier", + "src": "2818:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "2774:31:12", + "nodeType": "YulIdentifier", + "src": "2774:31:12" + }, + "nativeSrc": "2774:48:12", + "nodeType": "YulFunctionCall", + "src": "2774:48:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2762:6:12", + "nodeType": "YulIdentifier", + "src": "2762:6:12" + }, + "nativeSrc": "2762:61:12", + "nodeType": "YulFunctionCall", + "src": "2762:61:12" + }, + "nativeSrc": "2762:61:12", + "nodeType": "YulExpressionStatement", + "src": "2762:61:12" + }, + { + "nativeSrc": "2836:21:12", + "nodeType": "YulAssignment", + "src": "2836:21:12", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2847:3:12", + "nodeType": "YulIdentifier", + "src": "2847:3:12" + }, + { + "kind": "number", + "nativeSrc": "2852:4:12", + "nodeType": "YulLiteral", + "src": "2852:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2843:3:12", + "nodeType": "YulIdentifier", + "src": "2843:3:12" + }, + "nativeSrc": "2843:14:12", + "nodeType": "YulFunctionCall", + "src": "2843:14:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2836:3:12", + "nodeType": "YulIdentifier", + "src": "2836:3:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2665:3:12", + "nodeType": "YulIdentifier", + "src": "2665:3:12" + }, + { + "name": "srcEnd", + "nativeSrc": "2670:6:12", + "nodeType": "YulIdentifier", + "src": "2670:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2662:2:12", + "nodeType": "YulIdentifier", + "src": "2662:2:12" + }, + "nativeSrc": "2662:15:12", + "nodeType": "YulFunctionCall", + "src": "2662:15:12" + }, + "nativeSrc": "2636:231:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2678:25:12", + "nodeType": "YulBlock", + "src": "2678:25:12", + "statements": [ + { + "nativeSrc": "2680:21:12", + "nodeType": "YulAssignment", + "src": "2680:21:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2691:3:12", + "nodeType": "YulIdentifier", + "src": "2691:3:12" + }, + { + "kind": "number", + "nativeSrc": "2696:4:12", + "nodeType": "YulLiteral", + "src": "2696:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2687:3:12", + "nodeType": "YulIdentifier", + "src": "2687:3:12" + }, + "nativeSrc": "2687:14:12", + "nodeType": "YulFunctionCall", + "src": "2687:14:12" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "2680:3:12", + "nodeType": "YulIdentifier", + "src": "2680:3:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2640:21:12", + "nodeType": "YulBlock", + "src": "2640:21:12", + "statements": [ + { + "nativeSrc": "2642:17:12", + "nodeType": "YulVariableDeclaration", + "src": "2642:17:12", + "value": { + "name": "offset", + "nativeSrc": "2653:6:12", + "nodeType": "YulIdentifier", + "src": "2653:6:12" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "2646:3:12", + "nodeType": "YulTypedName", + "src": "2646:3:12", + "type": "" + } + ] + } + ] + }, + "src": "2636:231:12" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2141:732:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2224:6:12", + "nodeType": "YulTypedName", + "src": "2224:6:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2232:6:12", + "nodeType": "YulTypedName", + "src": "2232:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2240:3:12", + "nodeType": "YulTypedName", + "src": "2240:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2248:5:12", + "nodeType": "YulTypedName", + "src": "2248:5:12", + "type": "" + } + ], + "src": "2141:732:12" + }, + { + "body": { + "nativeSrc": "2984:297:12", + "nodeType": "YulBlock", + "src": "2984:297:12", + "statements": [ + { + "body": { + "nativeSrc": "3033:83:12", + "nodeType": "YulBlock", + "src": "3033:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3035:77:12", + "nodeType": "YulIdentifier", + "src": "3035:77:12" + }, + "nativeSrc": "3035:79:12", + "nodeType": "YulFunctionCall", + "src": "3035:79:12" + }, + "nativeSrc": "3035:79:12", + "nodeType": "YulExpressionStatement", + "src": "3035:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3012:6:12", + "nodeType": "YulIdentifier", + "src": "3012:6:12" + }, + { + "kind": "number", + "nativeSrc": "3020:4:12", + "nodeType": "YulLiteral", + "src": "3020:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3008:3:12", + "nodeType": "YulIdentifier", + "src": "3008:3:12" + }, + "nativeSrc": "3008:17:12", + "nodeType": "YulFunctionCall", + "src": "3008:17:12" + }, + { + "name": "end", + "nativeSrc": "3027:3:12", + "nodeType": "YulIdentifier", + "src": "3027:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3004:3:12", + "nodeType": "YulIdentifier", + "src": "3004:3:12" + }, + "nativeSrc": "3004:27:12", + "nodeType": "YulFunctionCall", + "src": "3004:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2997:6:12", + "nodeType": "YulIdentifier", + "src": "2997:6:12" + }, + "nativeSrc": "2997:35:12", + "nodeType": "YulFunctionCall", + "src": "2997:35:12" + }, + "nativeSrc": "2994:122:12", + "nodeType": "YulIf", + "src": "2994:122:12" + }, + { + "nativeSrc": "3125:27:12", + "nodeType": "YulVariableDeclaration", + "src": "3125:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3145:6:12", + "nodeType": "YulIdentifier", + "src": "3145:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3139:5:12", + "nodeType": "YulIdentifier", + "src": "3139:5:12" + }, + "nativeSrc": "3139:13:12", + "nodeType": "YulFunctionCall", + "src": "3139:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "3129:6:12", + "nodeType": "YulTypedName", + "src": "3129:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3161:114:12", + "nodeType": "YulAssignment", + "src": "3161:114:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3248:6:12", + "nodeType": "YulIdentifier", + "src": "3248:6:12" + }, + { + "kind": "number", + "nativeSrc": "3256:4:12", + "nodeType": "YulLiteral", + "src": "3256:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3244:3:12", + "nodeType": "YulIdentifier", + "src": "3244:3:12" + }, + "nativeSrc": "3244:17:12", + "nodeType": "YulFunctionCall", + "src": "3244:17:12" + }, + { + "name": "length", + "nativeSrc": "3263:6:12", + "nodeType": "YulIdentifier", + "src": "3263:6:12" + }, + { + "name": "end", + "nativeSrc": "3271:3:12", + "nodeType": "YulIdentifier", + "src": "3271:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3170:73:12", + "nodeType": "YulIdentifier", + "src": "3170:73:12" + }, + "nativeSrc": "3170:105:12", + "nodeType": "YulFunctionCall", + "src": "3170:105:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3161:5:12", + "nodeType": "YulIdentifier", + "src": "3161:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2896:385:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2962:6:12", + "nodeType": "YulTypedName", + "src": "2962:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2970:3:12", + "nodeType": "YulTypedName", + "src": "2970:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2978:5:12", + "nodeType": "YulTypedName", + "src": "2978:5:12", + "type": "" + } + ], + "src": "2896:385:12" + }, + { + "body": { + "nativeSrc": "3423:730:12", + "nodeType": "YulBlock", + "src": "3423:730:12", + "statements": [ + { + "body": { + "nativeSrc": "3469:83:12", + "nodeType": "YulBlock", + "src": "3469:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3471:77:12", + "nodeType": "YulIdentifier", + "src": "3471:77:12" + }, + "nativeSrc": "3471:79:12", + "nodeType": "YulFunctionCall", + "src": "3471:79:12" + }, + "nativeSrc": "3471:79:12", + "nodeType": "YulExpressionStatement", + "src": "3471:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3444:7:12", + "nodeType": "YulIdentifier", + "src": "3444:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3453:9:12", + "nodeType": "YulIdentifier", + "src": "3453:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3440:3:12", + "nodeType": "YulIdentifier", + "src": "3440:3:12" + }, + "nativeSrc": "3440:23:12", + "nodeType": "YulFunctionCall", + "src": "3440:23:12" + }, + { + "kind": "number", + "nativeSrc": "3465:2:12", + "nodeType": "YulLiteral", + "src": "3465:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3436:3:12", + "nodeType": "YulIdentifier", + "src": "3436:3:12" + }, + "nativeSrc": "3436:32:12", + "nodeType": "YulFunctionCall", + "src": "3436:32:12" + }, + "nativeSrc": "3433:119:12", + "nodeType": "YulIf", + "src": "3433:119:12" + }, + { + "nativeSrc": "3562:306:12", + "nodeType": "YulBlock", + "src": "3562:306:12", + "statements": [ + { + "nativeSrc": "3577:38:12", + "nodeType": "YulVariableDeclaration", + "src": "3577:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3601:9:12", + "nodeType": "YulIdentifier", + "src": "3601:9:12" + }, + { + "kind": "number", + "nativeSrc": "3612:1:12", + "nodeType": "YulLiteral", + "src": "3612:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3597:3:12", + "nodeType": "YulIdentifier", + "src": "3597:3:12" + }, + "nativeSrc": "3597:17:12", + "nodeType": "YulFunctionCall", + "src": "3597:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3591:5:12", + "nodeType": "YulIdentifier", + "src": "3591:5:12" + }, + "nativeSrc": "3591:24:12", + "nodeType": "YulFunctionCall", + "src": "3591:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3581:6:12", + "nodeType": "YulTypedName", + "src": "3581:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3662:83:12", + "nodeType": "YulBlock", + "src": "3662:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3664:77:12", + "nodeType": "YulIdentifier", + "src": "3664:77:12" + }, + "nativeSrc": "3664:79:12", + "nodeType": "YulFunctionCall", + "src": "3664:79:12" + }, + "nativeSrc": "3664:79:12", + "nodeType": "YulExpressionStatement", + "src": "3664:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3634:6:12", + "nodeType": "YulIdentifier", + "src": "3634:6:12" + }, + { + "kind": "number", + "nativeSrc": "3642:18:12", + "nodeType": "YulLiteral", + "src": "3642:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3631:2:12", + "nodeType": "YulIdentifier", + "src": "3631:2:12" + }, + "nativeSrc": "3631:30:12", + "nodeType": "YulFunctionCall", + "src": "3631:30:12" + }, + "nativeSrc": "3628:117:12", + "nodeType": "YulIf", + "src": "3628:117:12" + }, + { + "nativeSrc": "3759:99:12", + "nodeType": "YulAssignment", + "src": "3759:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3830:9:12", + "nodeType": "YulIdentifier", + "src": "3830:9:12" + }, + { + "name": "offset", + "nativeSrc": "3841:6:12", + "nodeType": "YulIdentifier", + "src": "3841:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3826:3:12", + "nodeType": "YulIdentifier", + "src": "3826:3:12" + }, + "nativeSrc": "3826:22:12", + "nodeType": "YulFunctionCall", + "src": "3826:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3850:7:12", + "nodeType": "YulIdentifier", + "src": "3850:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3769:56:12", + "nodeType": "YulIdentifier", + "src": "3769:56:12" + }, + "nativeSrc": "3769:89:12", + "nodeType": "YulFunctionCall", + "src": "3769:89:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3759:6:12", + "nodeType": "YulIdentifier", + "src": "3759:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "3878:129:12", + "nodeType": "YulBlock", + "src": "3878:129:12", + "statements": [ + { + "nativeSrc": "3893:16:12", + "nodeType": "YulVariableDeclaration", + "src": "3893:16:12", + "value": { + "kind": "number", + "nativeSrc": "3907:2:12", + "nodeType": "YulLiteral", + "src": "3907:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3897:6:12", + "nodeType": "YulTypedName", + "src": "3897:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3923:74:12", + "nodeType": "YulAssignment", + "src": "3923:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3969:9:12", + "nodeType": "YulIdentifier", + "src": "3969:9:12" + }, + { + "name": "offset", + "nativeSrc": "3980:6:12", + "nodeType": "YulIdentifier", + "src": "3980:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3965:3:12", + "nodeType": "YulIdentifier", + "src": "3965:3:12" + }, + "nativeSrc": "3965:22:12", + "nodeType": "YulFunctionCall", + "src": "3965:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3989:7:12", + "nodeType": "YulIdentifier", + "src": "3989:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3933:31:12", + "nodeType": "YulIdentifier", + "src": "3933:31:12" + }, + "nativeSrc": "3933:64:12", + "nodeType": "YulFunctionCall", + "src": "3933:64:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "3923:6:12", + "nodeType": "YulIdentifier", + "src": "3923:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4017:129:12", + "nodeType": "YulBlock", + "src": "4017:129:12", + "statements": [ + { + "nativeSrc": "4032:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4032:16:12", + "value": { + "kind": "number", + "nativeSrc": "4046:2:12", + "nodeType": "YulLiteral", + "src": "4046:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4036:6:12", + "nodeType": "YulTypedName", + "src": "4036:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4062:74:12", + "nodeType": "YulAssignment", + "src": "4062:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4108:9:12", + "nodeType": "YulIdentifier", + "src": "4108:9:12" + }, + { + "name": "offset", + "nativeSrc": "4119:6:12", + "nodeType": "YulIdentifier", + "src": "4119:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4104:3:12", + "nodeType": "YulIdentifier", + "src": "4104:3:12" + }, + "nativeSrc": "4104:22:12", + "nodeType": "YulFunctionCall", + "src": "4104:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4128:7:12", + "nodeType": "YulIdentifier", + "src": "4128:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4072:31:12", + "nodeType": "YulIdentifier", + "src": "4072:31:12" + }, + "nativeSrc": "4072:64:12", + "nodeType": "YulFunctionCall", + "src": "4072:64:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4062:6:12", + "nodeType": "YulIdentifier", + "src": "4062:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_addresst_address_fromMemory", + "nativeSrc": "3287:866:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3377:9:12", + "nodeType": "YulTypedName", + "src": "3377:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3388:7:12", + "nodeType": "YulTypedName", + "src": "3388:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3400:6:12", + "nodeType": "YulTypedName", + "src": "3400:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3408:6:12", + "nodeType": "YulTypedName", + "src": "3408:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3416:6:12", + "nodeType": "YulTypedName", + "src": "3416:6:12", + "type": "" + } + ], + "src": "3287:866:12" + }, + { + "body": { + "nativeSrc": "4187:152:12", + "nodeType": "YulBlock", + "src": "4187:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4204:1:12", + "nodeType": "YulLiteral", + "src": "4204:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4207:77:12", + "nodeType": "YulLiteral", + "src": "4207:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4197:6:12", + "nodeType": "YulIdentifier", + "src": "4197:6:12" + }, + "nativeSrc": "4197:88:12", + "nodeType": "YulFunctionCall", + "src": "4197:88:12" + }, + "nativeSrc": "4197:88:12", + "nodeType": "YulExpressionStatement", + "src": "4197:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4301:1:12", + "nodeType": "YulLiteral", + "src": "4301:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "4304:4:12", + "nodeType": "YulLiteral", + "src": "4304:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4294:6:12", + "nodeType": "YulIdentifier", + "src": "4294:6:12" + }, + "nativeSrc": "4294:15:12", + "nodeType": "YulFunctionCall", + "src": "4294:15:12" + }, + "nativeSrc": "4294:15:12", + "nodeType": "YulExpressionStatement", + "src": "4294:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4325:1:12", + "nodeType": "YulLiteral", + "src": "4325:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4328:4:12", + "nodeType": "YulLiteral", + "src": "4328:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4318:6:12", + "nodeType": "YulIdentifier", + "src": "4318:6:12" + }, + "nativeSrc": "4318:15:12", + "nodeType": "YulFunctionCall", + "src": "4318:15:12" + }, + "nativeSrc": "4318:15:12", + "nodeType": "YulExpressionStatement", + "src": "4318:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "4159:180:12", + "nodeType": "YulFunctionDefinition", + "src": "4159:180:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5060405162002e0d38038062002e0d833981810160405281019062000037919062000342565b8260005b8151811015620000c757600160008084848151811062000060576200005f620003bd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506200003b565b505081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620003ec565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001b8826200016d565b810181811067ffffffffffffffff82111715620001da57620001d96200017e565b5b80604052505050565b6000620001ef62000154565b9050620001fd8282620001ad565b919050565b600067ffffffffffffffff82111562000220576200021f6200017e565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002638262000236565b9050919050565b620002758162000256565b81146200028157600080fd5b50565b60008151905062000295816200026a565b92915050565b6000620002b2620002ac8462000202565b620001e3565b90508083825260208201905060208402830185811115620002d857620002d762000231565b5b835b81811015620003055780620002f0888262000284565b845260208401935050602081019050620002da565b5050509392505050565b600082601f83011262000327576200032662000168565b5b8151620003398482602086016200029b565b91505092915050565b6000806000606084860312156200035e576200035d6200015e565b5b600084015167ffffffffffffffff8111156200037f576200037e62000163565b5b6200038d868287016200030f565b9350506020620003a08682870162000284565b9250506040620003b38682870162000284565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b612a1180620003fc6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063989a9863116100b8578063dde070e81161007c578063dde070e8146103a9578063ead7778a146103d9578063f77bc88b146103f5578063f89f2a2c14610425578063f8b2cb4f14610455578063fabed4121461048557610142565b8063989a9863146102e1578063a1654379146102fd578063a9b8f0181461032d578063b17acd1a1461035d578063c012a68f1461038d57610142565b80633ad14ed61161010a5780633ad14ed61461020f57806359f47add1461022b5780636b58222e1461024957806370480275146102795780637f94f65d1461029557806389266f60146102b157610142565b806307b1d553146101475780630cb27628146101775780631785f53c1461019357806324d7806c146101af5780632522f8da146101df575b600080fd5b610161600480360381019061015c9190611b1b565b6104a1565b60405161016e9190611bc1565b60405180910390f35b610191600480360381019061018c9190611ca4565b61062b565b005b6101ad60048036038101906101a89190611d00565b61072b565b005b6101c960048036038101906101c49190611d00565b610810565b6040516101d69190611d48565b60405180910390f35b6101f960048036038101906101f49190611d00565b610865565b6040516102069190611d72565b60405180910390f35b61022960048036038101906102249190611d8d565b6108e2565b005b6102336109e2565b6040516102409190611e8b565b60405180910390f35b610263600480360381019061025e9190611d00565b610a70565b6040516102709190612069565b60405180910390f35b610293600480360381019061028e9190611d00565b610af9565b005b6102af60048036038101906102aa91906120c1565b610bde565b005b6102cb60048036038101906102c69190611d8d565b610cde565b6040516102d89190611d48565b60405180910390f35b6102fb60048036038101906102f69190611d8d565b610d67565b005b61031760048036038101906103129190611d8d565b610e67565b6040516103249190611d48565b60405180910390f35b61034760048036038101906103429190611d00565b610ef0565b6040516103549190611d72565b60405180910390f35b61037760048036038101906103729190612101565b610f6d565b6040516103849190611bc1565b60405180910390f35b6103a760048036038101906103a29190611d00565b61116c565b005b6103c360048036038101906103be9190611d00565b6113d1565b6040516103d09190611d72565b60405180910390f35b6103f360048036038101906103ee9190611ca4565b61144e565b005b61040f600480360381019061040a9190611d00565b61154e565b60405161041c9190611d48565b60405180910390f35b61043f600480360381019061043a9190611d00565b6115cb565b60405161044c9190611d72565b60405180910390f35b61046f600480360381019061046a9190611d00565b611648565b60405161047c9190611d72565b60405180910390f35b61049f600480360381019061049a919061221a565b6116c5565b005b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052590612325565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663d171b51989898989896040518663ffffffff1660e01b815260040161059895949392919061237e565b6020604051808303816000875af11580156105b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105db91906123ed565b90506105e681611743565b7fe0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257816040516106159190611bc1565b60405180910390a1809250505095945050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9f7d0b2836040518263ffffffff1660e01b81526004016106f49190611e8b565b600060405180830381600087803b15801561070e57600080fd5b505af1158015610722573d6000803e3d6000fd5b50505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90612325565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff16635edf7d8b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061242f565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663b7c58d7a836040518263ffffffff1660e01b81526004016109ab9190611bc1565b600060405180830381600087803b1580156109c557600080fd5b505af11580156109d9573d6000803e3d6000fd5b50505050505050565b60606003805480602002602001604051908101604052809291908181526020018280548015610a6657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a1c575b5050505050905090565b610a786118c0565b60008290508073ffffffffffffffffffffffffffffffffffffffff166332f088736040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ac8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610af191906125fd565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b90612325565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663dab5f340836040518263ffffffff1660e01b8152600401610ca79190612655565b600060405180830381600087803b158015610cc157600080fd5b505af1158015610cd5573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff166373b2e80e846040518263ffffffff1660e01b8152600401610d1d9190611bc1565b602060405180830381865afa158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e919061269c565b91505092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166308af4d88836040518263ffffffff1660e01b8152600401610e309190611bc1565b600060405180830381600087803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff1663babcc539846040518263ffffffff1660e01b8152600401610ea69190611bc1565b602060405180830381865afa158015610ec3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee7919061269c565b91505092915050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff1663cd61a6096040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f65919061242f565b915050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612325565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630920be428b8b8b8b8b8b8b6040518863ffffffff1660e01b815260040161106897969594939291906126c9565b6020604051808303816000875af1158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab91906123ed565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361111c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111139061278b565b60405180910390fd5b61112581611743565b7f3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d816040516111549190611bc1565b60405180910390a18092505050979650505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612325565b60405180910390fd5b6000805b6003805490508110801561120d575081155b1561138e578273ffffffffffffffffffffffffffffffffffffffff166003828154811061123d5761123c6127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361137b57600191506003600160038054905061129b9190612809565b815481106112ac576112ab6127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600382815481106112eb576112ea6127ab565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060038054806113455761134461283d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b80806113869061286c565b9150506111fb565b5080156113cd577fa075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32826040516113c49190611bc1565b60405180910390a15b5050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166371127ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611446919061242f565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16633863b1f5836040518263ffffffff1660e01b81526004016115179190611e8b565b600060405180830381600087803b15801561153157600080fd5b505af1158015611545573d6000803e3d6000fd5b50505050505050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166390e64d136040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c3919061269c565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166343f367c86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611640919061242f565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061242f565b915050919050565b60008590508073ffffffffffffffffffffffffffffffffffffffff16633d13f874868686866040518563ffffffff1660e01b8152600401611709949392919061292f565b600060405180830381600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b50505050505050505050565b6000805b60038054905081108015611759575081155b156117e0578273ffffffffffffffffffffffffffffffffffffffff1660038281548110611789576117886127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614915080806117d89061286c565b915050611747565b508015611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906129bb565b60405180910390fd5b6003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b64826040516118b49190611bc1565b60405180910390a15050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600060028111156119205761191f611f3b565b5b8152602001606081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119948261194b565b810181811067ffffffffffffffff821117156119b3576119b261195c565b5b80604052505050565b60006119c661192d565b90506119d2828261198b565b919050565b600067ffffffffffffffff8211156119f2576119f161195c565b5b6119fb8261194b565b9050602081019050919050565b82818337600083830152505050565b6000611a2a611a25846119d7565b6119bc565b905082815260208101848484011115611a4657611a45611946565b5b611a51848285611a08565b509392505050565b600082601f830112611a6e57611a6d611941565b5b8135611a7e848260208601611a17565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ab282611a87565b9050919050565b611ac281611aa7565b8114611acd57600080fd5b50565b600081359050611adf81611ab9565b92915050565b6000819050919050565b611af881611ae5565b8114611b0357600080fd5b50565b600081359050611b1581611aef565b92915050565b600080600080600060a08688031215611b3757611b36611937565b5b600086013567ffffffffffffffff811115611b5557611b5461193c565b5b611b6188828901611a59565b9550506020611b7288828901611ad0565b9450506040611b8388828901611b06565b9350506060611b9488828901611b06565b9250506080611ba588828901611b06565b9150509295509295909350565b611bbb81611aa7565b82525050565b6000602082019050611bd66000830184611bb2565b92915050565b600067ffffffffffffffff821115611bf757611bf661195c565b5b602082029050602081019050919050565b600080fd5b6000611c20611c1b84611bdc565b6119bc565b90508083825260208201905060208402830185811115611c4357611c42611c08565b5b835b81811015611c6c5780611c588882611ad0565b845260208401935050602081019050611c45565b5050509392505050565b600082601f830112611c8b57611c8a611941565b5b8135611c9b848260208601611c0d565b91505092915050565b60008060408385031215611cbb57611cba611937565b5b6000611cc985828601611ad0565b925050602083013567ffffffffffffffff811115611cea57611ce961193c565b5b611cf685828601611c76565b9150509250929050565b600060208284031215611d1657611d15611937565b5b6000611d2484828501611ad0565b91505092915050565b60008115159050919050565b611d4281611d2d565b82525050565b6000602082019050611d5d6000830184611d39565b92915050565b611d6c81611ae5565b82525050565b6000602082019050611d876000830184611d63565b92915050565b60008060408385031215611da457611da3611937565b5b6000611db285828601611ad0565b9250506020611dc385828601611ad0565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611e0281611aa7565b82525050565b6000611e148383611df9565b60208301905092915050565b6000602082019050919050565b6000611e3882611dcd565b611e428185611dd8565b9350611e4d83611de9565b8060005b83811015611e7e578151611e658882611e08565b9750611e7083611e20565b925050600181019050611e51565b5085935050505092915050565b60006020820190508181036000830152611ea58184611e2d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee7578082015181840152602081019050611ecc565b60008484015250505050565b6000611efe82611ead565b611f088185611eb8565b9350611f18818560208601611ec9565b611f218161194b565b840191505092915050565b611f3581611ae5565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110611f7b57611f7a611f3b565b5b50565b6000819050611f8c82611f6a565b919050565b6000611f9c82611f7e565b9050919050565b611fac81611f91565b82525050565b6000610100830160008301518482036000860152611fd08282611ef3565b9150506020830151611fe56020860182611df9565b506040830151611ff86040860182611f2c565b50606083015161200b6060860182611f2c565b50608083015161201e6080860182611f2c565b5060a083015161203160a0860182611f2c565b5060c083015161204460c0860182611fa3565b5060e083015184820360e086015261205c8282611ef3565b9150508091505092915050565b600060208201905081810360008301526120838184611fb2565b905092915050565b6000819050919050565b61209e8161208b565b81146120a957600080fd5b50565b6000813590506120bb81612095565b92915050565b600080604083850312156120d8576120d7611937565b5b60006120e685828601611ad0565b92505060206120f7858286016120ac565b9150509250929050565b600080600080600080600060e0888a0312156121205761211f611937565b5b600088013567ffffffffffffffff81111561213e5761213d61193c565b5b61214a8a828b01611a59565b975050602061215b8a828b01611ad0565b965050604061216c8a828b01611b06565b955050606061217d8a828b01611b06565b945050608061218e8a828b01611b06565b93505060a061219f8a828b01611b06565b92505060c06121b08a828b01611b06565b91505092959891949750929550565b600080fd5b60008083601f8401126121da576121d9611941565b5b8235905067ffffffffffffffff8111156121f7576121f66121bf565b5b60208301915083602082028301111561221357612212611c08565b5b9250929050565b60008060008060006080868803121561223657612235611937565b5b600061224488828901611ad0565b955050602061225588828901611ad0565b945050604061226688828901611b06565b935050606086013567ffffffffffffffff8111156122875761228661193c565b5b612293888289016121c4565b92509250509295509295909350565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b600061230f6027836122a2565b915061231a826122b3565b604082019050919050565b6000602082019050818103600083015261233e81612302565b9050919050565b600061235082611ead565b61235a81856122a2565b935061236a818560208601611ec9565b6123738161194b565b840191505092915050565b600060a08201905081810360008301526123988188612345565b90506123a76020830187611bb2565b6123b46040830186611d63565b6123c16060830185611d63565b6123ce6080830184611d63565b9695505050505050565b6000815190506123e781611ab9565b92915050565b60006020828403121561240357612402611937565b5b6000612411848285016123d8565b91505092915050565b60008151905061242981611aef565b92915050565b60006020828403121561244557612444611937565b5b60006124538482850161241a565b91505092915050565b600080fd5b600080fd5b6000612479612474846119d7565b6119bc565b90508281526020810184848401111561249557612494611946565b5b6124a0848285611ec9565b509392505050565b600082601f8301126124bd576124bc611941565b5b81516124cd848260208601612466565b91505092915050565b600381106124e357600080fd5b50565b6000815190506124f5816124d6565b92915050565b600061010082840312156125125761251161245c565b5b61251d6101006119bc565b9050600082015167ffffffffffffffff81111561253d5761253c612461565b5b612549848285016124a8565b600083015250602061255d848285016123d8565b60208301525060406125718482850161241a565b60408301525060606125858482850161241a565b60608301525060806125998482850161241a565b60808301525060a06125ad8482850161241a565b60a08301525060c06125c1848285016124e6565b60c08301525060e082015167ffffffffffffffff8111156125e5576125e4612461565b5b6125f1848285016124a8565b60e08301525092915050565b60006020828403121561261357612612611937565b5b600082015167ffffffffffffffff8111156126315761263061193c565b5b61263d848285016124fb565b91505092915050565b61264f8161208b565b82525050565b600060208201905061266a6000830184612646565b92915050565b61267981611d2d565b811461268457600080fd5b50565b60008151905061269681612670565b92915050565b6000602082840312156126b2576126b1611937565b5b60006126c084828501612687565b91505092915050565b600060e08201905081810360008301526126e3818a612345565b90506126f26020830189611bb2565b6126ff6040830188611d63565b61270c6060830187611d63565b6127196080830186611d63565b61272660a0830185611d63565b61273360c0830184611d63565b98975050505050505050565b7f4572726f722c2077726f6e67206d6f64652073656c6563746564000000000000600082015250565b6000612775601a836122a2565b91506127808261273f565b602082019050919050565b600060208201905081810360008301526127a481612768565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281482611ae5565b915061281f83611ae5565b9250828203905081811115612837576128366127da565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061287782611ae5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a9576128a86127da565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006128df83856128b4565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612912576129116128c5565b5b6020830292506129238385846128ca565b82840190509392505050565b60006060820190506129446000830187611bb2565b6129516020830186611d63565b81810360408301526129648184866128d3565b905095945050505050565b7f41697264726f7020616c72656164792061646465640000000000000000000000600082015250565b60006129a56015836122a2565b91506129b08261296f565b602082019050919050565b600060208201905081810360008301526129d481612998565b905091905056fea2646970667358221220620b6a89f3af4e0d29dfe52680f6167cf79a317a23500e58afbecbcf0621b20f64736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2E0D CODESIZE SUB DUP1 PUSH3 0x2E0D DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x342 JUMP JUMPDEST DUP3 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0xC7 JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0x60 JUMPI PUSH3 0x5F PUSH3 0x3BD JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH3 0x3B JUMP JUMPDEST POP POP DUP2 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH3 0x3EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1B8 DUP3 PUSH3 0x16D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x1DA JUMPI PUSH3 0x1D9 PUSH3 0x17E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1EF PUSH3 0x154 JUMP JUMPDEST SWAP1 POP PUSH3 0x1FD DUP3 DUP3 PUSH3 0x1AD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x220 JUMPI PUSH3 0x21F PUSH3 0x17E JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x263 DUP3 PUSH3 0x236 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x275 DUP2 PUSH3 0x256 JUMP JUMPDEST DUP2 EQ PUSH3 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x295 DUP2 PUSH3 0x26A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2B2 PUSH3 0x2AC DUP5 PUSH3 0x202 JUMP JUMPDEST PUSH3 0x1E3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH3 0x2D8 JUMPI PUSH3 0x2D7 PUSH3 0x231 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x305 JUMPI DUP1 PUSH3 0x2F0 DUP9 DUP3 PUSH3 0x284 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x2DA JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x327 JUMPI PUSH3 0x326 PUSH3 0x168 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x339 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x29B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x35E JUMPI PUSH3 0x35D PUSH3 0x15E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x163 JUMP JUMPDEST JUMPDEST PUSH3 0x38D DUP7 DUP3 DUP8 ADD PUSH3 0x30F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH3 0x3A0 DUP7 DUP3 DUP8 ADD PUSH3 0x284 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x3B3 DUP7 DUP3 DUP8 ADD PUSH3 0x284 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x2A11 DUP1 PUSH3 0x3FC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x989A9863 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDDE070E8 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xDDE070E8 EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xEAD7778A EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0xF77BC88B EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0xF89F2A2C EQ PUSH2 0x425 JUMPI DUP1 PUSH4 0xF8B2CB4F EQ PUSH2 0x455 JUMPI DUP1 PUSH4 0xFABED412 EQ PUSH2 0x485 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x989A9863 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xA1654379 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0xA9B8F018 EQ PUSH2 0x32D JUMPI DUP1 PUSH4 0xB17ACD1A EQ PUSH2 0x35D JUMPI DUP1 PUSH4 0xC012A68F EQ PUSH2 0x38D JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x3AD14ED6 GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x3AD14ED6 EQ PUSH2 0x20F JUMPI DUP1 PUSH4 0x59F47ADD EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x6B58222E EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x7F94F65D EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x89266F60 EQ PUSH2 0x2B1 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x7B1D553 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xCB27628 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x1785F53C EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x2522F8DA EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x1B1B JUMP JUMPDEST PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH2 0x62B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A8 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x72B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x810 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x865 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x206 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x229 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x224 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0x8E2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x233 PUSH2 0x9E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0xA70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x2069 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x293 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0xAF9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2AA SWAP2 SWAP1 PUSH2 0x20C1 JUMP JUMPDEST PUSH2 0xBDE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0xD67 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x317 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x312 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0xE67 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x347 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0xEF0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x354 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x377 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x2101 JUMP JUMPDEST PUSH2 0xF6D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x384 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3A2 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x116C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x3C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3BE SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x13D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D0 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH2 0x144E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x40F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x40A SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x154E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x41C SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43A SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x15CB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44C SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x46F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46A SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x1648 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x49F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x49A SWAP2 SWAP1 PUSH2 0x221A JUMP JUMPDEST PUSH2 0x16C5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 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 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x52E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x525 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD171B519 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x598 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x237E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5DB SWAP2 SWAP1 PUSH2 0x23ED JUMP JUMPDEST SWAP1 POP PUSH2 0x5E6 DUP2 PUSH2 0x1743 JUMP JUMPDEST PUSH32 0xE0895CE248F348E6C4CF31166567DE65AAEFFED89303CF6709201E538B209257 DUP2 PUSH1 0x40 MLOAD PUSH2 0x615 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x6B6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6AD SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9F7D0B2 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F4 SWAP2 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x70E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x722 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x7B6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7AD SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5EDF7D8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8DA SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x96D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x964 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB7C58D7A DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9AB SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0xA66 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xA1C JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xA78 PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x32F08873 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAC8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAF1 SWAP2 SWAP1 PUSH2 0x25FD JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB7B SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xC69 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC60 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xDAB5F340 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCA7 SWAP2 SWAP1 PUSH2 0x2655 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCD5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x73B2E80E DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD1D SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD3A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD5E SWAP2 SWAP1 PUSH2 0x269C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xDF2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDE9 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8AF4D88 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE30 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xE5E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xBABCC539 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEA6 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEC3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEE7 SWAP2 SWAP1 PUSH2 0x269C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xCD61A609 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF41 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF65 SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 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 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xFFA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFF1 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x920BE42 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1068 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1087 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10AB SWAP2 SWAP1 PUSH2 0x23ED JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x111C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1113 SWAP1 PUSH2 0x278B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1125 DUP2 PUSH2 0x1743 JUMP JUMPDEST PUSH32 0x3253658F687C8CB74D577A64B270AF597E6BAE60C74179602AF4E8CA7225362D DUP2 PUSH1 0x40 MLOAD PUSH2 0x1154 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x11F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11EE SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x120D JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x138E JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x123D JUMPI PUSH2 0x123C PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x137B JUMPI PUSH1 0x1 SWAP2 POP PUSH1 0x3 PUSH1 0x1 PUSH1 0x3 DUP1 SLOAD SWAP1 POP PUSH2 0x129B SWAP2 SWAP1 PUSH2 0x2809 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x12AC JUMPI PUSH2 0x12AB PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x12EB JUMPI PUSH2 0x12EA PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 DUP1 SLOAD DUP1 PUSH2 0x1345 JUMPI PUSH2 0x1344 PUSH2 0x283D JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE JUMPDEST DUP1 DUP1 PUSH2 0x1386 SWAP1 PUSH2 0x286C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11FB JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x13CD JUMPI PUSH32 0xA075707015B6368EEE802922E19A51528F4B98C88E1082B65D4805BF47F8CD32 DUP3 PUSH1 0x40 MLOAD PUSH2 0x13C4 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x71127ED2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1422 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1446 SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x14D9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14D0 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3863B1F5 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1517 SWAP2 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1531 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1545 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x90E64D13 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x159F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C3 SWAP2 SWAP1 PUSH2 0x269C JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x43F367C8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x161C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1640 SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1699 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16BD SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP6 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3D13F874 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1709 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x292F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1723 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1737 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x1759 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x17E0 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1789 JUMPI PUSH2 0x1788 PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP DUP1 DUP1 PUSH2 0x17D8 SWAP1 PUSH2 0x286C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1747 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x1822 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1819 SWAP1 PUSH2 0x29BB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 DUP3 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8C716DE2EEB0D456A3F3012D8F1EF9FBE14D94374E94CA90F916AADFB8C04B64 DUP3 PUSH1 0x40 MLOAD PUSH2 0x18B4 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1920 JUMPI PUSH2 0x191F PUSH2 0x1F3B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1994 DUP3 PUSH2 0x194B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x19B3 JUMPI PUSH2 0x19B2 PUSH2 0x195C JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19C6 PUSH2 0x192D JUMP JUMPDEST SWAP1 POP PUSH2 0x19D2 DUP3 DUP3 PUSH2 0x198B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x19F2 JUMPI PUSH2 0x19F1 PUSH2 0x195C JUMP JUMPDEST JUMPDEST PUSH2 0x19FB DUP3 PUSH2 0x194B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A2A PUSH2 0x1A25 DUP5 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1A46 JUMPI PUSH2 0x1A45 PUSH2 0x1946 JUMP JUMPDEST JUMPDEST PUSH2 0x1A51 DUP5 DUP3 DUP6 PUSH2 0x1A08 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A6E JUMPI PUSH2 0x1A6D PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1A7E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1A17 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AB2 DUP3 PUSH2 0x1A87 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AC2 DUP2 PUSH2 0x1AA7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1ACD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1ADF DUP2 PUSH2 0x1AB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AF8 DUP2 PUSH2 0x1AE5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B15 DUP2 PUSH2 0x1AEF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1B37 JUMPI PUSH2 0x1B36 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1B55 JUMPI PUSH2 0x1B54 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x1B61 DUP9 DUP3 DUP10 ADD PUSH2 0x1A59 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1B72 DUP9 DUP3 DUP10 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1B83 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1B94 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x1BA5 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x1BBB DUP2 PUSH2 0x1AA7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1BD6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BF7 JUMPI PUSH2 0x1BF6 PUSH2 0x195C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C20 PUSH2 0x1C1B DUP5 PUSH2 0x1BDC JUMP JUMPDEST PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C43 JUMPI PUSH2 0x1C42 PUSH2 0x1C08 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1C6C JUMPI DUP1 PUSH2 0x1C58 DUP9 DUP3 PUSH2 0x1AD0 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C45 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C8B JUMPI PUSH2 0x1C8A PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1C9B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C0D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CBB JUMPI PUSH2 0x1CBA PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CC9 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1CEA JUMPI PUSH2 0x1CE9 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x1CF6 DUP6 DUP3 DUP7 ADD PUSH2 0x1C76 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D16 JUMPI PUSH2 0x1D15 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D24 DUP5 DUP3 DUP6 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D42 DUP2 PUSH2 0x1D2D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D5D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1D6C DUP2 PUSH2 0x1AE5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D87 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1DA4 JUMPI PUSH2 0x1DA3 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DB2 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1DC3 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E02 DUP2 PUSH2 0x1AA7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E14 DUP4 DUP4 PUSH2 0x1DF9 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E38 DUP3 PUSH2 0x1DCD JUMP JUMPDEST PUSH2 0x1E42 DUP2 DUP6 PUSH2 0x1DD8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1E4D DUP4 PUSH2 0x1DE9 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E7E JUMPI DUP2 MLOAD PUSH2 0x1E65 DUP9 DUP3 PUSH2 0x1E08 JUMP JUMPDEST SWAP8 POP PUSH2 0x1E70 DUP4 PUSH2 0x1E20 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E51 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EA5 DUP2 DUP5 PUSH2 0x1E2D JUMP JUMPDEST SWAP1 POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EE7 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1ECC JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EFE DUP3 PUSH2 0x1EAD JUMP JUMPDEST PUSH2 0x1F08 DUP2 DUP6 PUSH2 0x1EB8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1F18 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1EC9 JUMP JUMPDEST PUSH2 0x1F21 DUP2 PUSH2 0x194B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1F35 DUP2 PUSH2 0x1AE5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1F7B JUMPI PUSH2 0x1F7A PUSH2 0x1F3B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x1F8C DUP3 PUSH2 0x1F6A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9C DUP3 PUSH2 0x1F7E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FAC DUP2 PUSH2 0x1F91 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x1FD0 DUP3 DUP3 PUSH2 0x1EF3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1FE5 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x1DF9 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1FF8 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x200B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x201E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x2031 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x2044 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x1FA3 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x205C DUP3 DUP3 PUSH2 0x1EF3 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2083 DUP2 DUP5 PUSH2 0x1FB2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x209E DUP2 PUSH2 0x208B JUMP JUMPDEST DUP2 EQ PUSH2 0x20A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x20BB DUP2 PUSH2 0x2095 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20D8 JUMPI PUSH2 0x20D7 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x20E6 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x20F7 DUP6 DUP3 DUP7 ADD PUSH2 0x20AC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x2120 JUMPI PUSH2 0x211F PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x213E JUMPI PUSH2 0x213D PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x214A DUP11 DUP3 DUP12 ADD PUSH2 0x1A59 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x215B DUP11 DUP3 DUP12 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x216C DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH2 0x217D DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH2 0x218E DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH2 0x219F DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH2 0x21B0 DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x21DA JUMPI PUSH2 0x21D9 PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21F7 JUMPI PUSH2 0x21F6 PUSH2 0x21BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2213 JUMPI PUSH2 0x2212 PUSH2 0x1C08 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2236 JUMPI PUSH2 0x2235 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2244 DUP9 DUP3 DUP10 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x2255 DUP9 DUP3 DUP10 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x2266 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2287 JUMPI PUSH2 0x2286 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x2293 DUP9 DUP3 DUP10 ADD PUSH2 0x21C4 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x230F PUSH1 0x27 DUP4 PUSH2 0x22A2 JUMP JUMPDEST SWAP2 POP PUSH2 0x231A DUP3 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x233E DUP2 PUSH2 0x2302 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2350 DUP3 PUSH2 0x1EAD JUMP JUMPDEST PUSH2 0x235A DUP2 DUP6 PUSH2 0x22A2 JUMP JUMPDEST SWAP4 POP PUSH2 0x236A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1EC9 JUMP JUMPDEST PUSH2 0x2373 DUP2 PUSH2 0x194B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2398 DUP2 DUP9 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP PUSH2 0x23A7 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x1BB2 JUMP JUMPDEST PUSH2 0x23B4 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x23C1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x23CE PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x23E7 DUP2 PUSH2 0x1AB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2403 JUMPI PUSH2 0x2402 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2411 DUP5 DUP3 DUP6 ADD PUSH2 0x23D8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2429 DUP2 PUSH2 0x1AEF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2445 JUMPI PUSH2 0x2444 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2453 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2479 PUSH2 0x2474 DUP5 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2495 JUMPI PUSH2 0x2494 PUSH2 0x1946 JUMP JUMPDEST JUMPDEST PUSH2 0x24A0 DUP5 DUP3 DUP6 PUSH2 0x1EC9 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24BD JUMPI PUSH2 0x24BC PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x24CD DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2466 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x24E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x24F5 DUP2 PUSH2 0x24D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2512 JUMPI PUSH2 0x2511 PUSH2 0x245C JUMP JUMPDEST JUMPDEST PUSH2 0x251D PUSH2 0x100 PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x253D JUMPI PUSH2 0x253C PUSH2 0x2461 JUMP JUMPDEST JUMPDEST PUSH2 0x2549 DUP5 DUP3 DUP6 ADD PUSH2 0x24A8 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x255D DUP5 DUP3 DUP6 ADD PUSH2 0x23D8 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2571 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x2585 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x2599 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x25AD DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP PUSH1 0xC0 PUSH2 0x25C1 DUP5 DUP3 DUP6 ADD PUSH2 0x24E6 JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH1 0xE0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x25E5 JUMPI PUSH2 0x25E4 PUSH2 0x2461 JUMP JUMPDEST JUMPDEST PUSH2 0x25F1 DUP5 DUP3 DUP6 ADD PUSH2 0x24A8 JUMP JUMPDEST PUSH1 0xE0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2613 JUMPI PUSH2 0x2612 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2631 JUMPI PUSH2 0x2630 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x263D DUP5 DUP3 DUP6 ADD PUSH2 0x24FB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x264F DUP2 PUSH2 0x208B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x266A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2646 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2679 DUP2 PUSH2 0x1D2D JUMP JUMPDEST DUP2 EQ PUSH2 0x2684 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2696 DUP2 PUSH2 0x2670 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26B2 JUMPI PUSH2 0x26B1 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x26C0 DUP5 DUP3 DUP6 ADD PUSH2 0x2687 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26E3 DUP2 DUP11 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP PUSH2 0x26F2 PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x1BB2 JUMP JUMPDEST PUSH2 0x26FF PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x270C PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x2719 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x2726 PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x2733 PUSH1 0xC0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4572726F722C2077726F6E67206D6F64652073656C6563746564000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2775 PUSH1 0x1A DUP4 PUSH2 0x22A2 JUMP JUMPDEST SWAP2 POP PUSH2 0x2780 DUP3 PUSH2 0x273F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27A4 DUP2 PUSH2 0x2768 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2814 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 POP PUSH2 0x281F DUP4 PUSH2 0x1AE5 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x2837 JUMPI PUSH2 0x2836 PUSH2 0x27DA JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2877 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x28A9 JUMPI PUSH2 0x28A8 PUSH2 0x27DA JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD 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 DUP1 REVERT JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28DF DUP4 DUP6 PUSH2 0x28B4 JUMP JUMPDEST SWAP4 POP PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT ISZERO PUSH2 0x2912 JUMPI PUSH2 0x2911 PUSH2 0x28C5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 MUL SWAP3 POP PUSH2 0x2923 DUP4 DUP6 DUP5 PUSH2 0x28CA JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2944 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1BB2 JUMP JUMPDEST PUSH2 0x2951 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1D63 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2964 DUP2 DUP5 DUP7 PUSH2 0x28D3 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C72656164792061646465640000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29A5 PUSH1 0x15 DUP4 PUSH2 0x22A2 JUMP JUMPDEST SWAP2 POP PUSH2 0x29B0 DUP3 PUSH2 0x296F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x29D4 DUP2 PUSH2 0x2998 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0xB6A89 RETURN 0xAF 0x4E 0xD 0x29 0xDF 0xE5 0x26 DUP1 0xF6 AND PUSH29 0xF79A317A23500E58AFBECBCF0621B20F64736F6C634300081800330000 ", + "sourceMap": "111:6197:7:-:0;;;483:326;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;647:13;185:6:4;180:101;197:13;:20;193:1;:24;180:101;;;266:4;238:7;:25;246:13;260:1;246:16;;;;;;;;:::i;:::-;;;;;;;;238:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;219:3;;;;;;;180:101;;;;126:161;703:27:7::1;672:28;;:58;;;;;;;;;;;;;;;;;;773:29;740:30;;:62;;;;;;;;;;;;;;;;;;483:326:::0;;;111:6197;;7:75:12;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:866::-;3400:6;3408;3416;3465:2;3453:9;3444:7;3440:23;3436:32;3433:119;;;3471:79;;:::i;:::-;3433:119;3612:1;3601:9;3597:17;3591:24;3642:18;3634:6;3631:30;3628:117;;;3664:79;;:::i;:::-;3628:117;3769:89;3850:7;3841:6;3830:9;3826:22;3769:89;:::i;:::-;3759:99;;3562:306;3907:2;3933:64;3989:7;3980:6;3969:9;3965:22;3933:64;:::i;:::-;3923:74;;3878:129;4046:2;4072:64;4128:7;4119:6;4108:9;4104:22;4072:64;:::i;:::-;4062:74;;4017:129;3287:866;;;;;:::o;4159:180::-;4207:77;4204:1;4197:88;4304:4;4301:1;4294:15;4328:4;4325:1;4318:15;111:6197:7;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@addAdmin_1361": { + "entryPoint": 2809, + "id": 1361, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@addAirdrop_1954": { + "entryPoint": 5955, + "id": 1954, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@allowAddress_2061": { + "entryPoint": 3431, + "id": 2061, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@allowAddresses_2085": { + "entryPoint": 5198, + "id": 2085, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@claim_1609": { + "entryPoint": 5829, + "id": 1609, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@deployAndAddAirdropERC1155_1904": { + "entryPoint": 3949, + "id": 1904, + "parameterSlots": 7, + "returnSlots": 1 + }, + "@deployAndAddAirdropERC20_1842": { + "entryPoint": 1185, + "id": 1842, + "parameterSlots": 5, + "returnSlots": 1 + }, + "@disallowAddress_2108": { + "entryPoint": 2274, + "id": 2108, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@disallowAddresses_2132": { + "entryPoint": 1579, + "id": 2132, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@getAirdropAmountLeft_1768": { + "entryPoint": 3824, + "id": 1768, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getAirdropInfo_1730": { + "entryPoint": 2672, + "id": 1730, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getAirdrops_1796": { + "entryPoint": 2530, + "id": 1796, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_1787": { + "entryPoint": 5704, + "id": 1787, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getClaimAmount_1710": { + "entryPoint": 5073, + "id": 1710, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getExpirationDate_1691": { + "entryPoint": 2149, + "id": 1691, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_1749": { + "entryPoint": 5579, + "id": 1749, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasClaimed_1631": { + "entryPoint": 3294, + "id": 1631, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@hasExpired_1650": { + "entryPoint": 5454, + "id": 1650, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isAdmin_1347": { + "entryPoint": 2064, + "id": 1347, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isAllowed_1672": { + "entryPoint": 3687, + "id": 1672, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@removeAdmin_1375": { + "entryPoint": 1835, + "id": 1375, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@removeAirdrop_2038": { + "entryPoint": 4460, + "id": 2038, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@setRoot_1977": { + "entryPoint": 3038, + "id": 1977, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7181, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 6679, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 9318, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 6864, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 9176, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7286, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 8644, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bool_fromMemory": { + "entryPoint": 9863, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes32": { + "entryPoint": 8364, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_enum$_AirdropType_$3239_fromMemory": { + "entryPoint": 9446, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 6745, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 9384, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory": { + "entryPoint": 9467, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 6918, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 9242, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 7424, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 9197, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_address": { + "entryPoint": 7565, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 8730, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7332, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_bytes32": { + "entryPoint": 8385, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 9884, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256": { + "entryPoint": 6939, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256": { + "entryPoint": 8449, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_decode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory": { + "entryPoint": 9725, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 9263, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_address_to_t_address": { + "entryPoint": 7688, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 7673, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 7090, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack": { + "entryPoint": 7725, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10451, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 7481, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 9798, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 8099, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 7923, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 9029, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack": { + "entryPoint": 10088, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8962, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack": { + "entryPoint": 10648, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack": { + "entryPoint": 8114, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 7980, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 7523, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 7105, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_calldata_ptr__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 10543, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 7819, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 7496, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 9813, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 9086, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 9929, + "id": null, + "parameterSlots": 8, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10123, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8997, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10683, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed": { + "entryPoint": 8297, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 7538, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 6588, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 6445, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7132, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 6615, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7657, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7629, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 7853, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7712, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack": { + "entryPoint": 7640, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10420, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 7864, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 8866, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 10249, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 6823, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 7469, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 8331, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$3239": { + "entryPoint": 8062, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 6791, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 6885, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 8081, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory": { + "entryPoint": 10442, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 6664, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 7881, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 6539, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_t_uint256": { + "entryPoint": 10348, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 10202, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 7995, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x31": { + "entryPoint": 10301, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 10155, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 6492, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 8639, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 6465, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f": { + "entryPoint": 9308, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421": { + "entryPoint": 9313, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 7176, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 6470, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 6460, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec": { + "entryPoint": 10437, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 6455, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 6475, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6": { + "entryPoint": 10047, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01": { + "entryPoint": 8883, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54": { + "entryPoint": 10607, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$3239": { + "entryPoint": 8042, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 6841, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 9840, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 8341, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_enum$_AirdropType_$3239": { + "entryPoint": 9430, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 6895, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:32584:12", + "nodeType": "YulBlock", + "src": "0:32584:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1674:82:12", + "nodeType": "YulBlock", + "src": "1674:82:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:12", + "nodeType": "YulIdentifier", + "src": "1697:3:12" + }, + { + "name": "src", + "nativeSrc": "1702:3:12", + "nodeType": "YulIdentifier", + "src": "1702:3:12" + }, + { + "name": "length", + "nativeSrc": "1707:6:12", + "nodeType": "YulIdentifier", + "src": "1707:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:12", + "nodeType": "YulIdentifier", + "src": "1684:12:12" + }, + "nativeSrc": "1684:30:12", + "nodeType": "YulFunctionCall", + "src": "1684:30:12" + }, + "nativeSrc": "1684:30:12", + "nodeType": "YulExpressionStatement", + "src": "1684:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:12", + "nodeType": "YulIdentifier", + "src": "1734:3:12" + }, + { + "name": "length", + "nativeSrc": "1739:6:12", + "nodeType": "YulIdentifier", + "src": "1739:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:12", + "nodeType": "YulIdentifier", + "src": "1730:3:12" + }, + "nativeSrc": "1730:16:12", + "nodeType": "YulFunctionCall", + "src": "1730:16:12" + }, + { + "kind": "number", + "nativeSrc": "1748:1:12", + "nodeType": "YulLiteral", + "src": "1748:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:12", + "nodeType": "YulIdentifier", + "src": "1723:6:12" + }, + "nativeSrc": "1723:27:12", + "nodeType": "YulFunctionCall", + "src": "1723:27:12" + }, + "nativeSrc": "1723:27:12", + "nodeType": "YulExpressionStatement", + "src": "1723:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1610:146:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1656:3:12", + "nodeType": "YulTypedName", + "src": "1656:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1661:3:12", + "nodeType": "YulTypedName", + "src": "1661:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1666:6:12", + "nodeType": "YulTypedName", + "src": "1666:6:12", + "type": "" + } + ], + "src": "1610:146:12" + }, + { + "body": { + "nativeSrc": "1846:341:12", + "nodeType": "YulBlock", + "src": "1846:341:12", + "statements": [ + { + "nativeSrc": "1856:75:12", + "nodeType": "YulAssignment", + "src": "1856:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1923:6:12", + "nodeType": "YulIdentifier", + "src": "1923:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1881:41:12", + "nodeType": "YulIdentifier", + "src": "1881:41:12" + }, + "nativeSrc": "1881:49:12", + "nodeType": "YulFunctionCall", + "src": "1881:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:12", + "nodeType": "YulIdentifier", + "src": "1865:15:12" + }, + "nativeSrc": "1865:66:12", + "nodeType": "YulFunctionCall", + "src": "1865:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:12", + "nodeType": "YulIdentifier", + "src": "1856:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1947:5:12", + "nodeType": "YulIdentifier", + "src": "1947:5:12" + }, + { + "name": "length", + "nativeSrc": "1954:6:12", + "nodeType": "YulIdentifier", + "src": "1954:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1940:6:12", + "nodeType": "YulIdentifier", + "src": "1940:6:12" + }, + "nativeSrc": "1940:21:12", + "nodeType": "YulFunctionCall", + "src": "1940:21:12" + }, + "nativeSrc": "1940:21:12", + "nodeType": "YulExpressionStatement", + "src": "1940:21:12" + }, + { + "nativeSrc": "1970:27:12", + "nodeType": "YulVariableDeclaration", + "src": "1970:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1985:5:12", + "nodeType": "YulIdentifier", + "src": "1985:5:12" + }, + { + "kind": "number", + "nativeSrc": "1992:4:12", + "nodeType": "YulLiteral", + "src": "1992:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1981:3:12", + "nodeType": "YulIdentifier", + "src": "1981:3:12" + }, + "nativeSrc": "1981:16:12", + "nodeType": "YulFunctionCall", + "src": "1981:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1974:3:12", + "nodeType": "YulTypedName", + "src": "1974:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2035:83:12", + "nodeType": "YulBlock", + "src": "2035:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2037:77:12", + "nodeType": "YulIdentifier", + "src": "2037:77:12" + }, + "nativeSrc": "2037:79:12", + "nodeType": "YulFunctionCall", + "src": "2037:79:12" + }, + "nativeSrc": "2037:79:12", + "nodeType": "YulExpressionStatement", + "src": "2037:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2016:3:12", + "nodeType": "YulIdentifier", + "src": "2016:3:12" + }, + { + "name": "length", + "nativeSrc": "2021:6:12", + "nodeType": "YulIdentifier", + "src": "2021:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2012:3:12", + "nodeType": "YulIdentifier", + "src": "2012:3:12" + }, + "nativeSrc": "2012:16:12", + "nodeType": "YulFunctionCall", + "src": "2012:16:12" + }, + { + "name": "end", + "nativeSrc": "2030:3:12", + "nodeType": "YulIdentifier", + "src": "2030:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2009:2:12", + "nodeType": "YulIdentifier", + "src": "2009:2:12" + }, + "nativeSrc": "2009:25:12", + "nodeType": "YulFunctionCall", + "src": "2009:25:12" + }, + "nativeSrc": "2006:112:12", + "nodeType": "YulIf", + "src": "2006:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2164:3:12", + "nodeType": "YulIdentifier", + "src": "2164:3:12" + }, + { + "name": "dst", + "nativeSrc": "2169:3:12", + "nodeType": "YulIdentifier", + "src": "2169:3:12" + }, + { + "name": "length", + "nativeSrc": "2174:6:12", + "nodeType": "YulIdentifier", + "src": "2174:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2127:36:12", + "nodeType": "YulIdentifier", + "src": "2127:36:12" + }, + "nativeSrc": "2127:54:12", + "nodeType": "YulFunctionCall", + "src": "2127:54:12" + }, + "nativeSrc": "2127:54:12", + "nodeType": "YulExpressionStatement", + "src": "2127:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "1762:425:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:12", + "nodeType": "YulTypedName", + "src": "1819:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:12", + "nodeType": "YulTypedName", + "src": "1824:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:12", + "nodeType": "YulTypedName", + "src": "1832:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:12", + "nodeType": "YulTypedName", + "src": "1840:5:12", + "type": "" + } + ], + "src": "1762:425:12" + }, + { + "body": { + "nativeSrc": "2269:278:12", + "nodeType": "YulBlock", + "src": "2269:278:12", + "statements": [ + { + "body": { + "nativeSrc": "2318:83:12", + "nodeType": "YulBlock", + "src": "2318:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2320:77:12", + "nodeType": "YulIdentifier", + "src": "2320:77:12" + }, + "nativeSrc": "2320:79:12", + "nodeType": "YulFunctionCall", + "src": "2320:79:12" + }, + "nativeSrc": "2320:79:12", + "nodeType": "YulExpressionStatement", + "src": "2320:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2297:6:12", + "nodeType": "YulIdentifier", + "src": "2297:6:12" + }, + { + "kind": "number", + "nativeSrc": "2305:4:12", + "nodeType": "YulLiteral", + "src": "2305:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2293:3:12", + "nodeType": "YulIdentifier", + "src": "2293:3:12" + }, + "nativeSrc": "2293:17:12", + "nodeType": "YulFunctionCall", + "src": "2293:17:12" + }, + { + "name": "end", + "nativeSrc": "2312:3:12", + "nodeType": "YulIdentifier", + "src": "2312:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2289:3:12", + "nodeType": "YulIdentifier", + "src": "2289:3:12" + }, + "nativeSrc": "2289:27:12", + "nodeType": "YulFunctionCall", + "src": "2289:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2282:6:12", + "nodeType": "YulIdentifier", + "src": "2282:6:12" + }, + "nativeSrc": "2282:35:12", + "nodeType": "YulFunctionCall", + "src": "2282:35:12" + }, + "nativeSrc": "2279:122:12", + "nodeType": "YulIf", + "src": "2279:122:12" + }, + { + "nativeSrc": "2410:34:12", + "nodeType": "YulVariableDeclaration", + "src": "2410:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2437:6:12", + "nodeType": "YulIdentifier", + "src": "2437:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2424:12:12", + "nodeType": "YulIdentifier", + "src": "2424:12:12" + }, + "nativeSrc": "2424:20:12", + "nodeType": "YulFunctionCall", + "src": "2424:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2414:6:12", + "nodeType": "YulTypedName", + "src": "2414:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2453:88:12", + "nodeType": "YulAssignment", + "src": "2453:88:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2514:6:12", + "nodeType": "YulIdentifier", + "src": "2514:6:12" + }, + { + "kind": "number", + "nativeSrc": "2522:4:12", + "nodeType": "YulLiteral", + "src": "2522:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2510:3:12", + "nodeType": "YulIdentifier", + "src": "2510:3:12" + }, + "nativeSrc": "2510:17:12", + "nodeType": "YulFunctionCall", + "src": "2510:17:12" + }, + { + "name": "length", + "nativeSrc": "2529:6:12", + "nodeType": "YulIdentifier", + "src": "2529:6:12" + }, + { + "name": "end", + "nativeSrc": "2537:3:12", + "nodeType": "YulIdentifier", + "src": "2537:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "2462:47:12", + "nodeType": "YulIdentifier", + "src": "2462:47:12" + }, + "nativeSrc": "2462:79:12", + "nodeType": "YulFunctionCall", + "src": "2462:79:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2453:5:12", + "nodeType": "YulIdentifier", + "src": "2453:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "2207:340:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2247:6:12", + "nodeType": "YulTypedName", + "src": "2247:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2255:3:12", + "nodeType": "YulTypedName", + "src": "2255:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2263:5:12", + "nodeType": "YulTypedName", + "src": "2263:5:12", + "type": "" + } + ], + "src": "2207:340:12" + }, + { + "body": { + "nativeSrc": "2598:81:12", + "nodeType": "YulBlock", + "src": "2598:81:12", + "statements": [ + { + "nativeSrc": "2608:65:12", + "nodeType": "YulAssignment", + "src": "2608:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2623:5:12", + "nodeType": "YulIdentifier", + "src": "2623:5:12" + }, + { + "kind": "number", + "nativeSrc": "2630:42:12", + "nodeType": "YulLiteral", + "src": "2630:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2619:3:12", + "nodeType": "YulIdentifier", + "src": "2619:3:12" + }, + "nativeSrc": "2619:54:12", + "nodeType": "YulFunctionCall", + "src": "2619:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2608:7:12", + "nodeType": "YulIdentifier", + "src": "2608:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2553:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2580:5:12", + "nodeType": "YulTypedName", + "src": "2580:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2590:7:12", + "nodeType": "YulTypedName", + "src": "2590:7:12", + "type": "" + } + ], + "src": "2553:126:12" + }, + { + "body": { + "nativeSrc": "2730:51:12", + "nodeType": "YulBlock", + "src": "2730:51:12", + "statements": [ + { + "nativeSrc": "2740:35:12", + "nodeType": "YulAssignment", + "src": "2740:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2769:5:12", + "nodeType": "YulIdentifier", + "src": "2769:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2751:17:12", + "nodeType": "YulIdentifier", + "src": "2751:17:12" + }, + "nativeSrc": "2751:24:12", + "nodeType": "YulFunctionCall", + "src": "2751:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2740:7:12", + "nodeType": "YulIdentifier", + "src": "2740:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2685:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2712:5:12", + "nodeType": "YulTypedName", + "src": "2712:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2722:7:12", + "nodeType": "YulTypedName", + "src": "2722:7:12", + "type": "" + } + ], + "src": "2685:96:12" + }, + { + "body": { + "nativeSrc": "2830:79:12", + "nodeType": "YulBlock", + "src": "2830:79:12", + "statements": [ + { + "body": { + "nativeSrc": "2887:16:12", + "nodeType": "YulBlock", + "src": "2887:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2896:1:12", + "nodeType": "YulLiteral", + "src": "2896:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2899:1:12", + "nodeType": "YulLiteral", + "src": "2899:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2889:6:12", + "nodeType": "YulIdentifier", + "src": "2889:6:12" + }, + "nativeSrc": "2889:12:12", + "nodeType": "YulFunctionCall", + "src": "2889:12:12" + }, + "nativeSrc": "2889:12:12", + "nodeType": "YulExpressionStatement", + "src": "2889:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2853:5:12", + "nodeType": "YulIdentifier", + "src": "2853:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2878:5:12", + "nodeType": "YulIdentifier", + "src": "2878:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2860:17:12", + "nodeType": "YulIdentifier", + "src": "2860:17:12" + }, + "nativeSrc": "2860:24:12", + "nodeType": "YulFunctionCall", + "src": "2860:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2850:2:12", + "nodeType": "YulIdentifier", + "src": "2850:2:12" + }, + "nativeSrc": "2850:35:12", + "nodeType": "YulFunctionCall", + "src": "2850:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2843:6:12", + "nodeType": "YulIdentifier", + "src": "2843:6:12" + }, + "nativeSrc": "2843:43:12", + "nodeType": "YulFunctionCall", + "src": "2843:43:12" + }, + "nativeSrc": "2840:63:12", + "nodeType": "YulIf", + "src": "2840:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2787:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2823:5:12", + "nodeType": "YulTypedName", + "src": "2823:5:12", + "type": "" + } + ], + "src": "2787:122:12" + }, + { + "body": { + "nativeSrc": "2967:87:12", + "nodeType": "YulBlock", + "src": "2967:87:12", + "statements": [ + { + "nativeSrc": "2977:29:12", + "nodeType": "YulAssignment", + "src": "2977:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2999:6:12", + "nodeType": "YulIdentifier", + "src": "2999:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2986:12:12", + "nodeType": "YulIdentifier", + "src": "2986:12:12" + }, + "nativeSrc": "2986:20:12", + "nodeType": "YulFunctionCall", + "src": "2986:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2977:5:12", + "nodeType": "YulIdentifier", + "src": "2977:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3042:5:12", + "nodeType": "YulIdentifier", + "src": "3042:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3015:26:12", + "nodeType": "YulIdentifier", + "src": "3015:26:12" + }, + "nativeSrc": "3015:33:12", + "nodeType": "YulFunctionCall", + "src": "3015:33:12" + }, + "nativeSrc": "3015:33:12", + "nodeType": "YulExpressionStatement", + "src": "3015:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2915:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2945:6:12", + "nodeType": "YulTypedName", + "src": "2945:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2953:3:12", + "nodeType": "YulTypedName", + "src": "2953:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2961:5:12", + "nodeType": "YulTypedName", + "src": "2961:5:12", + "type": "" + } + ], + "src": "2915:139:12" + }, + { + "body": { + "nativeSrc": "3105:32:12", + "nodeType": "YulBlock", + "src": "3105:32:12", + "statements": [ + { + "nativeSrc": "3115:16:12", + "nodeType": "YulAssignment", + "src": "3115:16:12", + "value": { + "name": "value", + "nativeSrc": "3126:5:12", + "nodeType": "YulIdentifier", + "src": "3126:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3115:7:12", + "nodeType": "YulIdentifier", + "src": "3115:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3060:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3087:5:12", + "nodeType": "YulTypedName", + "src": "3087:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3097:7:12", + "nodeType": "YulTypedName", + "src": "3097:7:12", + "type": "" + } + ], + "src": "3060:77:12" + }, + { + "body": { + "nativeSrc": "3186:79:12", + "nodeType": "YulBlock", + "src": "3186:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3243:16:12", + "nodeType": "YulBlock", + "src": "3243:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:1:12", + "nodeType": "YulLiteral", + "src": "3252:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3255:1:12", + "nodeType": "YulLiteral", + "src": "3255:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3245:6:12", + "nodeType": "YulIdentifier", + "src": "3245:6:12" + }, + "nativeSrc": "3245:12:12", + "nodeType": "YulFunctionCall", + "src": "3245:12:12" + }, + "nativeSrc": "3245:12:12", + "nodeType": "YulExpressionStatement", + "src": "3245:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3209:5:12", + "nodeType": "YulIdentifier", + "src": "3209:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3234:5:12", + "nodeType": "YulIdentifier", + "src": "3234:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3216:17:12", + "nodeType": "YulIdentifier", + "src": "3216:17:12" + }, + "nativeSrc": "3216:24:12", + "nodeType": "YulFunctionCall", + "src": "3216:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3206:2:12", + "nodeType": "YulIdentifier", + "src": "3206:2:12" + }, + "nativeSrc": "3206:35:12", + "nodeType": "YulFunctionCall", + "src": "3206:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3199:6:12", + "nodeType": "YulIdentifier", + "src": "3199:6:12" + }, + "nativeSrc": "3199:43:12", + "nodeType": "YulFunctionCall", + "src": "3199:43:12" + }, + "nativeSrc": "3196:63:12", + "nodeType": "YulIf", + "src": "3196:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3143:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3179:5:12", + "nodeType": "YulTypedName", + "src": "3179:5:12", + "type": "" + } + ], + "src": "3143:122:12" + }, + { + "body": { + "nativeSrc": "3323:87:12", + "nodeType": "YulBlock", + "src": "3323:87:12", + "statements": [ + { + "nativeSrc": "3333:29:12", + "nodeType": "YulAssignment", + "src": "3333:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3355:6:12", + "nodeType": "YulIdentifier", + "src": "3355:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3342:12:12", + "nodeType": "YulIdentifier", + "src": "3342:12:12" + }, + "nativeSrc": "3342:20:12", + "nodeType": "YulFunctionCall", + "src": "3342:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3333:5:12", + "nodeType": "YulIdentifier", + "src": "3333:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3398:5:12", + "nodeType": "YulIdentifier", + "src": "3398:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3371:26:12", + "nodeType": "YulIdentifier", + "src": "3371:26:12" + }, + "nativeSrc": "3371:33:12", + "nodeType": "YulFunctionCall", + "src": "3371:33:12" + }, + "nativeSrc": "3371:33:12", + "nodeType": "YulExpressionStatement", + "src": "3371:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3271:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3301:6:12", + "nodeType": "YulTypedName", + "src": "3301:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3309:3:12", + "nodeType": "YulTypedName", + "src": "3309:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3317:5:12", + "nodeType": "YulTypedName", + "src": "3317:5:12", + "type": "" + } + ], + "src": "3271:139:12" + }, + { + "body": { + "nativeSrc": "3560:947:12", + "nodeType": "YulBlock", + "src": "3560:947:12", + "statements": [ + { + "body": { + "nativeSrc": "3607:83:12", + "nodeType": "YulBlock", + "src": "3607:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3609:77:12", + "nodeType": "YulIdentifier", + "src": "3609:77:12" + }, + "nativeSrc": "3609:79:12", + "nodeType": "YulFunctionCall", + "src": "3609:79:12" + }, + "nativeSrc": "3609:79:12", + "nodeType": "YulExpressionStatement", + "src": "3609:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3581:7:12", + "nodeType": "YulIdentifier", + "src": "3581:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3590:9:12", + "nodeType": "YulIdentifier", + "src": "3590:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3577:3:12", + "nodeType": "YulIdentifier", + "src": "3577:3:12" + }, + "nativeSrc": "3577:23:12", + "nodeType": "YulFunctionCall", + "src": "3577:23:12" + }, + { + "kind": "number", + "nativeSrc": "3602:3:12", + "nodeType": "YulLiteral", + "src": "3602:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3573:3:12", + "nodeType": "YulIdentifier", + "src": "3573:3:12" + }, + "nativeSrc": "3573:33:12", + "nodeType": "YulFunctionCall", + "src": "3573:33:12" + }, + "nativeSrc": "3570:120:12", + "nodeType": "YulIf", + "src": "3570:120:12" + }, + { + "nativeSrc": "3700:287:12", + "nodeType": "YulBlock", + "src": "3700:287:12", + "statements": [ + { + "nativeSrc": "3715:45:12", + "nodeType": "YulVariableDeclaration", + "src": "3715:45:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3746:9:12", + "nodeType": "YulIdentifier", + "src": "3746:9:12" + }, + { + "kind": "number", + "nativeSrc": "3757:1:12", + "nodeType": "YulLiteral", + "src": "3757:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3742:3:12", + "nodeType": "YulIdentifier", + "src": "3742:3:12" + }, + "nativeSrc": "3742:17:12", + "nodeType": "YulFunctionCall", + "src": "3742:17:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3729:12:12", + "nodeType": "YulIdentifier", + "src": "3729:12:12" + }, + "nativeSrc": "3729:31:12", + "nodeType": "YulFunctionCall", + "src": "3729:31:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3719:6:12", + "nodeType": "YulTypedName", + "src": "3719:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3807:83:12", + "nodeType": "YulBlock", + "src": "3807:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3809:77:12", + "nodeType": "YulIdentifier", + "src": "3809:77:12" + }, + "nativeSrc": "3809:79:12", + "nodeType": "YulFunctionCall", + "src": "3809:79:12" + }, + "nativeSrc": "3809:79:12", + "nodeType": "YulExpressionStatement", + "src": "3809:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3779:6:12", + "nodeType": "YulIdentifier", + "src": "3779:6:12" + }, + { + "kind": "number", + "nativeSrc": "3787:18:12", + "nodeType": "YulLiteral", + "src": "3787:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3776:2:12", + "nodeType": "YulIdentifier", + "src": "3776:2:12" + }, + "nativeSrc": "3776:30:12", + "nodeType": "YulFunctionCall", + "src": "3776:30:12" + }, + "nativeSrc": "3773:117:12", + "nodeType": "YulIf", + "src": "3773:117:12" + }, + { + "nativeSrc": "3904:73:12", + "nodeType": "YulAssignment", + "src": "3904:73:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3949:9:12", + "nodeType": "YulIdentifier", + "src": "3949:9:12" + }, + { + "name": "offset", + "nativeSrc": "3960:6:12", + "nodeType": "YulIdentifier", + "src": "3960:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3945:3:12", + "nodeType": "YulIdentifier", + "src": "3945:3:12" + }, + "nativeSrc": "3945:22:12", + "nodeType": "YulFunctionCall", + "src": "3945:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3969:7:12", + "nodeType": "YulIdentifier", + "src": "3969:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "3914:30:12", + "nodeType": "YulIdentifier", + "src": "3914:30:12" + }, + "nativeSrc": "3914:63:12", + "nodeType": "YulFunctionCall", + "src": "3914:63:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3904:6:12", + "nodeType": "YulIdentifier", + "src": "3904:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "3997:118:12", + "nodeType": "YulBlock", + "src": "3997:118:12", + "statements": [ + { + "nativeSrc": "4012:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4012:16:12", + "value": { + "kind": "number", + "nativeSrc": "4026:2:12", + "nodeType": "YulLiteral", + "src": "4026:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4016:6:12", + "nodeType": "YulTypedName", + "src": "4016:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4042:63:12", + "nodeType": "YulAssignment", + "src": "4042:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4077:9:12", + "nodeType": "YulIdentifier", + "src": "4077:9:12" + }, + { + "name": "offset", + "nativeSrc": "4088:6:12", + "nodeType": "YulIdentifier", + "src": "4088:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4073:3:12", + "nodeType": "YulIdentifier", + "src": "4073:3:12" + }, + "nativeSrc": "4073:22:12", + "nodeType": "YulFunctionCall", + "src": "4073:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4097:7:12", + "nodeType": "YulIdentifier", + "src": "4097:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4052:20:12", + "nodeType": "YulIdentifier", + "src": "4052:20:12" + }, + "nativeSrc": "4052:53:12", + "nodeType": "YulFunctionCall", + "src": "4052:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4042:6:12", + "nodeType": "YulIdentifier", + "src": "4042:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4125:118:12", + "nodeType": "YulBlock", + "src": "4125:118:12", + "statements": [ + { + "nativeSrc": "4140:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4140:16:12", + "value": { + "kind": "number", + "nativeSrc": "4154:2:12", + "nodeType": "YulLiteral", + "src": "4154:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4144:6:12", + "nodeType": "YulTypedName", + "src": "4144:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4170:63:12", + "nodeType": "YulAssignment", + "src": "4170:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4205:9:12", + "nodeType": "YulIdentifier", + "src": "4205:9:12" + }, + { + "name": "offset", + "nativeSrc": "4216:6:12", + "nodeType": "YulIdentifier", + "src": "4216:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4201:3:12", + "nodeType": "YulIdentifier", + "src": "4201:3:12" + }, + "nativeSrc": "4201:22:12", + "nodeType": "YulFunctionCall", + "src": "4201:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4225:7:12", + "nodeType": "YulIdentifier", + "src": "4225:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4180:20:12", + "nodeType": "YulIdentifier", + "src": "4180:20:12" + }, + "nativeSrc": "4180:53:12", + "nodeType": "YulFunctionCall", + "src": "4180:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4170:6:12", + "nodeType": "YulIdentifier", + "src": "4170:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4253:118:12", + "nodeType": "YulBlock", + "src": "4253:118:12", + "statements": [ + { + "nativeSrc": "4268:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4268:16:12", + "value": { + "kind": "number", + "nativeSrc": "4282:2:12", + "nodeType": "YulLiteral", + "src": "4282:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4272:6:12", + "nodeType": "YulTypedName", + "src": "4272:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4298:63:12", + "nodeType": "YulAssignment", + "src": "4298:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4333:9:12", + "nodeType": "YulIdentifier", + "src": "4333:9:12" + }, + { + "name": "offset", + "nativeSrc": "4344:6:12", + "nodeType": "YulIdentifier", + "src": "4344:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4329:3:12", + "nodeType": "YulIdentifier", + "src": "4329:3:12" + }, + "nativeSrc": "4329:22:12", + "nodeType": "YulFunctionCall", + "src": "4329:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4353:7:12", + "nodeType": "YulIdentifier", + "src": "4353:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4308:20:12", + "nodeType": "YulIdentifier", + "src": "4308:20:12" + }, + "nativeSrc": "4308:53:12", + "nodeType": "YulFunctionCall", + "src": "4308:53:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4298:6:12", + "nodeType": "YulIdentifier", + "src": "4298:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4381:119:12", + "nodeType": "YulBlock", + "src": "4381:119:12", + "statements": [ + { + "nativeSrc": "4396:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4396:17:12", + "value": { + "kind": "number", + "nativeSrc": "4410:3:12", + "nodeType": "YulLiteral", + "src": "4410:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4400:6:12", + "nodeType": "YulTypedName", + "src": "4400:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4427:63:12", + "nodeType": "YulAssignment", + "src": "4427:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4462:9:12", + "nodeType": "YulIdentifier", + "src": "4462:9:12" + }, + { + "name": "offset", + "nativeSrc": "4473:6:12", + "nodeType": "YulIdentifier", + "src": "4473:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4458:3:12", + "nodeType": "YulIdentifier", + "src": "4458:3:12" + }, + "nativeSrc": "4458:22:12", + "nodeType": "YulFunctionCall", + "src": "4458:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4482:7:12", + "nodeType": "YulIdentifier", + "src": "4482:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4437:20:12", + "nodeType": "YulIdentifier", + "src": "4437:20:12" + }, + "nativeSrc": "4437:53:12", + "nodeType": "YulFunctionCall", + "src": "4437:53:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4427:6:12", + "nodeType": "YulIdentifier", + "src": "4427:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256", + "nativeSrc": "3416:1091:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3498:9:12", + "nodeType": "YulTypedName", + "src": "3498:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3509:7:12", + "nodeType": "YulTypedName", + "src": "3509:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3521:6:12", + "nodeType": "YulTypedName", + "src": "3521:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3529:6:12", + "nodeType": "YulTypedName", + "src": "3529:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3537:6:12", + "nodeType": "YulTypedName", + "src": "3537:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3545:6:12", + "nodeType": "YulTypedName", + "src": "3545:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3553:6:12", + "nodeType": "YulTypedName", + "src": "3553:6:12", + "type": "" + } + ], + "src": "3416:1091:12" + }, + { + "body": { + "nativeSrc": "4578:53:12", + "nodeType": "YulBlock", + "src": "4578:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4595:3:12", + "nodeType": "YulIdentifier", + "src": "4595:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4618:5:12", + "nodeType": "YulIdentifier", + "src": "4618:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4600:17:12", + "nodeType": "YulIdentifier", + "src": "4600:17:12" + }, + "nativeSrc": "4600:24:12", + "nodeType": "YulFunctionCall", + "src": "4600:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4588:6:12", + "nodeType": "YulIdentifier", + "src": "4588:6:12" + }, + "nativeSrc": "4588:37:12", + "nodeType": "YulFunctionCall", + "src": "4588:37:12" + }, + "nativeSrc": "4588:37:12", + "nodeType": "YulExpressionStatement", + "src": "4588:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4513:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4566:5:12", + "nodeType": "YulTypedName", + "src": "4566:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4573:3:12", + "nodeType": "YulTypedName", + "src": "4573:3:12", + "type": "" + } + ], + "src": "4513:118:12" + }, + { + "body": { + "nativeSrc": "4735:124:12", + "nodeType": "YulBlock", + "src": "4735:124:12", + "statements": [ + { + "nativeSrc": "4745:26:12", + "nodeType": "YulAssignment", + "src": "4745:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4757:9:12", + "nodeType": "YulIdentifier", + "src": "4757:9:12" + }, + { + "kind": "number", + "nativeSrc": "4768:2:12", + "nodeType": "YulLiteral", + "src": "4768:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4753:3:12", + "nodeType": "YulIdentifier", + "src": "4753:3:12" + }, + "nativeSrc": "4753:18:12", + "nodeType": "YulFunctionCall", + "src": "4753:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4745:4:12", + "nodeType": "YulIdentifier", + "src": "4745:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4825:6:12", + "nodeType": "YulIdentifier", + "src": "4825:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4838:9:12", + "nodeType": "YulIdentifier", + "src": "4838:9:12" + }, + { + "kind": "number", + "nativeSrc": "4849:1:12", + "nodeType": "YulLiteral", + "src": "4849:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4834:3:12", + "nodeType": "YulIdentifier", + "src": "4834:3:12" + }, + "nativeSrc": "4834:17:12", + "nodeType": "YulFunctionCall", + "src": "4834:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4781:43:12", + "nodeType": "YulIdentifier", + "src": "4781:43:12" + }, + "nativeSrc": "4781:71:12", + "nodeType": "YulFunctionCall", + "src": "4781:71:12" + }, + "nativeSrc": "4781:71:12", + "nodeType": "YulExpressionStatement", + "src": "4781:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4637:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4707:9:12", + "nodeType": "YulTypedName", + "src": "4707:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4719:6:12", + "nodeType": "YulTypedName", + "src": "4719:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4730:4:12", + "nodeType": "YulTypedName", + "src": "4730:4:12", + "type": "" + } + ], + "src": "4637:222:12" + }, + { + "body": { + "nativeSrc": "4947:229:12", + "nodeType": "YulBlock", + "src": "4947:229:12", + "statements": [ + { + "body": { + "nativeSrc": "5052:22:12", + "nodeType": "YulBlock", + "src": "5052:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "5054:16:12", + "nodeType": "YulIdentifier", + "src": "5054:16:12" + }, + "nativeSrc": "5054:18:12", + "nodeType": "YulFunctionCall", + "src": "5054:18:12" + }, + "nativeSrc": "5054:18:12", + "nodeType": "YulExpressionStatement", + "src": "5054:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5024:6:12", + "nodeType": "YulIdentifier", + "src": "5024:6:12" + }, + { + "kind": "number", + "nativeSrc": "5032:18:12", + "nodeType": "YulLiteral", + "src": "5032:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5021:2:12", + "nodeType": "YulIdentifier", + "src": "5021:2:12" + }, + "nativeSrc": "5021:30:12", + "nodeType": "YulFunctionCall", + "src": "5021:30:12" + }, + "nativeSrc": "5018:56:12", + "nodeType": "YulIf", + "src": "5018:56:12" + }, + { + "nativeSrc": "5084:25:12", + "nodeType": "YulAssignment", + "src": "5084:25:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5096:6:12", + "nodeType": "YulIdentifier", + "src": "5096:6:12" + }, + { + "kind": "number", + "nativeSrc": "5104:4:12", + "nodeType": "YulLiteral", + "src": "5104:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5092:3:12", + "nodeType": "YulIdentifier", + "src": "5092:3:12" + }, + "nativeSrc": "5092:17:12", + "nodeType": "YulFunctionCall", + "src": "5092:17:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "5084:4:12", + "nodeType": "YulIdentifier", + "src": "5084:4:12" + } + ] + }, + { + "nativeSrc": "5146:23:12", + "nodeType": "YulAssignment", + "src": "5146:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "5158:4:12", + "nodeType": "YulIdentifier", + "src": "5158:4:12" + }, + { + "kind": "number", + "nativeSrc": "5164:4:12", + "nodeType": "YulLiteral", + "src": "5164:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5154:3:12", + "nodeType": "YulIdentifier", + "src": "5154:3:12" + }, + "nativeSrc": "5154:15:12", + "nodeType": "YulFunctionCall", + "src": "5154:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "5146:4:12", + "nodeType": "YulIdentifier", + "src": "5146:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "4865:311:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "4931:6:12", + "nodeType": "YulTypedName", + "src": "4931:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "4942:4:12", + "nodeType": "YulTypedName", + "src": "4942:4:12", + "type": "" + } + ], + "src": "4865:311:12" + }, + { + "body": { + "nativeSrc": "5271:28:12", + "nodeType": "YulBlock", + "src": "5271:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5288:1:12", + "nodeType": "YulLiteral", + "src": "5288:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5291:1:12", + "nodeType": "YulLiteral", + "src": "5291:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5281:6:12", + "nodeType": "YulIdentifier", + "src": "5281:6:12" + }, + "nativeSrc": "5281:12:12", + "nodeType": "YulFunctionCall", + "src": "5281:12:12" + }, + "nativeSrc": "5281:12:12", + "nodeType": "YulExpressionStatement", + "src": "5281:12:12" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5182:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5182:117:12" + }, + { + "body": { + "nativeSrc": "5424:608:12", + "nodeType": "YulBlock", + "src": "5424:608:12", + "statements": [ + { + "nativeSrc": "5434:90:12", + "nodeType": "YulAssignment", + "src": "5434:90:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5516:6:12", + "nodeType": "YulIdentifier", + "src": "5516:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "5459:56:12", + "nodeType": "YulIdentifier", + "src": "5459:56:12" + }, + "nativeSrc": "5459:64:12", + "nodeType": "YulFunctionCall", + "src": "5459:64:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "5443:15:12", + "nodeType": "YulIdentifier", + "src": "5443:15:12" + }, + "nativeSrc": "5443:81:12", + "nodeType": "YulFunctionCall", + "src": "5443:81:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "5434:5:12", + "nodeType": "YulIdentifier", + "src": "5434:5:12" + } + ] + }, + { + "nativeSrc": "5533:16:12", + "nodeType": "YulVariableDeclaration", + "src": "5533:16:12", + "value": { + "name": "array", + "nativeSrc": "5544:5:12", + "nodeType": "YulIdentifier", + "src": "5544:5:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "5537:3:12", + "nodeType": "YulTypedName", + "src": "5537:3:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "5566:5:12", + "nodeType": "YulIdentifier", + "src": "5566:5:12" + }, + { + "name": "length", + "nativeSrc": "5573:6:12", + "nodeType": "YulIdentifier", + "src": "5573:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5559:6:12", + "nodeType": "YulIdentifier", + "src": "5559:6:12" + }, + "nativeSrc": "5559:21:12", + "nodeType": "YulFunctionCall", + "src": "5559:21:12" + }, + "nativeSrc": "5559:21:12", + "nodeType": "YulExpressionStatement", + "src": "5559:21:12" + }, + { + "nativeSrc": "5589:23:12", + "nodeType": "YulAssignment", + "src": "5589:23:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "5600:5:12", + "nodeType": "YulIdentifier", + "src": "5600:5:12" + }, + { + "kind": "number", + "nativeSrc": "5607:4:12", + "nodeType": "YulLiteral", + "src": "5607:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5596:3:12", + "nodeType": "YulIdentifier", + "src": "5596:3:12" + }, + "nativeSrc": "5596:16:12", + "nodeType": "YulFunctionCall", + "src": "5596:16:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "5589:3:12", + "nodeType": "YulIdentifier", + "src": "5589:3:12" + } + ] + }, + { + "nativeSrc": "5622:44:12", + "nodeType": "YulVariableDeclaration", + "src": "5622:44:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5640:6:12", + "nodeType": "YulIdentifier", + "src": "5640:6:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5652:6:12", + "nodeType": "YulIdentifier", + "src": "5652:6:12" + }, + { + "kind": "number", + "nativeSrc": "5660:4:12", + "nodeType": "YulLiteral", + "src": "5660:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5648:3:12", + "nodeType": "YulIdentifier", + "src": "5648:3:12" + }, + "nativeSrc": "5648:17:12", + "nodeType": "YulFunctionCall", + "src": "5648:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5636:3:12", + "nodeType": "YulIdentifier", + "src": "5636:3:12" + }, + "nativeSrc": "5636:30:12", + "nodeType": "YulFunctionCall", + "src": "5636:30:12" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "5626:6:12", + "nodeType": "YulTypedName", + "src": "5626:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5694:103:12", + "nodeType": "YulBlock", + "src": "5694:103:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5708:77:12", + "nodeType": "YulIdentifier", + "src": "5708:77:12" + }, + "nativeSrc": "5708:79:12", + "nodeType": "YulFunctionCall", + "src": "5708:79:12" + }, + "nativeSrc": "5708:79:12", + "nodeType": "YulExpressionStatement", + "src": "5708:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "5681:6:12", + "nodeType": "YulIdentifier", + "src": "5681:6:12" + }, + { + "name": "end", + "nativeSrc": "5689:3:12", + "nodeType": "YulIdentifier", + "src": "5689:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5678:2:12", + "nodeType": "YulIdentifier", + "src": "5678:2:12" + }, + "nativeSrc": "5678:15:12", + "nodeType": "YulFunctionCall", + "src": "5678:15:12" + }, + "nativeSrc": "5675:122:12", + "nodeType": "YulIf", + "src": "5675:122:12" + }, + { + "body": { + "nativeSrc": "5882:144:12", + "nodeType": "YulBlock", + "src": "5882:144:12", + "statements": [ + { + "nativeSrc": "5897:21:12", + "nodeType": "YulVariableDeclaration", + "src": "5897:21:12", + "value": { + "name": "src", + "nativeSrc": "5915:3:12", + "nodeType": "YulIdentifier", + "src": "5915:3:12" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "5901:10:12", + "nodeType": "YulTypedName", + "src": "5901:10:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5939:3:12", + "nodeType": "YulIdentifier", + "src": "5939:3:12" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "5965:10:12", + "nodeType": "YulIdentifier", + "src": "5965:10:12" + }, + { + "name": "end", + "nativeSrc": "5977:3:12", + "nodeType": "YulIdentifier", + "src": "5977:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5944:20:12", + "nodeType": "YulIdentifier", + "src": "5944:20:12" + }, + "nativeSrc": "5944:37:12", + "nodeType": "YulFunctionCall", + "src": "5944:37:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5932:6:12", + "nodeType": "YulIdentifier", + "src": "5932:6:12" + }, + "nativeSrc": "5932:50:12", + "nodeType": "YulFunctionCall", + "src": "5932:50:12" + }, + "nativeSrc": "5932:50:12", + "nodeType": "YulExpressionStatement", + "src": "5932:50:12" + }, + { + "nativeSrc": "5995:21:12", + "nodeType": "YulAssignment", + "src": "5995:21:12", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "6006:3:12", + "nodeType": "YulIdentifier", + "src": "6006:3:12" + }, + { + "kind": "number", + "nativeSrc": "6011:4:12", + "nodeType": "YulLiteral", + "src": "6011:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6002:3:12", + "nodeType": "YulIdentifier", + "src": "6002:3:12" + }, + "nativeSrc": "6002:14:12", + "nodeType": "YulFunctionCall", + "src": "6002:14:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "5995:3:12", + "nodeType": "YulIdentifier", + "src": "5995:3:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "5835:3:12", + "nodeType": "YulIdentifier", + "src": "5835:3:12" + }, + { + "name": "srcEnd", + "nativeSrc": "5840:6:12", + "nodeType": "YulIdentifier", + "src": "5840:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5832:2:12", + "nodeType": "YulIdentifier", + "src": "5832:2:12" + }, + "nativeSrc": "5832:15:12", + "nodeType": "YulFunctionCall", + "src": "5832:15:12" + }, + "nativeSrc": "5806:220:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5848:25:12", + "nodeType": "YulBlock", + "src": "5848:25:12", + "statements": [ + { + "nativeSrc": "5850:21:12", + "nodeType": "YulAssignment", + "src": "5850:21:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "5861:3:12", + "nodeType": "YulIdentifier", + "src": "5861:3:12" + }, + { + "kind": "number", + "nativeSrc": "5866:4:12", + "nodeType": "YulLiteral", + "src": "5866:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5857:3:12", + "nodeType": "YulIdentifier", + "src": "5857:3:12" + }, + "nativeSrc": "5857:14:12", + "nodeType": "YulFunctionCall", + "src": "5857:14:12" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "5850:3:12", + "nodeType": "YulIdentifier", + "src": "5850:3:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5810:21:12", + "nodeType": "YulBlock", + "src": "5810:21:12", + "statements": [ + { + "nativeSrc": "5812:17:12", + "nodeType": "YulVariableDeclaration", + "src": "5812:17:12", + "value": { + "name": "offset", + "nativeSrc": "5823:6:12", + "nodeType": "YulIdentifier", + "src": "5823:6:12" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "5816:3:12", + "nodeType": "YulTypedName", + "src": "5816:3:12", + "type": "" + } + ] + } + ] + }, + "src": "5806:220:12" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "5322:710:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5394:6:12", + "nodeType": "YulTypedName", + "src": "5394:6:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5402:6:12", + "nodeType": "YulTypedName", + "src": "5402:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5410:3:12", + "nodeType": "YulTypedName", + "src": "5410:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "5418:5:12", + "nodeType": "YulTypedName", + "src": "5418:5:12", + "type": "" + } + ], + "src": "5322:710:12" + }, + { + "body": { + "nativeSrc": "6132:293:12", + "nodeType": "YulBlock", + "src": "6132:293:12", + "statements": [ + { + "body": { + "nativeSrc": "6181:83:12", + "nodeType": "YulBlock", + "src": "6181:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6183:77:12", + "nodeType": "YulIdentifier", + "src": "6183:77:12" + }, + "nativeSrc": "6183:79:12", + "nodeType": "YulFunctionCall", + "src": "6183:79:12" + }, + "nativeSrc": "6183:79:12", + "nodeType": "YulExpressionStatement", + "src": "6183:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6160:6:12", + "nodeType": "YulIdentifier", + "src": "6160:6:12" + }, + { + "kind": "number", + "nativeSrc": "6168:4:12", + "nodeType": "YulLiteral", + "src": "6168:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6156:3:12", + "nodeType": "YulIdentifier", + "src": "6156:3:12" + }, + "nativeSrc": "6156:17:12", + "nodeType": "YulFunctionCall", + "src": "6156:17:12" + }, + { + "name": "end", + "nativeSrc": "6175:3:12", + "nodeType": "YulIdentifier", + "src": "6175:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6152:3:12", + "nodeType": "YulIdentifier", + "src": "6152:3:12" + }, + "nativeSrc": "6152:27:12", + "nodeType": "YulFunctionCall", + "src": "6152:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6145:6:12", + "nodeType": "YulIdentifier", + "src": "6145:6:12" + }, + "nativeSrc": "6145:35:12", + "nodeType": "YulFunctionCall", + "src": "6145:35:12" + }, + "nativeSrc": "6142:122:12", + "nodeType": "YulIf", + "src": "6142:122:12" + }, + { + "nativeSrc": "6273:34:12", + "nodeType": "YulVariableDeclaration", + "src": "6273:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6300:6:12", + "nodeType": "YulIdentifier", + "src": "6300:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6287:12:12", + "nodeType": "YulIdentifier", + "src": "6287:12:12" + }, + "nativeSrc": "6287:20:12", + "nodeType": "YulFunctionCall", + "src": "6287:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "6277:6:12", + "nodeType": "YulTypedName", + "src": "6277:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6316:103:12", + "nodeType": "YulAssignment", + "src": "6316:103:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6392:6:12", + "nodeType": "YulIdentifier", + "src": "6392:6:12" + }, + { + "kind": "number", + "nativeSrc": "6400:4:12", + "nodeType": "YulLiteral", + "src": "6400:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6388:3:12", + "nodeType": "YulIdentifier", + "src": "6388:3:12" + }, + "nativeSrc": "6388:17:12", + "nodeType": "YulFunctionCall", + "src": "6388:17:12" + }, + { + "name": "length", + "nativeSrc": "6407:6:12", + "nodeType": "YulIdentifier", + "src": "6407:6:12" + }, + { + "name": "end", + "nativeSrc": "6415:3:12", + "nodeType": "YulIdentifier", + "src": "6415:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "6325:62:12", + "nodeType": "YulIdentifier", + "src": "6325:62:12" + }, + "nativeSrc": "6325:94:12", + "nodeType": "YulFunctionCall", + "src": "6325:94:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "6316:5:12", + "nodeType": "YulIdentifier", + "src": "6316:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "6055:370:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6110:6:12", + "nodeType": "YulTypedName", + "src": "6110:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6118:3:12", + "nodeType": "YulTypedName", + "src": "6118:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "6126:5:12", + "nodeType": "YulTypedName", + "src": "6126:5:12", + "type": "" + } + ], + "src": "6055:370:12" + }, + { + "body": { + "nativeSrc": "6539:576:12", + "nodeType": "YulBlock", + "src": "6539:576:12", + "statements": [ + { + "body": { + "nativeSrc": "6585:83:12", + "nodeType": "YulBlock", + "src": "6585:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6587:77:12", + "nodeType": "YulIdentifier", + "src": "6587:77:12" + }, + "nativeSrc": "6587:79:12", + "nodeType": "YulFunctionCall", + "src": "6587:79:12" + }, + "nativeSrc": "6587:79:12", + "nodeType": "YulExpressionStatement", + "src": "6587:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6560:7:12", + "nodeType": "YulIdentifier", + "src": "6560:7:12" + }, + { + "name": "headStart", + "nativeSrc": "6569:9:12", + "nodeType": "YulIdentifier", + "src": "6569:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6556:3:12", + "nodeType": "YulIdentifier", + "src": "6556:3:12" + }, + "nativeSrc": "6556:23:12", + "nodeType": "YulFunctionCall", + "src": "6556:23:12" + }, + { + "kind": "number", + "nativeSrc": "6581:2:12", + "nodeType": "YulLiteral", + "src": "6581:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6552:3:12", + "nodeType": "YulIdentifier", + "src": "6552:3:12" + }, + "nativeSrc": "6552:32:12", + "nodeType": "YulFunctionCall", + "src": "6552:32:12" + }, + "nativeSrc": "6549:119:12", + "nodeType": "YulIf", + "src": "6549:119:12" + }, + { + "nativeSrc": "6678:117:12", + "nodeType": "YulBlock", + "src": "6678:117:12", + "statements": [ + { + "nativeSrc": "6693:15:12", + "nodeType": "YulVariableDeclaration", + "src": "6693:15:12", + "value": { + "kind": "number", + "nativeSrc": "6707:1:12", + "nodeType": "YulLiteral", + "src": "6707:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6697:6:12", + "nodeType": "YulTypedName", + "src": "6697:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6722:63:12", + "nodeType": "YulAssignment", + "src": "6722:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6757:9:12", + "nodeType": "YulIdentifier", + "src": "6757:9:12" + }, + { + "name": "offset", + "nativeSrc": "6768:6:12", + "nodeType": "YulIdentifier", + "src": "6768:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6753:3:12", + "nodeType": "YulIdentifier", + "src": "6753:3:12" + }, + "nativeSrc": "6753:22:12", + "nodeType": "YulFunctionCall", + "src": "6753:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "6777:7:12", + "nodeType": "YulIdentifier", + "src": "6777:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "6732:20:12", + "nodeType": "YulIdentifier", + "src": "6732:20:12" + }, + "nativeSrc": "6732:53:12", + "nodeType": "YulFunctionCall", + "src": "6732:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6722:6:12", + "nodeType": "YulIdentifier", + "src": "6722:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "6805:303:12", + "nodeType": "YulBlock", + "src": "6805:303:12", + "statements": [ + { + "nativeSrc": "6820:46:12", + "nodeType": "YulVariableDeclaration", + "src": "6820:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6851:9:12", + "nodeType": "YulIdentifier", + "src": "6851:9:12" + }, + { + "kind": "number", + "nativeSrc": "6862:2:12", + "nodeType": "YulLiteral", + "src": "6862:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6847:3:12", + "nodeType": "YulIdentifier", + "src": "6847:3:12" + }, + "nativeSrc": "6847:18:12", + "nodeType": "YulFunctionCall", + "src": "6847:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6834:12:12", + "nodeType": "YulIdentifier", + "src": "6834:12:12" + }, + "nativeSrc": "6834:32:12", + "nodeType": "YulFunctionCall", + "src": "6834:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6824:6:12", + "nodeType": "YulTypedName", + "src": "6824:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6913:83:12", + "nodeType": "YulBlock", + "src": "6913:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "6915:77:12", + "nodeType": "YulIdentifier", + "src": "6915:77:12" + }, + "nativeSrc": "6915:79:12", + "nodeType": "YulFunctionCall", + "src": "6915:79:12" + }, + "nativeSrc": "6915:79:12", + "nodeType": "YulExpressionStatement", + "src": "6915:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6885:6:12", + "nodeType": "YulIdentifier", + "src": "6885:6:12" + }, + { + "kind": "number", + "nativeSrc": "6893:18:12", + "nodeType": "YulLiteral", + "src": "6893:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6882:2:12", + "nodeType": "YulIdentifier", + "src": "6882:2:12" + }, + "nativeSrc": "6882:30:12", + "nodeType": "YulFunctionCall", + "src": "6882:30:12" + }, + "nativeSrc": "6879:117:12", + "nodeType": "YulIf", + "src": "6879:117:12" + }, + { + "nativeSrc": "7010:88:12", + "nodeType": "YulAssignment", + "src": "7010:88:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7070:9:12", + "nodeType": "YulIdentifier", + "src": "7070:9:12" + }, + { + "name": "offset", + "nativeSrc": "7081:6:12", + "nodeType": "YulIdentifier", + "src": "7081:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7066:3:12", + "nodeType": "YulIdentifier", + "src": "7066:3:12" + }, + "nativeSrc": "7066:22:12", + "nodeType": "YulFunctionCall", + "src": "7066:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7090:7:12", + "nodeType": "YulIdentifier", + "src": "7090:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7020:45:12", + "nodeType": "YulIdentifier", + "src": "7020:45:12" + }, + "nativeSrc": "7020:78:12", + "nodeType": "YulFunctionCall", + "src": "7020:78:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7010:6:12", + "nodeType": "YulIdentifier", + "src": "7010:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "6431:684:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6501:9:12", + "nodeType": "YulTypedName", + "src": "6501:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6512:7:12", + "nodeType": "YulTypedName", + "src": "6512:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6524:6:12", + "nodeType": "YulTypedName", + "src": "6524:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6532:6:12", + "nodeType": "YulTypedName", + "src": "6532:6:12", + "type": "" + } + ], + "src": "6431:684:12" + }, + { + "body": { + "nativeSrc": "7187:263:12", + "nodeType": "YulBlock", + "src": "7187:263:12", + "statements": [ + { + "body": { + "nativeSrc": "7233:83:12", + "nodeType": "YulBlock", + "src": "7233:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "7235:77:12", + "nodeType": "YulIdentifier", + "src": "7235:77:12" + }, + "nativeSrc": "7235:79:12", + "nodeType": "YulFunctionCall", + "src": "7235:79:12" + }, + "nativeSrc": "7235:79:12", + "nodeType": "YulExpressionStatement", + "src": "7235:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "7208:7:12", + "nodeType": "YulIdentifier", + "src": "7208:7:12" + }, + { + "name": "headStart", + "nativeSrc": "7217:9:12", + "nodeType": "YulIdentifier", + "src": "7217:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7204:3:12", + "nodeType": "YulIdentifier", + "src": "7204:3:12" + }, + "nativeSrc": "7204:23:12", + "nodeType": "YulFunctionCall", + "src": "7204:23:12" + }, + { + "kind": "number", + "nativeSrc": "7229:2:12", + "nodeType": "YulLiteral", + "src": "7229:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "7200:3:12", + "nodeType": "YulIdentifier", + "src": "7200:3:12" + }, + "nativeSrc": "7200:32:12", + "nodeType": "YulFunctionCall", + "src": "7200:32:12" + }, + "nativeSrc": "7197:119:12", + "nodeType": "YulIf", + "src": "7197:119:12" + }, + { + "nativeSrc": "7326:117:12", + "nodeType": "YulBlock", + "src": "7326:117:12", + "statements": [ + { + "nativeSrc": "7341:15:12", + "nodeType": "YulVariableDeclaration", + "src": "7341:15:12", + "value": { + "kind": "number", + "nativeSrc": "7355:1:12", + "nodeType": "YulLiteral", + "src": "7355:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7345:6:12", + "nodeType": "YulTypedName", + "src": "7345:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7370:63:12", + "nodeType": "YulAssignment", + "src": "7370:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7405:9:12", + "nodeType": "YulIdentifier", + "src": "7405:9:12" + }, + { + "name": "offset", + "nativeSrc": "7416:6:12", + "nodeType": "YulIdentifier", + "src": "7416:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7401:3:12", + "nodeType": "YulIdentifier", + "src": "7401:3:12" + }, + "nativeSrc": "7401:22:12", + "nodeType": "YulFunctionCall", + "src": "7401:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7425:7:12", + "nodeType": "YulIdentifier", + "src": "7425:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "7380:20:12", + "nodeType": "YulIdentifier", + "src": "7380:20:12" + }, + "nativeSrc": "7380:53:12", + "nodeType": "YulFunctionCall", + "src": "7380:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7370:6:12", + "nodeType": "YulIdentifier", + "src": "7370:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "7121:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7157:9:12", + "nodeType": "YulTypedName", + "src": "7157:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "7168:7:12", + "nodeType": "YulTypedName", + "src": "7168:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "7180:6:12", + "nodeType": "YulTypedName", + "src": "7180:6:12", + "type": "" + } + ], + "src": "7121:329:12" + }, + { + "body": { + "nativeSrc": "7498:48:12", + "nodeType": "YulBlock", + "src": "7498:48:12", + "statements": [ + { + "nativeSrc": "7508:32:12", + "nodeType": "YulAssignment", + "src": "7508:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7533:5:12", + "nodeType": "YulIdentifier", + "src": "7533:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7526:6:12", + "nodeType": "YulIdentifier", + "src": "7526:6:12" + }, + "nativeSrc": "7526:13:12", + "nodeType": "YulFunctionCall", + "src": "7526:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7519:6:12", + "nodeType": "YulIdentifier", + "src": "7519:6:12" + }, + "nativeSrc": "7519:21:12", + "nodeType": "YulFunctionCall", + "src": "7519:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "7508:7:12", + "nodeType": "YulIdentifier", + "src": "7508:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "7456:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7480:5:12", + "nodeType": "YulTypedName", + "src": "7480:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "7490:7:12", + "nodeType": "YulTypedName", + "src": "7490:7:12", + "type": "" + } + ], + "src": "7456:90:12" + }, + { + "body": { + "nativeSrc": "7611:50:12", + "nodeType": "YulBlock", + "src": "7611:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7628:3:12", + "nodeType": "YulIdentifier", + "src": "7628:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7648:5:12", + "nodeType": "YulIdentifier", + "src": "7648:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "7633:14:12", + "nodeType": "YulIdentifier", + "src": "7633:14:12" + }, + "nativeSrc": "7633:21:12", + "nodeType": "YulFunctionCall", + "src": "7633:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7621:6:12", + "nodeType": "YulIdentifier", + "src": "7621:6:12" + }, + "nativeSrc": "7621:34:12", + "nodeType": "YulFunctionCall", + "src": "7621:34:12" + }, + "nativeSrc": "7621:34:12", + "nodeType": "YulExpressionStatement", + "src": "7621:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "7552:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7599:5:12", + "nodeType": "YulTypedName", + "src": "7599:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7606:3:12", + "nodeType": "YulTypedName", + "src": "7606:3:12", + "type": "" + } + ], + "src": "7552:109:12" + }, + { + "body": { + "nativeSrc": "7759:118:12", + "nodeType": "YulBlock", + "src": "7759:118:12", + "statements": [ + { + "nativeSrc": "7769:26:12", + "nodeType": "YulAssignment", + "src": "7769:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7781:9:12", + "nodeType": "YulIdentifier", + "src": "7781:9:12" + }, + { + "kind": "number", + "nativeSrc": "7792:2:12", + "nodeType": "YulLiteral", + "src": "7792:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7777:3:12", + "nodeType": "YulIdentifier", + "src": "7777:3:12" + }, + "nativeSrc": "7777:18:12", + "nodeType": "YulFunctionCall", + "src": "7777:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7769:4:12", + "nodeType": "YulIdentifier", + "src": "7769:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7843:6:12", + "nodeType": "YulIdentifier", + "src": "7843:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7856:9:12", + "nodeType": "YulIdentifier", + "src": "7856:9:12" + }, + { + "kind": "number", + "nativeSrc": "7867:1:12", + "nodeType": "YulLiteral", + "src": "7867:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7852:3:12", + "nodeType": "YulIdentifier", + "src": "7852:3:12" + }, + "nativeSrc": "7852:17:12", + "nodeType": "YulFunctionCall", + "src": "7852:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "7805:37:12", + "nodeType": "YulIdentifier", + "src": "7805:37:12" + }, + "nativeSrc": "7805:65:12", + "nodeType": "YulFunctionCall", + "src": "7805:65:12" + }, + "nativeSrc": "7805:65:12", + "nodeType": "YulExpressionStatement", + "src": "7805:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "7667:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7731:9:12", + "nodeType": "YulTypedName", + "src": "7731:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7743:6:12", + "nodeType": "YulTypedName", + "src": "7743:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7754:4:12", + "nodeType": "YulTypedName", + "src": "7754:4:12", + "type": "" + } + ], + "src": "7667:210:12" + }, + { + "body": { + "nativeSrc": "7948:53:12", + "nodeType": "YulBlock", + "src": "7948:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7965:3:12", + "nodeType": "YulIdentifier", + "src": "7965:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7988:5:12", + "nodeType": "YulIdentifier", + "src": "7988:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7970:17:12", + "nodeType": "YulIdentifier", + "src": "7970:17:12" + }, + "nativeSrc": "7970:24:12", + "nodeType": "YulFunctionCall", + "src": "7970:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7958:6:12", + "nodeType": "YulIdentifier", + "src": "7958:6:12" + }, + "nativeSrc": "7958:37:12", + "nodeType": "YulFunctionCall", + "src": "7958:37:12" + }, + "nativeSrc": "7958:37:12", + "nodeType": "YulExpressionStatement", + "src": "7958:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7883:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7936:5:12", + "nodeType": "YulTypedName", + "src": "7936:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7943:3:12", + "nodeType": "YulTypedName", + "src": "7943:3:12", + "type": "" + } + ], + "src": "7883:118:12" + }, + { + "body": { + "nativeSrc": "8105:124:12", + "nodeType": "YulBlock", + "src": "8105:124:12", + "statements": [ + { + "nativeSrc": "8115:26:12", + "nodeType": "YulAssignment", + "src": "8115:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8127:9:12", + "nodeType": "YulIdentifier", + "src": "8127:9:12" + }, + { + "kind": "number", + "nativeSrc": "8138:2:12", + "nodeType": "YulLiteral", + "src": "8138:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8123:3:12", + "nodeType": "YulIdentifier", + "src": "8123:3:12" + }, + "nativeSrc": "8123:18:12", + "nodeType": "YulFunctionCall", + "src": "8123:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8115:4:12", + "nodeType": "YulIdentifier", + "src": "8115:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8195:6:12", + "nodeType": "YulIdentifier", + "src": "8195:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8208:9:12", + "nodeType": "YulIdentifier", + "src": "8208:9:12" + }, + { + "kind": "number", + "nativeSrc": "8219:1:12", + "nodeType": "YulLiteral", + "src": "8219:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8204:3:12", + "nodeType": "YulIdentifier", + "src": "8204:3:12" + }, + "nativeSrc": "8204:17:12", + "nodeType": "YulFunctionCall", + "src": "8204:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8151:43:12", + "nodeType": "YulIdentifier", + "src": "8151:43:12" + }, + "nativeSrc": "8151:71:12", + "nodeType": "YulFunctionCall", + "src": "8151:71:12" + }, + "nativeSrc": "8151:71:12", + "nodeType": "YulExpressionStatement", + "src": "8151:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "8007:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8077:9:12", + "nodeType": "YulTypedName", + "src": "8077:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8089:6:12", + "nodeType": "YulTypedName", + "src": "8089:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8100:4:12", + "nodeType": "YulTypedName", + "src": "8100:4:12", + "type": "" + } + ], + "src": "8007:222:12" + }, + { + "body": { + "nativeSrc": "8318:391:12", + "nodeType": "YulBlock", + "src": "8318:391:12", + "statements": [ + { + "body": { + "nativeSrc": "8364:83:12", + "nodeType": "YulBlock", + "src": "8364:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8366:77:12", + "nodeType": "YulIdentifier", + "src": "8366:77:12" + }, + "nativeSrc": "8366:79:12", + "nodeType": "YulFunctionCall", + "src": "8366:79:12" + }, + "nativeSrc": "8366:79:12", + "nodeType": "YulExpressionStatement", + "src": "8366:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8339:7:12", + "nodeType": "YulIdentifier", + "src": "8339:7:12" + }, + { + "name": "headStart", + "nativeSrc": "8348:9:12", + "nodeType": "YulIdentifier", + "src": "8348:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8335:3:12", + "nodeType": "YulIdentifier", + "src": "8335:3:12" + }, + "nativeSrc": "8335:23:12", + "nodeType": "YulFunctionCall", + "src": "8335:23:12" + }, + { + "kind": "number", + "nativeSrc": "8360:2:12", + "nodeType": "YulLiteral", + "src": "8360:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8331:3:12", + "nodeType": "YulIdentifier", + "src": "8331:3:12" + }, + "nativeSrc": "8331:32:12", + "nodeType": "YulFunctionCall", + "src": "8331:32:12" + }, + "nativeSrc": "8328:119:12", + "nodeType": "YulIf", + "src": "8328:119:12" + }, + { + "nativeSrc": "8457:117:12", + "nodeType": "YulBlock", + "src": "8457:117:12", + "statements": [ + { + "nativeSrc": "8472:15:12", + "nodeType": "YulVariableDeclaration", + "src": "8472:15:12", + "value": { + "kind": "number", + "nativeSrc": "8486:1:12", + "nodeType": "YulLiteral", + "src": "8486:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8476:6:12", + "nodeType": "YulTypedName", + "src": "8476:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8501:63:12", + "nodeType": "YulAssignment", + "src": "8501:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8536:9:12", + "nodeType": "YulIdentifier", + "src": "8536:9:12" + }, + { + "name": "offset", + "nativeSrc": "8547:6:12", + "nodeType": "YulIdentifier", + "src": "8547:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8532:3:12", + "nodeType": "YulIdentifier", + "src": "8532:3:12" + }, + "nativeSrc": "8532:22:12", + "nodeType": "YulFunctionCall", + "src": "8532:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "8556:7:12", + "nodeType": "YulIdentifier", + "src": "8556:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8511:20:12", + "nodeType": "YulIdentifier", + "src": "8511:20:12" + }, + "nativeSrc": "8511:53:12", + "nodeType": "YulFunctionCall", + "src": "8511:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8501:6:12", + "nodeType": "YulIdentifier", + "src": "8501:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "8584:118:12", + "nodeType": "YulBlock", + "src": "8584:118:12", + "statements": [ + { + "nativeSrc": "8599:16:12", + "nodeType": "YulVariableDeclaration", + "src": "8599:16:12", + "value": { + "kind": "number", + "nativeSrc": "8613:2:12", + "nodeType": "YulLiteral", + "src": "8613:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8603:6:12", + "nodeType": "YulTypedName", + "src": "8603:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8629:63:12", + "nodeType": "YulAssignment", + "src": "8629:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8664:9:12", + "nodeType": "YulIdentifier", + "src": "8664:9:12" + }, + { + "name": "offset", + "nativeSrc": "8675:6:12", + "nodeType": "YulIdentifier", + "src": "8675:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8660:3:12", + "nodeType": "YulIdentifier", + "src": "8660:3:12" + }, + "nativeSrc": "8660:22:12", + "nodeType": "YulFunctionCall", + "src": "8660:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "8684:7:12", + "nodeType": "YulIdentifier", + "src": "8684:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8639:20:12", + "nodeType": "YulIdentifier", + "src": "8639:20:12" + }, + "nativeSrc": "8639:53:12", + "nodeType": "YulFunctionCall", + "src": "8639:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "8629:6:12", + "nodeType": "YulIdentifier", + "src": "8629:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nativeSrc": "8235:474:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8280:9:12", + "nodeType": "YulTypedName", + "src": "8280:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8291:7:12", + "nodeType": "YulTypedName", + "src": "8291:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8303:6:12", + "nodeType": "YulTypedName", + "src": "8303:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8311:6:12", + "nodeType": "YulTypedName", + "src": "8311:6:12", + "type": "" + } + ], + "src": "8235:474:12" + }, + { + "body": { + "nativeSrc": "8789:40:12", + "nodeType": "YulBlock", + "src": "8789:40:12", + "statements": [ + { + "nativeSrc": "8800:22:12", + "nodeType": "YulAssignment", + "src": "8800:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8816:5:12", + "nodeType": "YulIdentifier", + "src": "8816:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8810:5:12", + "nodeType": "YulIdentifier", + "src": "8810:5:12" + }, + "nativeSrc": "8810:12:12", + "nodeType": "YulFunctionCall", + "src": "8810:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "8800:6:12", + "nodeType": "YulIdentifier", + "src": "8800:6:12" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8715:114:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8772:5:12", + "nodeType": "YulTypedName", + "src": "8772:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "8782:6:12", + "nodeType": "YulTypedName", + "src": "8782:6:12", + "type": "" + } + ], + "src": "8715:114:12" + }, + { + "body": { + "nativeSrc": "8946:73:12", + "nodeType": "YulBlock", + "src": "8946:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8963:3:12", + "nodeType": "YulIdentifier", + "src": "8963:3:12" + }, + { + "name": "length", + "nativeSrc": "8968:6:12", + "nodeType": "YulIdentifier", + "src": "8968:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8956:6:12", + "nodeType": "YulIdentifier", + "src": "8956:6:12" + }, + "nativeSrc": "8956:19:12", + "nodeType": "YulFunctionCall", + "src": "8956:19:12" + }, + "nativeSrc": "8956:19:12", + "nodeType": "YulExpressionStatement", + "src": "8956:19:12" + }, + { + "nativeSrc": "8984:29:12", + "nodeType": "YulAssignment", + "src": "8984:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9003:3:12", + "nodeType": "YulIdentifier", + "src": "9003:3:12" + }, + { + "kind": "number", + "nativeSrc": "9008:4:12", + "nodeType": "YulLiteral", + "src": "9008:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8999:3:12", + "nodeType": "YulIdentifier", + "src": "8999:3:12" + }, + "nativeSrc": "8999:14:12", + "nodeType": "YulFunctionCall", + "src": "8999:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "8984:11:12", + "nodeType": "YulIdentifier", + "src": "8984:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "8835:184:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "8918:3:12", + "nodeType": "YulTypedName", + "src": "8918:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8923:6:12", + "nodeType": "YulTypedName", + "src": "8923:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "8934:11:12", + "nodeType": "YulTypedName", + "src": "8934:11:12", + "type": "" + } + ], + "src": "8835:184:12" + }, + { + "body": { + "nativeSrc": "9097:60:12", + "nodeType": "YulBlock", + "src": "9097:60:12", + "statements": [ + { + "nativeSrc": "9107:11:12", + "nodeType": "YulAssignment", + "src": "9107:11:12", + "value": { + "name": "ptr", + "nativeSrc": "9115:3:12", + "nodeType": "YulIdentifier", + "src": "9115:3:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9107:4:12", + "nodeType": "YulIdentifier", + "src": "9107:4:12" + } + ] + }, + { + "nativeSrc": "9128:22:12", + "nodeType": "YulAssignment", + "src": "9128:22:12", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "9140:3:12", + "nodeType": "YulIdentifier", + "src": "9140:3:12" + }, + { + "kind": "number", + "nativeSrc": "9145:4:12", + "nodeType": "YulLiteral", + "src": "9145:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9136:3:12", + "nodeType": "YulIdentifier", + "src": "9136:3:12" + }, + "nativeSrc": "9136:14:12", + "nodeType": "YulFunctionCall", + "src": "9136:14:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9128:4:12", + "nodeType": "YulIdentifier", + "src": "9128:4:12" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9025:132:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "9084:3:12", + "nodeType": "YulTypedName", + "src": "9084:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "9092:4:12", + "nodeType": "YulTypedName", + "src": "9092:4:12", + "type": "" + } + ], + "src": "9025:132:12" + }, + { + "body": { + "nativeSrc": "9218:53:12", + "nodeType": "YulBlock", + "src": "9218:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9235:3:12", + "nodeType": "YulIdentifier", + "src": "9235:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9258:5:12", + "nodeType": "YulIdentifier", + "src": "9258:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "9240:17:12", + "nodeType": "YulIdentifier", + "src": "9240:17:12" + }, + "nativeSrc": "9240:24:12", + "nodeType": "YulFunctionCall", + "src": "9240:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9228:6:12", + "nodeType": "YulIdentifier", + "src": "9228:6:12" + }, + "nativeSrc": "9228:37:12", + "nodeType": "YulFunctionCall", + "src": "9228:37:12" + }, + "nativeSrc": "9228:37:12", + "nodeType": "YulExpressionStatement", + "src": "9228:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "9163:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9206:5:12", + "nodeType": "YulTypedName", + "src": "9206:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9213:3:12", + "nodeType": "YulTypedName", + "src": "9213:3:12", + "type": "" + } + ], + "src": "9163:108:12" + }, + { + "body": { + "nativeSrc": "9357:99:12", + "nodeType": "YulBlock", + "src": "9357:99:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9401:6:12", + "nodeType": "YulIdentifier", + "src": "9401:6:12" + }, + { + "name": "pos", + "nativeSrc": "9409:3:12", + "nodeType": "YulIdentifier", + "src": "9409:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "9367:33:12", + "nodeType": "YulIdentifier", + "src": "9367:33:12" + }, + "nativeSrc": "9367:46:12", + "nodeType": "YulFunctionCall", + "src": "9367:46:12" + }, + "nativeSrc": "9367:46:12", + "nodeType": "YulExpressionStatement", + "src": "9367:46:12" + }, + { + "nativeSrc": "9422:28:12", + "nodeType": "YulAssignment", + "src": "9422:28:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9440:3:12", + "nodeType": "YulIdentifier", + "src": "9440:3:12" + }, + { + "kind": "number", + "nativeSrc": "9445:4:12", + "nodeType": "YulLiteral", + "src": "9445:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9436:3:12", + "nodeType": "YulIdentifier", + "src": "9436:3:12" + }, + "nativeSrc": "9436:14:12", + "nodeType": "YulFunctionCall", + "src": "9436:14:12" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "9422:10:12", + "nodeType": "YulIdentifier", + "src": "9422:10:12" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nativeSrc": "9277:179:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "9330:6:12", + "nodeType": "YulTypedName", + "src": "9330:6:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9338:3:12", + "nodeType": "YulTypedName", + "src": "9338:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "9346:10:12", + "nodeType": "YulTypedName", + "src": "9346:10:12", + "type": "" + } + ], + "src": "9277:179:12" + }, + { + "body": { + "nativeSrc": "9537:38:12", + "nodeType": "YulBlock", + "src": "9537:38:12", + "statements": [ + { + "nativeSrc": "9547:22:12", + "nodeType": "YulAssignment", + "src": "9547:22:12", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "9559:3:12", + "nodeType": "YulIdentifier", + "src": "9559:3:12" + }, + { + "kind": "number", + "nativeSrc": "9564:4:12", + "nodeType": "YulLiteral", + "src": "9564:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9555:3:12", + "nodeType": "YulIdentifier", + "src": "9555:3:12" + }, + "nativeSrc": "9555:14:12", + "nodeType": "YulFunctionCall", + "src": "9555:14:12" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "9547:4:12", + "nodeType": "YulIdentifier", + "src": "9547:4:12" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9462:113:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "9524:3:12", + "nodeType": "YulTypedName", + "src": "9524:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "9532:4:12", + "nodeType": "YulTypedName", + "src": "9532:4:12", + "type": "" + } + ], + "src": "9462:113:12" + }, + { + "body": { + "nativeSrc": "9735:608:12", + "nodeType": "YulBlock", + "src": "9735:608:12", + "statements": [ + { + "nativeSrc": "9745:68:12", + "nodeType": "YulVariableDeclaration", + "src": "9745:68:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9807:5:12", + "nodeType": "YulIdentifier", + "src": "9807:5:12" + } + ], + "functionName": { + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9759:47:12", + "nodeType": "YulIdentifier", + "src": "9759:47:12" + }, + "nativeSrc": "9759:54:12", + "nodeType": "YulFunctionCall", + "src": "9759:54:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "9749:6:12", + "nodeType": "YulTypedName", + "src": "9749:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9822:93:12", + "nodeType": "YulAssignment", + "src": "9822:93:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9903:3:12", + "nodeType": "YulIdentifier", + "src": "9903:3:12" + }, + { + "name": "length", + "nativeSrc": "9908:6:12", + "nodeType": "YulIdentifier", + "src": "9908:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "9829:73:12", + "nodeType": "YulIdentifier", + "src": "9829:73:12" + }, + "nativeSrc": "9829:86:12", + "nodeType": "YulFunctionCall", + "src": "9829:86:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "9822:3:12", + "nodeType": "YulIdentifier", + "src": "9822:3:12" + } + ] + }, + { + "nativeSrc": "9924:71:12", + "nodeType": "YulVariableDeclaration", + "src": "9924:71:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9989:5:12", + "nodeType": "YulIdentifier", + "src": "9989:5:12" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9939:49:12", + "nodeType": "YulIdentifier", + "src": "9939:49:12" + }, + "nativeSrc": "9939:56:12", + "nodeType": "YulFunctionCall", + "src": "9939:56:12" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "9928:7:12", + "nodeType": "YulTypedName", + "src": "9928:7:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10004:21:12", + "nodeType": "YulVariableDeclaration", + "src": "10004:21:12", + "value": { + "name": "baseRef", + "nativeSrc": "10018:7:12", + "nodeType": "YulIdentifier", + "src": "10018:7:12" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "10008:6:12", + "nodeType": "YulTypedName", + "src": "10008:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10094:224:12", + "nodeType": "YulBlock", + "src": "10094:224:12", + "statements": [ + { + "nativeSrc": "10108:34:12", + "nodeType": "YulVariableDeclaration", + "src": "10108:34:12", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "10135:6:12", + "nodeType": "YulIdentifier", + "src": "10135:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10129:5:12", + "nodeType": "YulIdentifier", + "src": "10129:5:12" + }, + "nativeSrc": "10129:13:12", + "nodeType": "YulFunctionCall", + "src": "10129:13:12" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "10112:13:12", + "nodeType": "YulTypedName", + "src": "10112:13:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10155:70:12", + "nodeType": "YulAssignment", + "src": "10155:70:12", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "10206:13:12", + "nodeType": "YulIdentifier", + "src": "10206:13:12" + }, + { + "name": "pos", + "nativeSrc": "10221:3:12", + "nodeType": "YulIdentifier", + "src": "10221:3:12" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nativeSrc": "10162:43:12", + "nodeType": "YulIdentifier", + "src": "10162:43:12" + }, + "nativeSrc": "10162:63:12", + "nodeType": "YulFunctionCall", + "src": "10162:63:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "10155:3:12", + "nodeType": "YulIdentifier", + "src": "10155:3:12" + } + ] + }, + { + "nativeSrc": "10238:70:12", + "nodeType": "YulAssignment", + "src": "10238:70:12", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "10301:6:12", + "nodeType": "YulIdentifier", + "src": "10301:6:12" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "10248:52:12", + "nodeType": "YulIdentifier", + "src": "10248:52:12" + }, + "nativeSrc": "10248:60:12", + "nodeType": "YulFunctionCall", + "src": "10248:60:12" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "10238:6:12", + "nodeType": "YulIdentifier", + "src": "10238:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10056:1:12", + "nodeType": "YulIdentifier", + "src": "10056:1:12" + }, + { + "name": "length", + "nativeSrc": "10059:6:12", + "nodeType": "YulIdentifier", + "src": "10059:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10053:2:12", + "nodeType": "YulIdentifier", + "src": "10053:2:12" + }, + "nativeSrc": "10053:13:12", + "nodeType": "YulFunctionCall", + "src": "10053:13:12" + }, + "nativeSrc": "10034:284:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "10067:18:12", + "nodeType": "YulBlock", + "src": "10067:18:12", + "statements": [ + { + "nativeSrc": "10069:14:12", + "nodeType": "YulAssignment", + "src": "10069:14:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10078:1:12", + "nodeType": "YulIdentifier", + "src": "10078:1:12" + }, + { + "kind": "number", + "nativeSrc": "10081:1:12", + "nodeType": "YulLiteral", + "src": "10081:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10074:3:12", + "nodeType": "YulIdentifier", + "src": "10074:3:12" + }, + "nativeSrc": "10074:9:12", + "nodeType": "YulFunctionCall", + "src": "10074:9:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "10069:1:12", + "nodeType": "YulIdentifier", + "src": "10069:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "10038:14:12", + "nodeType": "YulBlock", + "src": "10038:14:12", + "statements": [ + { + "nativeSrc": "10040:10:12", + "nodeType": "YulVariableDeclaration", + "src": "10040:10:12", + "value": { + "kind": "number", + "nativeSrc": "10049:1:12", + "nodeType": "YulLiteral", + "src": "10049:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "10044:1:12", + "nodeType": "YulTypedName", + "src": "10044:1:12", + "type": "" + } + ] + } + ] + }, + "src": "10034:284:12" + }, + { + "nativeSrc": "10327:10:12", + "nodeType": "YulAssignment", + "src": "10327:10:12", + "value": { + "name": "pos", + "nativeSrc": "10334:3:12", + "nodeType": "YulIdentifier", + "src": "10334:3:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "10327:3:12", + "nodeType": "YulIdentifier", + "src": "10327:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "9611:732:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9714:5:12", + "nodeType": "YulTypedName", + "src": "9714:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9721:3:12", + "nodeType": "YulTypedName", + "src": "9721:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "9730:3:12", + "nodeType": "YulTypedName", + "src": "9730:3:12", + "type": "" + } + ], + "src": "9611:732:12" + }, + { + "body": { + "nativeSrc": "10497:225:12", + "nodeType": "YulBlock", + "src": "10497:225:12", + "statements": [ + { + "nativeSrc": "10507:26:12", + "nodeType": "YulAssignment", + "src": "10507:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10519:9:12", + "nodeType": "YulIdentifier", + "src": "10519:9:12" + }, + { + "kind": "number", + "nativeSrc": "10530:2:12", + "nodeType": "YulLiteral", + "src": "10530:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10515:3:12", + "nodeType": "YulIdentifier", + "src": "10515:3:12" + }, + "nativeSrc": "10515:18:12", + "nodeType": "YulFunctionCall", + "src": "10515:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10507:4:12", + "nodeType": "YulIdentifier", + "src": "10507:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10554:9:12", + "nodeType": "YulIdentifier", + "src": "10554:9:12" + }, + { + "kind": "number", + "nativeSrc": "10565:1:12", + "nodeType": "YulLiteral", + "src": "10565:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10550:3:12", + "nodeType": "YulIdentifier", + "src": "10550:3:12" + }, + "nativeSrc": "10550:17:12", + "nodeType": "YulFunctionCall", + "src": "10550:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "10573:4:12", + "nodeType": "YulIdentifier", + "src": "10573:4:12" + }, + { + "name": "headStart", + "nativeSrc": "10579:9:12", + "nodeType": "YulIdentifier", + "src": "10579:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10569:3:12", + "nodeType": "YulIdentifier", + "src": "10569:3:12" + }, + "nativeSrc": "10569:20:12", + "nodeType": "YulFunctionCall", + "src": "10569:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10543:6:12", + "nodeType": "YulIdentifier", + "src": "10543:6:12" + }, + "nativeSrc": "10543:47:12", + "nodeType": "YulFunctionCall", + "src": "10543:47:12" + }, + "nativeSrc": "10543:47:12", + "nodeType": "YulExpressionStatement", + "src": "10543:47:12" + }, + { + "nativeSrc": "10599:116:12", + "nodeType": "YulAssignment", + "src": "10599:116:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10701:6:12", + "nodeType": "YulIdentifier", + "src": "10701:6:12" + }, + { + "name": "tail", + "nativeSrc": "10710:4:12", + "nodeType": "YulIdentifier", + "src": "10710:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "10607:93:12", + "nodeType": "YulIdentifier", + "src": "10607:93:12" + }, + "nativeSrc": "10607:108:12", + "nodeType": "YulFunctionCall", + "src": "10607:108:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10599:4:12", + "nodeType": "YulIdentifier", + "src": "10599:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "10349:373:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10469:9:12", + "nodeType": "YulTypedName", + "src": "10469:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10481:6:12", + "nodeType": "YulTypedName", + "src": "10481:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10492:4:12", + "nodeType": "YulTypedName", + "src": "10492:4:12", + "type": "" + } + ], + "src": "10349:373:12" + }, + { + "body": { + "nativeSrc": "10787:40:12", + "nodeType": "YulBlock", + "src": "10787:40:12", + "statements": [ + { + "nativeSrc": "10798:22:12", + "nodeType": "YulAssignment", + "src": "10798:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10814:5:12", + "nodeType": "YulIdentifier", + "src": "10814:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10808:5:12", + "nodeType": "YulIdentifier", + "src": "10808:5:12" + }, + "nativeSrc": "10808:12:12", + "nodeType": "YulFunctionCall", + "src": "10808:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10798:6:12", + "nodeType": "YulIdentifier", + "src": "10798:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "10728:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10770:5:12", + "nodeType": "YulTypedName", + "src": "10770:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "10780:6:12", + "nodeType": "YulTypedName", + "src": "10780:6:12", + "type": "" + } + ], + "src": "10728:99:12" + }, + { + "body": { + "nativeSrc": "10919:73:12", + "nodeType": "YulBlock", + "src": "10919:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10936:3:12", + "nodeType": "YulIdentifier", + "src": "10936:3:12" + }, + { + "name": "length", + "nativeSrc": "10941:6:12", + "nodeType": "YulIdentifier", + "src": "10941:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10929:6:12", + "nodeType": "YulIdentifier", + "src": "10929:6:12" + }, + "nativeSrc": "10929:19:12", + "nodeType": "YulFunctionCall", + "src": "10929:19:12" + }, + "nativeSrc": "10929:19:12", + "nodeType": "YulExpressionStatement", + "src": "10929:19:12" + }, + { + "nativeSrc": "10957:29:12", + "nodeType": "YulAssignment", + "src": "10957:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10976:3:12", + "nodeType": "YulIdentifier", + "src": "10976:3:12" + }, + { + "kind": "number", + "nativeSrc": "10981:4:12", + "nodeType": "YulLiteral", + "src": "10981:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10972:3:12", + "nodeType": "YulIdentifier", + "src": "10972:3:12" + }, + "nativeSrc": "10972:14:12", + "nodeType": "YulFunctionCall", + "src": "10972:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "10957:11:12", + "nodeType": "YulIdentifier", + "src": "10957:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "10833:159:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "10891:3:12", + "nodeType": "YulTypedName", + "src": "10891:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "10896:6:12", + "nodeType": "YulTypedName", + "src": "10896:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "10907:11:12", + "nodeType": "YulTypedName", + "src": "10907:11:12", + "type": "" + } + ], + "src": "10833:159:12" + }, + { + "body": { + "nativeSrc": "11060:184:12", + "nodeType": "YulBlock", + "src": "11060:184:12", + "statements": [ + { + "nativeSrc": "11070:10:12", + "nodeType": "YulVariableDeclaration", + "src": "11070:10:12", + "value": { + "kind": "number", + "nativeSrc": "11079:1:12", + "nodeType": "YulLiteral", + "src": "11079:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "11074:1:12", + "nodeType": "YulTypedName", + "src": "11074:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11139:63:12", + "nodeType": "YulBlock", + "src": "11139:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11164:3:12", + "nodeType": "YulIdentifier", + "src": "11164:3:12" + }, + { + "name": "i", + "nativeSrc": "11169:1:12", + "nodeType": "YulIdentifier", + "src": "11169:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11160:3:12", + "nodeType": "YulIdentifier", + "src": "11160:3:12" + }, + "nativeSrc": "11160:11:12", + "nodeType": "YulFunctionCall", + "src": "11160:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "11183:3:12", + "nodeType": "YulIdentifier", + "src": "11183:3:12" + }, + { + "name": "i", + "nativeSrc": "11188:1:12", + "nodeType": "YulIdentifier", + "src": "11188:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11179:3:12", + "nodeType": "YulIdentifier", + "src": "11179:3:12" + }, + "nativeSrc": "11179:11:12", + "nodeType": "YulFunctionCall", + "src": "11179:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "11173:5:12", + "nodeType": "YulIdentifier", + "src": "11173:5:12" + }, + "nativeSrc": "11173:18:12", + "nodeType": "YulFunctionCall", + "src": "11173:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11153:6:12", + "nodeType": "YulIdentifier", + "src": "11153:6:12" + }, + "nativeSrc": "11153:39:12", + "nodeType": "YulFunctionCall", + "src": "11153:39:12" + }, + "nativeSrc": "11153:39:12", + "nodeType": "YulExpressionStatement", + "src": "11153:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "11100:1:12", + "nodeType": "YulIdentifier", + "src": "11100:1:12" + }, + { + "name": "length", + "nativeSrc": "11103:6:12", + "nodeType": "YulIdentifier", + "src": "11103:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11097:2:12", + "nodeType": "YulIdentifier", + "src": "11097:2:12" + }, + "nativeSrc": "11097:13:12", + "nodeType": "YulFunctionCall", + "src": "11097:13:12" + }, + "nativeSrc": "11089:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "11111:19:12", + "nodeType": "YulBlock", + "src": "11111:19:12", + "statements": [ + { + "nativeSrc": "11113:15:12", + "nodeType": "YulAssignment", + "src": "11113:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "11122:1:12", + "nodeType": "YulIdentifier", + "src": "11122:1:12" + }, + { + "kind": "number", + "nativeSrc": "11125:2:12", + "nodeType": "YulLiteral", + "src": "11125:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11118:3:12", + "nodeType": "YulIdentifier", + "src": "11118:3:12" + }, + "nativeSrc": "11118:10:12", + "nodeType": "YulFunctionCall", + "src": "11118:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "11113:1:12", + "nodeType": "YulIdentifier", + "src": "11113:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "11093:3:12", + "nodeType": "YulBlock", + "src": "11093:3:12", + "statements": [] + }, + "src": "11089:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11222:3:12", + "nodeType": "YulIdentifier", + "src": "11222:3:12" + }, + { + "name": "length", + "nativeSrc": "11227:6:12", + "nodeType": "YulIdentifier", + "src": "11227:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11218:3:12", + "nodeType": "YulIdentifier", + "src": "11218:3:12" + }, + "nativeSrc": "11218:16:12", + "nodeType": "YulFunctionCall", + "src": "11218:16:12" + }, + { + "kind": "number", + "nativeSrc": "11236:1:12", + "nodeType": "YulLiteral", + "src": "11236:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11211:6:12", + "nodeType": "YulIdentifier", + "src": "11211:6:12" + }, + "nativeSrc": "11211:27:12", + "nodeType": "YulFunctionCall", + "src": "11211:27:12" + }, + "nativeSrc": "11211:27:12", + "nodeType": "YulExpressionStatement", + "src": "11211:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10998:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "11042:3:12", + "nodeType": "YulTypedName", + "src": "11042:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "11047:3:12", + "nodeType": "YulTypedName", + "src": "11047:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11052:6:12", + "nodeType": "YulTypedName", + "src": "11052:6:12", + "type": "" + } + ], + "src": "10998:246:12" + }, + { + "body": { + "nativeSrc": "11332:275:12", + "nodeType": "YulBlock", + "src": "11332:275:12", + "statements": [ + { + "nativeSrc": "11342:53:12", + "nodeType": "YulVariableDeclaration", + "src": "11342:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "11389:5:12", + "nodeType": "YulIdentifier", + "src": "11389:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "11356:32:12", + "nodeType": "YulIdentifier", + "src": "11356:32:12" + }, + "nativeSrc": "11356:39:12", + "nodeType": "YulFunctionCall", + "src": "11356:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "11346:6:12", + "nodeType": "YulTypedName", + "src": "11346:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "11404:68:12", + "nodeType": "YulAssignment", + "src": "11404:68:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11460:3:12", + "nodeType": "YulIdentifier", + "src": "11460:3:12" + }, + { + "name": "length", + "nativeSrc": "11465:6:12", + "nodeType": "YulIdentifier", + "src": "11465:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "11411:48:12", + "nodeType": "YulIdentifier", + "src": "11411:48:12" + }, + "nativeSrc": "11411:61:12", + "nodeType": "YulFunctionCall", + "src": "11411:61:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11404:3:12", + "nodeType": "YulIdentifier", + "src": "11404:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11520:5:12", + "nodeType": "YulIdentifier", + "src": "11520:5:12" + }, + { + "kind": "number", + "nativeSrc": "11527:4:12", + "nodeType": "YulLiteral", + "src": "11527:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11516:3:12", + "nodeType": "YulIdentifier", + "src": "11516:3:12" + }, + "nativeSrc": "11516:16:12", + "nodeType": "YulFunctionCall", + "src": "11516:16:12" + }, + { + "name": "pos", + "nativeSrc": "11534:3:12", + "nodeType": "YulIdentifier", + "src": "11534:3:12" + }, + { + "name": "length", + "nativeSrc": "11539:6:12", + "nodeType": "YulIdentifier", + "src": "11539:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "11481:34:12", + "nodeType": "YulIdentifier", + "src": "11481:34:12" + }, + "nativeSrc": "11481:65:12", + "nodeType": "YulFunctionCall", + "src": "11481:65:12" + }, + "nativeSrc": "11481:65:12", + "nodeType": "YulExpressionStatement", + "src": "11481:65:12" + }, + { + "nativeSrc": "11555:46:12", + "nodeType": "YulAssignment", + "src": "11555:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11566:3:12", + "nodeType": "YulIdentifier", + "src": "11566:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "11593:6:12", + "nodeType": "YulIdentifier", + "src": "11593:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11571:21:12", + "nodeType": "YulIdentifier", + "src": "11571:21:12" + }, + "nativeSrc": "11571:29:12", + "nodeType": "YulFunctionCall", + "src": "11571:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11562:3:12", + "nodeType": "YulIdentifier", + "src": "11562:3:12" + }, + "nativeSrc": "11562:39:12", + "nodeType": "YulFunctionCall", + "src": "11562:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11555:3:12", + "nodeType": "YulIdentifier", + "src": "11555:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "11250:357:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11313:5:12", + "nodeType": "YulTypedName", + "src": "11313:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11320:3:12", + "nodeType": "YulTypedName", + "src": "11320:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11328:3:12", + "nodeType": "YulTypedName", + "src": "11328:3:12", + "type": "" + } + ], + "src": "11250:357:12" + }, + { + "body": { + "nativeSrc": "11668:53:12", + "nodeType": "YulBlock", + "src": "11668:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11685:3:12", + "nodeType": "YulIdentifier", + "src": "11685:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11708:5:12", + "nodeType": "YulIdentifier", + "src": "11708:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "11690:17:12", + "nodeType": "YulIdentifier", + "src": "11690:17:12" + }, + "nativeSrc": "11690:24:12", + "nodeType": "YulFunctionCall", + "src": "11690:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11678:6:12", + "nodeType": "YulIdentifier", + "src": "11678:6:12" + }, + "nativeSrc": "11678:37:12", + "nodeType": "YulFunctionCall", + "src": "11678:37:12" + }, + "nativeSrc": "11678:37:12", + "nodeType": "YulExpressionStatement", + "src": "11678:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "11613:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11656:5:12", + "nodeType": "YulTypedName", + "src": "11656:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11663:3:12", + "nodeType": "YulTypedName", + "src": "11663:3:12", + "type": "" + } + ], + "src": "11613:108:12" + }, + { + "body": { + "nativeSrc": "11755:152:12", + "nodeType": "YulBlock", + "src": "11755:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11772:1:12", + "nodeType": "YulLiteral", + "src": "11772:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11775:77:12", + "nodeType": "YulLiteral", + "src": "11775:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11765:6:12", + "nodeType": "YulIdentifier", + "src": "11765:6:12" + }, + "nativeSrc": "11765:88:12", + "nodeType": "YulFunctionCall", + "src": "11765:88:12" + }, + "nativeSrc": "11765:88:12", + "nodeType": "YulExpressionStatement", + "src": "11765:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11869:1:12", + "nodeType": "YulLiteral", + "src": "11869:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "11872:4:12", + "nodeType": "YulLiteral", + "src": "11872:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11862:6:12", + "nodeType": "YulIdentifier", + "src": "11862:6:12" + }, + "nativeSrc": "11862:15:12", + "nodeType": "YulFunctionCall", + "src": "11862:15:12" + }, + "nativeSrc": "11862:15:12", + "nodeType": "YulExpressionStatement", + "src": "11862:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11893:1:12", + "nodeType": "YulLiteral", + "src": "11893:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11896:4:12", + "nodeType": "YulLiteral", + "src": "11896:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11886:6:12", + "nodeType": "YulIdentifier", + "src": "11886:6:12" + }, + "nativeSrc": "11886:15:12", + "nodeType": "YulFunctionCall", + "src": "11886:15:12" + }, + "nativeSrc": "11886:15:12", + "nodeType": "YulExpressionStatement", + "src": "11886:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "11727:180:12", + "nodeType": "YulFunctionDefinition", + "src": "11727:180:12" + }, + { + "body": { + "nativeSrc": "11972:62:12", + "nodeType": "YulBlock", + "src": "11972:62:12", + "statements": [ + { + "body": { + "nativeSrc": "12006:22:12", + "nodeType": "YulBlock", + "src": "12006:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "12008:16:12", + "nodeType": "YulIdentifier", + "src": "12008:16:12" + }, + "nativeSrc": "12008:18:12", + "nodeType": "YulFunctionCall", + "src": "12008:18:12" + }, + "nativeSrc": "12008:18:12", + "nodeType": "YulExpressionStatement", + "src": "12008:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11995:5:12", + "nodeType": "YulIdentifier", + "src": "11995:5:12" + }, + { + "kind": "number", + "nativeSrc": "12002:1:12", + "nodeType": "YulLiteral", + "src": "12002:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11992:2:12", + "nodeType": "YulIdentifier", + "src": "11992:2:12" + }, + "nativeSrc": "11992:12:12", + "nodeType": "YulFunctionCall", + "src": "11992:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11985:6:12", + "nodeType": "YulIdentifier", + "src": "11985:6:12" + }, + "nativeSrc": "11985:20:12", + "nodeType": "YulFunctionCall", + "src": "11985:20:12" + }, + "nativeSrc": "11982:46:12", + "nodeType": "YulIf", + "src": "11982:46:12" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "11913:121:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11965:5:12", + "nodeType": "YulTypedName", + "src": "11965:5:12", + "type": "" + } + ], + "src": "11913:121:12" + }, + { + "body": { + "nativeSrc": "12101:82:12", + "nodeType": "YulBlock", + "src": "12101:82:12", + "statements": [ + { + "nativeSrc": "12111:16:12", + "nodeType": "YulAssignment", + "src": "12111:16:12", + "value": { + "name": "value", + "nativeSrc": "12122:5:12", + "nodeType": "YulIdentifier", + "src": "12122:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "12111:7:12", + "nodeType": "YulIdentifier", + "src": "12111:7:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "12171:5:12", + "nodeType": "YulIdentifier", + "src": "12171:5:12" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "12128:42:12", + "nodeType": "YulIdentifier", + "src": "12128:42:12" + }, + "nativeSrc": "12128:49:12", + "nodeType": "YulFunctionCall", + "src": "12128:49:12" + }, + "nativeSrc": "12128:49:12", + "nodeType": "YulExpressionStatement", + "src": "12128:49:12" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "12040:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12083:5:12", + "nodeType": "YulTypedName", + "src": "12083:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "12093:7:12", + "nodeType": "YulTypedName", + "src": "12093:7:12", + "type": "" + } + ], + "src": "12040:143:12" + }, + { + "body": { + "nativeSrc": "12263:69:12", + "nodeType": "YulBlock", + "src": "12263:69:12", + "statements": [ + { + "nativeSrc": "12273:53:12", + "nodeType": "YulAssignment", + "src": "12273:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "12320:5:12", + "nodeType": "YulIdentifier", + "src": "12320:5:12" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "12286:33:12", + "nodeType": "YulIdentifier", + "src": "12286:33:12" + }, + "nativeSrc": "12286:40:12", + "nodeType": "YulFunctionCall", + "src": "12286:40:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "12273:9:12", + "nodeType": "YulIdentifier", + "src": "12273:9:12" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "12189:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12243:5:12", + "nodeType": "YulTypedName", + "src": "12243:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "12253:9:12", + "nodeType": "YulTypedName", + "src": "12253:9:12", + "type": "" + } + ], + "src": "12189:143:12" + }, + { + "body": { + "nativeSrc": "12407:80:12", + "nodeType": "YulBlock", + "src": "12407:80:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12424:3:12", + "nodeType": "YulIdentifier", + "src": "12424:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12474:5:12", + "nodeType": "YulIdentifier", + "src": "12474:5:12" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "12429:44:12", + "nodeType": "YulIdentifier", + "src": "12429:44:12" + }, + "nativeSrc": "12429:51:12", + "nodeType": "YulFunctionCall", + "src": "12429:51:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12417:6:12", + "nodeType": "YulIdentifier", + "src": "12417:6:12" + }, + "nativeSrc": "12417:64:12", + "nodeType": "YulFunctionCall", + "src": "12417:64:12" + }, + "nativeSrc": "12417:64:12", + "nodeType": "YulExpressionStatement", + "src": "12417:64:12" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "12338:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12395:5:12", + "nodeType": "YulTypedName", + "src": "12395:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "12402:3:12", + "nodeType": "YulTypedName", + "src": "12402:3:12", + "type": "" + } + ], + "src": "12338:149:12" + }, + { + "body": { + "nativeSrc": "12673:1680:12", + "nodeType": "YulBlock", + "src": "12673:1680:12", + "statements": [ + { + "nativeSrc": "12683:28:12", + "nodeType": "YulVariableDeclaration", + "src": "12683:28:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12699:3:12", + "nodeType": "YulIdentifier", + "src": "12699:3:12" + }, + { + "kind": "number", + "nativeSrc": "12704:6:12", + "nodeType": "YulLiteral", + "src": "12704:6:12", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12695:3:12", + "nodeType": "YulIdentifier", + "src": "12695:3:12" + }, + "nativeSrc": "12695:16:12", + "nodeType": "YulFunctionCall", + "src": "12695:16:12" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "12687:4:12", + "nodeType": "YulTypedName", + "src": "12687:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "12721:242:12", + "nodeType": "YulBlock", + "src": "12721:242:12", + "statements": [ + { + "nativeSrc": "12763:43:12", + "nodeType": "YulVariableDeclaration", + "src": "12763:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12793:5:12", + "nodeType": "YulIdentifier", + "src": "12793:5:12" + }, + { + "kind": "number", + "nativeSrc": "12800:4:12", + "nodeType": "YulLiteral", + "src": "12800:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12789:3:12", + "nodeType": "YulIdentifier", + "src": "12789:3:12" + }, + "nativeSrc": "12789:16:12", + "nodeType": "YulFunctionCall", + "src": "12789:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "12783:5:12", + "nodeType": "YulIdentifier", + "src": "12783:5:12" + }, + "nativeSrc": "12783:23:12", + "nodeType": "YulFunctionCall", + "src": "12783:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "12767:12:12", + "nodeType": "YulTypedName", + "src": "12767:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12831:3:12", + "nodeType": "YulIdentifier", + "src": "12831:3:12" + }, + { + "kind": "number", + "nativeSrc": "12836:4:12", + "nodeType": "YulLiteral", + "src": "12836:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12827:3:12", + "nodeType": "YulIdentifier", + "src": "12827:3:12" + }, + "nativeSrc": "12827:14:12", + "nodeType": "YulFunctionCall", + "src": "12827:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "12847:4:12", + "nodeType": "YulIdentifier", + "src": "12847:4:12" + }, + { + "name": "pos", + "nativeSrc": "12853:3:12", + "nodeType": "YulIdentifier", + "src": "12853:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12843:3:12", + "nodeType": "YulIdentifier", + "src": "12843:3:12" + }, + "nativeSrc": "12843:14:12", + "nodeType": "YulFunctionCall", + "src": "12843:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12820:6:12", + "nodeType": "YulIdentifier", + "src": "12820:6:12" + }, + "nativeSrc": "12820:38:12", + "nodeType": "YulFunctionCall", + "src": "12820:38:12" + }, + "nativeSrc": "12820:38:12", + "nodeType": "YulExpressionStatement", + "src": "12820:38:12" + }, + { + "nativeSrc": "12871:81:12", + "nodeType": "YulAssignment", + "src": "12871:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "12933:12:12", + "nodeType": "YulIdentifier", + "src": "12933:12:12" + }, + { + "name": "tail", + "nativeSrc": "12947:4:12", + "nodeType": "YulIdentifier", + "src": "12947:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "12879:53:12", + "nodeType": "YulIdentifier", + "src": "12879:53:12" + }, + "nativeSrc": "12879:73:12", + "nodeType": "YulFunctionCall", + "src": "12879:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12871:4:12", + "nodeType": "YulIdentifier", + "src": "12871:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "12973:174:12", + "nodeType": "YulBlock", + "src": "12973:174:12", + "statements": [ + { + "nativeSrc": "13018:43:12", + "nodeType": "YulVariableDeclaration", + "src": "13018:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13048:5:12", + "nodeType": "YulIdentifier", + "src": "13048:5:12" + }, + { + "kind": "number", + "nativeSrc": "13055:4:12", + "nodeType": "YulLiteral", + "src": "13055:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13044:3:12", + "nodeType": "YulIdentifier", + "src": "13044:3:12" + }, + "nativeSrc": "13044:16:12", + "nodeType": "YulFunctionCall", + "src": "13044:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13038:5:12", + "nodeType": "YulIdentifier", + "src": "13038:5:12" + }, + "nativeSrc": "13038:23:12", + "nodeType": "YulFunctionCall", + "src": "13038:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13022:12:12", + "nodeType": "YulTypedName", + "src": "13022:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13108:12:12", + "nodeType": "YulIdentifier", + "src": "13108:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13126:3:12", + "nodeType": "YulIdentifier", + "src": "13126:3:12" + }, + { + "kind": "number", + "nativeSrc": "13131:4:12", + "nodeType": "YulLiteral", + "src": "13131:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13122:3:12", + "nodeType": "YulIdentifier", + "src": "13122:3:12" + }, + "nativeSrc": "13122:14:12", + "nodeType": "YulFunctionCall", + "src": "13122:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "13074:33:12", + "nodeType": "YulIdentifier", + "src": "13074:33:12" + }, + "nativeSrc": "13074:63:12", + "nodeType": "YulFunctionCall", + "src": "13074:63:12" + }, + "nativeSrc": "13074:63:12", + "nodeType": "YulExpressionStatement", + "src": "13074:63:12" + } + ] + }, + { + "nativeSrc": "13157:178:12", + "nodeType": "YulBlock", + "src": "13157:178:12", + "statements": [ + { + "nativeSrc": "13206:43:12", + "nodeType": "YulVariableDeclaration", + "src": "13206:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13236:5:12", + "nodeType": "YulIdentifier", + "src": "13236:5:12" + }, + { + "kind": "number", + "nativeSrc": "13243:4:12", + "nodeType": "YulLiteral", + "src": "13243:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13232:3:12", + "nodeType": "YulIdentifier", + "src": "13232:3:12" + }, + "nativeSrc": "13232:16:12", + "nodeType": "YulFunctionCall", + "src": "13232:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13226:5:12", + "nodeType": "YulIdentifier", + "src": "13226:5:12" + }, + "nativeSrc": "13226:23:12", + "nodeType": "YulFunctionCall", + "src": "13226:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13210:12:12", + "nodeType": "YulTypedName", + "src": "13210:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13296:12:12", + "nodeType": "YulIdentifier", + "src": "13296:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13314:3:12", + "nodeType": "YulIdentifier", + "src": "13314:3:12" + }, + { + "kind": "number", + "nativeSrc": "13319:4:12", + "nodeType": "YulLiteral", + "src": "13319:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13310:3:12", + "nodeType": "YulIdentifier", + "src": "13310:3:12" + }, + "nativeSrc": "13310:14:12", + "nodeType": "YulFunctionCall", + "src": "13310:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13262:33:12", + "nodeType": "YulIdentifier", + "src": "13262:33:12" + }, + "nativeSrc": "13262:63:12", + "nodeType": "YulFunctionCall", + "src": "13262:63:12" + }, + "nativeSrc": "13262:63:12", + "nodeType": "YulExpressionStatement", + "src": "13262:63:12" + } + ] + }, + { + "nativeSrc": "13345:177:12", + "nodeType": "YulBlock", + "src": "13345:177:12", + "statements": [ + { + "nativeSrc": "13393:43:12", + "nodeType": "YulVariableDeclaration", + "src": "13393:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13423:5:12", + "nodeType": "YulIdentifier", + "src": "13423:5:12" + }, + { + "kind": "number", + "nativeSrc": "13430:4:12", + "nodeType": "YulLiteral", + "src": "13430:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13419:3:12", + "nodeType": "YulIdentifier", + "src": "13419:3:12" + }, + "nativeSrc": "13419:16:12", + "nodeType": "YulFunctionCall", + "src": "13419:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13413:5:12", + "nodeType": "YulIdentifier", + "src": "13413:5:12" + }, + "nativeSrc": "13413:23:12", + "nodeType": "YulFunctionCall", + "src": "13413:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13397:12:12", + "nodeType": "YulTypedName", + "src": "13397:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13483:12:12", + "nodeType": "YulIdentifier", + "src": "13483:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13501:3:12", + "nodeType": "YulIdentifier", + "src": "13501:3:12" + }, + { + "kind": "number", + "nativeSrc": "13506:4:12", + "nodeType": "YulLiteral", + "src": "13506:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13497:3:12", + "nodeType": "YulIdentifier", + "src": "13497:3:12" + }, + "nativeSrc": "13497:14:12", + "nodeType": "YulFunctionCall", + "src": "13497:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13449:33:12", + "nodeType": "YulIdentifier", + "src": "13449:33:12" + }, + "nativeSrc": "13449:63:12", + "nodeType": "YulFunctionCall", + "src": "13449:63:12" + }, + "nativeSrc": "13449:63:12", + "nodeType": "YulExpressionStatement", + "src": "13449:63:12" + } + ] + }, + { + "nativeSrc": "13532:171:12", + "nodeType": "YulBlock", + "src": "13532:171:12", + "statements": [ + { + "nativeSrc": "13574:43:12", + "nodeType": "YulVariableDeclaration", + "src": "13574:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13604:5:12", + "nodeType": "YulIdentifier", + "src": "13604:5:12" + }, + { + "kind": "number", + "nativeSrc": "13611:4:12", + "nodeType": "YulLiteral", + "src": "13611:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13600:3:12", + "nodeType": "YulIdentifier", + "src": "13600:3:12" + }, + "nativeSrc": "13600:16:12", + "nodeType": "YulFunctionCall", + "src": "13600:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13594:5:12", + "nodeType": "YulIdentifier", + "src": "13594:5:12" + }, + "nativeSrc": "13594:23:12", + "nodeType": "YulFunctionCall", + "src": "13594:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13578:12:12", + "nodeType": "YulTypedName", + "src": "13578:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13664:12:12", + "nodeType": "YulIdentifier", + "src": "13664:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13682:3:12", + "nodeType": "YulIdentifier", + "src": "13682:3:12" + }, + { + "kind": "number", + "nativeSrc": "13687:4:12", + "nodeType": "YulLiteral", + "src": "13687:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13678:3:12", + "nodeType": "YulIdentifier", + "src": "13678:3:12" + }, + "nativeSrc": "13678:14:12", + "nodeType": "YulFunctionCall", + "src": "13678:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13630:33:12", + "nodeType": "YulIdentifier", + "src": "13630:33:12" + }, + "nativeSrc": "13630:63:12", + "nodeType": "YulFunctionCall", + "src": "13630:63:12" + }, + "nativeSrc": "13630:63:12", + "nodeType": "YulExpressionStatement", + "src": "13630:63:12" + } + ] + }, + { + "nativeSrc": "13713:174:12", + "nodeType": "YulBlock", + "src": "13713:174:12", + "statements": [ + { + "nativeSrc": "13758:43:12", + "nodeType": "YulVariableDeclaration", + "src": "13758:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13788:5:12", + "nodeType": "YulIdentifier", + "src": "13788:5:12" + }, + { + "kind": "number", + "nativeSrc": "13795:4:12", + "nodeType": "YulLiteral", + "src": "13795:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13784:3:12", + "nodeType": "YulIdentifier", + "src": "13784:3:12" + }, + "nativeSrc": "13784:16:12", + "nodeType": "YulFunctionCall", + "src": "13784:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13778:5:12", + "nodeType": "YulIdentifier", + "src": "13778:5:12" + }, + "nativeSrc": "13778:23:12", + "nodeType": "YulFunctionCall", + "src": "13778:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13762:12:12", + "nodeType": "YulTypedName", + "src": "13762:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13848:12:12", + "nodeType": "YulIdentifier", + "src": "13848:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13866:3:12", + "nodeType": "YulIdentifier", + "src": "13866:3:12" + }, + { + "kind": "number", + "nativeSrc": "13871:4:12", + "nodeType": "YulLiteral", + "src": "13871:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13862:3:12", + "nodeType": "YulIdentifier", + "src": "13862:3:12" + }, + "nativeSrc": "13862:14:12", + "nodeType": "YulFunctionCall", + "src": "13862:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13814:33:12", + "nodeType": "YulIdentifier", + "src": "13814:33:12" + }, + "nativeSrc": "13814:63:12", + "nodeType": "YulFunctionCall", + "src": "13814:63:12" + }, + "nativeSrc": "13814:63:12", + "nodeType": "YulExpressionStatement", + "src": "13814:63:12" + } + ] + }, + { + "nativeSrc": "13897:185:12", + "nodeType": "YulBlock", + "src": "13897:185:12", + "statements": [ + { + "nativeSrc": "13939:43:12", + "nodeType": "YulVariableDeclaration", + "src": "13939:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13969:5:12", + "nodeType": "YulIdentifier", + "src": "13969:5:12" + }, + { + "kind": "number", + "nativeSrc": "13976:4:12", + "nodeType": "YulLiteral", + "src": "13976:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13965:3:12", + "nodeType": "YulIdentifier", + "src": "13965:3:12" + }, + "nativeSrc": "13965:16:12", + "nodeType": "YulFunctionCall", + "src": "13965:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13959:5:12", + "nodeType": "YulIdentifier", + "src": "13959:5:12" + }, + "nativeSrc": "13959:23:12", + "nodeType": "YulFunctionCall", + "src": "13959:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13943:12:12", + "nodeType": "YulTypedName", + "src": "13943:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "14043:12:12", + "nodeType": "YulIdentifier", + "src": "14043:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14061:3:12", + "nodeType": "YulIdentifier", + "src": "14061:3:12" + }, + { + "kind": "number", + "nativeSrc": "14066:4:12", + "nodeType": "YulLiteral", + "src": "14066:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14057:3:12", + "nodeType": "YulIdentifier", + "src": "14057:3:12" + }, + "nativeSrc": "14057:14:12", + "nodeType": "YulFunctionCall", + "src": "14057:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "13995:47:12", + "nodeType": "YulIdentifier", + "src": "13995:47:12" + }, + "nativeSrc": "13995:77:12", + "nodeType": "YulFunctionCall", + "src": "13995:77:12" + }, + "nativeSrc": "13995:77:12", + "nodeType": "YulExpressionStatement", + "src": "13995:77:12" + } + ] + }, + { + "nativeSrc": "14092:234:12", + "nodeType": "YulBlock", + "src": "14092:234:12", + "statements": [ + { + "nativeSrc": "14126:43:12", + "nodeType": "YulVariableDeclaration", + "src": "14126:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14156:5:12", + "nodeType": "YulIdentifier", + "src": "14156:5:12" + }, + { + "kind": "number", + "nativeSrc": "14163:4:12", + "nodeType": "YulLiteral", + "src": "14163:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14152:3:12", + "nodeType": "YulIdentifier", + "src": "14152:3:12" + }, + "nativeSrc": "14152:16:12", + "nodeType": "YulFunctionCall", + "src": "14152:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14146:5:12", + "nodeType": "YulIdentifier", + "src": "14146:5:12" + }, + "nativeSrc": "14146:23:12", + "nodeType": "YulFunctionCall", + "src": "14146:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "14130:12:12", + "nodeType": "YulTypedName", + "src": "14130:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14194:3:12", + "nodeType": "YulIdentifier", + "src": "14194:3:12" + }, + { + "kind": "number", + "nativeSrc": "14199:4:12", + "nodeType": "YulLiteral", + "src": "14199:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14190:3:12", + "nodeType": "YulIdentifier", + "src": "14190:3:12" + }, + "nativeSrc": "14190:14:12", + "nodeType": "YulFunctionCall", + "src": "14190:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14210:4:12", + "nodeType": "YulIdentifier", + "src": "14210:4:12" + }, + { + "name": "pos", + "nativeSrc": "14216:3:12", + "nodeType": "YulIdentifier", + "src": "14216:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14206:3:12", + "nodeType": "YulIdentifier", + "src": "14206:3:12" + }, + "nativeSrc": "14206:14:12", + "nodeType": "YulFunctionCall", + "src": "14206:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14183:6:12", + "nodeType": "YulIdentifier", + "src": "14183:6:12" + }, + "nativeSrc": "14183:38:12", + "nodeType": "YulFunctionCall", + "src": "14183:38:12" + }, + "nativeSrc": "14183:38:12", + "nodeType": "YulExpressionStatement", + "src": "14183:38:12" + }, + { + "nativeSrc": "14234:81:12", + "nodeType": "YulAssignment", + "src": "14234:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "14296:12:12", + "nodeType": "YulIdentifier", + "src": "14296:12:12" + }, + { + "name": "tail", + "nativeSrc": "14310:4:12", + "nodeType": "YulIdentifier", + "src": "14310:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "14242:53:12", + "nodeType": "YulIdentifier", + "src": "14242:53:12" + }, + "nativeSrc": "14242:73:12", + "nodeType": "YulFunctionCall", + "src": "14242:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14234:4:12", + "nodeType": "YulIdentifier", + "src": "14234:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "14336:11:12", + "nodeType": "YulAssignment", + "src": "14336:11:12", + "value": { + "name": "tail", + "nativeSrc": "14343:4:12", + "nodeType": "YulIdentifier", + "src": "14343:4:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "14336:3:12", + "nodeType": "YulIdentifier", + "src": "14336:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "12541:1812:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12652:5:12", + "nodeType": "YulTypedName", + "src": "12652:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "12659:3:12", + "nodeType": "YulTypedName", + "src": "12659:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "12668:3:12", + "nodeType": "YulTypedName", + "src": "12668:3:12", + "type": "" + } + ], + "src": "12541:1812:12" + }, + { + "body": { + "nativeSrc": "14515:233:12", + "nodeType": "YulBlock", + "src": "14515:233:12", + "statements": [ + { + "nativeSrc": "14525:26:12", + "nodeType": "YulAssignment", + "src": "14525:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14537:9:12", + "nodeType": "YulIdentifier", + "src": "14537:9:12" + }, + { + "kind": "number", + "nativeSrc": "14548:2:12", + "nodeType": "YulLiteral", + "src": "14548:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14533:3:12", + "nodeType": "YulIdentifier", + "src": "14533:3:12" + }, + "nativeSrc": "14533:18:12", + "nodeType": "YulFunctionCall", + "src": "14533:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14525:4:12", + "nodeType": "YulIdentifier", + "src": "14525:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14572:9:12", + "nodeType": "YulIdentifier", + "src": "14572:9:12" + }, + { + "kind": "number", + "nativeSrc": "14583:1:12", + "nodeType": "YulLiteral", + "src": "14583:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14568:3:12", + "nodeType": "YulIdentifier", + "src": "14568:3:12" + }, + "nativeSrc": "14568:17:12", + "nodeType": "YulFunctionCall", + "src": "14568:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14591:4:12", + "nodeType": "YulIdentifier", + "src": "14591:4:12" + }, + { + "name": "headStart", + "nativeSrc": "14597:9:12", + "nodeType": "YulIdentifier", + "src": "14597:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14587:3:12", + "nodeType": "YulIdentifier", + "src": "14587:3:12" + }, + "nativeSrc": "14587:20:12", + "nodeType": "YulFunctionCall", + "src": "14587:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14561:6:12", + "nodeType": "YulIdentifier", + "src": "14561:6:12" + }, + "nativeSrc": "14561:47:12", + "nodeType": "YulFunctionCall", + "src": "14561:47:12" + }, + "nativeSrc": "14561:47:12", + "nodeType": "YulExpressionStatement", + "src": "14561:47:12" + }, + { + "nativeSrc": "14617:124:12", + "nodeType": "YulAssignment", + "src": "14617:124:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14727:6:12", + "nodeType": "YulIdentifier", + "src": "14727:6:12" + }, + { + "name": "tail", + "nativeSrc": "14736:4:12", + "nodeType": "YulIdentifier", + "src": "14736:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "14625:101:12", + "nodeType": "YulIdentifier", + "src": "14625:101:12" + }, + "nativeSrc": "14625:116:12", + "nodeType": "YulFunctionCall", + "src": "14625:116:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14617:4:12", + "nodeType": "YulIdentifier", + "src": "14617:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed", + "nativeSrc": "14359:389:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14487:9:12", + "nodeType": "YulTypedName", + "src": "14487:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14499:6:12", + "nodeType": "YulTypedName", + "src": "14499:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14510:4:12", + "nodeType": "YulTypedName", + "src": "14510:4:12", + "type": "" + } + ], + "src": "14359:389:12" + }, + { + "body": { + "nativeSrc": "14799:32:12", + "nodeType": "YulBlock", + "src": "14799:32:12", + "statements": [ + { + "nativeSrc": "14809:16:12", + "nodeType": "YulAssignment", + "src": "14809:16:12", + "value": { + "name": "value", + "nativeSrc": "14820:5:12", + "nodeType": "YulIdentifier", + "src": "14820:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "14809:7:12", + "nodeType": "YulIdentifier", + "src": "14809:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "14754:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14781:5:12", + "nodeType": "YulTypedName", + "src": "14781:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "14791:7:12", + "nodeType": "YulTypedName", + "src": "14791:7:12", + "type": "" + } + ], + "src": "14754:77:12" + }, + { + "body": { + "nativeSrc": "14880:79:12", + "nodeType": "YulBlock", + "src": "14880:79:12", + "statements": [ + { + "body": { + "nativeSrc": "14937:16:12", + "nodeType": "YulBlock", + "src": "14937:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14946:1:12", + "nodeType": "YulLiteral", + "src": "14946:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14949:1:12", + "nodeType": "YulLiteral", + "src": "14949:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14939:6:12", + "nodeType": "YulIdentifier", + "src": "14939:6:12" + }, + "nativeSrc": "14939:12:12", + "nodeType": "YulFunctionCall", + "src": "14939:12:12" + }, + "nativeSrc": "14939:12:12", + "nodeType": "YulExpressionStatement", + "src": "14939:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14903:5:12", + "nodeType": "YulIdentifier", + "src": "14903:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14928:5:12", + "nodeType": "YulIdentifier", + "src": "14928:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "14910:17:12", + "nodeType": "YulIdentifier", + "src": "14910:17:12" + }, + "nativeSrc": "14910:24:12", + "nodeType": "YulFunctionCall", + "src": "14910:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "14900:2:12", + "nodeType": "YulIdentifier", + "src": "14900:2:12" + }, + "nativeSrc": "14900:35:12", + "nodeType": "YulFunctionCall", + "src": "14900:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "14893:6:12", + "nodeType": "YulIdentifier", + "src": "14893:6:12" + }, + "nativeSrc": "14893:43:12", + "nodeType": "YulFunctionCall", + "src": "14893:43:12" + }, + "nativeSrc": "14890:63:12", + "nodeType": "YulIf", + "src": "14890:63:12" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "14837:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14873:5:12", + "nodeType": "YulTypedName", + "src": "14873:5:12", + "type": "" + } + ], + "src": "14837:122:12" + }, + { + "body": { + "nativeSrc": "15017:87:12", + "nodeType": "YulBlock", + "src": "15017:87:12", + "statements": [ + { + "nativeSrc": "15027:29:12", + "nodeType": "YulAssignment", + "src": "15027:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15049:6:12", + "nodeType": "YulIdentifier", + "src": "15049:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15036:12:12", + "nodeType": "YulIdentifier", + "src": "15036:12:12" + }, + "nativeSrc": "15036:20:12", + "nodeType": "YulFunctionCall", + "src": "15036:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "15027:5:12", + "nodeType": "YulIdentifier", + "src": "15027:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15092:5:12", + "nodeType": "YulIdentifier", + "src": "15092:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "15065:26:12", + "nodeType": "YulIdentifier", + "src": "15065:26:12" + }, + "nativeSrc": "15065:33:12", + "nodeType": "YulFunctionCall", + "src": "15065:33:12" + }, + "nativeSrc": "15065:33:12", + "nodeType": "YulExpressionStatement", + "src": "15065:33:12" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "14965:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "14995:6:12", + "nodeType": "YulTypedName", + "src": "14995:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "15003:3:12", + "nodeType": "YulTypedName", + "src": "15003:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "15011:5:12", + "nodeType": "YulTypedName", + "src": "15011:5:12", + "type": "" + } + ], + "src": "14965:139:12" + }, + { + "body": { + "nativeSrc": "15193:391:12", + "nodeType": "YulBlock", + "src": "15193:391:12", + "statements": [ + { + "body": { + "nativeSrc": "15239:83:12", + "nodeType": "YulBlock", + "src": "15239:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "15241:77:12", + "nodeType": "YulIdentifier", + "src": "15241:77:12" + }, + "nativeSrc": "15241:79:12", + "nodeType": "YulFunctionCall", + "src": "15241:79:12" + }, + "nativeSrc": "15241:79:12", + "nodeType": "YulExpressionStatement", + "src": "15241:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "15214:7:12", + "nodeType": "YulIdentifier", + "src": "15214:7:12" + }, + { + "name": "headStart", + "nativeSrc": "15223:9:12", + "nodeType": "YulIdentifier", + "src": "15223:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15210:3:12", + "nodeType": "YulIdentifier", + "src": "15210:3:12" + }, + "nativeSrc": "15210:23:12", + "nodeType": "YulFunctionCall", + "src": "15210:23:12" + }, + { + "kind": "number", + "nativeSrc": "15235:2:12", + "nodeType": "YulLiteral", + "src": "15235:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "15206:3:12", + "nodeType": "YulIdentifier", + "src": "15206:3:12" + }, + "nativeSrc": "15206:32:12", + "nodeType": "YulFunctionCall", + "src": "15206:32:12" + }, + "nativeSrc": "15203:119:12", + "nodeType": "YulIf", + "src": "15203:119:12" + }, + { + "nativeSrc": "15332:117:12", + "nodeType": "YulBlock", + "src": "15332:117:12", + "statements": [ + { + "nativeSrc": "15347:15:12", + "nodeType": "YulVariableDeclaration", + "src": "15347:15:12", + "value": { + "kind": "number", + "nativeSrc": "15361:1:12", + "nodeType": "YulLiteral", + "src": "15361:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15351:6:12", + "nodeType": "YulTypedName", + "src": "15351:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "15376:63:12", + "nodeType": "YulAssignment", + "src": "15376:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15411:9:12", + "nodeType": "YulIdentifier", + "src": "15411:9:12" + }, + { + "name": "offset", + "nativeSrc": "15422:6:12", + "nodeType": "YulIdentifier", + "src": "15422:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15407:3:12", + "nodeType": "YulIdentifier", + "src": "15407:3:12" + }, + "nativeSrc": "15407:22:12", + "nodeType": "YulFunctionCall", + "src": "15407:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "15431:7:12", + "nodeType": "YulIdentifier", + "src": "15431:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "15386:20:12", + "nodeType": "YulIdentifier", + "src": "15386:20:12" + }, + "nativeSrc": "15386:53:12", + "nodeType": "YulFunctionCall", + "src": "15386:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "15376:6:12", + "nodeType": "YulIdentifier", + "src": "15376:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "15459:118:12", + "nodeType": "YulBlock", + "src": "15459:118:12", + "statements": [ + { + "nativeSrc": "15474:16:12", + "nodeType": "YulVariableDeclaration", + "src": "15474:16:12", + "value": { + "kind": "number", + "nativeSrc": "15488:2:12", + "nodeType": "YulLiteral", + "src": "15488:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15478:6:12", + "nodeType": "YulTypedName", + "src": "15478:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "15504:63:12", + "nodeType": "YulAssignment", + "src": "15504:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15539:9:12", + "nodeType": "YulIdentifier", + "src": "15539:9:12" + }, + { + "name": "offset", + "nativeSrc": "15550:6:12", + "nodeType": "YulIdentifier", + "src": "15550:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15535:3:12", + "nodeType": "YulIdentifier", + "src": "15535:3:12" + }, + "nativeSrc": "15535:22:12", + "nodeType": "YulFunctionCall", + "src": "15535:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "15559:7:12", + "nodeType": "YulIdentifier", + "src": "15559:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "15514:20:12", + "nodeType": "YulIdentifier", + "src": "15514:20:12" + }, + "nativeSrc": "15514:53:12", + "nodeType": "YulFunctionCall", + "src": "15514:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "15504:6:12", + "nodeType": "YulIdentifier", + "src": "15504:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32", + "nativeSrc": "15110:474:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15155:9:12", + "nodeType": "YulTypedName", + "src": "15155:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "15166:7:12", + "nodeType": "YulTypedName", + "src": "15166:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "15178:6:12", + "nodeType": "YulTypedName", + "src": "15178:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15186:6:12", + "nodeType": "YulTypedName", + "src": "15186:6:12", + "type": "" + } + ], + "src": "15110:474:12" + }, + { + "body": { + "nativeSrc": "15768:1205:12", + "nodeType": "YulBlock", + "src": "15768:1205:12", + "statements": [ + { + "body": { + "nativeSrc": "15815:83:12", + "nodeType": "YulBlock", + "src": "15815:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "15817:77:12", + "nodeType": "YulIdentifier", + "src": "15817:77:12" + }, + "nativeSrc": "15817:79:12", + "nodeType": "YulFunctionCall", + "src": "15817:79:12" + }, + "nativeSrc": "15817:79:12", + "nodeType": "YulExpressionStatement", + "src": "15817:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "15789:7:12", + "nodeType": "YulIdentifier", + "src": "15789:7:12" + }, + { + "name": "headStart", + "nativeSrc": "15798:9:12", + "nodeType": "YulIdentifier", + "src": "15798:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15785:3:12", + "nodeType": "YulIdentifier", + "src": "15785:3:12" + }, + "nativeSrc": "15785:23:12", + "nodeType": "YulFunctionCall", + "src": "15785:23:12" + }, + { + "kind": "number", + "nativeSrc": "15810:3:12", + "nodeType": "YulLiteral", + "src": "15810:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "15781:3:12", + "nodeType": "YulIdentifier", + "src": "15781:3:12" + }, + "nativeSrc": "15781:33:12", + "nodeType": "YulFunctionCall", + "src": "15781:33:12" + }, + "nativeSrc": "15778:120:12", + "nodeType": "YulIf", + "src": "15778:120:12" + }, + { + "nativeSrc": "15908:287:12", + "nodeType": "YulBlock", + "src": "15908:287:12", + "statements": [ + { + "nativeSrc": "15923:45:12", + "nodeType": "YulVariableDeclaration", + "src": "15923:45:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15954:9:12", + "nodeType": "YulIdentifier", + "src": "15954:9:12" + }, + { + "kind": "number", + "nativeSrc": "15965:1:12", + "nodeType": "YulLiteral", + "src": "15965:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15950:3:12", + "nodeType": "YulIdentifier", + "src": "15950:3:12" + }, + "nativeSrc": "15950:17:12", + "nodeType": "YulFunctionCall", + "src": "15950:17:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15937:12:12", + "nodeType": "YulIdentifier", + "src": "15937:12:12" + }, + "nativeSrc": "15937:31:12", + "nodeType": "YulFunctionCall", + "src": "15937:31:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15927:6:12", + "nodeType": "YulTypedName", + "src": "15927:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16015:83:12", + "nodeType": "YulBlock", + "src": "16015:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "16017:77:12", + "nodeType": "YulIdentifier", + "src": "16017:77:12" + }, + "nativeSrc": "16017:79:12", + "nodeType": "YulFunctionCall", + "src": "16017:79:12" + }, + "nativeSrc": "16017:79:12", + "nodeType": "YulExpressionStatement", + "src": "16017:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15987:6:12", + "nodeType": "YulIdentifier", + "src": "15987:6:12" + }, + { + "kind": "number", + "nativeSrc": "15995:18:12", + "nodeType": "YulLiteral", + "src": "15995:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15984:2:12", + "nodeType": "YulIdentifier", + "src": "15984:2:12" + }, + "nativeSrc": "15984:30:12", + "nodeType": "YulFunctionCall", + "src": "15984:30:12" + }, + "nativeSrc": "15981:117:12", + "nodeType": "YulIf", + "src": "15981:117:12" + }, + { + "nativeSrc": "16112:73:12", + "nodeType": "YulAssignment", + "src": "16112:73:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16157:9:12", + "nodeType": "YulIdentifier", + "src": "16157:9:12" + }, + { + "name": "offset", + "nativeSrc": "16168:6:12", + "nodeType": "YulIdentifier", + "src": "16168:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16153:3:12", + "nodeType": "YulIdentifier", + "src": "16153:3:12" + }, + "nativeSrc": "16153:22:12", + "nodeType": "YulFunctionCall", + "src": "16153:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16177:7:12", + "nodeType": "YulIdentifier", + "src": "16177:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "16122:30:12", + "nodeType": "YulIdentifier", + "src": "16122:30:12" + }, + "nativeSrc": "16122:63:12", + "nodeType": "YulFunctionCall", + "src": "16122:63:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "16112:6:12", + "nodeType": "YulIdentifier", + "src": "16112:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "16205:118:12", + "nodeType": "YulBlock", + "src": "16205:118:12", + "statements": [ + { + "nativeSrc": "16220:16:12", + "nodeType": "YulVariableDeclaration", + "src": "16220:16:12", + "value": { + "kind": "number", + "nativeSrc": "16234:2:12", + "nodeType": "YulLiteral", + "src": "16234:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16224:6:12", + "nodeType": "YulTypedName", + "src": "16224:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16250:63:12", + "nodeType": "YulAssignment", + "src": "16250:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16285:9:12", + "nodeType": "YulIdentifier", + "src": "16285:9:12" + }, + { + "name": "offset", + "nativeSrc": "16296:6:12", + "nodeType": "YulIdentifier", + "src": "16296:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16281:3:12", + "nodeType": "YulIdentifier", + "src": "16281:3:12" + }, + "nativeSrc": "16281:22:12", + "nodeType": "YulFunctionCall", + "src": "16281:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16305:7:12", + "nodeType": "YulIdentifier", + "src": "16305:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "16260:20:12", + "nodeType": "YulIdentifier", + "src": "16260:20:12" + }, + "nativeSrc": "16260:53:12", + "nodeType": "YulFunctionCall", + "src": "16260:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "16250:6:12", + "nodeType": "YulIdentifier", + "src": "16250:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "16333:118:12", + "nodeType": "YulBlock", + "src": "16333:118:12", + "statements": [ + { + "nativeSrc": "16348:16:12", + "nodeType": "YulVariableDeclaration", + "src": "16348:16:12", + "value": { + "kind": "number", + "nativeSrc": "16362:2:12", + "nodeType": "YulLiteral", + "src": "16362:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16352:6:12", + "nodeType": "YulTypedName", + "src": "16352:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16378:63:12", + "nodeType": "YulAssignment", + "src": "16378:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16413:9:12", + "nodeType": "YulIdentifier", + "src": "16413:9:12" + }, + { + "name": "offset", + "nativeSrc": "16424:6:12", + "nodeType": "YulIdentifier", + "src": "16424:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16409:3:12", + "nodeType": "YulIdentifier", + "src": "16409:3:12" + }, + "nativeSrc": "16409:22:12", + "nodeType": "YulFunctionCall", + "src": "16409:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16433:7:12", + "nodeType": "YulIdentifier", + "src": "16433:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16388:20:12", + "nodeType": "YulIdentifier", + "src": "16388:20:12" + }, + "nativeSrc": "16388:53:12", + "nodeType": "YulFunctionCall", + "src": "16388:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "16378:6:12", + "nodeType": "YulIdentifier", + "src": "16378:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "16461:118:12", + "nodeType": "YulBlock", + "src": "16461:118:12", + "statements": [ + { + "nativeSrc": "16476:16:12", + "nodeType": "YulVariableDeclaration", + "src": "16476:16:12", + "value": { + "kind": "number", + "nativeSrc": "16490:2:12", + "nodeType": "YulLiteral", + "src": "16490:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16480:6:12", + "nodeType": "YulTypedName", + "src": "16480:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16506:63:12", + "nodeType": "YulAssignment", + "src": "16506:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16541:9:12", + "nodeType": "YulIdentifier", + "src": "16541:9:12" + }, + { + "name": "offset", + "nativeSrc": "16552:6:12", + "nodeType": "YulIdentifier", + "src": "16552:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16537:3:12", + "nodeType": "YulIdentifier", + "src": "16537:3:12" + }, + "nativeSrc": "16537:22:12", + "nodeType": "YulFunctionCall", + "src": "16537:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16561:7:12", + "nodeType": "YulIdentifier", + "src": "16561:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16516:20:12", + "nodeType": "YulIdentifier", + "src": "16516:20:12" + }, + "nativeSrc": "16516:53:12", + "nodeType": "YulFunctionCall", + "src": "16516:53:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "16506:6:12", + "nodeType": "YulIdentifier", + "src": "16506:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "16589:119:12", + "nodeType": "YulBlock", + "src": "16589:119:12", + "statements": [ + { + "nativeSrc": "16604:17:12", + "nodeType": "YulVariableDeclaration", + "src": "16604:17:12", + "value": { + "kind": "number", + "nativeSrc": "16618:3:12", + "nodeType": "YulLiteral", + "src": "16618:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16608:6:12", + "nodeType": "YulTypedName", + "src": "16608:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16635:63:12", + "nodeType": "YulAssignment", + "src": "16635:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16670:9:12", + "nodeType": "YulIdentifier", + "src": "16670:9:12" + }, + { + "name": "offset", + "nativeSrc": "16681:6:12", + "nodeType": "YulIdentifier", + "src": "16681:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16666:3:12", + "nodeType": "YulIdentifier", + "src": "16666:3:12" + }, + "nativeSrc": "16666:22:12", + "nodeType": "YulFunctionCall", + "src": "16666:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16690:7:12", + "nodeType": "YulIdentifier", + "src": "16690:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16645:20:12", + "nodeType": "YulIdentifier", + "src": "16645:20:12" + }, + "nativeSrc": "16645:53:12", + "nodeType": "YulFunctionCall", + "src": "16645:53:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "16635:6:12", + "nodeType": "YulIdentifier", + "src": "16635:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "16718:119:12", + "nodeType": "YulBlock", + "src": "16718:119:12", + "statements": [ + { + "nativeSrc": "16733:17:12", + "nodeType": "YulVariableDeclaration", + "src": "16733:17:12", + "value": { + "kind": "number", + "nativeSrc": "16747:3:12", + "nodeType": "YulLiteral", + "src": "16747:3:12", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16737:6:12", + "nodeType": "YulTypedName", + "src": "16737:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16764:63:12", + "nodeType": "YulAssignment", + "src": "16764:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16799:9:12", + "nodeType": "YulIdentifier", + "src": "16799:9:12" + }, + { + "name": "offset", + "nativeSrc": "16810:6:12", + "nodeType": "YulIdentifier", + "src": "16810:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16795:3:12", + "nodeType": "YulIdentifier", + "src": "16795:3:12" + }, + "nativeSrc": "16795:22:12", + "nodeType": "YulFunctionCall", + "src": "16795:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16819:7:12", + "nodeType": "YulIdentifier", + "src": "16819:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16774:20:12", + "nodeType": "YulIdentifier", + "src": "16774:20:12" + }, + "nativeSrc": "16774:53:12", + "nodeType": "YulFunctionCall", + "src": "16774:53:12" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "16764:6:12", + "nodeType": "YulIdentifier", + "src": "16764:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "16847:119:12", + "nodeType": "YulBlock", + "src": "16847:119:12", + "statements": [ + { + "nativeSrc": "16862:17:12", + "nodeType": "YulVariableDeclaration", + "src": "16862:17:12", + "value": { + "kind": "number", + "nativeSrc": "16876:3:12", + "nodeType": "YulLiteral", + "src": "16876:3:12", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16866:6:12", + "nodeType": "YulTypedName", + "src": "16866:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16893:63:12", + "nodeType": "YulAssignment", + "src": "16893:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16928:9:12", + "nodeType": "YulIdentifier", + "src": "16928:9:12" + }, + { + "name": "offset", + "nativeSrc": "16939:6:12", + "nodeType": "YulIdentifier", + "src": "16939:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16924:3:12", + "nodeType": "YulIdentifier", + "src": "16924:3:12" + }, + "nativeSrc": "16924:22:12", + "nodeType": "YulFunctionCall", + "src": "16924:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "16948:7:12", + "nodeType": "YulIdentifier", + "src": "16948:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16903:20:12", + "nodeType": "YulIdentifier", + "src": "16903:20:12" + }, + "nativeSrc": "16903:53:12", + "nodeType": "YulFunctionCall", + "src": "16903:53:12" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "16893:6:12", + "nodeType": "YulIdentifier", + "src": "16893:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256", + "nativeSrc": "15590:1383:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15690:9:12", + "nodeType": "YulTypedName", + "src": "15690:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "15701:7:12", + "nodeType": "YulTypedName", + "src": "15701:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "15713:6:12", + "nodeType": "YulTypedName", + "src": "15713:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15721:6:12", + "nodeType": "YulTypedName", + "src": "15721:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "15729:6:12", + "nodeType": "YulTypedName", + "src": "15729:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "15737:6:12", + "nodeType": "YulTypedName", + "src": "15737:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "15745:6:12", + "nodeType": "YulTypedName", + "src": "15745:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "15753:6:12", + "nodeType": "YulTypedName", + "src": "15753:6:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "15761:6:12", + "nodeType": "YulTypedName", + "src": "15761:6:12", + "type": "" + } + ], + "src": "15590:1383:12" + }, + { + "body": { + "nativeSrc": "17068:28:12", + "nodeType": "YulBlock", + "src": "17068:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "17085:1:12", + "nodeType": "YulLiteral", + "src": "17085:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "17088:1:12", + "nodeType": "YulLiteral", + "src": "17088:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "17078:6:12", + "nodeType": "YulIdentifier", + "src": "17078:6:12" + }, + "nativeSrc": "17078:12:12", + "nodeType": "YulFunctionCall", + "src": "17078:12:12" + }, + "nativeSrc": "17078:12:12", + "nodeType": "YulExpressionStatement", + "src": "17078:12:12" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "16979:117:12", + "nodeType": "YulFunctionDefinition", + "src": "16979:117:12" + }, + { + "body": { + "nativeSrc": "17209:478:12", + "nodeType": "YulBlock", + "src": "17209:478:12", + "statements": [ + { + "body": { + "nativeSrc": "17258:83:12", + "nodeType": "YulBlock", + "src": "17258:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "17260:77:12", + "nodeType": "YulIdentifier", + "src": "17260:77:12" + }, + "nativeSrc": "17260:79:12", + "nodeType": "YulFunctionCall", + "src": "17260:79:12" + }, + "nativeSrc": "17260:79:12", + "nodeType": "YulExpressionStatement", + "src": "17260:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17237:6:12", + "nodeType": "YulIdentifier", + "src": "17237:6:12" + }, + { + "kind": "number", + "nativeSrc": "17245:4:12", + "nodeType": "YulLiteral", + "src": "17245:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17233:3:12", + "nodeType": "YulIdentifier", + "src": "17233:3:12" + }, + "nativeSrc": "17233:17:12", + "nodeType": "YulFunctionCall", + "src": "17233:17:12" + }, + { + "name": "end", + "nativeSrc": "17252:3:12", + "nodeType": "YulIdentifier", + "src": "17252:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17229:3:12", + "nodeType": "YulIdentifier", + "src": "17229:3:12" + }, + "nativeSrc": "17229:27:12", + "nodeType": "YulFunctionCall", + "src": "17229:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "17222:6:12", + "nodeType": "YulIdentifier", + "src": "17222:6:12" + }, + "nativeSrc": "17222:35:12", + "nodeType": "YulFunctionCall", + "src": "17222:35:12" + }, + "nativeSrc": "17219:122:12", + "nodeType": "YulIf", + "src": "17219:122:12" + }, + { + "nativeSrc": "17350:30:12", + "nodeType": "YulAssignment", + "src": "17350:30:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17373:6:12", + "nodeType": "YulIdentifier", + "src": "17373:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "17360:12:12", + "nodeType": "YulIdentifier", + "src": "17360:12:12" + }, + "nativeSrc": "17360:20:12", + "nodeType": "YulFunctionCall", + "src": "17360:20:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "17350:6:12", + "nodeType": "YulIdentifier", + "src": "17350:6:12" + } + ] + }, + { + "body": { + "nativeSrc": "17423:83:12", + "nodeType": "YulBlock", + "src": "17423:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "17425:77:12", + "nodeType": "YulIdentifier", + "src": "17425:77:12" + }, + "nativeSrc": "17425:79:12", + "nodeType": "YulFunctionCall", + "src": "17425:79:12" + }, + "nativeSrc": "17425:79:12", + "nodeType": "YulExpressionStatement", + "src": "17425:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "17395:6:12", + "nodeType": "YulIdentifier", + "src": "17395:6:12" + }, + { + "kind": "number", + "nativeSrc": "17403:18:12", + "nodeType": "YulLiteral", + "src": "17403:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17392:2:12", + "nodeType": "YulIdentifier", + "src": "17392:2:12" + }, + "nativeSrc": "17392:30:12", + "nodeType": "YulFunctionCall", + "src": "17392:30:12" + }, + "nativeSrc": "17389:117:12", + "nodeType": "YulIf", + "src": "17389:117:12" + }, + { + "nativeSrc": "17515:29:12", + "nodeType": "YulAssignment", + "src": "17515:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17531:6:12", + "nodeType": "YulIdentifier", + "src": "17531:6:12" + }, + { + "kind": "number", + "nativeSrc": "17539:4:12", + "nodeType": "YulLiteral", + "src": "17539:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17527:3:12", + "nodeType": "YulIdentifier", + "src": "17527:3:12" + }, + "nativeSrc": "17527:17:12", + "nodeType": "YulFunctionCall", + "src": "17527:17:12" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "17515:8:12", + "nodeType": "YulIdentifier", + "src": "17515:8:12" + } + ] + }, + { + "body": { + "nativeSrc": "17598:83:12", + "nodeType": "YulBlock", + "src": "17598:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "17600:77:12", + "nodeType": "YulIdentifier", + "src": "17600:77:12" + }, + "nativeSrc": "17600:79:12", + "nodeType": "YulFunctionCall", + "src": "17600:79:12" + }, + "nativeSrc": "17600:79:12", + "nodeType": "YulExpressionStatement", + "src": "17600:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "17563:8:12", + "nodeType": "YulIdentifier", + "src": "17563:8:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "17577:6:12", + "nodeType": "YulIdentifier", + "src": "17577:6:12" + }, + { + "kind": "number", + "nativeSrc": "17585:4:12", + "nodeType": "YulLiteral", + "src": "17585:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "17573:3:12", + "nodeType": "YulIdentifier", + "src": "17573:3:12" + }, + "nativeSrc": "17573:17:12", + "nodeType": "YulFunctionCall", + "src": "17573:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17559:3:12", + "nodeType": "YulIdentifier", + "src": "17559:3:12" + }, + "nativeSrc": "17559:32:12", + "nodeType": "YulFunctionCall", + "src": "17559:32:12" + }, + { + "name": "end", + "nativeSrc": "17593:3:12", + "nodeType": "YulIdentifier", + "src": "17593:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17556:2:12", + "nodeType": "YulIdentifier", + "src": "17556:2:12" + }, + "nativeSrc": "17556:41:12", + "nodeType": "YulFunctionCall", + "src": "17556:41:12" + }, + "nativeSrc": "17553:128:12", + "nodeType": "YulIf", + "src": "17553:128:12" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "17119:568:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "17176:6:12", + "nodeType": "YulTypedName", + "src": "17176:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "17184:3:12", + "nodeType": "YulTypedName", + "src": "17184:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "17192:8:12", + "nodeType": "YulTypedName", + "src": "17192:8:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "17202:6:12", + "nodeType": "YulTypedName", + "src": "17202:6:12", + "type": "" + } + ], + "src": "17119:568:12" + }, + { + "body": { + "nativeSrc": "17845:843:12", + "nodeType": "YulBlock", + "src": "17845:843:12", + "statements": [ + { + "body": { + "nativeSrc": "17892:83:12", + "nodeType": "YulBlock", + "src": "17892:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "17894:77:12", + "nodeType": "YulIdentifier", + "src": "17894:77:12" + }, + "nativeSrc": "17894:79:12", + "nodeType": "YulFunctionCall", + "src": "17894:79:12" + }, + "nativeSrc": "17894:79:12", + "nodeType": "YulExpressionStatement", + "src": "17894:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "17866:7:12", + "nodeType": "YulIdentifier", + "src": "17866:7:12" + }, + { + "name": "headStart", + "nativeSrc": "17875:9:12", + "nodeType": "YulIdentifier", + "src": "17875:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17862:3:12", + "nodeType": "YulIdentifier", + "src": "17862:3:12" + }, + "nativeSrc": "17862:23:12", + "nodeType": "YulFunctionCall", + "src": "17862:23:12" + }, + { + "kind": "number", + "nativeSrc": "17887:3:12", + "nodeType": "YulLiteral", + "src": "17887:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17858:3:12", + "nodeType": "YulIdentifier", + "src": "17858:3:12" + }, + "nativeSrc": "17858:33:12", + "nodeType": "YulFunctionCall", + "src": "17858:33:12" + }, + "nativeSrc": "17855:120:12", + "nodeType": "YulIf", + "src": "17855:120:12" + }, + { + "nativeSrc": "17985:117:12", + "nodeType": "YulBlock", + "src": "17985:117:12", + "statements": [ + { + "nativeSrc": "18000:15:12", + "nodeType": "YulVariableDeclaration", + "src": "18000:15:12", + "value": { + "kind": "number", + "nativeSrc": "18014:1:12", + "nodeType": "YulLiteral", + "src": "18014:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18004:6:12", + "nodeType": "YulTypedName", + "src": "18004:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "18029:63:12", + "nodeType": "YulAssignment", + "src": "18029:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18064:9:12", + "nodeType": "YulIdentifier", + "src": "18064:9:12" + }, + { + "name": "offset", + "nativeSrc": "18075:6:12", + "nodeType": "YulIdentifier", + "src": "18075:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18060:3:12", + "nodeType": "YulIdentifier", + "src": "18060:3:12" + }, + "nativeSrc": "18060:22:12", + "nodeType": "YulFunctionCall", + "src": "18060:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "18084:7:12", + "nodeType": "YulIdentifier", + "src": "18084:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "18039:20:12", + "nodeType": "YulIdentifier", + "src": "18039:20:12" + }, + "nativeSrc": "18039:53:12", + "nodeType": "YulFunctionCall", + "src": "18039:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "18029:6:12", + "nodeType": "YulIdentifier", + "src": "18029:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "18112:118:12", + "nodeType": "YulBlock", + "src": "18112:118:12", + "statements": [ + { + "nativeSrc": "18127:16:12", + "nodeType": "YulVariableDeclaration", + "src": "18127:16:12", + "value": { + "kind": "number", + "nativeSrc": "18141:2:12", + "nodeType": "YulLiteral", + "src": "18141:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18131:6:12", + "nodeType": "YulTypedName", + "src": "18131:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "18157:63:12", + "nodeType": "YulAssignment", + "src": "18157:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18192:9:12", + "nodeType": "YulIdentifier", + "src": "18192:9:12" + }, + { + "name": "offset", + "nativeSrc": "18203:6:12", + "nodeType": "YulIdentifier", + "src": "18203:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18188:3:12", + "nodeType": "YulIdentifier", + "src": "18188:3:12" + }, + "nativeSrc": "18188:22:12", + "nodeType": "YulFunctionCall", + "src": "18188:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "18212:7:12", + "nodeType": "YulIdentifier", + "src": "18212:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "18167:20:12", + "nodeType": "YulIdentifier", + "src": "18167:20:12" + }, + "nativeSrc": "18167:53:12", + "nodeType": "YulFunctionCall", + "src": "18167:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "18157:6:12", + "nodeType": "YulIdentifier", + "src": "18157:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "18240:118:12", + "nodeType": "YulBlock", + "src": "18240:118:12", + "statements": [ + { + "nativeSrc": "18255:16:12", + "nodeType": "YulVariableDeclaration", + "src": "18255:16:12", + "value": { + "kind": "number", + "nativeSrc": "18269:2:12", + "nodeType": "YulLiteral", + "src": "18269:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18259:6:12", + "nodeType": "YulTypedName", + "src": "18259:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "18285:63:12", + "nodeType": "YulAssignment", + "src": "18285:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18320:9:12", + "nodeType": "YulIdentifier", + "src": "18320:9:12" + }, + { + "name": "offset", + "nativeSrc": "18331:6:12", + "nodeType": "YulIdentifier", + "src": "18331:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18316:3:12", + "nodeType": "YulIdentifier", + "src": "18316:3:12" + }, + "nativeSrc": "18316:22:12", + "nodeType": "YulFunctionCall", + "src": "18316:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "18340:7:12", + "nodeType": "YulIdentifier", + "src": "18340:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "18295:20:12", + "nodeType": "YulIdentifier", + "src": "18295:20:12" + }, + "nativeSrc": "18295:53:12", + "nodeType": "YulFunctionCall", + "src": "18295:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "18285:6:12", + "nodeType": "YulIdentifier", + "src": "18285:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "18368:313:12", + "nodeType": "YulBlock", + "src": "18368:313:12", + "statements": [ + { + "nativeSrc": "18383:46:12", + "nodeType": "YulVariableDeclaration", + "src": "18383:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18414:9:12", + "nodeType": "YulIdentifier", + "src": "18414:9:12" + }, + { + "kind": "number", + "nativeSrc": "18425:2:12", + "nodeType": "YulLiteral", + "src": "18425:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18410:3:12", + "nodeType": "YulIdentifier", + "src": "18410:3:12" + }, + "nativeSrc": "18410:18:12", + "nodeType": "YulFunctionCall", + "src": "18410:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "18397:12:12", + "nodeType": "YulIdentifier", + "src": "18397:12:12" + }, + "nativeSrc": "18397:32:12", + "nodeType": "YulFunctionCall", + "src": "18397:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18387:6:12", + "nodeType": "YulTypedName", + "src": "18387:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "18476:83:12", + "nodeType": "YulBlock", + "src": "18476:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "18478:77:12", + "nodeType": "YulIdentifier", + "src": "18478:77:12" + }, + "nativeSrc": "18478:79:12", + "nodeType": "YulFunctionCall", + "src": "18478:79:12" + }, + "nativeSrc": "18478:79:12", + "nodeType": "YulExpressionStatement", + "src": "18478:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "18448:6:12", + "nodeType": "YulIdentifier", + "src": "18448:6:12" + }, + { + "kind": "number", + "nativeSrc": "18456:18:12", + "nodeType": "YulLiteral", + "src": "18456:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "18445:2:12", + "nodeType": "YulIdentifier", + "src": "18445:2:12" + }, + "nativeSrc": "18445:30:12", + "nodeType": "YulFunctionCall", + "src": "18445:30:12" + }, + "nativeSrc": "18442:117:12", + "nodeType": "YulIf", + "src": "18442:117:12" + }, + { + "nativeSrc": "18573:98:12", + "nodeType": "YulAssignment", + "src": "18573:98:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18643:9:12", + "nodeType": "YulIdentifier", + "src": "18643:9:12" + }, + { + "name": "offset", + "nativeSrc": "18654:6:12", + "nodeType": "YulIdentifier", + "src": "18654:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18639:3:12", + "nodeType": "YulIdentifier", + "src": "18639:3:12" + }, + "nativeSrc": "18639:22:12", + "nodeType": "YulFunctionCall", + "src": "18639:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "18663:7:12", + "nodeType": "YulIdentifier", + "src": "18663:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "18591:47:12", + "nodeType": "YulIdentifier", + "src": "18591:47:12" + }, + "nativeSrc": "18591:80:12", + "nodeType": "YulFunctionCall", + "src": "18591:80:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "18573:6:12", + "nodeType": "YulIdentifier", + "src": "18573:6:12" + }, + { + "name": "value4", + "nativeSrc": "18581:6:12", + "nodeType": "YulIdentifier", + "src": "18581:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "17693:995:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17783:9:12", + "nodeType": "YulTypedName", + "src": "17783:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "17794:7:12", + "nodeType": "YulTypedName", + "src": "17794:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "17806:6:12", + "nodeType": "YulTypedName", + "src": "17806:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "17814:6:12", + "nodeType": "YulTypedName", + "src": "17814:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "17822:6:12", + "nodeType": "YulTypedName", + "src": "17822:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "17830:6:12", + "nodeType": "YulTypedName", + "src": "17830:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "17838:6:12", + "nodeType": "YulTypedName", + "src": "17838:6:12", + "type": "" + } + ], + "src": "17693:995:12" + }, + { + "body": { + "nativeSrc": "18790:73:12", + "nodeType": "YulBlock", + "src": "18790:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18807:3:12", + "nodeType": "YulIdentifier", + "src": "18807:3:12" + }, + { + "name": "length", + "nativeSrc": "18812:6:12", + "nodeType": "YulIdentifier", + "src": "18812:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18800:6:12", + "nodeType": "YulIdentifier", + "src": "18800:6:12" + }, + "nativeSrc": "18800:19:12", + "nodeType": "YulFunctionCall", + "src": "18800:19:12" + }, + "nativeSrc": "18800:19:12", + "nodeType": "YulExpressionStatement", + "src": "18800:19:12" + }, + { + "nativeSrc": "18828:29:12", + "nodeType": "YulAssignment", + "src": "18828:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18847:3:12", + "nodeType": "YulIdentifier", + "src": "18847:3:12" + }, + { + "kind": "number", + "nativeSrc": "18852:4:12", + "nodeType": "YulLiteral", + "src": "18852:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18843:3:12", + "nodeType": "YulIdentifier", + "src": "18843:3:12" + }, + "nativeSrc": "18843:14:12", + "nodeType": "YulFunctionCall", + "src": "18843:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "18828:11:12", + "nodeType": "YulIdentifier", + "src": "18828:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "18694:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18762:3:12", + "nodeType": "YulTypedName", + "src": "18762:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "18767:6:12", + "nodeType": "YulTypedName", + "src": "18767:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "18778:11:12", + "nodeType": "YulTypedName", + "src": "18778:11:12", + "type": "" + } + ], + "src": "18694:169:12" + }, + { + "body": { + "nativeSrc": "18975:120:12", + "nodeType": "YulBlock", + "src": "18975:120:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18997:6:12", + "nodeType": "YulIdentifier", + "src": "18997:6:12" + }, + { + "kind": "number", + "nativeSrc": "19005:1:12", + "nodeType": "YulLiteral", + "src": "19005:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18993:3:12", + "nodeType": "YulIdentifier", + "src": "18993:3:12" + }, + "nativeSrc": "18993:14:12", + "nodeType": "YulFunctionCall", + "src": "18993:14:12" + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f2063616c6c2074686973", + "kind": "string", + "nativeSrc": "19009:34:12", + "nodeType": "YulLiteral", + "src": "19009:34:12", + "type": "", + "value": "Address not allowed to call this" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18986:6:12", + "nodeType": "YulIdentifier", + "src": "18986:6:12" + }, + "nativeSrc": "18986:58:12", + "nodeType": "YulFunctionCall", + "src": "18986:58:12" + }, + "nativeSrc": "18986:58:12", + "nodeType": "YulExpressionStatement", + "src": "18986:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19065:6:12", + "nodeType": "YulIdentifier", + "src": "19065:6:12" + }, + { + "kind": "number", + "nativeSrc": "19073:2:12", + "nodeType": "YulLiteral", + "src": "19073:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19061:3:12", + "nodeType": "YulIdentifier", + "src": "19061:3:12" + }, + "nativeSrc": "19061:15:12", + "nodeType": "YulFunctionCall", + "src": "19061:15:12" + }, + { + "hexValue": "206d6574686f64", + "kind": "string", + "nativeSrc": "19078:9:12", + "nodeType": "YulLiteral", + "src": "19078:9:12", + "type": "", + "value": " method" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19054:6:12", + "nodeType": "YulIdentifier", + "src": "19054:6:12" + }, + "nativeSrc": "19054:34:12", + "nodeType": "YulFunctionCall", + "src": "19054:34:12" + }, + "nativeSrc": "19054:34:12", + "nodeType": "YulExpressionStatement", + "src": "19054:34:12" + } + ] + }, + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "18869:226:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "18967:6:12", + "nodeType": "YulTypedName", + "src": "18967:6:12", + "type": "" + } + ], + "src": "18869:226:12" + }, + { + "body": { + "nativeSrc": "19247:220:12", + "nodeType": "YulBlock", + "src": "19247:220:12", + "statements": [ + { + "nativeSrc": "19257:74:12", + "nodeType": "YulAssignment", + "src": "19257:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19323:3:12", + "nodeType": "YulIdentifier", + "src": "19323:3:12" + }, + { + "kind": "number", + "nativeSrc": "19328:2:12", + "nodeType": "YulLiteral", + "src": "19328:2:12", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19264:58:12", + "nodeType": "YulIdentifier", + "src": "19264:58:12" + }, + "nativeSrc": "19264:67:12", + "nodeType": "YulFunctionCall", + "src": "19264:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19257:3:12", + "nodeType": "YulIdentifier", + "src": "19257:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19429:3:12", + "nodeType": "YulIdentifier", + "src": "19429:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "19340:88:12", + "nodeType": "YulIdentifier", + "src": "19340:88:12" + }, + "nativeSrc": "19340:93:12", + "nodeType": "YulFunctionCall", + "src": "19340:93:12" + }, + "nativeSrc": "19340:93:12", + "nodeType": "YulExpressionStatement", + "src": "19340:93:12" + }, + { + "nativeSrc": "19442:19:12", + "nodeType": "YulAssignment", + "src": "19442:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19453:3:12", + "nodeType": "YulIdentifier", + "src": "19453:3:12" + }, + { + "kind": "number", + "nativeSrc": "19458:2:12", + "nodeType": "YulLiteral", + "src": "19458:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19449:3:12", + "nodeType": "YulIdentifier", + "src": "19449:3:12" + }, + "nativeSrc": "19449:12:12", + "nodeType": "YulFunctionCall", + "src": "19449:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19442:3:12", + "nodeType": "YulIdentifier", + "src": "19442:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19101:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19235:3:12", + "nodeType": "YulTypedName", + "src": "19235:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19243:3:12", + "nodeType": "YulTypedName", + "src": "19243:3:12", + "type": "" + } + ], + "src": "19101:366:12" + }, + { + "body": { + "nativeSrc": "19644:248:12", + "nodeType": "YulBlock", + "src": "19644:248:12", + "statements": [ + { + "nativeSrc": "19654:26:12", + "nodeType": "YulAssignment", + "src": "19654:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19666:9:12", + "nodeType": "YulIdentifier", + "src": "19666:9:12" + }, + { + "kind": "number", + "nativeSrc": "19677:2:12", + "nodeType": "YulLiteral", + "src": "19677:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19662:3:12", + "nodeType": "YulIdentifier", + "src": "19662:3:12" + }, + "nativeSrc": "19662:18:12", + "nodeType": "YulFunctionCall", + "src": "19662:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19654:4:12", + "nodeType": "YulIdentifier", + "src": "19654:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19701:9:12", + "nodeType": "YulIdentifier", + "src": "19701:9:12" + }, + { + "kind": "number", + "nativeSrc": "19712:1:12", + "nodeType": "YulLiteral", + "src": "19712:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19697:3:12", + "nodeType": "YulIdentifier", + "src": "19697:3:12" + }, + "nativeSrc": "19697:17:12", + "nodeType": "YulFunctionCall", + "src": "19697:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19720:4:12", + "nodeType": "YulIdentifier", + "src": "19720:4:12" + }, + { + "name": "headStart", + "nativeSrc": "19726:9:12", + "nodeType": "YulIdentifier", + "src": "19726:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19716:3:12", + "nodeType": "YulIdentifier", + "src": "19716:3:12" + }, + "nativeSrc": "19716:20:12", + "nodeType": "YulFunctionCall", + "src": "19716:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19690:6:12", + "nodeType": "YulIdentifier", + "src": "19690:6:12" + }, + "nativeSrc": "19690:47:12", + "nodeType": "YulFunctionCall", + "src": "19690:47:12" + }, + "nativeSrc": "19690:47:12", + "nodeType": "YulExpressionStatement", + "src": "19690:47:12" + }, + { + "nativeSrc": "19746:139:12", + "nodeType": "YulAssignment", + "src": "19746:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19880:4:12", + "nodeType": "YulIdentifier", + "src": "19880:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19754:124:12", + "nodeType": "YulIdentifier", + "src": "19754:124:12" + }, + "nativeSrc": "19754:131:12", + "nodeType": "YulFunctionCall", + "src": "19754:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19746:4:12", + "nodeType": "YulIdentifier", + "src": "19746:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19473:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19624:9:12", + "nodeType": "YulTypedName", + "src": "19624:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19639:4:12", + "nodeType": "YulTypedName", + "src": "19639:4:12", + "type": "" + } + ], + "src": "19473:419:12" + }, + { + "body": { + "nativeSrc": "19990:285:12", + "nodeType": "YulBlock", + "src": "19990:285:12", + "statements": [ + { + "nativeSrc": "20000:53:12", + "nodeType": "YulVariableDeclaration", + "src": "20000:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "20047:5:12", + "nodeType": "YulIdentifier", + "src": "20047:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "20014:32:12", + "nodeType": "YulIdentifier", + "src": "20014:32:12" + }, + "nativeSrc": "20014:39:12", + "nodeType": "YulFunctionCall", + "src": "20014:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "20004:6:12", + "nodeType": "YulTypedName", + "src": "20004:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "20062:78:12", + "nodeType": "YulAssignment", + "src": "20062:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20128:3:12", + "nodeType": "YulIdentifier", + "src": "20128:3:12" + }, + { + "name": "length", + "nativeSrc": "20133:6:12", + "nodeType": "YulIdentifier", + "src": "20133:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "20069:58:12", + "nodeType": "YulIdentifier", + "src": "20069:58:12" + }, + "nativeSrc": "20069:71:12", + "nodeType": "YulFunctionCall", + "src": "20069:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "20062:3:12", + "nodeType": "YulIdentifier", + "src": "20062:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "20188:5:12", + "nodeType": "YulIdentifier", + "src": "20188:5:12" + }, + { + "kind": "number", + "nativeSrc": "20195:4:12", + "nodeType": "YulLiteral", + "src": "20195:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20184:3:12", + "nodeType": "YulIdentifier", + "src": "20184:3:12" + }, + "nativeSrc": "20184:16:12", + "nodeType": "YulFunctionCall", + "src": "20184:16:12" + }, + { + "name": "pos", + "nativeSrc": "20202:3:12", + "nodeType": "YulIdentifier", + "src": "20202:3:12" + }, + { + "name": "length", + "nativeSrc": "20207:6:12", + "nodeType": "YulIdentifier", + "src": "20207:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "20149:34:12", + "nodeType": "YulIdentifier", + "src": "20149:34:12" + }, + "nativeSrc": "20149:65:12", + "nodeType": "YulFunctionCall", + "src": "20149:65:12" + }, + "nativeSrc": "20149:65:12", + "nodeType": "YulExpressionStatement", + "src": "20149:65:12" + }, + { + "nativeSrc": "20223:46:12", + "nodeType": "YulAssignment", + "src": "20223:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20234:3:12", + "nodeType": "YulIdentifier", + "src": "20234:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "20261:6:12", + "nodeType": "YulIdentifier", + "src": "20261:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "20239:21:12", + "nodeType": "YulIdentifier", + "src": "20239:21:12" + }, + "nativeSrc": "20239:29:12", + "nodeType": "YulFunctionCall", + "src": "20239:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20230:3:12", + "nodeType": "YulIdentifier", + "src": "20230:3:12" + }, + "nativeSrc": "20230:39:12", + "nodeType": "YulFunctionCall", + "src": "20230:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "20223:3:12", + "nodeType": "YulIdentifier", + "src": "20223:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19898:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "19971:5:12", + "nodeType": "YulTypedName", + "src": "19971:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "19978:3:12", + "nodeType": "YulTypedName", + "src": "19978:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19986:3:12", + "nodeType": "YulTypedName", + "src": "19986:3:12", + "type": "" + } + ], + "src": "19898:377:12" + }, + { + "body": { + "nativeSrc": "20511:525:12", + "nodeType": "YulBlock", + "src": "20511:525:12", + "statements": [ + { + "nativeSrc": "20521:27:12", + "nodeType": "YulAssignment", + "src": "20521:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20533:9:12", + "nodeType": "YulIdentifier", + "src": "20533:9:12" + }, + { + "kind": "number", + "nativeSrc": "20544:3:12", + "nodeType": "YulLiteral", + "src": "20544:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20529:3:12", + "nodeType": "YulIdentifier", + "src": "20529:3:12" + }, + "nativeSrc": "20529:19:12", + "nodeType": "YulFunctionCall", + "src": "20529:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20521:4:12", + "nodeType": "YulIdentifier", + "src": "20521:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20569:9:12", + "nodeType": "YulIdentifier", + "src": "20569:9:12" + }, + { + "kind": "number", + "nativeSrc": "20580:1:12", + "nodeType": "YulLiteral", + "src": "20580:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20565:3:12", + "nodeType": "YulIdentifier", + "src": "20565:3:12" + }, + "nativeSrc": "20565:17:12", + "nodeType": "YulFunctionCall", + "src": "20565:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20588:4:12", + "nodeType": "YulIdentifier", + "src": "20588:4:12" + }, + { + "name": "headStart", + "nativeSrc": "20594:9:12", + "nodeType": "YulIdentifier", + "src": "20594:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20584:3:12", + "nodeType": "YulIdentifier", + "src": "20584:3:12" + }, + "nativeSrc": "20584:20:12", + "nodeType": "YulFunctionCall", + "src": "20584:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20558:6:12", + "nodeType": "YulIdentifier", + "src": "20558:6:12" + }, + "nativeSrc": "20558:47:12", + "nodeType": "YulFunctionCall", + "src": "20558:47:12" + }, + "nativeSrc": "20558:47:12", + "nodeType": "YulExpressionStatement", + "src": "20558:47:12" + }, + { + "nativeSrc": "20614:86:12", + "nodeType": "YulAssignment", + "src": "20614:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "20686:6:12", + "nodeType": "YulIdentifier", + "src": "20686:6:12" + }, + { + "name": "tail", + "nativeSrc": "20695:4:12", + "nodeType": "YulIdentifier", + "src": "20695:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20622:63:12", + "nodeType": "YulIdentifier", + "src": "20622:63:12" + }, + "nativeSrc": "20622:78:12", + "nodeType": "YulFunctionCall", + "src": "20622:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20614:4:12", + "nodeType": "YulIdentifier", + "src": "20614:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "20754:6:12", + "nodeType": "YulIdentifier", + "src": "20754:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20767:9:12", + "nodeType": "YulIdentifier", + "src": "20767:9:12" + }, + { + "kind": "number", + "nativeSrc": "20778:2:12", + "nodeType": "YulLiteral", + "src": "20778:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20763:3:12", + "nodeType": "YulIdentifier", + "src": "20763:3:12" + }, + "nativeSrc": "20763:18:12", + "nodeType": "YulFunctionCall", + "src": "20763:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "20710:43:12", + "nodeType": "YulIdentifier", + "src": "20710:43:12" + }, + "nativeSrc": "20710:72:12", + "nodeType": "YulFunctionCall", + "src": "20710:72:12" + }, + "nativeSrc": "20710:72:12", + "nodeType": "YulExpressionStatement", + "src": "20710:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "20836:6:12", + "nodeType": "YulIdentifier", + "src": "20836:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20849:9:12", + "nodeType": "YulIdentifier", + "src": "20849:9:12" + }, + { + "kind": "number", + "nativeSrc": "20860:2:12", + "nodeType": "YulLiteral", + "src": "20860:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20845:3:12", + "nodeType": "YulIdentifier", + "src": "20845:3:12" + }, + "nativeSrc": "20845:18:12", + "nodeType": "YulFunctionCall", + "src": "20845:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "20792:43:12", + "nodeType": "YulIdentifier", + "src": "20792:43:12" + }, + "nativeSrc": "20792:72:12", + "nodeType": "YulFunctionCall", + "src": "20792:72:12" + }, + "nativeSrc": "20792:72:12", + "nodeType": "YulExpressionStatement", + "src": "20792:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "20918:6:12", + "nodeType": "YulIdentifier", + "src": "20918:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20931:9:12", + "nodeType": "YulIdentifier", + "src": "20931:9:12" + }, + { + "kind": "number", + "nativeSrc": "20942:2:12", + "nodeType": "YulLiteral", + "src": "20942:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20927:3:12", + "nodeType": "YulIdentifier", + "src": "20927:3:12" + }, + "nativeSrc": "20927:18:12", + "nodeType": "YulFunctionCall", + "src": "20927:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "20874:43:12", + "nodeType": "YulIdentifier", + "src": "20874:43:12" + }, + "nativeSrc": "20874:72:12", + "nodeType": "YulFunctionCall", + "src": "20874:72:12" + }, + "nativeSrc": "20874:72:12", + "nodeType": "YulExpressionStatement", + "src": "20874:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "21000:6:12", + "nodeType": "YulIdentifier", + "src": "21000:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21013:9:12", + "nodeType": "YulIdentifier", + "src": "21013:9:12" + }, + { + "kind": "number", + "nativeSrc": "21024:3:12", + "nodeType": "YulLiteral", + "src": "21024:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21009:3:12", + "nodeType": "YulIdentifier", + "src": "21009:3:12" + }, + "nativeSrc": "21009:19:12", + "nodeType": "YulFunctionCall", + "src": "21009:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "20956:43:12", + "nodeType": "YulIdentifier", + "src": "20956:43:12" + }, + "nativeSrc": "20956:73:12", + "nodeType": "YulFunctionCall", + "src": "20956:73:12" + }, + "nativeSrc": "20956:73:12", + "nodeType": "YulExpressionStatement", + "src": "20956:73:12" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "20281:755:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20451:9:12", + "nodeType": "YulTypedName", + "src": "20451:9:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "20463:6:12", + "nodeType": "YulTypedName", + "src": "20463:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "20471:6:12", + "nodeType": "YulTypedName", + "src": "20471:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "20479:6:12", + "nodeType": "YulTypedName", + "src": "20479:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "20487:6:12", + "nodeType": "YulTypedName", + "src": "20487:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "20495:6:12", + "nodeType": "YulTypedName", + "src": "20495:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20506:4:12", + "nodeType": "YulTypedName", + "src": "20506:4:12", + "type": "" + } + ], + "src": "20281:755:12" + }, + { + "body": { + "nativeSrc": "21105:80:12", + "nodeType": "YulBlock", + "src": "21105:80:12", + "statements": [ + { + "nativeSrc": "21115:22:12", + "nodeType": "YulAssignment", + "src": "21115:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21130:6:12", + "nodeType": "YulIdentifier", + "src": "21130:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21124:5:12", + "nodeType": "YulIdentifier", + "src": "21124:5:12" + }, + "nativeSrc": "21124:13:12", + "nodeType": "YulFunctionCall", + "src": "21124:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21115:5:12", + "nodeType": "YulIdentifier", + "src": "21115:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21173:5:12", + "nodeType": "YulIdentifier", + "src": "21173:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "21146:26:12", + "nodeType": "YulIdentifier", + "src": "21146:26:12" + }, + "nativeSrc": "21146:33:12", + "nodeType": "YulFunctionCall", + "src": "21146:33:12" + }, + "nativeSrc": "21146:33:12", + "nodeType": "YulExpressionStatement", + "src": "21146:33:12" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "21042:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21083:6:12", + "nodeType": "YulTypedName", + "src": "21083:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21091:3:12", + "nodeType": "YulTypedName", + "src": "21091:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21099:5:12", + "nodeType": "YulTypedName", + "src": "21099:5:12", + "type": "" + } + ], + "src": "21042:143:12" + }, + { + "body": { + "nativeSrc": "21268:274:12", + "nodeType": "YulBlock", + "src": "21268:274:12", + "statements": [ + { + "body": { + "nativeSrc": "21314:83:12", + "nodeType": "YulBlock", + "src": "21314:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "21316:77:12", + "nodeType": "YulIdentifier", + "src": "21316:77:12" + }, + "nativeSrc": "21316:79:12", + "nodeType": "YulFunctionCall", + "src": "21316:79:12" + }, + "nativeSrc": "21316:79:12", + "nodeType": "YulExpressionStatement", + "src": "21316:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21289:7:12", + "nodeType": "YulIdentifier", + "src": "21289:7:12" + }, + { + "name": "headStart", + "nativeSrc": "21298:9:12", + "nodeType": "YulIdentifier", + "src": "21298:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21285:3:12", + "nodeType": "YulIdentifier", + "src": "21285:3:12" + }, + "nativeSrc": "21285:23:12", + "nodeType": "YulFunctionCall", + "src": "21285:23:12" + }, + { + "kind": "number", + "nativeSrc": "21310:2:12", + "nodeType": "YulLiteral", + "src": "21310:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21281:3:12", + "nodeType": "YulIdentifier", + "src": "21281:3:12" + }, + "nativeSrc": "21281:32:12", + "nodeType": "YulFunctionCall", + "src": "21281:32:12" + }, + "nativeSrc": "21278:119:12", + "nodeType": "YulIf", + "src": "21278:119:12" + }, + { + "nativeSrc": "21407:128:12", + "nodeType": "YulBlock", + "src": "21407:128:12", + "statements": [ + { + "nativeSrc": "21422:15:12", + "nodeType": "YulVariableDeclaration", + "src": "21422:15:12", + "value": { + "kind": "number", + "nativeSrc": "21436:1:12", + "nodeType": "YulLiteral", + "src": "21436:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "21426:6:12", + "nodeType": "YulTypedName", + "src": "21426:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "21451:74:12", + "nodeType": "YulAssignment", + "src": "21451:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21497:9:12", + "nodeType": "YulIdentifier", + "src": "21497:9:12" + }, + { + "name": "offset", + "nativeSrc": "21508:6:12", + "nodeType": "YulIdentifier", + "src": "21508:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21493:3:12", + "nodeType": "YulIdentifier", + "src": "21493:3:12" + }, + "nativeSrc": "21493:22:12", + "nodeType": "YulFunctionCall", + "src": "21493:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "21517:7:12", + "nodeType": "YulIdentifier", + "src": "21517:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "21461:31:12", + "nodeType": "YulIdentifier", + "src": "21461:31:12" + }, + "nativeSrc": "21461:64:12", + "nodeType": "YulFunctionCall", + "src": "21461:64:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "21451:6:12", + "nodeType": "YulIdentifier", + "src": "21451:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "21191:351:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21238:9:12", + "nodeType": "YulTypedName", + "src": "21238:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21249:7:12", + "nodeType": "YulTypedName", + "src": "21249:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21261:6:12", + "nodeType": "YulTypedName", + "src": "21261:6:12", + "type": "" + } + ], + "src": "21191:351:12" + }, + { + "body": { + "nativeSrc": "21611:80:12", + "nodeType": "YulBlock", + "src": "21611:80:12", + "statements": [ + { + "nativeSrc": "21621:22:12", + "nodeType": "YulAssignment", + "src": "21621:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21636:6:12", + "nodeType": "YulIdentifier", + "src": "21636:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21630:5:12", + "nodeType": "YulIdentifier", + "src": "21630:5:12" + }, + "nativeSrc": "21630:13:12", + "nodeType": "YulFunctionCall", + "src": "21630:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21621:5:12", + "nodeType": "YulIdentifier", + "src": "21621:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21679:5:12", + "nodeType": "YulIdentifier", + "src": "21679:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "21652:26:12", + "nodeType": "YulIdentifier", + "src": "21652:26:12" + }, + "nativeSrc": "21652:33:12", + "nodeType": "YulFunctionCall", + "src": "21652:33:12" + }, + "nativeSrc": "21652:33:12", + "nodeType": "YulExpressionStatement", + "src": "21652:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "21548:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21589:6:12", + "nodeType": "YulTypedName", + "src": "21589:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21597:3:12", + "nodeType": "YulTypedName", + "src": "21597:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21605:5:12", + "nodeType": "YulTypedName", + "src": "21605:5:12", + "type": "" + } + ], + "src": "21548:143:12" + }, + { + "body": { + "nativeSrc": "21774:274:12", + "nodeType": "YulBlock", + "src": "21774:274:12", + "statements": [ + { + "body": { + "nativeSrc": "21820:83:12", + "nodeType": "YulBlock", + "src": "21820:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "21822:77:12", + "nodeType": "YulIdentifier", + "src": "21822:77:12" + }, + "nativeSrc": "21822:79:12", + "nodeType": "YulFunctionCall", + "src": "21822:79:12" + }, + "nativeSrc": "21822:79:12", + "nodeType": "YulExpressionStatement", + "src": "21822:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21795:7:12", + "nodeType": "YulIdentifier", + "src": "21795:7:12" + }, + { + "name": "headStart", + "nativeSrc": "21804:9:12", + "nodeType": "YulIdentifier", + "src": "21804:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21791:3:12", + "nodeType": "YulIdentifier", + "src": "21791:3:12" + }, + "nativeSrc": "21791:23:12", + "nodeType": "YulFunctionCall", + "src": "21791:23:12" + }, + { + "kind": "number", + "nativeSrc": "21816:2:12", + "nodeType": "YulLiteral", + "src": "21816:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21787:3:12", + "nodeType": "YulIdentifier", + "src": "21787:3:12" + }, + "nativeSrc": "21787:32:12", + "nodeType": "YulFunctionCall", + "src": "21787:32:12" + }, + "nativeSrc": "21784:119:12", + "nodeType": "YulIf", + "src": "21784:119:12" + }, + { + "nativeSrc": "21913:128:12", + "nodeType": "YulBlock", + "src": "21913:128:12", + "statements": [ + { + "nativeSrc": "21928:15:12", + "nodeType": "YulVariableDeclaration", + "src": "21928:15:12", + "value": { + "kind": "number", + "nativeSrc": "21942:1:12", + "nodeType": "YulLiteral", + "src": "21942:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "21932:6:12", + "nodeType": "YulTypedName", + "src": "21932:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "21957:74:12", + "nodeType": "YulAssignment", + "src": "21957:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22003:9:12", + "nodeType": "YulIdentifier", + "src": "22003:9:12" + }, + { + "name": "offset", + "nativeSrc": "22014:6:12", + "nodeType": "YulIdentifier", + "src": "22014:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21999:3:12", + "nodeType": "YulIdentifier", + "src": "21999:3:12" + }, + "nativeSrc": "21999:22:12", + "nodeType": "YulFunctionCall", + "src": "21999:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "22023:7:12", + "nodeType": "YulIdentifier", + "src": "22023:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "21967:31:12", + "nodeType": "YulIdentifier", + "src": "21967:31:12" + }, + "nativeSrc": "21967:64:12", + "nodeType": "YulFunctionCall", + "src": "21967:64:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "21957:6:12", + "nodeType": "YulIdentifier", + "src": "21957:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "21697:351:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21744:9:12", + "nodeType": "YulTypedName", + "src": "21744:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21755:7:12", + "nodeType": "YulTypedName", + "src": "21755:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21767:6:12", + "nodeType": "YulTypedName", + "src": "21767:6:12", + "type": "" + } + ], + "src": "21697:351:12" + }, + { + "body": { + "nativeSrc": "22143:28:12", + "nodeType": "YulBlock", + "src": "22143:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22160:1:12", + "nodeType": "YulLiteral", + "src": "22160:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22163:1:12", + "nodeType": "YulLiteral", + "src": "22163:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22153:6:12", + "nodeType": "YulIdentifier", + "src": "22153:6:12" + }, + "nativeSrc": "22153:12:12", + "nodeType": "YulFunctionCall", + "src": "22153:12:12" + }, + "nativeSrc": "22153:12:12", + "nodeType": "YulExpressionStatement", + "src": "22153:12:12" + } + ] + }, + "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", + "nativeSrc": "22054:117:12", + "nodeType": "YulFunctionDefinition", + "src": "22054:117:12" + }, + { + "body": { + "nativeSrc": "22266:28:12", + "nodeType": "YulBlock", + "src": "22266:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22283:1:12", + "nodeType": "YulLiteral", + "src": "22283:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22286:1:12", + "nodeType": "YulLiteral", + "src": "22286:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22276:6:12", + "nodeType": "YulIdentifier", + "src": "22276:6:12" + }, + "nativeSrc": "22276:12:12", + "nodeType": "YulFunctionCall", + "src": "22276:12:12" + }, + "nativeSrc": "22276:12:12", + "nodeType": "YulExpressionStatement", + "src": "22276:12:12" + } + ] + }, + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nativeSrc": "22177:117:12", + "nodeType": "YulFunctionDefinition", + "src": "22177:117:12" + }, + { + "body": { + "nativeSrc": "22395:339:12", + "nodeType": "YulBlock", + "src": "22395:339:12", + "statements": [ + { + "nativeSrc": "22405:75:12", + "nodeType": "YulAssignment", + "src": "22405:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22472:6:12", + "nodeType": "YulIdentifier", + "src": "22472:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "22430:41:12", + "nodeType": "YulIdentifier", + "src": "22430:41:12" + }, + "nativeSrc": "22430:49:12", + "nodeType": "YulFunctionCall", + "src": "22430:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "22414:15:12", + "nodeType": "YulIdentifier", + "src": "22414:15:12" + }, + "nativeSrc": "22414:66:12", + "nodeType": "YulFunctionCall", + "src": "22414:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "22405:5:12", + "nodeType": "YulIdentifier", + "src": "22405:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22496:5:12", + "nodeType": "YulIdentifier", + "src": "22496:5:12" + }, + { + "name": "length", + "nativeSrc": "22503:6:12", + "nodeType": "YulIdentifier", + "src": "22503:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22489:6:12", + "nodeType": "YulIdentifier", + "src": "22489:6:12" + }, + "nativeSrc": "22489:21:12", + "nodeType": "YulFunctionCall", + "src": "22489:21:12" + }, + "nativeSrc": "22489:21:12", + "nodeType": "YulExpressionStatement", + "src": "22489:21:12" + }, + { + "nativeSrc": "22519:27:12", + "nodeType": "YulVariableDeclaration", + "src": "22519:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22534:5:12", + "nodeType": "YulIdentifier", + "src": "22534:5:12" + }, + { + "kind": "number", + "nativeSrc": "22541:4:12", + "nodeType": "YulLiteral", + "src": "22541:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22530:3:12", + "nodeType": "YulIdentifier", + "src": "22530:3:12" + }, + "nativeSrc": "22530:16:12", + "nodeType": "YulFunctionCall", + "src": "22530:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "22523:3:12", + "nodeType": "YulTypedName", + "src": "22523:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22584:83:12", + "nodeType": "YulBlock", + "src": "22584:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "22586:77:12", + "nodeType": "YulIdentifier", + "src": "22586:77:12" + }, + "nativeSrc": "22586:79:12", + "nodeType": "YulFunctionCall", + "src": "22586:79:12" + }, + "nativeSrc": "22586:79:12", + "nodeType": "YulExpressionStatement", + "src": "22586:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "22565:3:12", + "nodeType": "YulIdentifier", + "src": "22565:3:12" + }, + { + "name": "length", + "nativeSrc": "22570:6:12", + "nodeType": "YulIdentifier", + "src": "22570:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22561:3:12", + "nodeType": "YulIdentifier", + "src": "22561:3:12" + }, + "nativeSrc": "22561:16:12", + "nodeType": "YulFunctionCall", + "src": "22561:16:12" + }, + { + "name": "end", + "nativeSrc": "22579:3:12", + "nodeType": "YulIdentifier", + "src": "22579:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "22558:2:12", + "nodeType": "YulIdentifier", + "src": "22558:2:12" + }, + "nativeSrc": "22558:25:12", + "nodeType": "YulFunctionCall", + "src": "22558:25:12" + }, + "nativeSrc": "22555:112:12", + "nodeType": "YulIf", + "src": "22555:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "22711:3:12", + "nodeType": "YulIdentifier", + "src": "22711:3:12" + }, + { + "name": "dst", + "nativeSrc": "22716:3:12", + "nodeType": "YulIdentifier", + "src": "22716:3:12" + }, + { + "name": "length", + "nativeSrc": "22721:6:12", + "nodeType": "YulIdentifier", + "src": "22721:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "22676:34:12", + "nodeType": "YulIdentifier", + "src": "22676:34:12" + }, + "nativeSrc": "22676:52:12", + "nodeType": "YulFunctionCall", + "src": "22676:52:12" + }, + "nativeSrc": "22676:52:12", + "nodeType": "YulExpressionStatement", + "src": "22676:52:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "22300:434:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "22368:3:12", + "nodeType": "YulTypedName", + "src": "22368:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "22373:6:12", + "nodeType": "YulTypedName", + "src": "22373:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22381:3:12", + "nodeType": "YulTypedName", + "src": "22381:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "22389:5:12", + "nodeType": "YulTypedName", + "src": "22389:5:12", + "type": "" + } + ], + "src": "22300:434:12" + }, + { + "body": { + "nativeSrc": "22827:282:12", + "nodeType": "YulBlock", + "src": "22827:282:12", + "statements": [ + { + "body": { + "nativeSrc": "22876:83:12", + "nodeType": "YulBlock", + "src": "22876:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "22878:77:12", + "nodeType": "YulIdentifier", + "src": "22878:77:12" + }, + "nativeSrc": "22878:79:12", + "nodeType": "YulFunctionCall", + "src": "22878:79:12" + }, + "nativeSrc": "22878:79:12", + "nodeType": "YulExpressionStatement", + "src": "22878:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22855:6:12", + "nodeType": "YulIdentifier", + "src": "22855:6:12" + }, + { + "kind": "number", + "nativeSrc": "22863:4:12", + "nodeType": "YulLiteral", + "src": "22863:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22851:3:12", + "nodeType": "YulIdentifier", + "src": "22851:3:12" + }, + "nativeSrc": "22851:17:12", + "nodeType": "YulFunctionCall", + "src": "22851:17:12" + }, + { + "name": "end", + "nativeSrc": "22870:3:12", + "nodeType": "YulIdentifier", + "src": "22870:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "22847:3:12", + "nodeType": "YulIdentifier", + "src": "22847:3:12" + }, + "nativeSrc": "22847:27:12", + "nodeType": "YulFunctionCall", + "src": "22847:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "22840:6:12", + "nodeType": "YulIdentifier", + "src": "22840:6:12" + }, + "nativeSrc": "22840:35:12", + "nodeType": "YulFunctionCall", + "src": "22840:35:12" + }, + "nativeSrc": "22837:122:12", + "nodeType": "YulIf", + "src": "22837:122:12" + }, + { + "nativeSrc": "22968:27:12", + "nodeType": "YulVariableDeclaration", + "src": "22968:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22988:6:12", + "nodeType": "YulIdentifier", + "src": "22988:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22982:5:12", + "nodeType": "YulIdentifier", + "src": "22982:5:12" + }, + "nativeSrc": "22982:13:12", + "nodeType": "YulFunctionCall", + "src": "22982:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "22972:6:12", + "nodeType": "YulTypedName", + "src": "22972:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "23004:99:12", + "nodeType": "YulAssignment", + "src": "23004:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23076:6:12", + "nodeType": "YulIdentifier", + "src": "23076:6:12" + }, + { + "kind": "number", + "nativeSrc": "23084:4:12", + "nodeType": "YulLiteral", + "src": "23084:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23072:3:12", + "nodeType": "YulIdentifier", + "src": "23072:3:12" + }, + "nativeSrc": "23072:17:12", + "nodeType": "YulFunctionCall", + "src": "23072:17:12" + }, + { + "name": "length", + "nativeSrc": "23091:6:12", + "nodeType": "YulIdentifier", + "src": "23091:6:12" + }, + { + "name": "end", + "nativeSrc": "23099:3:12", + "nodeType": "YulIdentifier", + "src": "23099:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "23013:58:12", + "nodeType": "YulIdentifier", + "src": "23013:58:12" + }, + "nativeSrc": "23013:90:12", + "nodeType": "YulFunctionCall", + "src": "23013:90:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "23004:5:12", + "nodeType": "YulIdentifier", + "src": "23004:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "22754:355:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22805:6:12", + "nodeType": "YulTypedName", + "src": "22805:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22813:3:12", + "nodeType": "YulTypedName", + "src": "22813:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "22821:5:12", + "nodeType": "YulTypedName", + "src": "22821:5:12", + "type": "" + } + ], + "src": "22754:355:12" + }, + { + "body": { + "nativeSrc": "23174:56:12", + "nodeType": "YulBlock", + "src": "23174:56:12", + "statements": [ + { + "body": { + "nativeSrc": "23208:16:12", + "nodeType": "YulBlock", + "src": "23208:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23217:1:12", + "nodeType": "YulLiteral", + "src": "23217:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23220:1:12", + "nodeType": "YulLiteral", + "src": "23220:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23210:6:12", + "nodeType": "YulIdentifier", + "src": "23210:6:12" + }, + "nativeSrc": "23210:12:12", + "nodeType": "YulFunctionCall", + "src": "23210:12:12" + }, + "nativeSrc": "23210:12:12", + "nodeType": "YulExpressionStatement", + "src": "23210:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23197:5:12", + "nodeType": "YulIdentifier", + "src": "23197:5:12" + }, + { + "kind": "number", + "nativeSrc": "23204:1:12", + "nodeType": "YulLiteral", + "src": "23204:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "23194:2:12", + "nodeType": "YulIdentifier", + "src": "23194:2:12" + }, + "nativeSrc": "23194:12:12", + "nodeType": "YulFunctionCall", + "src": "23194:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "23187:6:12", + "nodeType": "YulIdentifier", + "src": "23187:6:12" + }, + "nativeSrc": "23187:20:12", + "nodeType": "YulFunctionCall", + "src": "23187:20:12" + }, + "nativeSrc": "23184:40:12", + "nodeType": "YulIf", + "src": "23184:40:12" + } + ] + }, + "name": "validator_revert_t_enum$_AirdropType_$3239", + "nativeSrc": "23115:115:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "23167:5:12", + "nodeType": "YulTypedName", + "src": "23167:5:12", + "type": "" + } + ], + "src": "23115:115:12" + }, + { + "body": { + "nativeSrc": "23315:96:12", + "nodeType": "YulBlock", + "src": "23315:96:12", + "statements": [ + { + "nativeSrc": "23325:22:12", + "nodeType": "YulAssignment", + "src": "23325:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23340:6:12", + "nodeType": "YulIdentifier", + "src": "23340:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23334:5:12", + "nodeType": "YulIdentifier", + "src": "23334:5:12" + }, + "nativeSrc": "23334:13:12", + "nodeType": "YulFunctionCall", + "src": "23334:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "23325:5:12", + "nodeType": "YulIdentifier", + "src": "23325:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "23399:5:12", + "nodeType": "YulIdentifier", + "src": "23399:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_AirdropType_$3239", + "nativeSrc": "23356:42:12", + "nodeType": "YulIdentifier", + "src": "23356:42:12" + }, + "nativeSrc": "23356:49:12", + "nodeType": "YulFunctionCall", + "src": "23356:49:12" + }, + "nativeSrc": "23356:49:12", + "nodeType": "YulExpressionStatement", + "src": "23356:49:12" + } + ] + }, + "name": "abi_decode_t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "23236:175:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "23293:6:12", + "nodeType": "YulTypedName", + "src": "23293:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23301:3:12", + "nodeType": "YulTypedName", + "src": "23301:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "23309:5:12", + "nodeType": "YulTypedName", + "src": "23309:5:12", + "type": "" + } + ], + "src": "23236:175:12" + }, + { + "body": { + "nativeSrc": "23538:1965:12", + "nodeType": "YulBlock", + "src": "23538:1965:12", + "statements": [ + { + "body": { + "nativeSrc": "23584:83:12", + "nodeType": "YulBlock", + "src": "23584:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", + "nativeSrc": "23586:77:12", + "nodeType": "YulIdentifier", + "src": "23586:77:12" + }, + "nativeSrc": "23586:79:12", + "nodeType": "YulFunctionCall", + "src": "23586:79:12" + }, + "nativeSrc": "23586:79:12", + "nodeType": "YulExpressionStatement", + "src": "23586:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nativeSrc": "23559:3:12", + "nodeType": "YulIdentifier", + "src": "23559:3:12" + }, + { + "name": "headStart", + "nativeSrc": "23564:9:12", + "nodeType": "YulIdentifier", + "src": "23564:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23555:3:12", + "nodeType": "YulIdentifier", + "src": "23555:3:12" + }, + "nativeSrc": "23555:19:12", + "nodeType": "YulFunctionCall", + "src": "23555:19:12" + }, + { + "kind": "number", + "nativeSrc": "23576:6:12", + "nodeType": "YulLiteral", + "src": "23576:6:12", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23551:3:12", + "nodeType": "YulIdentifier", + "src": "23551:3:12" + }, + "nativeSrc": "23551:32:12", + "nodeType": "YulFunctionCall", + "src": "23551:32:12" + }, + "nativeSrc": "23548:119:12", + "nodeType": "YulIf", + "src": "23548:119:12" + }, + { + "nativeSrc": "23676:32:12", + "nodeType": "YulAssignment", + "src": "23676:32:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23701:6:12", + "nodeType": "YulLiteral", + "src": "23701:6:12", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "23685:15:12", + "nodeType": "YulIdentifier", + "src": "23685:15:12" + }, + "nativeSrc": "23685:23:12", + "nodeType": "YulFunctionCall", + "src": "23685:23:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "23676:5:12", + "nodeType": "YulIdentifier", + "src": "23676:5:12" + } + ] + }, + { + "nativeSrc": "23718:331:12", + "nodeType": "YulBlock", + "src": "23718:331:12", + "statements": [ + { + "nativeSrc": "23760:38:12", + "nodeType": "YulVariableDeclaration", + "src": "23760:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23784:9:12", + "nodeType": "YulIdentifier", + "src": "23784:9:12" + }, + { + "kind": "number", + "nativeSrc": "23795:1:12", + "nodeType": "YulLiteral", + "src": "23795:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23780:3:12", + "nodeType": "YulIdentifier", + "src": "23780:3:12" + }, + "nativeSrc": "23780:17:12", + "nodeType": "YulFunctionCall", + "src": "23780:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23774:5:12", + "nodeType": "YulIdentifier", + "src": "23774:5:12" + }, + "nativeSrc": "23774:24:12", + "nodeType": "YulFunctionCall", + "src": "23774:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23764:6:12", + "nodeType": "YulTypedName", + "src": "23764:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23845:83:12", + "nodeType": "YulBlock", + "src": "23845:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nativeSrc": "23847:77:12", + "nodeType": "YulIdentifier", + "src": "23847:77:12" + }, + "nativeSrc": "23847:79:12", + "nodeType": "YulFunctionCall", + "src": "23847:79:12" + }, + "nativeSrc": "23847:79:12", + "nodeType": "YulExpressionStatement", + "src": "23847:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23817:6:12", + "nodeType": "YulIdentifier", + "src": "23817:6:12" + }, + { + "kind": "number", + "nativeSrc": "23825:18:12", + "nodeType": "YulLiteral", + "src": "23825:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23814:2:12", + "nodeType": "YulIdentifier", + "src": "23814:2:12" + }, + "nativeSrc": "23814:30:12", + "nodeType": "YulFunctionCall", + "src": "23814:30:12" + }, + "nativeSrc": "23811:117:12", + "nodeType": "YulIf", + "src": "23811:117:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23953:5:12", + "nodeType": "YulIdentifier", + "src": "23953:5:12" + }, + { + "kind": "number", + "nativeSrc": "23960:4:12", + "nodeType": "YulLiteral", + "src": "23960:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23949:3:12", + "nodeType": "YulIdentifier", + "src": "23949:3:12" + }, + "nativeSrc": "23949:16:12", + "nodeType": "YulFunctionCall", + "src": "23949:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24013:9:12", + "nodeType": "YulIdentifier", + "src": "24013:9:12" + }, + { + "name": "offset", + "nativeSrc": "24024:6:12", + "nodeType": "YulIdentifier", + "src": "24024:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24009:3:12", + "nodeType": "YulIdentifier", + "src": "24009:3:12" + }, + "nativeSrc": "24009:22:12", + "nodeType": "YulFunctionCall", + "src": "24009:22:12" + }, + { + "name": "end", + "nativeSrc": "24033:3:12", + "nodeType": "YulIdentifier", + "src": "24033:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "23967:41:12", + "nodeType": "YulIdentifier", + "src": "23967:41:12" + }, + "nativeSrc": "23967:70:12", + "nodeType": "YulFunctionCall", + "src": "23967:70:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23942:6:12", + "nodeType": "YulIdentifier", + "src": "23942:6:12" + }, + "nativeSrc": "23942:96:12", + "nodeType": "YulFunctionCall", + "src": "23942:96:12" + }, + "nativeSrc": "23942:96:12", + "nodeType": "YulExpressionStatement", + "src": "23942:96:12" + } + ] + }, + { + "nativeSrc": "24059:172:12", + "nodeType": "YulBlock", + "src": "24059:172:12", + "statements": [ + { + "nativeSrc": "24104:16:12", + "nodeType": "YulVariableDeclaration", + "src": "24104:16:12", + "value": { + "kind": "number", + "nativeSrc": "24118:2:12", + "nodeType": "YulLiteral", + "src": "24118:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24108:6:12", + "nodeType": "YulTypedName", + "src": "24108:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24145:5:12", + "nodeType": "YulIdentifier", + "src": "24145:5:12" + }, + { + "kind": "number", + "nativeSrc": "24152:4:12", + "nodeType": "YulLiteral", + "src": "24152:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24141:3:12", + "nodeType": "YulIdentifier", + "src": "24141:3:12" + }, + "nativeSrc": "24141:16:12", + "nodeType": "YulFunctionCall", + "src": "24141:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24195:9:12", + "nodeType": "YulIdentifier", + "src": "24195:9:12" + }, + { + "name": "offset", + "nativeSrc": "24206:6:12", + "nodeType": "YulIdentifier", + "src": "24206:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24191:3:12", + "nodeType": "YulIdentifier", + "src": "24191:3:12" + }, + "nativeSrc": "24191:22:12", + "nodeType": "YulFunctionCall", + "src": "24191:22:12" + }, + { + "name": "end", + "nativeSrc": "24215:3:12", + "nodeType": "YulIdentifier", + "src": "24215:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "24159:31:12", + "nodeType": "YulIdentifier", + "src": "24159:31:12" + }, + "nativeSrc": "24159:60:12", + "nodeType": "YulFunctionCall", + "src": "24159:60:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24134:6:12", + "nodeType": "YulIdentifier", + "src": "24134:6:12" + }, + "nativeSrc": "24134:86:12", + "nodeType": "YulFunctionCall", + "src": "24134:86:12" + }, + "nativeSrc": "24134:86:12", + "nodeType": "YulExpressionStatement", + "src": "24134:86:12" + } + ] + }, + { + "nativeSrc": "24241:176:12", + "nodeType": "YulBlock", + "src": "24241:176:12", + "statements": [ + { + "nativeSrc": "24290:16:12", + "nodeType": "YulVariableDeclaration", + "src": "24290:16:12", + "value": { + "kind": "number", + "nativeSrc": "24304:2:12", + "nodeType": "YulLiteral", + "src": "24304:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24294:6:12", + "nodeType": "YulTypedName", + "src": "24294:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24331:5:12", + "nodeType": "YulIdentifier", + "src": "24331:5:12" + }, + { + "kind": "number", + "nativeSrc": "24338:4:12", + "nodeType": "YulLiteral", + "src": "24338:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24327:3:12", + "nodeType": "YulIdentifier", + "src": "24327:3:12" + }, + "nativeSrc": "24327:16:12", + "nodeType": "YulFunctionCall", + "src": "24327:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24381:9:12", + "nodeType": "YulIdentifier", + "src": "24381:9:12" + }, + { + "name": "offset", + "nativeSrc": "24392:6:12", + "nodeType": "YulIdentifier", + "src": "24392:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24377:3:12", + "nodeType": "YulIdentifier", + "src": "24377:3:12" + }, + "nativeSrc": "24377:22:12", + "nodeType": "YulFunctionCall", + "src": "24377:22:12" + }, + { + "name": "end", + "nativeSrc": "24401:3:12", + "nodeType": "YulIdentifier", + "src": "24401:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24345:31:12", + "nodeType": "YulIdentifier", + "src": "24345:31:12" + }, + "nativeSrc": "24345:60:12", + "nodeType": "YulFunctionCall", + "src": "24345:60:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24320:6:12", + "nodeType": "YulIdentifier", + "src": "24320:6:12" + }, + "nativeSrc": "24320:86:12", + "nodeType": "YulFunctionCall", + "src": "24320:86:12" + }, + "nativeSrc": "24320:86:12", + "nodeType": "YulExpressionStatement", + "src": "24320:86:12" + } + ] + }, + { + "nativeSrc": "24427:175:12", + "nodeType": "YulBlock", + "src": "24427:175:12", + "statements": [ + { + "nativeSrc": "24475:16:12", + "nodeType": "YulVariableDeclaration", + "src": "24475:16:12", + "value": { + "kind": "number", + "nativeSrc": "24489:2:12", + "nodeType": "YulLiteral", + "src": "24489:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24479:6:12", + "nodeType": "YulTypedName", + "src": "24479:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24516:5:12", + "nodeType": "YulIdentifier", + "src": "24516:5:12" + }, + { + "kind": "number", + "nativeSrc": "24523:4:12", + "nodeType": "YulLiteral", + "src": "24523:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24512:3:12", + "nodeType": "YulIdentifier", + "src": "24512:3:12" + }, + "nativeSrc": "24512:16:12", + "nodeType": "YulFunctionCall", + "src": "24512:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24566:9:12", + "nodeType": "YulIdentifier", + "src": "24566:9:12" + }, + { + "name": "offset", + "nativeSrc": "24577:6:12", + "nodeType": "YulIdentifier", + "src": "24577:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24562:3:12", + "nodeType": "YulIdentifier", + "src": "24562:3:12" + }, + "nativeSrc": "24562:22:12", + "nodeType": "YulFunctionCall", + "src": "24562:22:12" + }, + { + "name": "end", + "nativeSrc": "24586:3:12", + "nodeType": "YulIdentifier", + "src": "24586:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24530:31:12", + "nodeType": "YulIdentifier", + "src": "24530:31:12" + }, + "nativeSrc": "24530:60:12", + "nodeType": "YulFunctionCall", + "src": "24530:60:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24505:6:12", + "nodeType": "YulIdentifier", + "src": "24505:6:12" + }, + "nativeSrc": "24505:86:12", + "nodeType": "YulFunctionCall", + "src": "24505:86:12" + }, + "nativeSrc": "24505:86:12", + "nodeType": "YulExpressionStatement", + "src": "24505:86:12" + } + ] + }, + { + "nativeSrc": "24612:170:12", + "nodeType": "YulBlock", + "src": "24612:170:12", + "statements": [ + { + "nativeSrc": "24654:17:12", + "nodeType": "YulVariableDeclaration", + "src": "24654:17:12", + "value": { + "kind": "number", + "nativeSrc": "24668:3:12", + "nodeType": "YulLiteral", + "src": "24668:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24658:6:12", + "nodeType": "YulTypedName", + "src": "24658:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24696:5:12", + "nodeType": "YulIdentifier", + "src": "24696:5:12" + }, + { + "kind": "number", + "nativeSrc": "24703:4:12", + "nodeType": "YulLiteral", + "src": "24703:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24692:3:12", + "nodeType": "YulIdentifier", + "src": "24692:3:12" + }, + "nativeSrc": "24692:16:12", + "nodeType": "YulFunctionCall", + "src": "24692:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24746:9:12", + "nodeType": "YulIdentifier", + "src": "24746:9:12" + }, + { + "name": "offset", + "nativeSrc": "24757:6:12", + "nodeType": "YulIdentifier", + "src": "24757:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24742:3:12", + "nodeType": "YulIdentifier", + "src": "24742:3:12" + }, + "nativeSrc": "24742:22:12", + "nodeType": "YulFunctionCall", + "src": "24742:22:12" + }, + { + "name": "end", + "nativeSrc": "24766:3:12", + "nodeType": "YulIdentifier", + "src": "24766:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24710:31:12", + "nodeType": "YulIdentifier", + "src": "24710:31:12" + }, + "nativeSrc": "24710:60:12", + "nodeType": "YulFunctionCall", + "src": "24710:60:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24685:6:12", + "nodeType": "YulIdentifier", + "src": "24685:6:12" + }, + "nativeSrc": "24685:86:12", + "nodeType": "YulFunctionCall", + "src": "24685:86:12" + }, + "nativeSrc": "24685:86:12", + "nodeType": "YulExpressionStatement", + "src": "24685:86:12" + } + ] + }, + { + "nativeSrc": "24792:173:12", + "nodeType": "YulBlock", + "src": "24792:173:12", + "statements": [ + { + "nativeSrc": "24837:17:12", + "nodeType": "YulVariableDeclaration", + "src": "24837:17:12", + "value": { + "kind": "number", + "nativeSrc": "24851:3:12", + "nodeType": "YulLiteral", + "src": "24851:3:12", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24841:6:12", + "nodeType": "YulTypedName", + "src": "24841:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24879:5:12", + "nodeType": "YulIdentifier", + "src": "24879:5:12" + }, + { + "kind": "number", + "nativeSrc": "24886:4:12", + "nodeType": "YulLiteral", + "src": "24886:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24875:3:12", + "nodeType": "YulIdentifier", + "src": "24875:3:12" + }, + "nativeSrc": "24875:16:12", + "nodeType": "YulFunctionCall", + "src": "24875:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24929:9:12", + "nodeType": "YulIdentifier", + "src": "24929:9:12" + }, + { + "name": "offset", + "nativeSrc": "24940:6:12", + "nodeType": "YulIdentifier", + "src": "24940:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24925:3:12", + "nodeType": "YulIdentifier", + "src": "24925:3:12" + }, + "nativeSrc": "24925:22:12", + "nodeType": "YulFunctionCall", + "src": "24925:22:12" + }, + { + "name": "end", + "nativeSrc": "24949:3:12", + "nodeType": "YulIdentifier", + "src": "24949:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24893:31:12", + "nodeType": "YulIdentifier", + "src": "24893:31:12" + }, + "nativeSrc": "24893:60:12", + "nodeType": "YulFunctionCall", + "src": "24893:60:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24868:6:12", + "nodeType": "YulIdentifier", + "src": "24868:6:12" + }, + "nativeSrc": "24868:86:12", + "nodeType": "YulFunctionCall", + "src": "24868:86:12" + }, + "nativeSrc": "24868:86:12", + "nodeType": "YulExpressionStatement", + "src": "24868:86:12" + } + ] + }, + { + "nativeSrc": "24975:186:12", + "nodeType": "YulBlock", + "src": "24975:186:12", + "statements": [ + { + "nativeSrc": "25017:17:12", + "nodeType": "YulVariableDeclaration", + "src": "25017:17:12", + "value": { + "kind": "number", + "nativeSrc": "25031:3:12", + "nodeType": "YulLiteral", + "src": "25031:3:12", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "25021:6:12", + "nodeType": "YulTypedName", + "src": "25021:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25059:5:12", + "nodeType": "YulIdentifier", + "src": "25059:5:12" + }, + { + "kind": "number", + "nativeSrc": "25066:4:12", + "nodeType": "YulLiteral", + "src": "25066:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25055:3:12", + "nodeType": "YulIdentifier", + "src": "25055:3:12" + }, + "nativeSrc": "25055:16:12", + "nodeType": "YulFunctionCall", + "src": "25055:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25125:9:12", + "nodeType": "YulIdentifier", + "src": "25125:9:12" + }, + { + "name": "offset", + "nativeSrc": "25136:6:12", + "nodeType": "YulIdentifier", + "src": "25136:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25121:3:12", + "nodeType": "YulIdentifier", + "src": "25121:3:12" + }, + "nativeSrc": "25121:22:12", + "nodeType": "YulFunctionCall", + "src": "25121:22:12" + }, + { + "name": "end", + "nativeSrc": "25145:3:12", + "nodeType": "YulIdentifier", + "src": "25145:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "25073:47:12", + "nodeType": "YulIdentifier", + "src": "25073:47:12" + }, + "nativeSrc": "25073:76:12", + "nodeType": "YulFunctionCall", + "src": "25073:76:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25048:6:12", + "nodeType": "YulIdentifier", + "src": "25048:6:12" + }, + "nativeSrc": "25048:102:12", + "nodeType": "YulFunctionCall", + "src": "25048:102:12" + }, + "nativeSrc": "25048:102:12", + "nodeType": "YulExpressionStatement", + "src": "25048:102:12" + } + ] + }, + { + "nativeSrc": "25171:325:12", + "nodeType": "YulBlock", + "src": "25171:325:12", + "statements": [ + { + "nativeSrc": "25205:40:12", + "nodeType": "YulVariableDeclaration", + "src": "25205:40:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25229:9:12", + "nodeType": "YulIdentifier", + "src": "25229:9:12" + }, + { + "kind": "number", + "nativeSrc": "25240:3:12", + "nodeType": "YulLiteral", + "src": "25240:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25225:3:12", + "nodeType": "YulIdentifier", + "src": "25225:3:12" + }, + "nativeSrc": "25225:19:12", + "nodeType": "YulFunctionCall", + "src": "25225:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25219:5:12", + "nodeType": "YulIdentifier", + "src": "25219:5:12" + }, + "nativeSrc": "25219:26:12", + "nodeType": "YulFunctionCall", + "src": "25219:26:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "25209:6:12", + "nodeType": "YulTypedName", + "src": "25209:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25292:83:12", + "nodeType": "YulBlock", + "src": "25292:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nativeSrc": "25294:77:12", + "nodeType": "YulIdentifier", + "src": "25294:77:12" + }, + "nativeSrc": "25294:79:12", + "nodeType": "YulFunctionCall", + "src": "25294:79:12" + }, + "nativeSrc": "25294:79:12", + "nodeType": "YulExpressionStatement", + "src": "25294:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "25264:6:12", + "nodeType": "YulIdentifier", + "src": "25264:6:12" + }, + { + "kind": "number", + "nativeSrc": "25272:18:12", + "nodeType": "YulLiteral", + "src": "25272:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25261:2:12", + "nodeType": "YulIdentifier", + "src": "25261:2:12" + }, + "nativeSrc": "25261:30:12", + "nodeType": "YulFunctionCall", + "src": "25261:30:12" + }, + "nativeSrc": "25258:117:12", + "nodeType": "YulIf", + "src": "25258:117:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25400:5:12", + "nodeType": "YulIdentifier", + "src": "25400:5:12" + }, + { + "kind": "number", + "nativeSrc": "25407:4:12", + "nodeType": "YulLiteral", + "src": "25407:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25396:3:12", + "nodeType": "YulIdentifier", + "src": "25396:3:12" + }, + "nativeSrc": "25396:16:12", + "nodeType": "YulFunctionCall", + "src": "25396:16:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25460:9:12", + "nodeType": "YulIdentifier", + "src": "25460:9:12" + }, + { + "name": "offset", + "nativeSrc": "25471:6:12", + "nodeType": "YulIdentifier", + "src": "25471:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25456:3:12", + "nodeType": "YulIdentifier", + "src": "25456:3:12" + }, + "nativeSrc": "25456:22:12", + "nodeType": "YulFunctionCall", + "src": "25456:22:12" + }, + { + "name": "end", + "nativeSrc": "25480:3:12", + "nodeType": "YulIdentifier", + "src": "25480:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "25414:41:12", + "nodeType": "YulIdentifier", + "src": "25414:41:12" + }, + "nativeSrc": "25414:70:12", + "nodeType": "YulFunctionCall", + "src": "25414:70:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25389:6:12", + "nodeType": "YulIdentifier", + "src": "25389:6:12" + }, + "nativeSrc": "25389:96:12", + "nodeType": "YulFunctionCall", + "src": "25389:96:12" + }, + "nativeSrc": "25389:96:12", + "nodeType": "YulExpressionStatement", + "src": "25389:96:12" + } + ] + } + ] + }, + "name": "abi_decode_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory", + "nativeSrc": "23443:2060:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "23513:9:12", + "nodeType": "YulTypedName", + "src": "23513:9:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23524:3:12", + "nodeType": "YulTypedName", + "src": "23524:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "23532:5:12", + "nodeType": "YulTypedName", + "src": "23532:5:12", + "type": "" + } + ], + "src": "23443:2060:12" + }, + { + "body": { + "nativeSrc": "25615:456:12", + "nodeType": "YulBlock", + "src": "25615:456:12", + "statements": [ + { + "body": { + "nativeSrc": "25661:83:12", + "nodeType": "YulBlock", + "src": "25661:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "25663:77:12", + "nodeType": "YulIdentifier", + "src": "25663:77:12" + }, + "nativeSrc": "25663:79:12", + "nodeType": "YulFunctionCall", + "src": "25663:79:12" + }, + "nativeSrc": "25663:79:12", + "nodeType": "YulExpressionStatement", + "src": "25663:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "25636:7:12", + "nodeType": "YulIdentifier", + "src": "25636:7:12" + }, + { + "name": "headStart", + "nativeSrc": "25645:9:12", + "nodeType": "YulIdentifier", + "src": "25645:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "25632:3:12", + "nodeType": "YulIdentifier", + "src": "25632:3:12" + }, + "nativeSrc": "25632:23:12", + "nodeType": "YulFunctionCall", + "src": "25632:23:12" + }, + { + "kind": "number", + "nativeSrc": "25657:2:12", + "nodeType": "YulLiteral", + "src": "25657:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "25628:3:12", + "nodeType": "YulIdentifier", + "src": "25628:3:12" + }, + "nativeSrc": "25628:32:12", + "nodeType": "YulFunctionCall", + "src": "25628:32:12" + }, + "nativeSrc": "25625:119:12", + "nodeType": "YulIf", + "src": "25625:119:12" + }, + { + "nativeSrc": "25754:310:12", + "nodeType": "YulBlock", + "src": "25754:310:12", + "statements": [ + { + "nativeSrc": "25769:38:12", + "nodeType": "YulVariableDeclaration", + "src": "25769:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25793:9:12", + "nodeType": "YulIdentifier", + "src": "25793:9:12" + }, + { + "kind": "number", + "nativeSrc": "25804:1:12", + "nodeType": "YulLiteral", + "src": "25804:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25789:3:12", + "nodeType": "YulIdentifier", + "src": "25789:3:12" + }, + "nativeSrc": "25789:17:12", + "nodeType": "YulFunctionCall", + "src": "25789:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25783:5:12", + "nodeType": "YulIdentifier", + "src": "25783:5:12" + }, + "nativeSrc": "25783:24:12", + "nodeType": "YulFunctionCall", + "src": "25783:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "25773:6:12", + "nodeType": "YulTypedName", + "src": "25773:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25854:83:12", + "nodeType": "YulBlock", + "src": "25854:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "25856:77:12", + "nodeType": "YulIdentifier", + "src": "25856:77:12" + }, + "nativeSrc": "25856:79:12", + "nodeType": "YulFunctionCall", + "src": "25856:79:12" + }, + "nativeSrc": "25856:79:12", + "nodeType": "YulExpressionStatement", + "src": "25856:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "25826:6:12", + "nodeType": "YulIdentifier", + "src": "25826:6:12" + }, + { + "kind": "number", + "nativeSrc": "25834:18:12", + "nodeType": "YulLiteral", + "src": "25834:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25823:2:12", + "nodeType": "YulIdentifier", + "src": "25823:2:12" + }, + "nativeSrc": "25823:30:12", + "nodeType": "YulFunctionCall", + "src": "25823:30:12" + }, + "nativeSrc": "25820:117:12", + "nodeType": "YulIf", + "src": "25820:117:12" + }, + { + "nativeSrc": "25951:103:12", + "nodeType": "YulAssignment", + "src": "25951:103:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26026:9:12", + "nodeType": "YulIdentifier", + "src": "26026:9:12" + }, + { + "name": "offset", + "nativeSrc": "26037:6:12", + "nodeType": "YulIdentifier", + "src": "26037:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26022:3:12", + "nodeType": "YulIdentifier", + "src": "26022:3:12" + }, + "nativeSrc": "26022:22:12", + "nodeType": "YulFunctionCall", + "src": "26022:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "26046:7:12", + "nodeType": "YulIdentifier", + "src": "26046:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory", + "nativeSrc": "25961:60:12", + "nodeType": "YulIdentifier", + "src": "25961:60:12" + }, + "nativeSrc": "25961:93:12", + "nodeType": "YulFunctionCall", + "src": "25961:93:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "25951:6:12", + "nodeType": "YulIdentifier", + "src": "25951:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory", + "nativeSrc": "25509:562:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "25585:9:12", + "nodeType": "YulTypedName", + "src": "25585:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "25596:7:12", + "nodeType": "YulTypedName", + "src": "25596:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "25608:6:12", + "nodeType": "YulTypedName", + "src": "25608:6:12", + "type": "" + } + ], + "src": "25509:562:12" + }, + { + "body": { + "nativeSrc": "26142:53:12", + "nodeType": "YulBlock", + "src": "26142:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "26159:3:12", + "nodeType": "YulIdentifier", + "src": "26159:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "26182:5:12", + "nodeType": "YulIdentifier", + "src": "26182:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "26164:17:12", + "nodeType": "YulIdentifier", + "src": "26164:17:12" + }, + "nativeSrc": "26164:24:12", + "nodeType": "YulFunctionCall", + "src": "26164:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "26152:6:12", + "nodeType": "YulIdentifier", + "src": "26152:6:12" + }, + "nativeSrc": "26152:37:12", + "nodeType": "YulFunctionCall", + "src": "26152:37:12" + }, + "nativeSrc": "26152:37:12", + "nodeType": "YulExpressionStatement", + "src": "26152:37:12" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "26077:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26130:5:12", + "nodeType": "YulTypedName", + "src": "26130:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "26137:3:12", + "nodeType": "YulTypedName", + "src": "26137:3:12", + "type": "" + } + ], + "src": "26077:118:12" + }, + { + "body": { + "nativeSrc": "26299:124:12", + "nodeType": "YulBlock", + "src": "26299:124:12", + "statements": [ + { + "nativeSrc": "26309:26:12", + "nodeType": "YulAssignment", + "src": "26309:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26321:9:12", + "nodeType": "YulIdentifier", + "src": "26321:9:12" + }, + { + "kind": "number", + "nativeSrc": "26332:2:12", + "nodeType": "YulLiteral", + "src": "26332:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26317:3:12", + "nodeType": "YulIdentifier", + "src": "26317:3:12" + }, + "nativeSrc": "26317:18:12", + "nodeType": "YulFunctionCall", + "src": "26317:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "26309:4:12", + "nodeType": "YulIdentifier", + "src": "26309:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "26389:6:12", + "nodeType": "YulIdentifier", + "src": "26389:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26402:9:12", + "nodeType": "YulIdentifier", + "src": "26402:9:12" + }, + { + "kind": "number", + "nativeSrc": "26413:1:12", + "nodeType": "YulLiteral", + "src": "26413:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26398:3:12", + "nodeType": "YulIdentifier", + "src": "26398:3:12" + }, + "nativeSrc": "26398:17:12", + "nodeType": "YulFunctionCall", + "src": "26398:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "26345:43:12", + "nodeType": "YulIdentifier", + "src": "26345:43:12" + }, + "nativeSrc": "26345:71:12", + "nodeType": "YulFunctionCall", + "src": "26345:71:12" + }, + "nativeSrc": "26345:71:12", + "nodeType": "YulExpressionStatement", + "src": "26345:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "26201:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "26271:9:12", + "nodeType": "YulTypedName", + "src": "26271:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "26283:6:12", + "nodeType": "YulTypedName", + "src": "26283:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "26294:4:12", + "nodeType": "YulTypedName", + "src": "26294:4:12", + "type": "" + } + ], + "src": "26201:222:12" + }, + { + "body": { + "nativeSrc": "26469:76:12", + "nodeType": "YulBlock", + "src": "26469:76:12", + "statements": [ + { + "body": { + "nativeSrc": "26523:16:12", + "nodeType": "YulBlock", + "src": "26523:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "26532:1:12", + "nodeType": "YulLiteral", + "src": "26532:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "26535:1:12", + "nodeType": "YulLiteral", + "src": "26535:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "26525:6:12", + "nodeType": "YulIdentifier", + "src": "26525:6:12" + }, + "nativeSrc": "26525:12:12", + "nodeType": "YulFunctionCall", + "src": "26525:12:12" + }, + "nativeSrc": "26525:12:12", + "nodeType": "YulExpressionStatement", + "src": "26525:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "26492:5:12", + "nodeType": "YulIdentifier", + "src": "26492:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "26514:5:12", + "nodeType": "YulIdentifier", + "src": "26514:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "26499:14:12", + "nodeType": "YulIdentifier", + "src": "26499:14:12" + }, + "nativeSrc": "26499:21:12", + "nodeType": "YulFunctionCall", + "src": "26499:21:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "26489:2:12", + "nodeType": "YulIdentifier", + "src": "26489:2:12" + }, + "nativeSrc": "26489:32:12", + "nodeType": "YulFunctionCall", + "src": "26489:32:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "26482:6:12", + "nodeType": "YulIdentifier", + "src": "26482:6:12" + }, + "nativeSrc": "26482:40:12", + "nodeType": "YulFunctionCall", + "src": "26482:40:12" + }, + "nativeSrc": "26479:60:12", + "nodeType": "YulIf", + "src": "26479:60:12" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "26429:116:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26462:5:12", + "nodeType": "YulTypedName", + "src": "26462:5:12", + "type": "" + } + ], + "src": "26429:116:12" + }, + { + "body": { + "nativeSrc": "26611:77:12", + "nodeType": "YulBlock", + "src": "26611:77:12", + "statements": [ + { + "nativeSrc": "26621:22:12", + "nodeType": "YulAssignment", + "src": "26621:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "26636:6:12", + "nodeType": "YulIdentifier", + "src": "26636:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26630:5:12", + "nodeType": "YulIdentifier", + "src": "26630:5:12" + }, + "nativeSrc": "26630:13:12", + "nodeType": "YulFunctionCall", + "src": "26630:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "26621:5:12", + "nodeType": "YulIdentifier", + "src": "26621:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26676:5:12", + "nodeType": "YulIdentifier", + "src": "26676:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "26652:23:12", + "nodeType": "YulIdentifier", + "src": "26652:23:12" + }, + "nativeSrc": "26652:30:12", + "nodeType": "YulFunctionCall", + "src": "26652:30:12" + }, + "nativeSrc": "26652:30:12", + "nodeType": "YulExpressionStatement", + "src": "26652:30:12" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "26551:137:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "26589:6:12", + "nodeType": "YulTypedName", + "src": "26589:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "26597:3:12", + "nodeType": "YulTypedName", + "src": "26597:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "26605:5:12", + "nodeType": "YulTypedName", + "src": "26605:5:12", + "type": "" + } + ], + "src": "26551:137:12" + }, + { + "body": { + "nativeSrc": "26768:271:12", + "nodeType": "YulBlock", + "src": "26768:271:12", + "statements": [ + { + "body": { + "nativeSrc": "26814:83:12", + "nodeType": "YulBlock", + "src": "26814:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "26816:77:12", + "nodeType": "YulIdentifier", + "src": "26816:77:12" + }, + "nativeSrc": "26816:79:12", + "nodeType": "YulFunctionCall", + "src": "26816:79:12" + }, + "nativeSrc": "26816:79:12", + "nodeType": "YulExpressionStatement", + "src": "26816:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "26789:7:12", + "nodeType": "YulIdentifier", + "src": "26789:7:12" + }, + { + "name": "headStart", + "nativeSrc": "26798:9:12", + "nodeType": "YulIdentifier", + "src": "26798:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "26785:3:12", + "nodeType": "YulIdentifier", + "src": "26785:3:12" + }, + "nativeSrc": "26785:23:12", + "nodeType": "YulFunctionCall", + "src": "26785:23:12" + }, + { + "kind": "number", + "nativeSrc": "26810:2:12", + "nodeType": "YulLiteral", + "src": "26810:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "26781:3:12", + "nodeType": "YulIdentifier", + "src": "26781:3:12" + }, + "nativeSrc": "26781:32:12", + "nodeType": "YulFunctionCall", + "src": "26781:32:12" + }, + "nativeSrc": "26778:119:12", + "nodeType": "YulIf", + "src": "26778:119:12" + }, + { + "nativeSrc": "26907:125:12", + "nodeType": "YulBlock", + "src": "26907:125:12", + "statements": [ + { + "nativeSrc": "26922:15:12", + "nodeType": "YulVariableDeclaration", + "src": "26922:15:12", + "value": { + "kind": "number", + "nativeSrc": "26936:1:12", + "nodeType": "YulLiteral", + "src": "26936:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "26926:6:12", + "nodeType": "YulTypedName", + "src": "26926:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "26951:71:12", + "nodeType": "YulAssignment", + "src": "26951:71:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26994:9:12", + "nodeType": "YulIdentifier", + "src": "26994:9:12" + }, + { + "name": "offset", + "nativeSrc": "27005:6:12", + "nodeType": "YulIdentifier", + "src": "27005:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26990:3:12", + "nodeType": "YulIdentifier", + "src": "26990:3:12" + }, + "nativeSrc": "26990:22:12", + "nodeType": "YulFunctionCall", + "src": "26990:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "27014:7:12", + "nodeType": "YulIdentifier", + "src": "27014:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "26961:28:12", + "nodeType": "YulIdentifier", + "src": "26961:28:12" + }, + "nativeSrc": "26961:61:12", + "nodeType": "YulFunctionCall", + "src": "26961:61:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "26951:6:12", + "nodeType": "YulIdentifier", + "src": "26951:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "26694:345:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "26738:9:12", + "nodeType": "YulTypedName", + "src": "26738:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "26749:7:12", + "nodeType": "YulTypedName", + "src": "26749:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "26761:6:12", + "nodeType": "YulTypedName", + "src": "26761:6:12", + "type": "" + } + ], + "src": "26694:345:12" + }, + { + "body": { + "nativeSrc": "27331:691:12", + "nodeType": "YulBlock", + "src": "27331:691:12", + "statements": [ + { + "nativeSrc": "27341:27:12", + "nodeType": "YulAssignment", + "src": "27341:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27353:9:12", + "nodeType": "YulIdentifier", + "src": "27353:9:12" + }, + { + "kind": "number", + "nativeSrc": "27364:3:12", + "nodeType": "YulLiteral", + "src": "27364:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27349:3:12", + "nodeType": "YulIdentifier", + "src": "27349:3:12" + }, + "nativeSrc": "27349:19:12", + "nodeType": "YulFunctionCall", + "src": "27349:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "27341:4:12", + "nodeType": "YulIdentifier", + "src": "27341:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27389:9:12", + "nodeType": "YulIdentifier", + "src": "27389:9:12" + }, + { + "kind": "number", + "nativeSrc": "27400:1:12", + "nodeType": "YulLiteral", + "src": "27400:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27385:3:12", + "nodeType": "YulIdentifier", + "src": "27385:3:12" + }, + "nativeSrc": "27385:17:12", + "nodeType": "YulFunctionCall", + "src": "27385:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "27408:4:12", + "nodeType": "YulIdentifier", + "src": "27408:4:12" + }, + { + "name": "headStart", + "nativeSrc": "27414:9:12", + "nodeType": "YulIdentifier", + "src": "27414:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "27404:3:12", + "nodeType": "YulIdentifier", + "src": "27404:3:12" + }, + "nativeSrc": "27404:20:12", + "nodeType": "YulFunctionCall", + "src": "27404:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27378:6:12", + "nodeType": "YulIdentifier", + "src": "27378:6:12" + }, + "nativeSrc": "27378:47:12", + "nodeType": "YulFunctionCall", + "src": "27378:47:12" + }, + "nativeSrc": "27378:47:12", + "nodeType": "YulExpressionStatement", + "src": "27378:47:12" + }, + { + "nativeSrc": "27434:86:12", + "nodeType": "YulAssignment", + "src": "27434:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "27506:6:12", + "nodeType": "YulIdentifier", + "src": "27506:6:12" + }, + { + "name": "tail", + "nativeSrc": "27515:4:12", + "nodeType": "YulIdentifier", + "src": "27515:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "27442:63:12", + "nodeType": "YulIdentifier", + "src": "27442:63:12" + }, + "nativeSrc": "27442:78:12", + "nodeType": "YulFunctionCall", + "src": "27442:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "27434:4:12", + "nodeType": "YulIdentifier", + "src": "27434:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "27574:6:12", + "nodeType": "YulIdentifier", + "src": "27574:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27587:9:12", + "nodeType": "YulIdentifier", + "src": "27587:9:12" + }, + { + "kind": "number", + "nativeSrc": "27598:2:12", + "nodeType": "YulLiteral", + "src": "27598:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27583:3:12", + "nodeType": "YulIdentifier", + "src": "27583:3:12" + }, + "nativeSrc": "27583:18:12", + "nodeType": "YulFunctionCall", + "src": "27583:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "27530:43:12", + "nodeType": "YulIdentifier", + "src": "27530:43:12" + }, + "nativeSrc": "27530:72:12", + "nodeType": "YulFunctionCall", + "src": "27530:72:12" + }, + "nativeSrc": "27530:72:12", + "nodeType": "YulExpressionStatement", + "src": "27530:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "27656:6:12", + "nodeType": "YulIdentifier", + "src": "27656:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27669:9:12", + "nodeType": "YulIdentifier", + "src": "27669:9:12" + }, + { + "kind": "number", + "nativeSrc": "27680:2:12", + "nodeType": "YulLiteral", + "src": "27680:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27665:3:12", + "nodeType": "YulIdentifier", + "src": "27665:3:12" + }, + "nativeSrc": "27665:18:12", + "nodeType": "YulFunctionCall", + "src": "27665:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27612:43:12", + "nodeType": "YulIdentifier", + "src": "27612:43:12" + }, + "nativeSrc": "27612:72:12", + "nodeType": "YulFunctionCall", + "src": "27612:72:12" + }, + "nativeSrc": "27612:72:12", + "nodeType": "YulExpressionStatement", + "src": "27612:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "27738:6:12", + "nodeType": "YulIdentifier", + "src": "27738:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27751:9:12", + "nodeType": "YulIdentifier", + "src": "27751:9:12" + }, + { + "kind": "number", + "nativeSrc": "27762:2:12", + "nodeType": "YulLiteral", + "src": "27762:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27747:3:12", + "nodeType": "YulIdentifier", + "src": "27747:3:12" + }, + "nativeSrc": "27747:18:12", + "nodeType": "YulFunctionCall", + "src": "27747:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27694:43:12", + "nodeType": "YulIdentifier", + "src": "27694:43:12" + }, + "nativeSrc": "27694:72:12", + "nodeType": "YulFunctionCall", + "src": "27694:72:12" + }, + "nativeSrc": "27694:72:12", + "nodeType": "YulExpressionStatement", + "src": "27694:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "27820:6:12", + "nodeType": "YulIdentifier", + "src": "27820:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27833:9:12", + "nodeType": "YulIdentifier", + "src": "27833:9:12" + }, + { + "kind": "number", + "nativeSrc": "27844:3:12", + "nodeType": "YulLiteral", + "src": "27844:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27829:3:12", + "nodeType": "YulIdentifier", + "src": "27829:3:12" + }, + "nativeSrc": "27829:19:12", + "nodeType": "YulFunctionCall", + "src": "27829:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27776:43:12", + "nodeType": "YulIdentifier", + "src": "27776:43:12" + }, + "nativeSrc": "27776:73:12", + "nodeType": "YulFunctionCall", + "src": "27776:73:12" + }, + "nativeSrc": "27776:73:12", + "nodeType": "YulExpressionStatement", + "src": "27776:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "27903:6:12", + "nodeType": "YulIdentifier", + "src": "27903:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27916:9:12", + "nodeType": "YulIdentifier", + "src": "27916:9:12" + }, + { + "kind": "number", + "nativeSrc": "27927:3:12", + "nodeType": "YulLiteral", + "src": "27927:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27912:3:12", + "nodeType": "YulIdentifier", + "src": "27912:3:12" + }, + "nativeSrc": "27912:19:12", + "nodeType": "YulFunctionCall", + "src": "27912:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27859:43:12", + "nodeType": "YulIdentifier", + "src": "27859:43:12" + }, + "nativeSrc": "27859:73:12", + "nodeType": "YulFunctionCall", + "src": "27859:73:12" + }, + "nativeSrc": "27859:73:12", + "nodeType": "YulExpressionStatement", + "src": "27859:73:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "27986:6:12", + "nodeType": "YulIdentifier", + "src": "27986:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27999:9:12", + "nodeType": "YulIdentifier", + "src": "27999:9:12" + }, + { + "kind": "number", + "nativeSrc": "28010:3:12", + "nodeType": "YulLiteral", + "src": "28010:3:12", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27995:3:12", + "nodeType": "YulIdentifier", + "src": "27995:3:12" + }, + "nativeSrc": "27995:19:12", + "nodeType": "YulFunctionCall", + "src": "27995:19:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27942:43:12", + "nodeType": "YulIdentifier", + "src": "27942:43:12" + }, + "nativeSrc": "27942:73:12", + "nodeType": "YulFunctionCall", + "src": "27942:73:12" + }, + "nativeSrc": "27942:73:12", + "nodeType": "YulExpressionStatement", + "src": "27942:73:12" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "27045:977:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "27255:9:12", + "nodeType": "YulTypedName", + "src": "27255:9:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "27267:6:12", + "nodeType": "YulTypedName", + "src": "27267:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "27275:6:12", + "nodeType": "YulTypedName", + "src": "27275:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "27283:6:12", + "nodeType": "YulTypedName", + "src": "27283:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "27291:6:12", + "nodeType": "YulTypedName", + "src": "27291:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "27299:6:12", + "nodeType": "YulTypedName", + "src": "27299:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "27307:6:12", + "nodeType": "YulTypedName", + "src": "27307:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "27315:6:12", + "nodeType": "YulTypedName", + "src": "27315:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "27326:4:12", + "nodeType": "YulTypedName", + "src": "27326:4:12", + "type": "" + } + ], + "src": "27045:977:12" + }, + { + "body": { + "nativeSrc": "28134:70:12", + "nodeType": "YulBlock", + "src": "28134:70:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "28156:6:12", + "nodeType": "YulIdentifier", + "src": "28156:6:12" + }, + { + "kind": "number", + "nativeSrc": "28164:1:12", + "nodeType": "YulLiteral", + "src": "28164:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28152:3:12", + "nodeType": "YulIdentifier", + "src": "28152:3:12" + }, + "nativeSrc": "28152:14:12", + "nodeType": "YulFunctionCall", + "src": "28152:14:12" + }, + { + "hexValue": "4572726f722c2077726f6e67206d6f64652073656c6563746564", + "kind": "string", + "nativeSrc": "28168:28:12", + "nodeType": "YulLiteral", + "src": "28168:28:12", + "type": "", + "value": "Error, wrong mode selected" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28145:6:12", + "nodeType": "YulIdentifier", + "src": "28145:6:12" + }, + "nativeSrc": "28145:52:12", + "nodeType": "YulFunctionCall", + "src": "28145:52:12" + }, + "nativeSrc": "28145:52:12", + "nodeType": "YulExpressionStatement", + "src": "28145:52:12" + } + ] + }, + "name": "store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "nativeSrc": "28028:176:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "28126:6:12", + "nodeType": "YulTypedName", + "src": "28126:6:12", + "type": "" + } + ], + "src": "28028:176:12" + }, + { + "body": { + "nativeSrc": "28356:220:12", + "nodeType": "YulBlock", + "src": "28356:220:12", + "statements": [ + { + "nativeSrc": "28366:74:12", + "nodeType": "YulAssignment", + "src": "28366:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28432:3:12", + "nodeType": "YulIdentifier", + "src": "28432:3:12" + }, + { + "kind": "number", + "nativeSrc": "28437:2:12", + "nodeType": "YulLiteral", + "src": "28437:2:12", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "28373:58:12", + "nodeType": "YulIdentifier", + "src": "28373:58:12" + }, + "nativeSrc": "28373:67:12", + "nodeType": "YulFunctionCall", + "src": "28373:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "28366:3:12", + "nodeType": "YulIdentifier", + "src": "28366:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28538:3:12", + "nodeType": "YulIdentifier", + "src": "28538:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "nativeSrc": "28449:88:12", + "nodeType": "YulIdentifier", + "src": "28449:88:12" + }, + "nativeSrc": "28449:93:12", + "nodeType": "YulFunctionCall", + "src": "28449:93:12" + }, + "nativeSrc": "28449:93:12", + "nodeType": "YulExpressionStatement", + "src": "28449:93:12" + }, + { + "nativeSrc": "28551:19:12", + "nodeType": "YulAssignment", + "src": "28551:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28562:3:12", + "nodeType": "YulIdentifier", + "src": "28562:3:12" + }, + { + "kind": "number", + "nativeSrc": "28567:2:12", + "nodeType": "YulLiteral", + "src": "28567:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28558:3:12", + "nodeType": "YulIdentifier", + "src": "28558:3:12" + }, + "nativeSrc": "28558:12:12", + "nodeType": "YulFunctionCall", + "src": "28558:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "28551:3:12", + "nodeType": "YulIdentifier", + "src": "28551:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack", + "nativeSrc": "28210:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "28344:3:12", + "nodeType": "YulTypedName", + "src": "28344:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "28352:3:12", + "nodeType": "YulTypedName", + "src": "28352:3:12", + "type": "" + } + ], + "src": "28210:366:12" + }, + { + "body": { + "nativeSrc": "28753:248:12", + "nodeType": "YulBlock", + "src": "28753:248:12", + "statements": [ + { + "nativeSrc": "28763:26:12", + "nodeType": "YulAssignment", + "src": "28763:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28775:9:12", + "nodeType": "YulIdentifier", + "src": "28775:9:12" + }, + { + "kind": "number", + "nativeSrc": "28786:2:12", + "nodeType": "YulLiteral", + "src": "28786:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28771:3:12", + "nodeType": "YulIdentifier", + "src": "28771:3:12" + }, + "nativeSrc": "28771:18:12", + "nodeType": "YulFunctionCall", + "src": "28771:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28763:4:12", + "nodeType": "YulIdentifier", + "src": "28763:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28810:9:12", + "nodeType": "YulIdentifier", + "src": "28810:9:12" + }, + { + "kind": "number", + "nativeSrc": "28821:1:12", + "nodeType": "YulLiteral", + "src": "28821:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28806:3:12", + "nodeType": "YulIdentifier", + "src": "28806:3:12" + }, + "nativeSrc": "28806:17:12", + "nodeType": "YulFunctionCall", + "src": "28806:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28829:4:12", + "nodeType": "YulIdentifier", + "src": "28829:4:12" + }, + { + "name": "headStart", + "nativeSrc": "28835:9:12", + "nodeType": "YulIdentifier", + "src": "28835:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "28825:3:12", + "nodeType": "YulIdentifier", + "src": "28825:3:12" + }, + "nativeSrc": "28825:20:12", + "nodeType": "YulFunctionCall", + "src": "28825:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28799:6:12", + "nodeType": "YulIdentifier", + "src": "28799:6:12" + }, + "nativeSrc": "28799:47:12", + "nodeType": "YulFunctionCall", + "src": "28799:47:12" + }, + "nativeSrc": "28799:47:12", + "nodeType": "YulExpressionStatement", + "src": "28799:47:12" + }, + { + "nativeSrc": "28855:139:12", + "nodeType": "YulAssignment", + "src": "28855:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28989:4:12", + "nodeType": "YulIdentifier", + "src": "28989:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack", + "nativeSrc": "28863:124:12", + "nodeType": "YulIdentifier", + "src": "28863:124:12" + }, + "nativeSrc": "28863:131:12", + "nodeType": "YulFunctionCall", + "src": "28863:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28855:4:12", + "nodeType": "YulIdentifier", + "src": "28855:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "28582:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "28733:9:12", + "nodeType": "YulTypedName", + "src": "28733:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "28748:4:12", + "nodeType": "YulTypedName", + "src": "28748:4:12", + "type": "" + } + ], + "src": "28582:419:12" + }, + { + "body": { + "nativeSrc": "29035:152:12", + "nodeType": "YulBlock", + "src": "29035:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29052:1:12", + "nodeType": "YulLiteral", + "src": "29052:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29055:77:12", + "nodeType": "YulLiteral", + "src": "29055:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29045:6:12", + "nodeType": "YulIdentifier", + "src": "29045:6:12" + }, + "nativeSrc": "29045:88:12", + "nodeType": "YulFunctionCall", + "src": "29045:88:12" + }, + "nativeSrc": "29045:88:12", + "nodeType": "YulExpressionStatement", + "src": "29045:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29149:1:12", + "nodeType": "YulLiteral", + "src": "29149:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "29152:4:12", + "nodeType": "YulLiteral", + "src": "29152:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29142:6:12", + "nodeType": "YulIdentifier", + "src": "29142:6:12" + }, + "nativeSrc": "29142:15:12", + "nodeType": "YulFunctionCall", + "src": "29142:15:12" + }, + "nativeSrc": "29142:15:12", + "nodeType": "YulExpressionStatement", + "src": "29142:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29173:1:12", + "nodeType": "YulLiteral", + "src": "29173:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29176:4:12", + "nodeType": "YulLiteral", + "src": "29176:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "29166:6:12", + "nodeType": "YulIdentifier", + "src": "29166:6:12" + }, + "nativeSrc": "29166:15:12", + "nodeType": "YulFunctionCall", + "src": "29166:15:12" + }, + "nativeSrc": "29166:15:12", + "nodeType": "YulExpressionStatement", + "src": "29166:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "29007:180:12", + "nodeType": "YulFunctionDefinition", + "src": "29007:180:12" + }, + { + "body": { + "nativeSrc": "29221:152:12", + "nodeType": "YulBlock", + "src": "29221:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29238:1:12", + "nodeType": "YulLiteral", + "src": "29238:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29241:77:12", + "nodeType": "YulLiteral", + "src": "29241:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29231:6:12", + "nodeType": "YulIdentifier", + "src": "29231:6:12" + }, + "nativeSrc": "29231:88:12", + "nodeType": "YulFunctionCall", + "src": "29231:88:12" + }, + "nativeSrc": "29231:88:12", + "nodeType": "YulExpressionStatement", + "src": "29231:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29335:1:12", + "nodeType": "YulLiteral", + "src": "29335:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "29338:4:12", + "nodeType": "YulLiteral", + "src": "29338:4:12", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29328:6:12", + "nodeType": "YulIdentifier", + "src": "29328:6:12" + }, + "nativeSrc": "29328:15:12", + "nodeType": "YulFunctionCall", + "src": "29328:15:12" + }, + "nativeSrc": "29328:15:12", + "nodeType": "YulExpressionStatement", + "src": "29328:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29359:1:12", + "nodeType": "YulLiteral", + "src": "29359:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29362:4:12", + "nodeType": "YulLiteral", + "src": "29362:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "29352:6:12", + "nodeType": "YulIdentifier", + "src": "29352:6:12" + }, + "nativeSrc": "29352:15:12", + "nodeType": "YulFunctionCall", + "src": "29352:15:12" + }, + "nativeSrc": "29352:15:12", + "nodeType": "YulExpressionStatement", + "src": "29352:15:12" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "29193:180:12", + "nodeType": "YulFunctionDefinition", + "src": "29193:180:12" + }, + { + "body": { + "nativeSrc": "29424:149:12", + "nodeType": "YulBlock", + "src": "29424:149:12", + "statements": [ + { + "nativeSrc": "29434:25:12", + "nodeType": "YulAssignment", + "src": "29434:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "29457:1:12", + "nodeType": "YulIdentifier", + "src": "29457:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "29439:17:12", + "nodeType": "YulIdentifier", + "src": "29439:17:12" + }, + "nativeSrc": "29439:20:12", + "nodeType": "YulFunctionCall", + "src": "29439:20:12" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "29434:1:12", + "nodeType": "YulIdentifier", + "src": "29434:1:12" + } + ] + }, + { + "nativeSrc": "29468:25:12", + "nodeType": "YulAssignment", + "src": "29468:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "29491:1:12", + "nodeType": "YulIdentifier", + "src": "29491:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "29473:17:12", + "nodeType": "YulIdentifier", + "src": "29473:17:12" + }, + "nativeSrc": "29473:20:12", + "nodeType": "YulFunctionCall", + "src": "29473:20:12" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "29468:1:12", + "nodeType": "YulIdentifier", + "src": "29468:1:12" + } + ] + }, + { + "nativeSrc": "29502:17:12", + "nodeType": "YulAssignment", + "src": "29502:17:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "29514:1:12", + "nodeType": "YulIdentifier", + "src": "29514:1:12" + }, + { + "name": "y", + "nativeSrc": "29517:1:12", + "nodeType": "YulIdentifier", + "src": "29517:1:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29510:3:12", + "nodeType": "YulIdentifier", + "src": "29510:3:12" + }, + "nativeSrc": "29510:9:12", + "nodeType": "YulFunctionCall", + "src": "29510:9:12" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "29502:4:12", + "nodeType": "YulIdentifier", + "src": "29502:4:12" + } + ] + }, + { + "body": { + "nativeSrc": "29544:22:12", + "nodeType": "YulBlock", + "src": "29544:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "29546:16:12", + "nodeType": "YulIdentifier", + "src": "29546:16:12" + }, + "nativeSrc": "29546:18:12", + "nodeType": "YulFunctionCall", + "src": "29546:18:12" + }, + "nativeSrc": "29546:18:12", + "nodeType": "YulExpressionStatement", + "src": "29546:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "29535:4:12", + "nodeType": "YulIdentifier", + "src": "29535:4:12" + }, + { + "name": "x", + "nativeSrc": "29541:1:12", + "nodeType": "YulIdentifier", + "src": "29541:1:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "29532:2:12", + "nodeType": "YulIdentifier", + "src": "29532:2:12" + }, + "nativeSrc": "29532:11:12", + "nodeType": "YulFunctionCall", + "src": "29532:11:12" + }, + "nativeSrc": "29529:37:12", + "nodeType": "YulIf", + "src": "29529:37:12" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "29379:194:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "29410:1:12", + "nodeType": "YulTypedName", + "src": "29410:1:12", + "type": "" + }, + { + "name": "y", + "nativeSrc": "29413:1:12", + "nodeType": "YulTypedName", + "src": "29413:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "29419:4:12", + "nodeType": "YulTypedName", + "src": "29419:4:12", + "type": "" + } + ], + "src": "29379:194:12" + }, + { + "body": { + "nativeSrc": "29607:152:12", + "nodeType": "YulBlock", + "src": "29607:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29624:1:12", + "nodeType": "YulLiteral", + "src": "29624:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29627:77:12", + "nodeType": "YulLiteral", + "src": "29627:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29617:6:12", + "nodeType": "YulIdentifier", + "src": "29617:6:12" + }, + "nativeSrc": "29617:88:12", + "nodeType": "YulFunctionCall", + "src": "29617:88:12" + }, + "nativeSrc": "29617:88:12", + "nodeType": "YulExpressionStatement", + "src": "29617:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29721:1:12", + "nodeType": "YulLiteral", + "src": "29721:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "29724:4:12", + "nodeType": "YulLiteral", + "src": "29724:4:12", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29714:6:12", + "nodeType": "YulIdentifier", + "src": "29714:6:12" + }, + "nativeSrc": "29714:15:12", + "nodeType": "YulFunctionCall", + "src": "29714:15:12" + }, + "nativeSrc": "29714:15:12", + "nodeType": "YulExpressionStatement", + "src": "29714:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29745:1:12", + "nodeType": "YulLiteral", + "src": "29745:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29748:4:12", + "nodeType": "YulLiteral", + "src": "29748:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "29738:6:12", + "nodeType": "YulIdentifier", + "src": "29738:6:12" + }, + "nativeSrc": "29738:15:12", + "nodeType": "YulFunctionCall", + "src": "29738:15:12" + }, + "nativeSrc": "29738:15:12", + "nodeType": "YulExpressionStatement", + "src": "29738:15:12" + } + ] + }, + "name": "panic_error_0x31", + "nativeSrc": "29579:180:12", + "nodeType": "YulFunctionDefinition", + "src": "29579:180:12" + }, + { + "body": { + "nativeSrc": "29808:190:12", + "nodeType": "YulBlock", + "src": "29808:190:12", + "statements": [ + { + "nativeSrc": "29818:33:12", + "nodeType": "YulAssignment", + "src": "29818:33:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "29845:5:12", + "nodeType": "YulIdentifier", + "src": "29845:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "29827:17:12", + "nodeType": "YulIdentifier", + "src": "29827:17:12" + }, + "nativeSrc": "29827:24:12", + "nodeType": "YulFunctionCall", + "src": "29827:24:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "29818:5:12", + "nodeType": "YulIdentifier", + "src": "29818:5:12" + } + ] + }, + { + "body": { + "nativeSrc": "29941:22:12", + "nodeType": "YulBlock", + "src": "29941:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "29943:16:12", + "nodeType": "YulIdentifier", + "src": "29943:16:12" + }, + "nativeSrc": "29943:18:12", + "nodeType": "YulFunctionCall", + "src": "29943:18:12" + }, + "nativeSrc": "29943:18:12", + "nodeType": "YulExpressionStatement", + "src": "29943:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "29866:5:12", + "nodeType": "YulIdentifier", + "src": "29866:5:12" + }, + { + "kind": "number", + "nativeSrc": "29873:66:12", + "nodeType": "YulLiteral", + "src": "29873:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "29863:2:12", + "nodeType": "YulIdentifier", + "src": "29863:2:12" + }, + "nativeSrc": "29863:77:12", + "nodeType": "YulFunctionCall", + "src": "29863:77:12" + }, + "nativeSrc": "29860:103:12", + "nodeType": "YulIf", + "src": "29860:103:12" + }, + { + "nativeSrc": "29972:20:12", + "nodeType": "YulAssignment", + "src": "29972:20:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "29983:5:12", + "nodeType": "YulIdentifier", + "src": "29983:5:12" + }, + { + "kind": "number", + "nativeSrc": "29990:1:12", + "nodeType": "YulLiteral", + "src": "29990:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29979:3:12", + "nodeType": "YulIdentifier", + "src": "29979:3:12" + }, + "nativeSrc": "29979:13:12", + "nodeType": "YulFunctionCall", + "src": "29979:13:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "29972:3:12", + "nodeType": "YulIdentifier", + "src": "29972:3:12" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "29765:233:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "29794:5:12", + "nodeType": "YulTypedName", + "src": "29794:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "29804:3:12", + "nodeType": "YulTypedName", + "src": "29804:3:12", + "type": "" + } + ], + "src": "29765:233:12" + }, + { + "body": { + "nativeSrc": "30115:73:12", + "nodeType": "YulBlock", + "src": "30115:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30132:3:12", + "nodeType": "YulIdentifier", + "src": "30132:3:12" + }, + { + "name": "length", + "nativeSrc": "30137:6:12", + "nodeType": "YulIdentifier", + "src": "30137:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "30125:6:12", + "nodeType": "YulIdentifier", + "src": "30125:6:12" + }, + "nativeSrc": "30125:19:12", + "nodeType": "YulFunctionCall", + "src": "30125:19:12" + }, + "nativeSrc": "30125:19:12", + "nodeType": "YulExpressionStatement", + "src": "30125:19:12" + }, + { + "nativeSrc": "30153:29:12", + "nodeType": "YulAssignment", + "src": "30153:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30172:3:12", + "nodeType": "YulIdentifier", + "src": "30172:3:12" + }, + { + "kind": "number", + "nativeSrc": "30177:4:12", + "nodeType": "YulLiteral", + "src": "30177:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30168:3:12", + "nodeType": "YulIdentifier", + "src": "30168:3:12" + }, + "nativeSrc": "30168:14:12", + "nodeType": "YulFunctionCall", + "src": "30168:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "30153:11:12", + "nodeType": "YulIdentifier", + "src": "30153:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "30004:184:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "30087:3:12", + "nodeType": "YulTypedName", + "src": "30087:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30092:6:12", + "nodeType": "YulTypedName", + "src": "30092:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "30103:11:12", + "nodeType": "YulTypedName", + "src": "30103:11:12", + "type": "" + } + ], + "src": "30004:184:12" + }, + { + "body": { + "nativeSrc": "30283:28:12", + "nodeType": "YulBlock", + "src": "30283:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "30300:1:12", + "nodeType": "YulLiteral", + "src": "30300:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "30303:1:12", + "nodeType": "YulLiteral", + "src": "30303:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "30293:6:12", + "nodeType": "YulIdentifier", + "src": "30293:6:12" + }, + "nativeSrc": "30293:12:12", + "nodeType": "YulFunctionCall", + "src": "30293:12:12" + }, + "nativeSrc": "30293:12:12", + "nodeType": "YulExpressionStatement", + "src": "30293:12:12" + } + ] + }, + "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", + "nativeSrc": "30194:117:12", + "nodeType": "YulFunctionDefinition", + "src": "30194:117:12" + }, + { + "body": { + "nativeSrc": "30368:47:12", + "nodeType": "YulBlock", + "src": "30368:47:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "30391:3:12", + "nodeType": "YulIdentifier", + "src": "30391:3:12" + }, + { + "name": "src", + "nativeSrc": "30396:3:12", + "nodeType": "YulIdentifier", + "src": "30396:3:12" + }, + { + "name": "length", + "nativeSrc": "30401:6:12", + "nodeType": "YulIdentifier", + "src": "30401:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "30378:12:12", + "nodeType": "YulIdentifier", + "src": "30378:12:12" + }, + "nativeSrc": "30378:30:12", + "nodeType": "YulFunctionCall", + "src": "30378:30:12" + }, + "nativeSrc": "30378:30:12", + "nodeType": "YulExpressionStatement", + "src": "30378:30:12" + } + ] + }, + "name": "copy_calldata_to_memory", + "nativeSrc": "30317:98:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "30350:3:12", + "nodeType": "YulTypedName", + "src": "30350:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "30355:3:12", + "nodeType": "YulTypedName", + "src": "30355:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30360:6:12", + "nodeType": "YulTypedName", + "src": "30360:6:12", + "type": "" + } + ], + "src": "30317:98:12" + }, + { + "body": { + "nativeSrc": "30583:405:12", + "nodeType": "YulBlock", + "src": "30583:405:12", + "statements": [ + { + "nativeSrc": "30593:93:12", + "nodeType": "YulAssignment", + "src": "30593:93:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30674:3:12", + "nodeType": "YulIdentifier", + "src": "30674:3:12" + }, + { + "name": "length", + "nativeSrc": "30679:6:12", + "nodeType": "YulIdentifier", + "src": "30679:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "30600:73:12", + "nodeType": "YulIdentifier", + "src": "30600:73:12" + }, + "nativeSrc": "30600:86:12", + "nodeType": "YulFunctionCall", + "src": "30600:86:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "30593:3:12", + "nodeType": "YulIdentifier", + "src": "30593:3:12" + } + ] + }, + { + "body": { + "nativeSrc": "30778:83:12", + "nodeType": "YulBlock", + "src": "30778:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", + "nativeSrc": "30780:77:12", + "nodeType": "YulIdentifier", + "src": "30780:77:12" + }, + "nativeSrc": "30780:79:12", + "nodeType": "YulFunctionCall", + "src": "30780:79:12" + }, + "nativeSrc": "30780:79:12", + "nodeType": "YulExpressionStatement", + "src": "30780:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "30702:6:12", + "nodeType": "YulIdentifier", + "src": "30702:6:12" + }, + { + "kind": "number", + "nativeSrc": "30710:66:12", + "nodeType": "YulLiteral", + "src": "30710:66:12", + "type": "", + "value": "0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "30699:2:12", + "nodeType": "YulIdentifier", + "src": "30699:2:12" + }, + "nativeSrc": "30699:78:12", + "nodeType": "YulFunctionCall", + "src": "30699:78:12" + }, + "nativeSrc": "30696:165:12", + "nodeType": "YulIf", + "src": "30696:165:12" + }, + { + "nativeSrc": "30870:27:12", + "nodeType": "YulAssignment", + "src": "30870:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "30884:6:12", + "nodeType": "YulIdentifier", + "src": "30884:6:12" + }, + { + "kind": "number", + "nativeSrc": "30892:4:12", + "nodeType": "YulLiteral", + "src": "30892:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "30880:3:12", + "nodeType": "YulIdentifier", + "src": "30880:3:12" + }, + "nativeSrc": "30880:17:12", + "nodeType": "YulFunctionCall", + "src": "30880:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "30870:6:12", + "nodeType": "YulIdentifier", + "src": "30870:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "30931:5:12", + "nodeType": "YulIdentifier", + "src": "30931:5:12" + }, + { + "name": "pos", + "nativeSrc": "30938:3:12", + "nodeType": "YulIdentifier", + "src": "30938:3:12" + }, + { + "name": "length", + "nativeSrc": "30943:6:12", + "nodeType": "YulIdentifier", + "src": "30943:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nativeSrc": "30907:23:12", + "nodeType": "YulIdentifier", + "src": "30907:23:12" + }, + "nativeSrc": "30907:43:12", + "nodeType": "YulFunctionCall", + "src": "30907:43:12" + }, + "nativeSrc": "30907:43:12", + "nodeType": "YulExpressionStatement", + "src": "30907:43:12" + }, + { + "nativeSrc": "30959:23:12", + "nodeType": "YulAssignment", + "src": "30959:23:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30970:3:12", + "nodeType": "YulIdentifier", + "src": "30970:3:12" + }, + { + "name": "length", + "nativeSrc": "30975:6:12", + "nodeType": "YulIdentifier", + "src": "30975:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30966:3:12", + "nodeType": "YulIdentifier", + "src": "30966:3:12" + }, + "nativeSrc": "30966:16:12", + "nodeType": "YulFunctionCall", + "src": "30966:16:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "30959:3:12", + "nodeType": "YulIdentifier", + "src": "30959:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "30451:537:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "30556:5:12", + "nodeType": "YulTypedName", + "src": "30556:5:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30563:6:12", + "nodeType": "YulTypedName", + "src": "30563:6:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "30571:3:12", + "nodeType": "YulTypedName", + "src": "30571:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "30579:3:12", + "nodeType": "YulTypedName", + "src": "30579:3:12", + "type": "" + } + ], + "src": "30451:537:12" + }, + { + "body": { + "nativeSrc": "31208:399:12", + "nodeType": "YulBlock", + "src": "31208:399:12", + "statements": [ + { + "nativeSrc": "31218:26:12", + "nodeType": "YulAssignment", + "src": "31218:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31230:9:12", + "nodeType": "YulIdentifier", + "src": "31230:9:12" + }, + { + "kind": "number", + "nativeSrc": "31241:2:12", + "nodeType": "YulLiteral", + "src": "31241:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31226:3:12", + "nodeType": "YulIdentifier", + "src": "31226:3:12" + }, + "nativeSrc": "31226:18:12", + "nodeType": "YulFunctionCall", + "src": "31226:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31218:4:12", + "nodeType": "YulIdentifier", + "src": "31218:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "31298:6:12", + "nodeType": "YulIdentifier", + "src": "31298:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31311:9:12", + "nodeType": "YulIdentifier", + "src": "31311:9:12" + }, + { + "kind": "number", + "nativeSrc": "31322:1:12", + "nodeType": "YulLiteral", + "src": "31322:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31307:3:12", + "nodeType": "YulIdentifier", + "src": "31307:3:12" + }, + "nativeSrc": "31307:17:12", + "nodeType": "YulFunctionCall", + "src": "31307:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "31254:43:12", + "nodeType": "YulIdentifier", + "src": "31254:43:12" + }, + "nativeSrc": "31254:71:12", + "nodeType": "YulFunctionCall", + "src": "31254:71:12" + }, + "nativeSrc": "31254:71:12", + "nodeType": "YulExpressionStatement", + "src": "31254:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "31379:6:12", + "nodeType": "YulIdentifier", + "src": "31379:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31392:9:12", + "nodeType": "YulIdentifier", + "src": "31392:9:12" + }, + { + "kind": "number", + "nativeSrc": "31403:2:12", + "nodeType": "YulLiteral", + "src": "31403:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31388:3:12", + "nodeType": "YulIdentifier", + "src": "31388:3:12" + }, + "nativeSrc": "31388:18:12", + "nodeType": "YulFunctionCall", + "src": "31388:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "31335:43:12", + "nodeType": "YulIdentifier", + "src": "31335:43:12" + }, + "nativeSrc": "31335:72:12", + "nodeType": "YulFunctionCall", + "src": "31335:72:12" + }, + "nativeSrc": "31335:72:12", + "nodeType": "YulExpressionStatement", + "src": "31335:72:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31428:9:12", + "nodeType": "YulIdentifier", + "src": "31428:9:12" + }, + { + "kind": "number", + "nativeSrc": "31439:2:12", + "nodeType": "YulLiteral", + "src": "31439:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31424:3:12", + "nodeType": "YulIdentifier", + "src": "31424:3:12" + }, + "nativeSrc": "31424:18:12", + "nodeType": "YulFunctionCall", + "src": "31424:18:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "31448:4:12", + "nodeType": "YulIdentifier", + "src": "31448:4:12" + }, + { + "name": "headStart", + "nativeSrc": "31454:9:12", + "nodeType": "YulIdentifier", + "src": "31454:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31444:3:12", + "nodeType": "YulIdentifier", + "src": "31444:3:12" + }, + "nativeSrc": "31444:20:12", + "nodeType": "YulFunctionCall", + "src": "31444:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31417:6:12", + "nodeType": "YulIdentifier", + "src": "31417:6:12" + }, + "nativeSrc": "31417:48:12", + "nodeType": "YulFunctionCall", + "src": "31417:48:12" + }, + "nativeSrc": "31417:48:12", + "nodeType": "YulExpressionStatement", + "src": "31417:48:12" + }, + { + "nativeSrc": "31474:126:12", + "nodeType": "YulAssignment", + "src": "31474:126:12", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "31578:6:12", + "nodeType": "YulIdentifier", + "src": "31578:6:12" + }, + { + "name": "value3", + "nativeSrc": "31586:6:12", + "nodeType": "YulIdentifier", + "src": "31586:6:12" + }, + { + "name": "tail", + "nativeSrc": "31595:4:12", + "nodeType": "YulIdentifier", + "src": "31595:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "31482:95:12", + "nodeType": "YulIdentifier", + "src": "31482:95:12" + }, + "nativeSrc": "31482:118:12", + "nodeType": "YulFunctionCall", + "src": "31482:118:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31474:4:12", + "nodeType": "YulIdentifier", + "src": "31474:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_calldata_ptr__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "30994:613:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "31156:9:12", + "nodeType": "YulTypedName", + "src": "31156:9:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "31168:6:12", + "nodeType": "YulTypedName", + "src": "31168:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "31176:6:12", + "nodeType": "YulTypedName", + "src": "31176:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "31184:6:12", + "nodeType": "YulTypedName", + "src": "31184:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "31192:6:12", + "nodeType": "YulTypedName", + "src": "31192:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "31203:4:12", + "nodeType": "YulTypedName", + "src": "31203:4:12", + "type": "" + } + ], + "src": "30994:613:12" + }, + { + "body": { + "nativeSrc": "31719:65:12", + "nodeType": "YulBlock", + "src": "31719:65:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "31741:6:12", + "nodeType": "YulIdentifier", + "src": "31741:6:12" + }, + { + "kind": "number", + "nativeSrc": "31749:1:12", + "nodeType": "YulLiteral", + "src": "31749:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31737:3:12", + "nodeType": "YulIdentifier", + "src": "31737:3:12" + }, + "nativeSrc": "31737:14:12", + "nodeType": "YulFunctionCall", + "src": "31737:14:12" + }, + { + "hexValue": "41697264726f7020616c7265616479206164646564", + "kind": "string", + "nativeSrc": "31753:23:12", + "nodeType": "YulLiteral", + "src": "31753:23:12", + "type": "", + "value": "Airdrop already added" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31730:6:12", + "nodeType": "YulIdentifier", + "src": "31730:6:12" + }, + "nativeSrc": "31730:47:12", + "nodeType": "YulFunctionCall", + "src": "31730:47:12" + }, + "nativeSrc": "31730:47:12", + "nodeType": "YulExpressionStatement", + "src": "31730:47:12" + } + ] + }, + "name": "store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "nativeSrc": "31613:171:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "31711:6:12", + "nodeType": "YulTypedName", + "src": "31711:6:12", + "type": "" + } + ], + "src": "31613:171:12" + }, + { + "body": { + "nativeSrc": "31936:220:12", + "nodeType": "YulBlock", + "src": "31936:220:12", + "statements": [ + { + "nativeSrc": "31946:74:12", + "nodeType": "YulAssignment", + "src": "31946:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "32012:3:12", + "nodeType": "YulIdentifier", + "src": "32012:3:12" + }, + { + "kind": "number", + "nativeSrc": "32017:2:12", + "nodeType": "YulLiteral", + "src": "32017:2:12", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "31953:58:12", + "nodeType": "YulIdentifier", + "src": "31953:58:12" + }, + "nativeSrc": "31953:67:12", + "nodeType": "YulFunctionCall", + "src": "31953:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "31946:3:12", + "nodeType": "YulIdentifier", + "src": "31946:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "32118:3:12", + "nodeType": "YulIdentifier", + "src": "32118:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "nativeSrc": "32029:88:12", + "nodeType": "YulIdentifier", + "src": "32029:88:12" + }, + "nativeSrc": "32029:93:12", + "nodeType": "YulFunctionCall", + "src": "32029:93:12" + }, + "nativeSrc": "32029:93:12", + "nodeType": "YulExpressionStatement", + "src": "32029:93:12" + }, + { + "nativeSrc": "32131:19:12", + "nodeType": "YulAssignment", + "src": "32131:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "32142:3:12", + "nodeType": "YulIdentifier", + "src": "32142:3:12" + }, + { + "kind": "number", + "nativeSrc": "32147:2:12", + "nodeType": "YulLiteral", + "src": "32147:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32138:3:12", + "nodeType": "YulIdentifier", + "src": "32138:3:12" + }, + "nativeSrc": "32138:12:12", + "nodeType": "YulFunctionCall", + "src": "32138:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "32131:3:12", + "nodeType": "YulIdentifier", + "src": "32131:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack", + "nativeSrc": "31790:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "31924:3:12", + "nodeType": "YulTypedName", + "src": "31924:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "31932:3:12", + "nodeType": "YulTypedName", + "src": "31932:3:12", + "type": "" + } + ], + "src": "31790:366:12" + }, + { + "body": { + "nativeSrc": "32333:248:12", + "nodeType": "YulBlock", + "src": "32333:248:12", + "statements": [ + { + "nativeSrc": "32343:26:12", + "nodeType": "YulAssignment", + "src": "32343:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32355:9:12", + "nodeType": "YulIdentifier", + "src": "32355:9:12" + }, + { + "kind": "number", + "nativeSrc": "32366:2:12", + "nodeType": "YulLiteral", + "src": "32366:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32351:3:12", + "nodeType": "YulIdentifier", + "src": "32351:3:12" + }, + "nativeSrc": "32351:18:12", + "nodeType": "YulFunctionCall", + "src": "32351:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32343:4:12", + "nodeType": "YulIdentifier", + "src": "32343:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32390:9:12", + "nodeType": "YulIdentifier", + "src": "32390:9:12" + }, + { + "kind": "number", + "nativeSrc": "32401:1:12", + "nodeType": "YulLiteral", + "src": "32401:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32386:3:12", + "nodeType": "YulIdentifier", + "src": "32386:3:12" + }, + "nativeSrc": "32386:17:12", + "nodeType": "YulFunctionCall", + "src": "32386:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "32409:4:12", + "nodeType": "YulIdentifier", + "src": "32409:4:12" + }, + { + "name": "headStart", + "nativeSrc": "32415:9:12", + "nodeType": "YulIdentifier", + "src": "32415:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "32405:3:12", + "nodeType": "YulIdentifier", + "src": "32405:3:12" + }, + "nativeSrc": "32405:20:12", + "nodeType": "YulFunctionCall", + "src": "32405:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "32379:6:12", + "nodeType": "YulIdentifier", + "src": "32379:6:12" + }, + "nativeSrc": "32379:47:12", + "nodeType": "YulFunctionCall", + "src": "32379:47:12" + }, + "nativeSrc": "32379:47:12", + "nodeType": "YulExpressionStatement", + "src": "32379:47:12" + }, + { + "nativeSrc": "32435:139:12", + "nodeType": "YulAssignment", + "src": "32435:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "32569:4:12", + "nodeType": "YulIdentifier", + "src": "32569:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack", + "nativeSrc": "32443:124:12", + "nodeType": "YulIdentifier", + "src": "32443:124:12" + }, + "nativeSrc": "32443:131:12", + "nodeType": "YulFunctionCall", + "src": "32443:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32435:4:12", + "nodeType": "YulIdentifier", + "src": "32435:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "32162:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "32313:9:12", + "nodeType": "YulTypedName", + "src": "32313:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "32328:4:12", + "nodeType": "YulTypedName", + "src": "32328:4:12", + "type": "" + } + ], + "src": "32162:419:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(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 function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n abi_encode_t_address_to_t_address(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_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_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0, tail)\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(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$3239(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$3239(value)\n }\n\n function convert_t_enum$_AirdropType_$3239_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$3239_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(memPtr) {\n\n mstore(add(memPtr, 0), \"Address not allowed to call this\")\n\n mstore(add(memPtr, 32), \" method\")\n\n }\n\n function abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__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_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n revert(0, 0)\n }\n\n function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n revert(0, 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function validator_revert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AirdropType_$3239_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_enum$_AirdropType_$3239(value)\n }\n\n // struct AirdropInfo\n function abi_decode_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory(headStart, end) -> value {\n if slt(sub(end, headStart), 0x0100) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n value := allocate_memory(0x0100)\n\n {\n // airdropName\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n mstore(add(value, 0x00), abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // airdropAddress\n\n let offset := 32\n\n mstore(add(value, 0x20), abi_decode_t_address_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // totalAirdropAmount\n\n let offset := 64\n\n mstore(add(value, 0x40), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // airdropAmountLeft\n\n let offset := 96\n\n mstore(add(value, 0x60), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // claimAmount\n\n let offset := 128\n\n mstore(add(value, 0x80), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // expirationDate\n\n let offset := 160\n\n mstore(add(value, 0xa0), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // airdropType\n\n let offset := 192\n\n mstore(add(value, 0xc0), abi_decode_t_enum$_AirdropType_$3239_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // uri\n\n let offset := mload(add(headStart, 224))\n if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n mstore(add(value, 0xe0), abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), end))\n\n }\n\n }\n\n function abi_decode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_AirdropInfo_$3257_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n }\n\n function store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6(memPtr) {\n\n mstore(add(memPtr, 0), \"Error, wrong mode selected\")\n\n }\n\n function abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6__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_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() {\n revert(0, 0)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n\n }\n\n // bytes32[] -> bytes32[]\n function abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length)\n\n if gt(length, 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() }\n length := mul(length, 0x20)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_calldata_ptr__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart , value3, 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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value2, value3, tail)\n\n }\n\n function store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already added\")\n\n }\n\n function abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54__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_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106101425760003560e01c8063989a9863116100b8578063dde070e81161007c578063dde070e8146103a9578063ead7778a146103d9578063f77bc88b146103f5578063f89f2a2c14610425578063f8b2cb4f14610455578063fabed4121461048557610142565b8063989a9863146102e1578063a1654379146102fd578063a9b8f0181461032d578063b17acd1a1461035d578063c012a68f1461038d57610142565b80633ad14ed61161010a5780633ad14ed61461020f57806359f47add1461022b5780636b58222e1461024957806370480275146102795780637f94f65d1461029557806389266f60146102b157610142565b806307b1d553146101475780630cb27628146101775780631785f53c1461019357806324d7806c146101af5780632522f8da146101df575b600080fd5b610161600480360381019061015c9190611b1b565b6104a1565b60405161016e9190611bc1565b60405180910390f35b610191600480360381019061018c9190611ca4565b61062b565b005b6101ad60048036038101906101a89190611d00565b61072b565b005b6101c960048036038101906101c49190611d00565b610810565b6040516101d69190611d48565b60405180910390f35b6101f960048036038101906101f49190611d00565b610865565b6040516102069190611d72565b60405180910390f35b61022960048036038101906102249190611d8d565b6108e2565b005b6102336109e2565b6040516102409190611e8b565b60405180910390f35b610263600480360381019061025e9190611d00565b610a70565b6040516102709190612069565b60405180910390f35b610293600480360381019061028e9190611d00565b610af9565b005b6102af60048036038101906102aa91906120c1565b610bde565b005b6102cb60048036038101906102c69190611d8d565b610cde565b6040516102d89190611d48565b60405180910390f35b6102fb60048036038101906102f69190611d8d565b610d67565b005b61031760048036038101906103129190611d8d565b610e67565b6040516103249190611d48565b60405180910390f35b61034760048036038101906103429190611d00565b610ef0565b6040516103549190611d72565b60405180910390f35b61037760048036038101906103729190612101565b610f6d565b6040516103849190611bc1565b60405180910390f35b6103a760048036038101906103a29190611d00565b61116c565b005b6103c360048036038101906103be9190611d00565b6113d1565b6040516103d09190611d72565b60405180910390f35b6103f360048036038101906103ee9190611ca4565b61144e565b005b61040f600480360381019061040a9190611d00565b61154e565b60405161041c9190611d48565b60405180910390f35b61043f600480360381019061043a9190611d00565b6115cb565b60405161044c9190611d72565b60405180910390f35b61046f600480360381019061046a9190611d00565b611648565b60405161047c9190611d72565b60405180910390f35b61049f600480360381019061049a919061221a565b6116c5565b005b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052590612325565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663d171b51989898989896040518663ffffffff1660e01b815260040161059895949392919061237e565b6020604051808303816000875af11580156105b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105db91906123ed565b90506105e681611743565b7fe0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257816040516106159190611bc1565b60405180910390a1809250505095945050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9f7d0b2836040518263ffffffff1660e01b81526004016106f49190611e8b565b600060405180830381600087803b15801561070e57600080fd5b505af1158015610722573d6000803e3d6000fd5b50505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90612325565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff16635edf7d8b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061242f565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663b7c58d7a836040518263ffffffff1660e01b81526004016109ab9190611bc1565b600060405180830381600087803b1580156109c557600080fd5b505af11580156109d9573d6000803e3d6000fd5b50505050505050565b60606003805480602002602001604051908101604052809291908181526020018280548015610a6657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a1c575b5050505050905090565b610a786118c0565b60008290508073ffffffffffffffffffffffffffffffffffffffff166332f088736040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ac8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610af191906125fd565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b90612325565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663dab5f340836040518263ffffffff1660e01b8152600401610ca79190612655565b600060405180830381600087803b158015610cc157600080fd5b505af1158015610cd5573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff166373b2e80e846040518263ffffffff1660e01b8152600401610d1d9190611bc1565b602060405180830381865afa158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e919061269c565b91505092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166308af4d88836040518263ffffffff1660e01b8152600401610e309190611bc1565b600060405180830381600087803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff1663babcc539846040518263ffffffff1660e01b8152600401610ea69190611bc1565b602060405180830381865afa158015610ec3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee7919061269c565b91505092915050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff1663cd61a6096040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f65919061242f565b915050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612325565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630920be428b8b8b8b8b8b8b6040518863ffffffff1660e01b815260040161106897969594939291906126c9565b6020604051808303816000875af1158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab91906123ed565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361111c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111139061278b565b60405180910390fd5b61112581611743565b7f3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d816040516111549190611bc1565b60405180910390a18092505050979650505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612325565b60405180910390fd5b6000805b6003805490508110801561120d575081155b1561138e578273ffffffffffffffffffffffffffffffffffffffff166003828154811061123d5761123c6127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361137b57600191506003600160038054905061129b9190612809565b815481106112ac576112ab6127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600382815481106112eb576112ea6127ab565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060038054806113455761134461283d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b80806113869061286c565b9150506111fb565b5080156113cd577fa075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32826040516113c49190611bc1565b60405180910390a15b5050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166371127ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611446919061242f565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16633863b1f5836040518263ffffffff1660e01b81526004016115179190611e8b565b600060405180830381600087803b15801561153157600080fd5b505af1158015611545573d6000803e3d6000fd5b50505050505050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166390e64d136040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c3919061269c565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166343f367c86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611640919061242f565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061242f565b915050919050565b60008590508073ffffffffffffffffffffffffffffffffffffffff16633d13f874868686866040518563ffffffff1660e01b8152600401611709949392919061292f565b600060405180830381600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b50505050505050505050565b6000805b60038054905081108015611759575081155b156117e0578273ffffffffffffffffffffffffffffffffffffffff1660038281548110611789576117886127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614915080806117d89061286c565b915050611747565b508015611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906129bb565b60405180910390fd5b6003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b64826040516118b49190611bc1565b60405180910390a15050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600060028111156119205761191f611f3b565b5b8152602001606081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119948261194b565b810181811067ffffffffffffffff821117156119b3576119b261195c565b5b80604052505050565b60006119c661192d565b90506119d2828261198b565b919050565b600067ffffffffffffffff8211156119f2576119f161195c565b5b6119fb8261194b565b9050602081019050919050565b82818337600083830152505050565b6000611a2a611a25846119d7565b6119bc565b905082815260208101848484011115611a4657611a45611946565b5b611a51848285611a08565b509392505050565b600082601f830112611a6e57611a6d611941565b5b8135611a7e848260208601611a17565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ab282611a87565b9050919050565b611ac281611aa7565b8114611acd57600080fd5b50565b600081359050611adf81611ab9565b92915050565b6000819050919050565b611af881611ae5565b8114611b0357600080fd5b50565b600081359050611b1581611aef565b92915050565b600080600080600060a08688031215611b3757611b36611937565b5b600086013567ffffffffffffffff811115611b5557611b5461193c565b5b611b6188828901611a59565b9550506020611b7288828901611ad0565b9450506040611b8388828901611b06565b9350506060611b9488828901611b06565b9250506080611ba588828901611b06565b9150509295509295909350565b611bbb81611aa7565b82525050565b6000602082019050611bd66000830184611bb2565b92915050565b600067ffffffffffffffff821115611bf757611bf661195c565b5b602082029050602081019050919050565b600080fd5b6000611c20611c1b84611bdc565b6119bc565b90508083825260208201905060208402830185811115611c4357611c42611c08565b5b835b81811015611c6c5780611c588882611ad0565b845260208401935050602081019050611c45565b5050509392505050565b600082601f830112611c8b57611c8a611941565b5b8135611c9b848260208601611c0d565b91505092915050565b60008060408385031215611cbb57611cba611937565b5b6000611cc985828601611ad0565b925050602083013567ffffffffffffffff811115611cea57611ce961193c565b5b611cf685828601611c76565b9150509250929050565b600060208284031215611d1657611d15611937565b5b6000611d2484828501611ad0565b91505092915050565b60008115159050919050565b611d4281611d2d565b82525050565b6000602082019050611d5d6000830184611d39565b92915050565b611d6c81611ae5565b82525050565b6000602082019050611d876000830184611d63565b92915050565b60008060408385031215611da457611da3611937565b5b6000611db285828601611ad0565b9250506020611dc385828601611ad0565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611e0281611aa7565b82525050565b6000611e148383611df9565b60208301905092915050565b6000602082019050919050565b6000611e3882611dcd565b611e428185611dd8565b9350611e4d83611de9565b8060005b83811015611e7e578151611e658882611e08565b9750611e7083611e20565b925050600181019050611e51565b5085935050505092915050565b60006020820190508181036000830152611ea58184611e2d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee7578082015181840152602081019050611ecc565b60008484015250505050565b6000611efe82611ead565b611f088185611eb8565b9350611f18818560208601611ec9565b611f218161194b565b840191505092915050565b611f3581611ae5565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110611f7b57611f7a611f3b565b5b50565b6000819050611f8c82611f6a565b919050565b6000611f9c82611f7e565b9050919050565b611fac81611f91565b82525050565b6000610100830160008301518482036000860152611fd08282611ef3565b9150506020830151611fe56020860182611df9565b506040830151611ff86040860182611f2c565b50606083015161200b6060860182611f2c565b50608083015161201e6080860182611f2c565b5060a083015161203160a0860182611f2c565b5060c083015161204460c0860182611fa3565b5060e083015184820360e086015261205c8282611ef3565b9150508091505092915050565b600060208201905081810360008301526120838184611fb2565b905092915050565b6000819050919050565b61209e8161208b565b81146120a957600080fd5b50565b6000813590506120bb81612095565b92915050565b600080604083850312156120d8576120d7611937565b5b60006120e685828601611ad0565b92505060206120f7858286016120ac565b9150509250929050565b600080600080600080600060e0888a0312156121205761211f611937565b5b600088013567ffffffffffffffff81111561213e5761213d61193c565b5b61214a8a828b01611a59565b975050602061215b8a828b01611ad0565b965050604061216c8a828b01611b06565b955050606061217d8a828b01611b06565b945050608061218e8a828b01611b06565b93505060a061219f8a828b01611b06565b92505060c06121b08a828b01611b06565b91505092959891949750929550565b600080fd5b60008083601f8401126121da576121d9611941565b5b8235905067ffffffffffffffff8111156121f7576121f66121bf565b5b60208301915083602082028301111561221357612212611c08565b5b9250929050565b60008060008060006080868803121561223657612235611937565b5b600061224488828901611ad0565b955050602061225588828901611ad0565b945050604061226688828901611b06565b935050606086013567ffffffffffffffff8111156122875761228661193c565b5b612293888289016121c4565b92509250509295509295909350565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b600061230f6027836122a2565b915061231a826122b3565b604082019050919050565b6000602082019050818103600083015261233e81612302565b9050919050565b600061235082611ead565b61235a81856122a2565b935061236a818560208601611ec9565b6123738161194b565b840191505092915050565b600060a08201905081810360008301526123988188612345565b90506123a76020830187611bb2565b6123b46040830186611d63565b6123c16060830185611d63565b6123ce6080830184611d63565b9695505050505050565b6000815190506123e781611ab9565b92915050565b60006020828403121561240357612402611937565b5b6000612411848285016123d8565b91505092915050565b60008151905061242981611aef565b92915050565b60006020828403121561244557612444611937565b5b60006124538482850161241a565b91505092915050565b600080fd5b600080fd5b6000612479612474846119d7565b6119bc565b90508281526020810184848401111561249557612494611946565b5b6124a0848285611ec9565b509392505050565b600082601f8301126124bd576124bc611941565b5b81516124cd848260208601612466565b91505092915050565b600381106124e357600080fd5b50565b6000815190506124f5816124d6565b92915050565b600061010082840312156125125761251161245c565b5b61251d6101006119bc565b9050600082015167ffffffffffffffff81111561253d5761253c612461565b5b612549848285016124a8565b600083015250602061255d848285016123d8565b60208301525060406125718482850161241a565b60408301525060606125858482850161241a565b60608301525060806125998482850161241a565b60808301525060a06125ad8482850161241a565b60a08301525060c06125c1848285016124e6565b60c08301525060e082015167ffffffffffffffff8111156125e5576125e4612461565b5b6125f1848285016124a8565b60e08301525092915050565b60006020828403121561261357612612611937565b5b600082015167ffffffffffffffff8111156126315761263061193c565b5b61263d848285016124fb565b91505092915050565b61264f8161208b565b82525050565b600060208201905061266a6000830184612646565b92915050565b61267981611d2d565b811461268457600080fd5b50565b60008151905061269681612670565b92915050565b6000602082840312156126b2576126b1611937565b5b60006126c084828501612687565b91505092915050565b600060e08201905081810360008301526126e3818a612345565b90506126f26020830189611bb2565b6126ff6040830188611d63565b61270c6060830187611d63565b6127196080830186611d63565b61272660a0830185611d63565b61273360c0830184611d63565b98975050505050505050565b7f4572726f722c2077726f6e67206d6f64652073656c6563746564000000000000600082015250565b6000612775601a836122a2565b91506127808261273f565b602082019050919050565b600060208201905081810360008301526127a481612768565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281482611ae5565b915061281f83611ae5565b9250828203905081811115612837576128366127da565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061287782611ae5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a9576128a86127da565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006128df83856128b4565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612912576129116128c5565b5b6020830292506129238385846128ca565b82840190509392505050565b60006060820190506129446000830187611bb2565b6129516020830186611d63565b81810360408301526129648184866128d3565b905095945050505050565b7f41697264726f7020616c72656164792061646465640000000000000000000000600082015250565b60006129a56015836122a2565b91506129b08261296f565b602082019050919050565b600060208201905081810360008301526129d481612998565b905091905056fea2646970667358221220620b6a89f3af4e0d29dfe52680f6167cf79a317a23500e58afbecbcf0621b20f64736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x989A9863 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDDE070E8 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xDDE070E8 EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xEAD7778A EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0xF77BC88B EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0xF89F2A2C EQ PUSH2 0x425 JUMPI DUP1 PUSH4 0xF8B2CB4F EQ PUSH2 0x455 JUMPI DUP1 PUSH4 0xFABED412 EQ PUSH2 0x485 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x989A9863 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xA1654379 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0xA9B8F018 EQ PUSH2 0x32D JUMPI DUP1 PUSH4 0xB17ACD1A EQ PUSH2 0x35D JUMPI DUP1 PUSH4 0xC012A68F EQ PUSH2 0x38D JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x3AD14ED6 GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x3AD14ED6 EQ PUSH2 0x20F JUMPI DUP1 PUSH4 0x59F47ADD EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x6B58222E EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x7F94F65D EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x89266F60 EQ PUSH2 0x2B1 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x7B1D553 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xCB27628 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x1785F53C EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x2522F8DA EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x1B1B JUMP JUMPDEST PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH2 0x62B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A8 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x72B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x810 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x865 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x206 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x229 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x224 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0x8E2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x233 PUSH2 0x9E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0xA70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x2069 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x293 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0xAF9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2AA SWAP2 SWAP1 PUSH2 0x20C1 JUMP JUMPDEST PUSH2 0xBDE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0xD67 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x317 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x312 SWAP2 SWAP1 PUSH2 0x1D8D JUMP JUMPDEST PUSH2 0xE67 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x347 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0xEF0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x354 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x377 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x2101 JUMP JUMPDEST PUSH2 0xF6D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x384 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3A2 SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x116C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x3C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3BE SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x13D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D0 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH2 0x144E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x40F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x40A SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x154E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x41C SWAP2 SWAP1 PUSH2 0x1D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43A SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x15CB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44C SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x46F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46A SWAP2 SWAP1 PUSH2 0x1D00 JUMP JUMPDEST PUSH2 0x1648 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x49F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x49A SWAP2 SWAP1 PUSH2 0x221A JUMP JUMPDEST PUSH2 0x16C5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 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 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x52E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x525 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD171B519 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x598 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x237E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5DB SWAP2 SWAP1 PUSH2 0x23ED JUMP JUMPDEST SWAP1 POP PUSH2 0x5E6 DUP2 PUSH2 0x1743 JUMP JUMPDEST PUSH32 0xE0895CE248F348E6C4CF31166567DE65AAEFFED89303CF6709201E538B209257 DUP2 PUSH1 0x40 MLOAD PUSH2 0x615 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x6B6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6AD SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9F7D0B2 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F4 SWAP2 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x70E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x722 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x7B6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7AD SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5EDF7D8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8DA SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x96D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x964 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB7C58D7A DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9AB SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0xA66 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xA1C JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xA78 PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x32F08873 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAC8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAF1 SWAP2 SWAP1 PUSH2 0x25FD JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB7B SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xC69 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC60 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xDAB5F340 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCA7 SWAP2 SWAP1 PUSH2 0x2655 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCD5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x73B2E80E DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD1D SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD3A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD5E SWAP2 SWAP1 PUSH2 0x269C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xDF2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDE9 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8AF4D88 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE30 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xE5E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xBABCC539 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEA6 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEC3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEE7 SWAP2 SWAP1 PUSH2 0x269C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xCD61A609 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF41 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF65 SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 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 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xFFA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFF1 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x920BE42 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1068 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1087 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10AB SWAP2 SWAP1 PUSH2 0x23ED JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x111C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1113 SWAP1 PUSH2 0x278B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1125 DUP2 PUSH2 0x1743 JUMP JUMPDEST PUSH32 0x3253658F687C8CB74D577A64B270AF597E6BAE60C74179602AF4E8CA7225362D DUP2 PUSH1 0x40 MLOAD PUSH2 0x1154 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x11F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11EE SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x120D JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x138E JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x123D JUMPI PUSH2 0x123C PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x137B JUMPI PUSH1 0x1 SWAP2 POP PUSH1 0x3 PUSH1 0x1 PUSH1 0x3 DUP1 SLOAD SWAP1 POP PUSH2 0x129B SWAP2 SWAP1 PUSH2 0x2809 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x12AC JUMPI PUSH2 0x12AB PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x12EB JUMPI PUSH2 0x12EA PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 DUP1 SLOAD DUP1 PUSH2 0x1345 JUMPI PUSH2 0x1344 PUSH2 0x283D JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE JUMPDEST DUP1 DUP1 PUSH2 0x1386 SWAP1 PUSH2 0x286C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11FB JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x13CD JUMPI PUSH32 0xA075707015B6368EEE802922E19A51528F4B98C88E1082B65D4805BF47F8CD32 DUP3 PUSH1 0x40 MLOAD PUSH2 0x13C4 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x71127ED2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1422 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1446 SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x14D9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14D0 SWAP1 PUSH2 0x2325 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3863B1F5 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1517 SWAP2 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1531 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1545 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x90E64D13 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x159F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C3 SWAP2 SWAP1 PUSH2 0x269C JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x43F367C8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x161C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1640 SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1699 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16BD SWAP2 SWAP1 PUSH2 0x242F JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP6 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3D13F874 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1709 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x292F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1723 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1737 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x1759 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x17E0 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1789 JUMPI PUSH2 0x1788 PUSH2 0x27AB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP DUP1 DUP1 PUSH2 0x17D8 SWAP1 PUSH2 0x286C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1747 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x1822 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1819 SWAP1 PUSH2 0x29BB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 DUP3 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8C716DE2EEB0D456A3F3012D8F1EF9FBE14D94374E94CA90F916AADFB8C04B64 DUP3 PUSH1 0x40 MLOAD PUSH2 0x18B4 SWAP2 SWAP1 PUSH2 0x1BC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1920 JUMPI PUSH2 0x191F PUSH2 0x1F3B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1994 DUP3 PUSH2 0x194B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x19B3 JUMPI PUSH2 0x19B2 PUSH2 0x195C JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19C6 PUSH2 0x192D JUMP JUMPDEST SWAP1 POP PUSH2 0x19D2 DUP3 DUP3 PUSH2 0x198B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x19F2 JUMPI PUSH2 0x19F1 PUSH2 0x195C JUMP JUMPDEST JUMPDEST PUSH2 0x19FB DUP3 PUSH2 0x194B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A2A PUSH2 0x1A25 DUP5 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1A46 JUMPI PUSH2 0x1A45 PUSH2 0x1946 JUMP JUMPDEST JUMPDEST PUSH2 0x1A51 DUP5 DUP3 DUP6 PUSH2 0x1A08 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A6E JUMPI PUSH2 0x1A6D PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1A7E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1A17 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AB2 DUP3 PUSH2 0x1A87 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AC2 DUP2 PUSH2 0x1AA7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1ACD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1ADF DUP2 PUSH2 0x1AB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AF8 DUP2 PUSH2 0x1AE5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B15 DUP2 PUSH2 0x1AEF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1B37 JUMPI PUSH2 0x1B36 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1B55 JUMPI PUSH2 0x1B54 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x1B61 DUP9 DUP3 DUP10 ADD PUSH2 0x1A59 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1B72 DUP9 DUP3 DUP10 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1B83 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1B94 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x1BA5 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x1BBB DUP2 PUSH2 0x1AA7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1BD6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BF7 JUMPI PUSH2 0x1BF6 PUSH2 0x195C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C20 PUSH2 0x1C1B DUP5 PUSH2 0x1BDC JUMP JUMPDEST PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C43 JUMPI PUSH2 0x1C42 PUSH2 0x1C08 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1C6C JUMPI DUP1 PUSH2 0x1C58 DUP9 DUP3 PUSH2 0x1AD0 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C45 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C8B JUMPI PUSH2 0x1C8A PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1C9B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C0D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CBB JUMPI PUSH2 0x1CBA PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CC9 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1CEA JUMPI PUSH2 0x1CE9 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x1CF6 DUP6 DUP3 DUP7 ADD PUSH2 0x1C76 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D16 JUMPI PUSH2 0x1D15 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D24 DUP5 DUP3 DUP6 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D42 DUP2 PUSH2 0x1D2D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D5D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1D6C DUP2 PUSH2 0x1AE5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D87 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1DA4 JUMPI PUSH2 0x1DA3 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DB2 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1DC3 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E02 DUP2 PUSH2 0x1AA7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E14 DUP4 DUP4 PUSH2 0x1DF9 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E38 DUP3 PUSH2 0x1DCD JUMP JUMPDEST PUSH2 0x1E42 DUP2 DUP6 PUSH2 0x1DD8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1E4D DUP4 PUSH2 0x1DE9 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E7E JUMPI DUP2 MLOAD PUSH2 0x1E65 DUP9 DUP3 PUSH2 0x1E08 JUMP JUMPDEST SWAP8 POP PUSH2 0x1E70 DUP4 PUSH2 0x1E20 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E51 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EA5 DUP2 DUP5 PUSH2 0x1E2D JUMP JUMPDEST SWAP1 POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EE7 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1ECC JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EFE DUP3 PUSH2 0x1EAD JUMP JUMPDEST PUSH2 0x1F08 DUP2 DUP6 PUSH2 0x1EB8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1F18 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1EC9 JUMP JUMPDEST PUSH2 0x1F21 DUP2 PUSH2 0x194B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1F35 DUP2 PUSH2 0x1AE5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1F7B JUMPI PUSH2 0x1F7A PUSH2 0x1F3B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x1F8C DUP3 PUSH2 0x1F6A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9C DUP3 PUSH2 0x1F7E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FAC DUP2 PUSH2 0x1F91 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x1FD0 DUP3 DUP3 PUSH2 0x1EF3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1FE5 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x1DF9 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1FF8 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x200B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x201E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x2031 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x1F2C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x2044 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x1FA3 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x205C DUP3 DUP3 PUSH2 0x1EF3 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2083 DUP2 DUP5 PUSH2 0x1FB2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x209E DUP2 PUSH2 0x208B JUMP JUMPDEST DUP2 EQ PUSH2 0x20A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x20BB DUP2 PUSH2 0x2095 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20D8 JUMPI PUSH2 0x20D7 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x20E6 DUP6 DUP3 DUP7 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x20F7 DUP6 DUP3 DUP7 ADD PUSH2 0x20AC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x2120 JUMPI PUSH2 0x211F PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x213E JUMPI PUSH2 0x213D PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x214A DUP11 DUP3 DUP12 ADD PUSH2 0x1A59 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x215B DUP11 DUP3 DUP12 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x216C DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH2 0x217D DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH2 0x218E DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH2 0x219F DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH2 0x21B0 DUP11 DUP3 DUP12 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x21DA JUMPI PUSH2 0x21D9 PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21F7 JUMPI PUSH2 0x21F6 PUSH2 0x21BF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2213 JUMPI PUSH2 0x2212 PUSH2 0x1C08 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2236 JUMPI PUSH2 0x2235 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2244 DUP9 DUP3 DUP10 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x2255 DUP9 DUP3 DUP10 ADD PUSH2 0x1AD0 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x2266 DUP9 DUP3 DUP10 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2287 JUMPI PUSH2 0x2286 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x2293 DUP9 DUP3 DUP10 ADD PUSH2 0x21C4 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x230F PUSH1 0x27 DUP4 PUSH2 0x22A2 JUMP JUMPDEST SWAP2 POP PUSH2 0x231A DUP3 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x233E DUP2 PUSH2 0x2302 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2350 DUP3 PUSH2 0x1EAD JUMP JUMPDEST PUSH2 0x235A DUP2 DUP6 PUSH2 0x22A2 JUMP JUMPDEST SWAP4 POP PUSH2 0x236A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1EC9 JUMP JUMPDEST PUSH2 0x2373 DUP2 PUSH2 0x194B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2398 DUP2 DUP9 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP PUSH2 0x23A7 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x1BB2 JUMP JUMPDEST PUSH2 0x23B4 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x23C1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x23CE PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x23E7 DUP2 PUSH2 0x1AB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2403 JUMPI PUSH2 0x2402 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2411 DUP5 DUP3 DUP6 ADD PUSH2 0x23D8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2429 DUP2 PUSH2 0x1AEF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2445 JUMPI PUSH2 0x2444 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2453 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2479 PUSH2 0x2474 DUP5 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2495 JUMPI PUSH2 0x2494 PUSH2 0x1946 JUMP JUMPDEST JUMPDEST PUSH2 0x24A0 DUP5 DUP3 DUP6 PUSH2 0x1EC9 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24BD JUMPI PUSH2 0x24BC PUSH2 0x1941 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x24CD DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2466 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x24E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x24F5 DUP2 PUSH2 0x24D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2512 JUMPI PUSH2 0x2511 PUSH2 0x245C JUMP JUMPDEST JUMPDEST PUSH2 0x251D PUSH2 0x100 PUSH2 0x19BC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x253D JUMPI PUSH2 0x253C PUSH2 0x2461 JUMP JUMPDEST JUMPDEST PUSH2 0x2549 DUP5 DUP3 DUP6 ADD PUSH2 0x24A8 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x255D DUP5 DUP3 DUP6 ADD PUSH2 0x23D8 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2571 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x2585 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x2599 DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x25AD DUP5 DUP3 DUP6 ADD PUSH2 0x241A JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP PUSH1 0xC0 PUSH2 0x25C1 DUP5 DUP3 DUP6 ADD PUSH2 0x24E6 JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH1 0xE0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x25E5 JUMPI PUSH2 0x25E4 PUSH2 0x2461 JUMP JUMPDEST JUMPDEST PUSH2 0x25F1 DUP5 DUP3 DUP6 ADD PUSH2 0x24A8 JUMP JUMPDEST PUSH1 0xE0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2613 JUMPI PUSH2 0x2612 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2631 JUMPI PUSH2 0x2630 PUSH2 0x193C JUMP JUMPDEST JUMPDEST PUSH2 0x263D DUP5 DUP3 DUP6 ADD PUSH2 0x24FB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x264F DUP2 PUSH2 0x208B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x266A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2646 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2679 DUP2 PUSH2 0x1D2D JUMP JUMPDEST DUP2 EQ PUSH2 0x2684 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2696 DUP2 PUSH2 0x2670 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26B2 JUMPI PUSH2 0x26B1 PUSH2 0x1937 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x26C0 DUP5 DUP3 DUP6 ADD PUSH2 0x2687 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26E3 DUP2 DUP11 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP PUSH2 0x26F2 PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x1BB2 JUMP JUMPDEST PUSH2 0x26FF PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x270C PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x2719 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x2726 PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x1D63 JUMP JUMPDEST PUSH2 0x2733 PUSH1 0xC0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4572726F722C2077726F6E67206D6F64652073656C6563746564000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2775 PUSH1 0x1A DUP4 PUSH2 0x22A2 JUMP JUMPDEST SWAP2 POP PUSH2 0x2780 DUP3 PUSH2 0x273F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27A4 DUP2 PUSH2 0x2768 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2814 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 POP PUSH2 0x281F DUP4 PUSH2 0x1AE5 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x2837 JUMPI PUSH2 0x2836 PUSH2 0x27DA JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2877 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x28A9 JUMPI PUSH2 0x28A8 PUSH2 0x27DA JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD 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 DUP1 REVERT JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28DF DUP4 DUP6 PUSH2 0x28B4 JUMP JUMPDEST SWAP4 POP PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT ISZERO PUSH2 0x2912 JUMPI PUSH2 0x2911 PUSH2 0x28C5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 MUL SWAP3 POP PUSH2 0x2923 DUP4 DUP6 DUP5 PUSH2 0x28CA JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2944 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1BB2 JUMP JUMPDEST PUSH2 0x2951 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1D63 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2964 DUP2 DUP5 DUP7 PUSH2 0x28D3 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C72656164792061646465640000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29A5 PUSH1 0x15 DUP4 PUSH2 0x22A2 JUMP JUMPDEST SWAP2 POP PUSH2 0x29B0 DUP3 PUSH2 0x296F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x29D4 DUP2 PUSH2 0x2998 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0xB6A89 RETURN 0xAF 0x4E 0xD 0x29 0xDF 0xE5 0x26 DUP1 0xF6 AND PUSH29 0xF79A317A23500E58AFBECBCF0621B20F64736F6C634300081800330000 ", + "sourceMap": "111:6197:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2981:665;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6089:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;629:95:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;418:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1665:199:7;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5881:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2880:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2069:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:97:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4858:166:7;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1065:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5462:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1453:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2492:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3652:831;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5030:426;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1870:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5664:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1279:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2279:207;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2703:171;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;815:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2981:665;3209:7;331::4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3228:28:7::1;3274;;;;;;;;;;;3228:75;;3313:23;3339:13;:33;;;3386:11;3411:12;3437:18;3469:11;3494:14;3339:179;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3313:205;;3528:27;3539:15;3528:10;:27::i;:::-;3570:37;3591:15;3570:37;;;;;;:::i;:::-;;;;;;;;3624:15;3617:22;;;;2981:665:::0;;;;;;;:::o;6089:217::-;331:7:4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6214:16:7::1;6242:14;6214:43;;6267:7;:25;;;6293:5;6267:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6204:102;6089:217:::0;;:::o;629:95:4:-;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;712:5:::1;694:7:::0;:15:::1;702:6;694:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;629:95:::0;:::o;418:102::-;473:4;496:7;:17;504:8;496:17;;;;;;;;;;;;;;;;;;;;;;;;;489:24;;418:102;;;:::o;1665:199:7:-;1751:7;1770:16;1798:14;1770:43;;1830:7;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1823:34;;;1665:199;;;:::o;5881:202::-;331:7:4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5994:16:7::1;6022:14;5994:43;;6047:7;:23;;;6071:4;6047:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5984:99;5881:202:::0;;:::o;2880:95::-;2924:16;2959:9;2952:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2880:95;:::o;2069:204::-;2152:18;;:::i;:::-;2182:16;2210:14;2182:43;;2242:7;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2235:31;;;2069:204;;;:::o;526:97:4:-;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;612:4:::1;591:7;:18:::0;599:9:::1;591:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;526:97:::0;:::o;4858:166:7:-;331:7:4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4942:16:7::1;4970:14;4942:43;;4995:7;:15;;;5011:5;4995:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4932:92;4858:166:::0;;:::o;1065:208::-;1166:4;1182:16;1210:14;1182:43;;1242:7;:18;;;1261:4;1242:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1235:31;;;1065:208;;;;:::o;5462:196::-;331:7:4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5572:16:7::1;5600:14;5572:43;;5625:7;:20;;;5646:4;5625:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5562:96;5462:196:::0;;:::o;1453:206::-;1553:4;1569:16;1597:14;1569:43;;1629:7;:17;;;1647:4;1629:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1622:30;;;1453:206;;;;:::o;2492:205::-;2581:7;2600:16;2628:14;2600:43;;2660:7;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2653:37;;;2492:205;;;:::o;3652:831::-;3929:7;331::4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3948:26:7::1;3991:30;;;;;;;;;;;3948:74;;4032:23;4058:12;:32;;;4104:11;4129:12;4155:7;4176:18;4208:11;4233:14;4261:4;4058:217;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4032:243;;4320:1;4293:29;;:15;:29;;::::0;4285:68:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4363:27;4374:15;4363:10;:27::i;:::-;4405:39;4428:15;4405:39;;;;;;:::i;:::-;;;;;;;;4461:15;4454:22;;;;3652:831:::0;;;;;;;;;:::o;5030:426::-;331:7:4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5105:11:7::1;5139:6:::0;5134:258:::1;5155:9;:16;;;;5151:1;:20;:31;;;;;5176:6;5175:7;5151:31;5134:258;;;5223:14;5207:30;;:9;5217:1;5207:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:30;;::::0;5203:179:::1;;5266:4;5257:13;;5303:9;5332:1;5313:9;:16;;;;:20;;;;:::i;:::-;5303:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5288:9;5298:1;5288:12;;;;;;;;:::i;:::-;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5352:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:179;5184:3;;;;;:::i;:::-;;;;5134:258;;;;5406:6;5402:47;;;5419:30;5434:14;5419:30;;;;;;:::i;:::-;;;;;;;;5402:47;5095:361;5030:426:::0;:::o;1870:193::-;1953:7;1972:16;2000:14;1972:43;;2032:7;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2025:31;;;1870:193;;;:::o;5664:211::-;331:7:4;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5786:16:7::1;5814:14;5786:43;;5839:7;:22;;;5862:5;5839:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5776:99;5664:211:::0;;:::o;1279:168::-;1344:4;1360:16;1388:14;1360:43;;1420:7;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1413:27;;;1279:168;;;:::o;2279:207::-;2369:7;2388:16;2416:14;2388:43;;2448:7;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2441:38;;;2279:207;;;:::o;2703:171::-;2768:7;2787:16;2815:14;2787:43;;2847:7;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2840:27;;;2703:171;;;:::o;815:244::-;965:16;993:14;965:43;;1018:7;:13;;;1032:4;1038:6;1046:5;;1018:34;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;955:104;815:244;;;;;:::o;4489:363::-;4555:11;4589:6;4584:122;4605:9;:16;;;;4601:1;:20;:31;;;;;4626:6;4625:7;4601:31;4584:122;;;4678:17;4662:33;;:9;4672:1;4662:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:33;;;4653:42;;4634:3;;;;;:::i;:::-;;;;4584:122;;;;4724:6;4723:7;4715:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4766:9;4781:17;4766:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:31;4827:17;4814:31;;;;;;:::i;:::-;;;;;;;;4545:307;4489:363;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:126::-;2590:7;2630:42;2623:5;2619:54;2608:65;;2553:126;;;:::o;2685:96::-;2722:7;2751:24;2769:5;2751:24;:::i;:::-;2740:35;;2685:96;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:1091::-;3521:6;3529;3537;3545;3553;3602:3;3590:9;3581:7;3577:23;3573:33;3570:120;;;3609:79;;:::i;:::-;3570:120;3757:1;3746:9;3742:17;3729:31;3787:18;3779:6;3776:30;3773:117;;;3809:79;;:::i;:::-;3773:117;3914:63;3969:7;3960:6;3949:9;3945:22;3914:63;:::i;:::-;3904:73;;3700:287;4026:2;4052:53;4097:7;4088:6;4077:9;4073:22;4052:53;:::i;:::-;4042:63;;3997:118;4154:2;4180:53;4225:7;4216:6;4205:9;4201:22;4180:53;:::i;:::-;4170:63;;4125:118;4282:2;4308:53;4353:7;4344:6;4333:9;4329:22;4308:53;:::i;:::-;4298:63;;4253:118;4410:3;4437:53;4482:7;4473:6;4462:9;4458:22;4437:53;:::i;:::-;4427:63;;4381:119;3416:1091;;;;;;;;:::o;4513:118::-;4600:24;4618:5;4600:24;:::i;:::-;4595:3;4588:37;4513:118;;:::o;4637:222::-;4730:4;4768:2;4757:9;4753:18;4745:26;;4781:71;4849:1;4838:9;4834:17;4825:6;4781:71;:::i;:::-;4637:222;;;;:::o;4865:311::-;4942:4;5032:18;5024:6;5021:30;5018:56;;;5054:18;;:::i;:::-;5018:56;5104:4;5096:6;5092:17;5084:25;;5164:4;5158;5154:15;5146:23;;4865:311;;;:::o;5182:117::-;5291:1;5288;5281:12;5322:710;5418:5;5443:81;5459:64;5516:6;5459:64;:::i;:::-;5443:81;:::i;:::-;5434:90;;5544:5;5573:6;5566:5;5559:21;5607:4;5600:5;5596:16;5589:23;;5660:4;5652:6;5648:17;5640:6;5636:30;5689:3;5681:6;5678:15;5675:122;;;5708:79;;:::i;:::-;5675:122;5823:6;5806:220;5840:6;5835:3;5832:15;5806:220;;;5915:3;5944:37;5977:3;5965:10;5944:37;:::i;:::-;5939:3;5932:50;6011:4;6006:3;6002:14;5995:21;;5882:144;5866:4;5861:3;5857:14;5850:21;;5806:220;;;5810:21;5424:608;;5322:710;;;;;:::o;6055:370::-;6126:5;6175:3;6168:4;6160:6;6156:17;6152:27;6142:122;;6183:79;;:::i;:::-;6142:122;6300:6;6287:20;6325:94;6415:3;6407:6;6400:4;6392:6;6388:17;6325:94;:::i;:::-;6316:103;;6132:293;6055:370;;;;:::o;6431:684::-;6524:6;6532;6581:2;6569:9;6560:7;6556:23;6552:32;6549:119;;;6587:79;;:::i;:::-;6549:119;6707:1;6732:53;6777:7;6768:6;6757:9;6753:22;6732:53;:::i;:::-;6722:63;;6678:117;6862:2;6851:9;6847:18;6834:32;6893:18;6885:6;6882:30;6879:117;;;6915:79;;:::i;:::-;6879:117;7020:78;7090:7;7081:6;7070:9;7066:22;7020:78;:::i;:::-;7010:88;;6805:303;6431:684;;;;;:::o;7121:329::-;7180:6;7229:2;7217:9;7208:7;7204:23;7200:32;7197:119;;;7235:79;;:::i;:::-;7197:119;7355:1;7380:53;7425:7;7416:6;7405:9;7401:22;7380:53;:::i;:::-;7370:63;;7326:117;7121:329;;;;:::o;7456:90::-;7490:7;7533:5;7526:13;7519:21;7508:32;;7456:90;;;:::o;7552:109::-;7633:21;7648:5;7633:21;:::i;:::-;7628:3;7621:34;7552:109;;:::o;7667:210::-;7754:4;7792:2;7781:9;7777:18;7769:26;;7805:65;7867:1;7856:9;7852:17;7843:6;7805:65;:::i;:::-;7667:210;;;;:::o;7883:118::-;7970:24;7988:5;7970:24;:::i;:::-;7965:3;7958:37;7883:118;;:::o;8007:222::-;8100:4;8138:2;8127:9;8123:18;8115:26;;8151:71;8219:1;8208:9;8204:17;8195:6;8151:71;:::i;:::-;8007:222;;;;:::o;8235:474::-;8303:6;8311;8360:2;8348:9;8339:7;8335:23;8331:32;8328:119;;;8366:79;;:::i;:::-;8328:119;8486:1;8511:53;8556:7;8547:6;8536:9;8532:22;8511:53;:::i;:::-;8501:63;;8457:117;8613:2;8639:53;8684:7;8675:6;8664:9;8660:22;8639:53;:::i;:::-;8629:63;;8584:118;8235:474;;;;;:::o;8715:114::-;8782:6;8816:5;8810:12;8800:22;;8715:114;;;:::o;8835:184::-;8934:11;8968:6;8963:3;8956:19;9008:4;9003:3;8999:14;8984:29;;8835:184;;;;:::o;9025:132::-;9092:4;9115:3;9107:11;;9145:4;9140:3;9136:14;9128:22;;9025:132;;;:::o;9163:108::-;9240:24;9258:5;9240:24;:::i;:::-;9235:3;9228:37;9163:108;;:::o;9277:179::-;9346:10;9367:46;9409:3;9401:6;9367:46;:::i;:::-;9445:4;9440:3;9436:14;9422:28;;9277:179;;;;:::o;9462:113::-;9532:4;9564;9559:3;9555:14;9547:22;;9462:113;;;:::o;9611:732::-;9730:3;9759:54;9807:5;9759:54;:::i;:::-;9829:86;9908:6;9903:3;9829:86;:::i;:::-;9822:93;;9939:56;9989:5;9939:56;:::i;:::-;10018:7;10049:1;10034:284;10059:6;10056:1;10053:13;10034:284;;;10135:6;10129:13;10162:63;10221:3;10206:13;10162:63;:::i;:::-;10155:70;;10248:60;10301:6;10248:60;:::i;:::-;10238:70;;10094:224;10081:1;10078;10074:9;10069:14;;10034:284;;;10038:14;10334:3;10327:10;;9735:608;;;9611:732;;;;:::o;10349:373::-;10492:4;10530:2;10519:9;10515:18;10507:26;;10579:9;10573:4;10569:20;10565:1;10554:9;10550:17;10543:47;10607:108;10710:4;10701:6;10607:108;:::i;:::-;10599:116;;10349:373;;;;:::o;10728:99::-;10780:6;10814:5;10808:12;10798:22;;10728:99;;;:::o;10833:159::-;10907:11;10941:6;10936:3;10929:19;10981:4;10976:3;10972:14;10957:29;;10833:159;;;;:::o;10998:246::-;11079:1;11089:113;11103:6;11100:1;11097:13;11089:113;;;11188:1;11183:3;11179:11;11173:18;11169:1;11164:3;11160:11;11153:39;11125:2;11122:1;11118:10;11113:15;;11089:113;;;11236:1;11227:6;11222:3;11218:16;11211:27;11060:184;10998:246;;;:::o;11250:357::-;11328:3;11356:39;11389:5;11356:39;:::i;:::-;11411:61;11465:6;11460:3;11411:61;:::i;:::-;11404:68;;11481:65;11539:6;11534:3;11527:4;11520:5;11516:16;11481:65;:::i;:::-;11571:29;11593:6;11571:29;:::i;:::-;11566:3;11562:39;11555:46;;11332:275;11250:357;;;;:::o;11613:108::-;11690:24;11708:5;11690:24;:::i;:::-;11685:3;11678:37;11613:108;;:::o;11727:180::-;11775:77;11772:1;11765:88;11872:4;11869:1;11862:15;11896:4;11893:1;11886:15;11913:121;12002:1;11995:5;11992:12;11982:46;;12008:18;;:::i;:::-;11982:46;11913:121;:::o;12040:143::-;12093:7;12122:5;12111:16;;12128:49;12171:5;12128:49;:::i;:::-;12040:143;;;:::o;12189:::-;12253:9;12286:40;12320:5;12286:40;:::i;:::-;12273:53;;12189:143;;;:::o;12338:149::-;12429:51;12474:5;12429:51;:::i;:::-;12424:3;12417:64;12338:149;;:::o;12541:1812::-;12668:3;12704:6;12699:3;12695:16;12800:4;12793:5;12789:16;12783:23;12853:3;12847:4;12843:14;12836:4;12831:3;12827:14;12820:38;12879:73;12947:4;12933:12;12879:73;:::i;:::-;12871:81;;12721:242;13055:4;13048:5;13044:16;13038:23;13074:63;13131:4;13126:3;13122:14;13108:12;13074:63;:::i;:::-;12973:174;13243:4;13236:5;13232:16;13226:23;13262:63;13319:4;13314:3;13310:14;13296:12;13262:63;:::i;:::-;13157:178;13430:4;13423:5;13419:16;13413:23;13449:63;13506:4;13501:3;13497:14;13483:12;13449:63;:::i;:::-;13345:177;13611:4;13604:5;13600:16;13594:23;13630:63;13687:4;13682:3;13678:14;13664:12;13630:63;:::i;:::-;13532:171;13795:4;13788:5;13784:16;13778:23;13814:63;13871:4;13866:3;13862:14;13848:12;13814:63;:::i;:::-;13713:174;13976:4;13969:5;13965:16;13959:23;13995:77;14066:4;14061:3;14057:14;14043:12;13995:77;:::i;:::-;13897:185;14163:4;14156:5;14152:16;14146:23;14216:3;14210:4;14206:14;14199:4;14194:3;14190:14;14183:38;14242:73;14310:4;14296:12;14242:73;:::i;:::-;14234:81;;14092:234;14343:4;14336:11;;12673:1680;12541:1812;;;;:::o;14359:389::-;14510:4;14548:2;14537:9;14533:18;14525:26;;14597:9;14591:4;14587:20;14583:1;14572:9;14568:17;14561:47;14625:116;14736:4;14727:6;14625:116;:::i;:::-;14617:124;;14359:389;;;;:::o;14754:77::-;14791:7;14820:5;14809:16;;14754:77;;;:::o;14837:122::-;14910:24;14928:5;14910:24;:::i;:::-;14903:5;14900:35;14890:63;;14949:1;14946;14939:12;14890:63;14837:122;:::o;14965:139::-;15011:5;15049:6;15036:20;15027:29;;15065:33;15092:5;15065:33;:::i;:::-;14965:139;;;;:::o;15110:474::-;15178:6;15186;15235:2;15223:9;15214:7;15210:23;15206:32;15203:119;;;15241:79;;:::i;:::-;15203:119;15361:1;15386:53;15431:7;15422:6;15411:9;15407:22;15386:53;:::i;:::-;15376:63;;15332:117;15488:2;15514:53;15559:7;15550:6;15539:9;15535:22;15514:53;:::i;:::-;15504:63;;15459:118;15110:474;;;;;:::o;15590:1383::-;15713:6;15721;15729;15737;15745;15753;15761;15810:3;15798:9;15789:7;15785:23;15781:33;15778:120;;;15817:79;;:::i;:::-;15778:120;15965:1;15954:9;15950:17;15937:31;15995:18;15987:6;15984:30;15981:117;;;16017:79;;:::i;:::-;15981:117;16122:63;16177:7;16168:6;16157:9;16153:22;16122:63;:::i;:::-;16112:73;;15908:287;16234:2;16260:53;16305:7;16296:6;16285:9;16281:22;16260:53;:::i;:::-;16250:63;;16205:118;16362:2;16388:53;16433:7;16424:6;16413:9;16409:22;16388:53;:::i;:::-;16378:63;;16333:118;16490:2;16516:53;16561:7;16552:6;16541:9;16537:22;16516:53;:::i;:::-;16506:63;;16461:118;16618:3;16645:53;16690:7;16681:6;16670:9;16666:22;16645:53;:::i;:::-;16635:63;;16589:119;16747:3;16774:53;16819:7;16810:6;16799:9;16795:22;16774:53;:::i;:::-;16764:63;;16718:119;16876:3;16903:53;16948:7;16939:6;16928:9;16924:22;16903:53;:::i;:::-;16893:63;;16847:119;15590:1383;;;;;;;;;;:::o;16979:117::-;17088:1;17085;17078:12;17119:568;17192:8;17202:6;17252:3;17245:4;17237:6;17233:17;17229:27;17219:122;;17260:79;;:::i;:::-;17219:122;17373:6;17360:20;17350:30;;17403:18;17395:6;17392:30;17389:117;;;17425:79;;:::i;:::-;17389:117;17539:4;17531:6;17527:17;17515:29;;17593:3;17585:4;17577:6;17573:17;17563:8;17559:32;17556:41;17553:128;;;17600:79;;:::i;:::-;17553:128;17119:568;;;;;:::o;17693:995::-;17806:6;17814;17822;17830;17838;17887:3;17875:9;17866:7;17862:23;17858:33;17855:120;;;17894:79;;:::i;:::-;17855:120;18014:1;18039:53;18084:7;18075:6;18064:9;18060:22;18039:53;:::i;:::-;18029:63;;17985:117;18141:2;18167:53;18212:7;18203:6;18192:9;18188:22;18167:53;:::i;:::-;18157:63;;18112:118;18269:2;18295:53;18340:7;18331:6;18320:9;18316:22;18295:53;:::i;:::-;18285:63;;18240:118;18425:2;18414:9;18410:18;18397:32;18456:18;18448:6;18445:30;18442:117;;;18478:79;;:::i;:::-;18442:117;18591:80;18663:7;18654:6;18643:9;18639:22;18591:80;:::i;:::-;18573:98;;;;18368:313;17693:995;;;;;;;;:::o;18694:169::-;18778:11;18812:6;18807:3;18800:19;18852:4;18847:3;18843:14;18828:29;;18694:169;;;;:::o;18869:226::-;19009:34;19005:1;18997:6;18993:14;18986:58;19078:9;19073:2;19065:6;19061:15;19054:34;18869:226;:::o;19101:366::-;19243:3;19264:67;19328:2;19323:3;19264:67;:::i;:::-;19257:74;;19340:93;19429:3;19340:93;:::i;:::-;19458:2;19453:3;19449:12;19442:19;;19101:366;;;:::o;19473:419::-;19639:4;19677:2;19666:9;19662:18;19654:26;;19726:9;19720:4;19716:20;19712:1;19701:9;19697:17;19690:47;19754:131;19880:4;19754:131;:::i;:::-;19746:139;;19473:419;;;:::o;19898:377::-;19986:3;20014:39;20047:5;20014:39;:::i;:::-;20069:71;20133:6;20128:3;20069:71;:::i;:::-;20062:78;;20149:65;20207:6;20202:3;20195:4;20188:5;20184:16;20149:65;:::i;:::-;20239:29;20261:6;20239:29;:::i;:::-;20234:3;20230:39;20223:46;;19990:285;19898:377;;;;:::o;20281:755::-;20506:4;20544:3;20533:9;20529:19;20521:27;;20594:9;20588:4;20584:20;20580:1;20569:9;20565:17;20558:47;20622:78;20695:4;20686:6;20622:78;:::i;:::-;20614:86;;20710:72;20778:2;20767:9;20763:18;20754:6;20710:72;:::i;:::-;20792;20860:2;20849:9;20845:18;20836:6;20792:72;:::i;:::-;20874;20942:2;20931:9;20927:18;20918:6;20874:72;:::i;:::-;20956:73;21024:3;21013:9;21009:19;21000:6;20956:73;:::i;:::-;20281:755;;;;;;;;:::o;21042:143::-;21099:5;21130:6;21124:13;21115:22;;21146:33;21173:5;21146:33;:::i;:::-;21042:143;;;;:::o;21191:351::-;21261:6;21310:2;21298:9;21289:7;21285:23;21281:32;21278:119;;;21316:79;;:::i;:::-;21278:119;21436:1;21461:64;21517:7;21508:6;21497:9;21493:22;21461:64;:::i;:::-;21451:74;;21407:128;21191:351;;;;:::o;21548:143::-;21605:5;21636:6;21630:13;21621:22;;21652:33;21679:5;21652:33;:::i;:::-;21548:143;;;;:::o;21697:351::-;21767:6;21816:2;21804:9;21795:7;21791:23;21787:32;21784:119;;;21822:79;;:::i;:::-;21784:119;21942:1;21967:64;22023:7;22014:6;22003:9;21999:22;21967:64;:::i;:::-;21957:74;;21913:128;21697:351;;;;:::o;22054:117::-;22163:1;22160;22153:12;22177:117;22286:1;22283;22276:12;22300:434;22389:5;22414:66;22430:49;22472:6;22430:49;:::i;:::-;22414:66;:::i;:::-;22405:75;;22503:6;22496:5;22489:21;22541:4;22534:5;22530:16;22579:3;22570:6;22565:3;22561:16;22558:25;22555:112;;;22586:79;;:::i;:::-;22555:112;22676:52;22721:6;22716:3;22711;22676:52;:::i;:::-;22395:339;22300:434;;;;;:::o;22754:355::-;22821:5;22870:3;22863:4;22855:6;22851:17;22847:27;22837:122;;22878:79;;:::i;:::-;22837:122;22988:6;22982:13;23013:90;23099:3;23091:6;23084:4;23076:6;23072:17;23013:90;:::i;:::-;23004:99;;22827:282;22754:355;;;;:::o;23115:115::-;23204:1;23197:5;23194:12;23184:40;;23220:1;23217;23210:12;23184:40;23115:115;:::o;23236:175::-;23309:5;23340:6;23334:13;23325:22;;23356:49;23399:5;23356:49;:::i;:::-;23236:175;;;;:::o;23443:2060::-;23532:5;23576:6;23564:9;23559:3;23555:19;23551:32;23548:119;;;23586:79;;:::i;:::-;23548:119;23685:23;23701:6;23685:23;:::i;:::-;23676:32;;23795:1;23784:9;23780:17;23774:24;23825:18;23817:6;23814:30;23811:117;;;23847:79;;:::i;:::-;23811:117;23967:70;24033:3;24024:6;24013:9;24009:22;23967:70;:::i;:::-;23960:4;23953:5;23949:16;23942:96;23718:331;24118:2;24159:60;24215:3;24206:6;24195:9;24191:22;24159:60;:::i;:::-;24152:4;24145:5;24141:16;24134:86;24059:172;24304:2;24345:60;24401:3;24392:6;24381:9;24377:22;24345:60;:::i;:::-;24338:4;24331:5;24327:16;24320:86;24241:176;24489:2;24530:60;24586:3;24577:6;24566:9;24562:22;24530:60;:::i;:::-;24523:4;24516:5;24512:16;24505:86;24427:175;24668:3;24710:60;24766:3;24757:6;24746:9;24742:22;24710:60;:::i;:::-;24703:4;24696:5;24692:16;24685:86;24612:170;24851:3;24893:60;24949:3;24940:6;24929:9;24925:22;24893:60;:::i;:::-;24886:4;24879:5;24875:16;24868:86;24792:173;25031:3;25073:76;25145:3;25136:6;25125:9;25121:22;25073:76;:::i;:::-;25066:4;25059:5;25055:16;25048:102;24975:186;25240:3;25229:9;25225:19;25219:26;25272:18;25264:6;25261:30;25258:117;;;25294:79;;:::i;:::-;25258:117;25414:70;25480:3;25471:6;25460:9;25456:22;25414:70;:::i;:::-;25407:4;25400:5;25396:16;25389:96;25171:325;23443:2060;;;;:::o;25509:562::-;25608:6;25657:2;25645:9;25636:7;25632:23;25628:32;25625:119;;;25663:79;;:::i;:::-;25625:119;25804:1;25793:9;25789:17;25783:24;25834:18;25826:6;25823:30;25820:117;;;25856:79;;:::i;:::-;25820:117;25961:93;26046:7;26037:6;26026:9;26022:22;25961:93;:::i;:::-;25951:103;;25754:310;25509:562;;;;:::o;26077:118::-;26164:24;26182:5;26164:24;:::i;:::-;26159:3;26152:37;26077:118;;:::o;26201:222::-;26294:4;26332:2;26321:9;26317:18;26309:26;;26345:71;26413:1;26402:9;26398:17;26389:6;26345:71;:::i;:::-;26201:222;;;;:::o;26429:116::-;26499:21;26514:5;26499:21;:::i;:::-;26492:5;26489:32;26479:60;;26535:1;26532;26525:12;26479:60;26429:116;:::o;26551:137::-;26605:5;26636:6;26630:13;26621:22;;26652:30;26676:5;26652:30;:::i;:::-;26551:137;;;;:::o;26694:345::-;26761:6;26810:2;26798:9;26789:7;26785:23;26781:32;26778:119;;;26816:79;;:::i;:::-;26778:119;26936:1;26961:61;27014:7;27005:6;26994:9;26990:22;26961:61;:::i;:::-;26951:71;;26907:125;26694:345;;;;:::o;27045:977::-;27326:4;27364:3;27353:9;27349:19;27341:27;;27414:9;27408:4;27404:20;27400:1;27389:9;27385:17;27378:47;27442:78;27515:4;27506:6;27442:78;:::i;:::-;27434:86;;27530:72;27598:2;27587:9;27583:18;27574:6;27530:72;:::i;:::-;27612;27680:2;27669:9;27665:18;27656:6;27612:72;:::i;:::-;27694;27762:2;27751:9;27747:18;27738:6;27694:72;:::i;:::-;27776:73;27844:3;27833:9;27829:19;27820:6;27776:73;:::i;:::-;27859;27927:3;27916:9;27912:19;27903:6;27859:73;:::i;:::-;27942;28010:3;27999:9;27995:19;27986:6;27942:73;:::i;:::-;27045:977;;;;;;;;;;:::o;28028:176::-;28168:28;28164:1;28156:6;28152:14;28145:52;28028:176;:::o;28210:366::-;28352:3;28373:67;28437:2;28432:3;28373:67;:::i;:::-;28366:74;;28449:93;28538:3;28449:93;:::i;:::-;28567:2;28562:3;28558:12;28551:19;;28210:366;;;:::o;28582:419::-;28748:4;28786:2;28775:9;28771:18;28763:26;;28835:9;28829:4;28825:20;28821:1;28810:9;28806:17;28799:47;28863:131;28989:4;28863:131;:::i;:::-;28855:139;;28582:419;;;:::o;29007:180::-;29055:77;29052:1;29045:88;29152:4;29149:1;29142:15;29176:4;29173:1;29166:15;29193:180;29241:77;29238:1;29231:88;29338:4;29335:1;29328:15;29362:4;29359:1;29352:15;29379:194;29419:4;29439:20;29457:1;29439:20;:::i;:::-;29434:25;;29473:20;29491:1;29473:20;:::i;:::-;29468:25;;29517:1;29514;29510:9;29502:17;;29541:1;29535:4;29532:11;29529:37;;;29546:18;;:::i;:::-;29529:37;29379:194;;;;:::o;29579:180::-;29627:77;29624:1;29617:88;29724:4;29721:1;29714:15;29748:4;29745:1;29738:15;29765:233;29804:3;29827:24;29845:5;29827:24;:::i;:::-;29818:33;;29873:66;29866:5;29863:77;29860:103;;29943:18;;:::i;:::-;29860:103;29990:1;29983:5;29979:13;29972:20;;29765:233;;;:::o;30004:184::-;30103:11;30137:6;30132:3;30125:19;30177:4;30172:3;30168:14;30153:29;;30004:184;;;;:::o;30194:117::-;30303:1;30300;30293:12;30317:98;30401:6;30396:3;30391;30378:30;30317:98;;;:::o;30451:537::-;30579:3;30600:86;30679:6;30674:3;30600:86;:::i;:::-;30593:93;;30710:66;30702:6;30699:78;30696:165;;;30780:79;;:::i;:::-;30696:165;30892:4;30884:6;30880:17;30870:27;;30907:43;30943:6;30938:3;30931:5;30907:43;:::i;:::-;30975:6;30970:3;30966:16;30959:23;;30451:537;;;;;:::o;30994:613::-;31203:4;31241:2;31230:9;31226:18;31218:26;;31254:71;31322:1;31311:9;31307:17;31298:6;31254:71;:::i;:::-;31335:72;31403:2;31392:9;31388:18;31379:6;31335:72;:::i;:::-;31454:9;31448:4;31444:20;31439:2;31428:9;31424:18;31417:48;31482:118;31595:4;31586:6;31578;31482:118;:::i;:::-;31474:126;;30994:613;;;;;;;:::o;31613:171::-;31753:23;31749:1;31741:6;31737:14;31730:47;31613:171;:::o;31790:366::-;31932:3;31953:67;32017:2;32012:3;31953:67;:::i;:::-;31946:74;;32029:93;32118:3;32029:93;:::i;:::-;32147:2;32142:3;32138:12;32131:19;;31790:366;;;:::o;32162:419::-;32328:4;32366:2;32355:9;32351:18;32343:26;;32415:9;32409:4;32405:20;32401:1;32390:9;32386:17;32379:47;32443:131;32569:4;32443:131;:::i;:::-;32435:139;;32162:419;;;:::o" + }, + "methodIdentifiers": { + "addAdmin(address)": "70480275", + "allowAddress(address,address)": "989a9863", + "allowAddresses(address,address[])": "ead7778a", + "claim(address,address,uint256,bytes32[])": "fabed412", + "deployAndAddAirdropERC1155(string,address,uint256,uint256,uint256,uint256,uint256)": "b17acd1a", + "deployAndAddAirdropERC20(string,address,uint256,uint256,uint256)": "07b1d553", + "disallowAddress(address,address)": "3ad14ed6", + "disallowAddresses(address,address[])": "0cb27628", + "getAirdropAmountLeft(address)": "a9b8f018", + "getAirdropInfo(address)": "6b58222e", + "getAirdrops()": "59f47add", + "getBalance(address)": "f8b2cb4f", + "getClaimAmount(address)": "dde070e8", + "getExpirationDate(address)": "2522f8da", + "getTotalAirdropAmount(address)": "f89f2a2c", + "hasClaimed(address,address)": "89266f60", + "hasExpired(address)": "f77bc88b", + "isAdmin(address)": "24d7806c", + "isAllowed(address,address)": "a1654379", + "removeAdmin(address)": "1785f53c", + "removeAirdrop(address)": "c012a68f", + "setRoot(address,bytes32)": "7f94f65d" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialAdmins\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"airdropDeployerERC20Address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"airdropDeployerERC1155Address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropERC1155Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropERC20Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAdmin\",\"type\":\"address\"}],\"name\":\"addAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"allowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"}],\"name\":\"allowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mode\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdropERC1155\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdropERC20\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"disallowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"}],\"name\":\"disallowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdrops\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"}],\"name\":\"removeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"removeAirdrop\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AirdropManager.sol\":\"AirdropManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Administrable.sol\":{\"keccak256\":\"0xf5cb19fd1d0fcffcfa1f8475075e93fe4aef6c964a1f672fe378a72119b3b75d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97a66f5774463cfd9ceb4fb2148a2a079b23fe41d18974eb0b90c26c2ec617f\",\"dweb:/ipfs/QmP8sBeatf66mDQJZa4vXj3oRsxTAxnhkXNEwSxUptTrk7\"]},\"contracts/AirdropManager.sol\":{\"keccak256\":\"0x6ab5517f8d91a3600e901a725efb87f8ef76b573175509b9d6c76293671e3781\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf9a1303be47159d361cd2cd9dce45a66bd7ecb75dc25edf8d384a5f274840b\",\"dweb:/ipfs/QmVKaRbN5y278FrfrdsRSTC3BGebJ3YNJHN9bWb1pFgxoj\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/CustomAirdrop1155.sol": { + "CustomAirdrop1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "allowedAddress", + "type": "address" + } + ], + "name": "AddressAllowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "disallowedAddress", + "type": "address" + } + ], + "name": "AddressDisallowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "allowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "allowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "disallowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "disallowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBalanceToClaim", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBeenTotallyClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_2237": { + "entryPoint": null, + "id": 2237, + "parameterSlots": 8, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 368, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 841, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1045, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_enum$_AirdropType_$3239_fromMemory": { + "entryPoint": 1144, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 916, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 1104, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_uint256t_enum$_AirdropType_$3239_fromMemory": { + "entryPoint": 1167, + "id": null, + "parameterSlots": 2, + "returnSlots": 8 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1399, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1416, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 712, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 564, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 743, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1556, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1445, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1867, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 999, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 967, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1068, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1828, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1702, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 2022, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 797, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1577, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1503, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1992, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 658, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 1692, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1960, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 2253, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 1456, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 611, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1742, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 584, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 589, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 579, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 574, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 594, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1593, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1947, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1800, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1606, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1752, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1019, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_enum$_AirdropType_$3239": { + "entryPoint": 1127, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 1078, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1795, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:11002:12", + "nodeType": "YulBlock", + "src": "0:11002:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1672:184:12", + "nodeType": "YulBlock", + "src": "1672:184:12", + "statements": [ + { + "nativeSrc": "1682:10:12", + "nodeType": "YulVariableDeclaration", + "src": "1682:10:12", + "value": { + "kind": "number", + "nativeSrc": "1691:1:12", + "nodeType": "YulLiteral", + "src": "1691:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1686:1:12", + "nodeType": "YulTypedName", + "src": "1686:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1751:63:12", + "nodeType": "YulBlock", + "src": "1751:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1776:3:12", + "nodeType": "YulIdentifier", + "src": "1776:3:12" + }, + { + "name": "i", + "nativeSrc": "1781:1:12", + "nodeType": "YulIdentifier", + "src": "1781:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:12", + "nodeType": "YulIdentifier", + "src": "1772:3:12" + }, + "nativeSrc": "1772:11:12", + "nodeType": "YulFunctionCall", + "src": "1772:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1795:3:12", + "nodeType": "YulIdentifier", + "src": "1795:3:12" + }, + { + "name": "i", + "nativeSrc": "1800:1:12", + "nodeType": "YulIdentifier", + "src": "1800:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1791:3:12", + "nodeType": "YulIdentifier", + "src": "1791:3:12" + }, + "nativeSrc": "1791:11:12", + "nodeType": "YulFunctionCall", + "src": "1791:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1785:5:12", + "nodeType": "YulIdentifier", + "src": "1785:5:12" + }, + "nativeSrc": "1785:18:12", + "nodeType": "YulFunctionCall", + "src": "1785:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1765:6:12", + "nodeType": "YulIdentifier", + "src": "1765:6:12" + }, + "nativeSrc": "1765:39:12", + "nodeType": "YulFunctionCall", + "src": "1765:39:12" + }, + "nativeSrc": "1765:39:12", + "nodeType": "YulExpressionStatement", + "src": "1765:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1712:1:12", + "nodeType": "YulIdentifier", + "src": "1712:1:12" + }, + { + "name": "length", + "nativeSrc": "1715:6:12", + "nodeType": "YulIdentifier", + "src": "1715:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1709:2:12", + "nodeType": "YulIdentifier", + "src": "1709:2:12" + }, + "nativeSrc": "1709:13:12", + "nodeType": "YulFunctionCall", + "src": "1709:13:12" + }, + "nativeSrc": "1701:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1723:19:12", + "nodeType": "YulBlock", + "src": "1723:19:12", + "statements": [ + { + "nativeSrc": "1725:15:12", + "nodeType": "YulAssignment", + "src": "1725:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1734:1:12", + "nodeType": "YulIdentifier", + "src": "1734:1:12" + }, + { + "kind": "number", + "nativeSrc": "1737:2:12", + "nodeType": "YulLiteral", + "src": "1737:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:12", + "nodeType": "YulIdentifier", + "src": "1730:3:12" + }, + "nativeSrc": "1730:10:12", + "nodeType": "YulFunctionCall", + "src": "1730:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1725:1:12", + "nodeType": "YulIdentifier", + "src": "1725:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1705:3:12", + "nodeType": "YulBlock", + "src": "1705:3:12", + "statements": [] + }, + "src": "1701:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1834:3:12", + "nodeType": "YulIdentifier", + "src": "1834:3:12" + }, + { + "name": "length", + "nativeSrc": "1839:6:12", + "nodeType": "YulIdentifier", + "src": "1839:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1830:3:12", + "nodeType": "YulIdentifier", + "src": "1830:3:12" + }, + "nativeSrc": "1830:16:12", + "nodeType": "YulFunctionCall", + "src": "1830:16:12" + }, + { + "kind": "number", + "nativeSrc": "1848:1:12", + "nodeType": "YulLiteral", + "src": "1848:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1823:6:12", + "nodeType": "YulIdentifier", + "src": "1823:6:12" + }, + "nativeSrc": "1823:27:12", + "nodeType": "YulFunctionCall", + "src": "1823:27:12" + }, + "nativeSrc": "1823:27:12", + "nodeType": "YulExpressionStatement", + "src": "1823:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:12", + "nodeType": "YulTypedName", + "src": "1654:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:12", + "nodeType": "YulTypedName", + "src": "1659:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:12", + "nodeType": "YulTypedName", + "src": "1664:6:12", + "type": "" + } + ], + "src": "1610:246:12" + }, + { + "body": { + "nativeSrc": "1957:339:12", + "nodeType": "YulBlock", + "src": "1957:339:12", + "statements": [ + { + "nativeSrc": "1967:75:12", + "nodeType": "YulAssignment", + "src": "1967:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2034:6:12", + "nodeType": "YulIdentifier", + "src": "2034:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1992:41:12", + "nodeType": "YulIdentifier", + "src": "1992:41:12" + }, + "nativeSrc": "1992:49:12", + "nodeType": "YulFunctionCall", + "src": "1992:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1976:15:12", + "nodeType": "YulIdentifier", + "src": "1976:15:12" + }, + "nativeSrc": "1976:66:12", + "nodeType": "YulFunctionCall", + "src": "1976:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1967:5:12", + "nodeType": "YulIdentifier", + "src": "1967:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2058:5:12", + "nodeType": "YulIdentifier", + "src": "2058:5:12" + }, + { + "name": "length", + "nativeSrc": "2065:6:12", + "nodeType": "YulIdentifier", + "src": "2065:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2051:6:12", + "nodeType": "YulIdentifier", + "src": "2051:6:12" + }, + "nativeSrc": "2051:21:12", + "nodeType": "YulFunctionCall", + "src": "2051:21:12" + }, + "nativeSrc": "2051:21:12", + "nodeType": "YulExpressionStatement", + "src": "2051:21:12" + }, + { + "nativeSrc": "2081:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2081:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2096:5:12", + "nodeType": "YulIdentifier", + "src": "2096:5:12" + }, + { + "kind": "number", + "nativeSrc": "2103:4:12", + "nodeType": "YulLiteral", + "src": "2103:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2092:3:12", + "nodeType": "YulIdentifier", + "src": "2092:3:12" + }, + "nativeSrc": "2092:16:12", + "nodeType": "YulFunctionCall", + "src": "2092:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2085:3:12", + "nodeType": "YulTypedName", + "src": "2085:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2146:83:12", + "nodeType": "YulBlock", + "src": "2146:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2148:77:12", + "nodeType": "YulIdentifier", + "src": "2148:77:12" + }, + "nativeSrc": "2148:79:12", + "nodeType": "YulFunctionCall", + "src": "2148:79:12" + }, + "nativeSrc": "2148:79:12", + "nodeType": "YulExpressionStatement", + "src": "2148:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2127:3:12", + "nodeType": "YulIdentifier", + "src": "2127:3:12" + }, + { + "name": "length", + "nativeSrc": "2132:6:12", + "nodeType": "YulIdentifier", + "src": "2132:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2123:3:12", + "nodeType": "YulIdentifier", + "src": "2123:3:12" + }, + "nativeSrc": "2123:16:12", + "nodeType": "YulFunctionCall", + "src": "2123:16:12" + }, + { + "name": "end", + "nativeSrc": "2141:3:12", + "nodeType": "YulIdentifier", + "src": "2141:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2120:2:12", + "nodeType": "YulIdentifier", + "src": "2120:2:12" + }, + "nativeSrc": "2120:25:12", + "nodeType": "YulFunctionCall", + "src": "2120:25:12" + }, + "nativeSrc": "2117:112:12", + "nodeType": "YulIf", + "src": "2117:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2273:3:12", + "nodeType": "YulIdentifier", + "src": "2273:3:12" + }, + { + "name": "dst", + "nativeSrc": "2278:3:12", + "nodeType": "YulIdentifier", + "src": "2278:3:12" + }, + { + "name": "length", + "nativeSrc": "2283:6:12", + "nodeType": "YulIdentifier", + "src": "2283:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2238:34:12", + "nodeType": "YulIdentifier", + "src": "2238:34:12" + }, + "nativeSrc": "2238:52:12", + "nodeType": "YulFunctionCall", + "src": "2238:52:12" + }, + "nativeSrc": "2238:52:12", + "nodeType": "YulExpressionStatement", + "src": "2238:52:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1862:434:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1930:3:12", + "nodeType": "YulTypedName", + "src": "1930:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1935:6:12", + "nodeType": "YulTypedName", + "src": "1935:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1943:3:12", + "nodeType": "YulTypedName", + "src": "1943:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1951:5:12", + "nodeType": "YulTypedName", + "src": "1951:5:12", + "type": "" + } + ], + "src": "1862:434:12" + }, + { + "body": { + "nativeSrc": "2389:282:12", + "nodeType": "YulBlock", + "src": "2389:282:12", + "statements": [ + { + "body": { + "nativeSrc": "2438:83:12", + "nodeType": "YulBlock", + "src": "2438:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2440:77:12", + "nodeType": "YulIdentifier", + "src": "2440:77:12" + }, + "nativeSrc": "2440:79:12", + "nodeType": "YulFunctionCall", + "src": "2440:79:12" + }, + "nativeSrc": "2440:79:12", + "nodeType": "YulExpressionStatement", + "src": "2440:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2417:6:12", + "nodeType": "YulIdentifier", + "src": "2417:6:12" + }, + { + "kind": "number", + "nativeSrc": "2425:4:12", + "nodeType": "YulLiteral", + "src": "2425:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2413:3:12", + "nodeType": "YulIdentifier", + "src": "2413:3:12" + }, + "nativeSrc": "2413:17:12", + "nodeType": "YulFunctionCall", + "src": "2413:17:12" + }, + { + "name": "end", + "nativeSrc": "2432:3:12", + "nodeType": "YulIdentifier", + "src": "2432:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2409:3:12", + "nodeType": "YulIdentifier", + "src": "2409:3:12" + }, + "nativeSrc": "2409:27:12", + "nodeType": "YulFunctionCall", + "src": "2409:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2402:6:12", + "nodeType": "YulIdentifier", + "src": "2402:6:12" + }, + "nativeSrc": "2402:35:12", + "nodeType": "YulFunctionCall", + "src": "2402:35:12" + }, + "nativeSrc": "2399:122:12", + "nodeType": "YulIf", + "src": "2399:122:12" + }, + { + "nativeSrc": "2530:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2530:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2550:6:12", + "nodeType": "YulIdentifier", + "src": "2550:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2544:5:12", + "nodeType": "YulIdentifier", + "src": "2544:5:12" + }, + "nativeSrc": "2544:13:12", + "nodeType": "YulFunctionCall", + "src": "2544:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2534:6:12", + "nodeType": "YulTypedName", + "src": "2534:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2566:99:12", + "nodeType": "YulAssignment", + "src": "2566:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2638:6:12", + "nodeType": "YulIdentifier", + "src": "2638:6:12" + }, + { + "kind": "number", + "nativeSrc": "2646:4:12", + "nodeType": "YulLiteral", + "src": "2646:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2634:3:12", + "nodeType": "YulIdentifier", + "src": "2634:3:12" + }, + "nativeSrc": "2634:17:12", + "nodeType": "YulFunctionCall", + "src": "2634:17:12" + }, + { + "name": "length", + "nativeSrc": "2653:6:12", + "nodeType": "YulIdentifier", + "src": "2653:6:12" + }, + { + "name": "end", + "nativeSrc": "2661:3:12", + "nodeType": "YulIdentifier", + "src": "2661:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2575:58:12", + "nodeType": "YulIdentifier", + "src": "2575:58:12" + }, + "nativeSrc": "2575:90:12", + "nodeType": "YulFunctionCall", + "src": "2575:90:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2566:5:12", + "nodeType": "YulIdentifier", + "src": "2566:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2316:355:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2367:6:12", + "nodeType": "YulTypedName", + "src": "2367:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2375:3:12", + "nodeType": "YulTypedName", + "src": "2375:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2383:5:12", + "nodeType": "YulTypedName", + "src": "2383:5:12", + "type": "" + } + ], + "src": "2316:355:12" + }, + { + "body": { + "nativeSrc": "2722:81:12", + "nodeType": "YulBlock", + "src": "2722:81:12", + "statements": [ + { + "nativeSrc": "2732:65:12", + "nodeType": "YulAssignment", + "src": "2732:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2747:5:12", + "nodeType": "YulIdentifier", + "src": "2747:5:12" + }, + { + "kind": "number", + "nativeSrc": "2754:42:12", + "nodeType": "YulLiteral", + "src": "2754:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2743:3:12", + "nodeType": "YulIdentifier", + "src": "2743:3:12" + }, + "nativeSrc": "2743:54:12", + "nodeType": "YulFunctionCall", + "src": "2743:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2732:7:12", + "nodeType": "YulIdentifier", + "src": "2732:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2677:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2704:5:12", + "nodeType": "YulTypedName", + "src": "2704:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2714:7:12", + "nodeType": "YulTypedName", + "src": "2714:7:12", + "type": "" + } + ], + "src": "2677:126:12" + }, + { + "body": { + "nativeSrc": "2854:51:12", + "nodeType": "YulBlock", + "src": "2854:51:12", + "statements": [ + { + "nativeSrc": "2864:35:12", + "nodeType": "YulAssignment", + "src": "2864:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2893:5:12", + "nodeType": "YulIdentifier", + "src": "2893:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2875:17:12", + "nodeType": "YulIdentifier", + "src": "2875:17:12" + }, + "nativeSrc": "2875:24:12", + "nodeType": "YulFunctionCall", + "src": "2875:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2864:7:12", + "nodeType": "YulIdentifier", + "src": "2864:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2809:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2836:5:12", + "nodeType": "YulTypedName", + "src": "2836:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2846:7:12", + "nodeType": "YulTypedName", + "src": "2846:7:12", + "type": "" + } + ], + "src": "2809:96:12" + }, + { + "body": { + "nativeSrc": "2954:79:12", + "nodeType": "YulBlock", + "src": "2954:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3011:16:12", + "nodeType": "YulBlock", + "src": "3011:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3020:1:12", + "nodeType": "YulLiteral", + "src": "3020:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3023:1:12", + "nodeType": "YulLiteral", + "src": "3023:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3013:6:12", + "nodeType": "YulIdentifier", + "src": "3013:6:12" + }, + "nativeSrc": "3013:12:12", + "nodeType": "YulFunctionCall", + "src": "3013:12:12" + }, + "nativeSrc": "3013:12:12", + "nodeType": "YulExpressionStatement", + "src": "3013:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2977:5:12", + "nodeType": "YulIdentifier", + "src": "2977:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3002:5:12", + "nodeType": "YulIdentifier", + "src": "3002:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2984:17:12", + "nodeType": "YulIdentifier", + "src": "2984:17:12" + }, + "nativeSrc": "2984:24:12", + "nodeType": "YulFunctionCall", + "src": "2984:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2974:2:12", + "nodeType": "YulIdentifier", + "src": "2974:2:12" + }, + "nativeSrc": "2974:35:12", + "nodeType": "YulFunctionCall", + "src": "2974:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2967:6:12", + "nodeType": "YulIdentifier", + "src": "2967:6:12" + }, + "nativeSrc": "2967:43:12", + "nodeType": "YulFunctionCall", + "src": "2967:43:12" + }, + "nativeSrc": "2964:63:12", + "nodeType": "YulIf", + "src": "2964:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2911:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2947:5:12", + "nodeType": "YulTypedName", + "src": "2947:5:12", + "type": "" + } + ], + "src": "2911:122:12" + }, + { + "body": { + "nativeSrc": "3102:80:12", + "nodeType": "YulBlock", + "src": "3102:80:12", + "statements": [ + { + "nativeSrc": "3112:22:12", + "nodeType": "YulAssignment", + "src": "3112:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3127:6:12", + "nodeType": "YulIdentifier", + "src": "3127:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3121:5:12", + "nodeType": "YulIdentifier", + "src": "3121:5:12" + }, + "nativeSrc": "3121:13:12", + "nodeType": "YulFunctionCall", + "src": "3121:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3112:5:12", + "nodeType": "YulIdentifier", + "src": "3112:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3170:5:12", + "nodeType": "YulIdentifier", + "src": "3170:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3143:26:12", + "nodeType": "YulIdentifier", + "src": "3143:26:12" + }, + "nativeSrc": "3143:33:12", + "nodeType": "YulFunctionCall", + "src": "3143:33:12" + }, + "nativeSrc": "3143:33:12", + "nodeType": "YulExpressionStatement", + "src": "3143:33:12" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3039:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3080:6:12", + "nodeType": "YulTypedName", + "src": "3080:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3088:3:12", + "nodeType": "YulTypedName", + "src": "3088:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3096:5:12", + "nodeType": "YulTypedName", + "src": "3096:5:12", + "type": "" + } + ], + "src": "3039:143:12" + }, + { + "body": { + "nativeSrc": "3233:32:12", + "nodeType": "YulBlock", + "src": "3233:32:12", + "statements": [ + { + "nativeSrc": "3243:16:12", + "nodeType": "YulAssignment", + "src": "3243:16:12", + "value": { + "name": "value", + "nativeSrc": "3254:5:12", + "nodeType": "YulIdentifier", + "src": "3254:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3243:7:12", + "nodeType": "YulIdentifier", + "src": "3243:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3188:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3215:5:12", + "nodeType": "YulTypedName", + "src": "3215:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3225:7:12", + "nodeType": "YulTypedName", + "src": "3225:7:12", + "type": "" + } + ], + "src": "3188:77:12" + }, + { + "body": { + "nativeSrc": "3314:79:12", + "nodeType": "YulBlock", + "src": "3314:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3371:16:12", + "nodeType": "YulBlock", + "src": "3371:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3380:1:12", + "nodeType": "YulLiteral", + "src": "3380:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3383:1:12", + "nodeType": "YulLiteral", + "src": "3383:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3373:6:12", + "nodeType": "YulIdentifier", + "src": "3373:6:12" + }, + "nativeSrc": "3373:12:12", + "nodeType": "YulFunctionCall", + "src": "3373:12:12" + }, + "nativeSrc": "3373:12:12", + "nodeType": "YulExpressionStatement", + "src": "3373:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3337:5:12", + "nodeType": "YulIdentifier", + "src": "3337:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3362:5:12", + "nodeType": "YulIdentifier", + "src": "3362:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3344:17:12", + "nodeType": "YulIdentifier", + "src": "3344:17:12" + }, + "nativeSrc": "3344:24:12", + "nodeType": "YulFunctionCall", + "src": "3344:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3334:2:12", + "nodeType": "YulIdentifier", + "src": "3334:2:12" + }, + "nativeSrc": "3334:35:12", + "nodeType": "YulFunctionCall", + "src": "3334:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3327:6:12", + "nodeType": "YulIdentifier", + "src": "3327:6:12" + }, + "nativeSrc": "3327:43:12", + "nodeType": "YulFunctionCall", + "src": "3327:43:12" + }, + "nativeSrc": "3324:63:12", + "nodeType": "YulIf", + "src": "3324:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3271:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3307:5:12", + "nodeType": "YulTypedName", + "src": "3307:5:12", + "type": "" + } + ], + "src": "3271:122:12" + }, + { + "body": { + "nativeSrc": "3462:80:12", + "nodeType": "YulBlock", + "src": "3462:80:12", + "statements": [ + { + "nativeSrc": "3472:22:12", + "nodeType": "YulAssignment", + "src": "3472:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3487:6:12", + "nodeType": "YulIdentifier", + "src": "3487:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3481:5:12", + "nodeType": "YulIdentifier", + "src": "3481:5:12" + }, + "nativeSrc": "3481:13:12", + "nodeType": "YulFunctionCall", + "src": "3481:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3472:5:12", + "nodeType": "YulIdentifier", + "src": "3472:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3530:5:12", + "nodeType": "YulIdentifier", + "src": "3530:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3503:26:12", + "nodeType": "YulIdentifier", + "src": "3503:26:12" + }, + "nativeSrc": "3503:33:12", + "nodeType": "YulFunctionCall", + "src": "3503:33:12" + }, + "nativeSrc": "3503:33:12", + "nodeType": "YulExpressionStatement", + "src": "3503:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3399:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3440:6:12", + "nodeType": "YulTypedName", + "src": "3440:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3448:3:12", + "nodeType": "YulTypedName", + "src": "3448:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3456:5:12", + "nodeType": "YulTypedName", + "src": "3456:5:12", + "type": "" + } + ], + "src": "3399:143:12" + }, + { + "body": { + "nativeSrc": "3607:56:12", + "nodeType": "YulBlock", + "src": "3607:56:12", + "statements": [ + { + "body": { + "nativeSrc": "3641:16:12", + "nodeType": "YulBlock", + "src": "3641:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3650:1:12", + "nodeType": "YulLiteral", + "src": "3650:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3653:1:12", + "nodeType": "YulLiteral", + "src": "3653:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3643:6:12", + "nodeType": "YulIdentifier", + "src": "3643:6:12" + }, + "nativeSrc": "3643:12:12", + "nodeType": "YulFunctionCall", + "src": "3643:12:12" + }, + "nativeSrc": "3643:12:12", + "nodeType": "YulExpressionStatement", + "src": "3643:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3630:5:12", + "nodeType": "YulIdentifier", + "src": "3630:5:12" + }, + { + "kind": "number", + "nativeSrc": "3637:1:12", + "nodeType": "YulLiteral", + "src": "3637:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3627:2:12", + "nodeType": "YulIdentifier", + "src": "3627:2:12" + }, + "nativeSrc": "3627:12:12", + "nodeType": "YulFunctionCall", + "src": "3627:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3620:6:12", + "nodeType": "YulIdentifier", + "src": "3620:6:12" + }, + "nativeSrc": "3620:20:12", + "nodeType": "YulFunctionCall", + "src": "3620:20:12" + }, + "nativeSrc": "3617:40:12", + "nodeType": "YulIf", + "src": "3617:40:12" + } + ] + }, + "name": "validator_revert_t_enum$_AirdropType_$3239", + "nativeSrc": "3548:115:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3600:5:12", + "nodeType": "YulTypedName", + "src": "3600:5:12", + "type": "" + } + ], + "src": "3548:115:12" + }, + { + "body": { + "nativeSrc": "3748:96:12", + "nodeType": "YulBlock", + "src": "3748:96:12", + "statements": [ + { + "nativeSrc": "3758:22:12", + "nodeType": "YulAssignment", + "src": "3758:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3773:6:12", + "nodeType": "YulIdentifier", + "src": "3773:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3767:5:12", + "nodeType": "YulIdentifier", + "src": "3767:5:12" + }, + "nativeSrc": "3767:13:12", + "nodeType": "YulFunctionCall", + "src": "3767:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3758:5:12", + "nodeType": "YulIdentifier", + "src": "3758:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3832:5:12", + "nodeType": "YulIdentifier", + "src": "3832:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_AirdropType_$3239", + "nativeSrc": "3789:42:12", + "nodeType": "YulIdentifier", + "src": "3789:42:12" + }, + "nativeSrc": "3789:49:12", + "nodeType": "YulFunctionCall", + "src": "3789:49:12" + }, + "nativeSrc": "3789:49:12", + "nodeType": "YulExpressionStatement", + "src": "3789:49:12" + } + ] + }, + "name": "abi_decode_t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "3669:175:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3726:6:12", + "nodeType": "YulTypedName", + "src": "3726:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3734:3:12", + "nodeType": "YulTypedName", + "src": "3734:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3742:5:12", + "nodeType": "YulTypedName", + "src": "3742:5:12", + "type": "" + } + ], + "src": "3669:175:12" + }, + { + "body": { + "nativeSrc": "4072:1431:12", + "nodeType": "YulBlock", + "src": "4072:1431:12", + "statements": [ + { + "body": { + "nativeSrc": "4119:83:12", + "nodeType": "YulBlock", + "src": "4119:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "4121:77:12", + "nodeType": "YulIdentifier", + "src": "4121:77:12" + }, + "nativeSrc": "4121:79:12", + "nodeType": "YulFunctionCall", + "src": "4121:79:12" + }, + "nativeSrc": "4121:79:12", + "nodeType": "YulExpressionStatement", + "src": "4121:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4093:7:12", + "nodeType": "YulIdentifier", + "src": "4093:7:12" + }, + { + "name": "headStart", + "nativeSrc": "4102:9:12", + "nodeType": "YulIdentifier", + "src": "4102:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4089:3:12", + "nodeType": "YulIdentifier", + "src": "4089:3:12" + }, + "nativeSrc": "4089:23:12", + "nodeType": "YulFunctionCall", + "src": "4089:23:12" + }, + { + "kind": "number", + "nativeSrc": "4114:3:12", + "nodeType": "YulLiteral", + "src": "4114:3:12", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4085:3:12", + "nodeType": "YulIdentifier", + "src": "4085:3:12" + }, + "nativeSrc": "4085:33:12", + "nodeType": "YulFunctionCall", + "src": "4085:33:12" + }, + "nativeSrc": "4082:120:12", + "nodeType": "YulIf", + "src": "4082:120:12" + }, + { + "nativeSrc": "4212:291:12", + "nodeType": "YulBlock", + "src": "4212:291:12", + "statements": [ + { + "nativeSrc": "4227:38:12", + "nodeType": "YulVariableDeclaration", + "src": "4227:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4251:9:12", + "nodeType": "YulIdentifier", + "src": "4251:9:12" + }, + { + "kind": "number", + "nativeSrc": "4262:1:12", + "nodeType": "YulLiteral", + "src": "4262:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4247:3:12", + "nodeType": "YulIdentifier", + "src": "4247:3:12" + }, + "nativeSrc": "4247:17:12", + "nodeType": "YulFunctionCall", + "src": "4247:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4241:5:12", + "nodeType": "YulIdentifier", + "src": "4241:5:12" + }, + "nativeSrc": "4241:24:12", + "nodeType": "YulFunctionCall", + "src": "4241:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4231:6:12", + "nodeType": "YulTypedName", + "src": "4231:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4312:83:12", + "nodeType": "YulBlock", + "src": "4312:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "4314:77:12", + "nodeType": "YulIdentifier", + "src": "4314:77:12" + }, + "nativeSrc": "4314:79:12", + "nodeType": "YulFunctionCall", + "src": "4314:79:12" + }, + "nativeSrc": "4314:79:12", + "nodeType": "YulExpressionStatement", + "src": "4314:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4284:6:12", + "nodeType": "YulIdentifier", + "src": "4284:6:12" + }, + { + "kind": "number", + "nativeSrc": "4292:18:12", + "nodeType": "YulLiteral", + "src": "4292:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4281:2:12", + "nodeType": "YulIdentifier", + "src": "4281:2:12" + }, + "nativeSrc": "4281:30:12", + "nodeType": "YulFunctionCall", + "src": "4281:30:12" + }, + "nativeSrc": "4278:117:12", + "nodeType": "YulIf", + "src": "4278:117:12" + }, + { + "nativeSrc": "4409:84:12", + "nodeType": "YulAssignment", + "src": "4409:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4465:9:12", + "nodeType": "YulIdentifier", + "src": "4465:9:12" + }, + { + "name": "offset", + "nativeSrc": "4476:6:12", + "nodeType": "YulIdentifier", + "src": "4476:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4461:3:12", + "nodeType": "YulIdentifier", + "src": "4461:3:12" + }, + "nativeSrc": "4461:22:12", + "nodeType": "YulFunctionCall", + "src": "4461:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4485:7:12", + "nodeType": "YulIdentifier", + "src": "4485:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "4419:41:12", + "nodeType": "YulIdentifier", + "src": "4419:41:12" + }, + "nativeSrc": "4419:74:12", + "nodeType": "YulFunctionCall", + "src": "4419:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4409:6:12", + "nodeType": "YulIdentifier", + "src": "4409:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4513:129:12", + "nodeType": "YulBlock", + "src": "4513:129:12", + "statements": [ + { + "nativeSrc": "4528:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4528:16:12", + "value": { + "kind": "number", + "nativeSrc": "4542:2:12", + "nodeType": "YulLiteral", + "src": "4542:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4532:6:12", + "nodeType": "YulTypedName", + "src": "4532:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4558:74:12", + "nodeType": "YulAssignment", + "src": "4558:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4604:9:12", + "nodeType": "YulIdentifier", + "src": "4604:9:12" + }, + { + "name": "offset", + "nativeSrc": "4615:6:12", + "nodeType": "YulIdentifier", + "src": "4615:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4600:3:12", + "nodeType": "YulIdentifier", + "src": "4600:3:12" + }, + "nativeSrc": "4600:22:12", + "nodeType": "YulFunctionCall", + "src": "4600:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4624:7:12", + "nodeType": "YulIdentifier", + "src": "4624:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4568:31:12", + "nodeType": "YulIdentifier", + "src": "4568:31:12" + }, + "nativeSrc": "4568:64:12", + "nodeType": "YulFunctionCall", + "src": "4568:64:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4558:6:12", + "nodeType": "YulIdentifier", + "src": "4558:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4652:129:12", + "nodeType": "YulBlock", + "src": "4652:129:12", + "statements": [ + { + "nativeSrc": "4667:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4667:16:12", + "value": { + "kind": "number", + "nativeSrc": "4681:2:12", + "nodeType": "YulLiteral", + "src": "4681:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4671:6:12", + "nodeType": "YulTypedName", + "src": "4671:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4697:74:12", + "nodeType": "YulAssignment", + "src": "4697:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4743:9:12", + "nodeType": "YulIdentifier", + "src": "4743:9:12" + }, + { + "name": "offset", + "nativeSrc": "4754:6:12", + "nodeType": "YulIdentifier", + "src": "4754:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4739:3:12", + "nodeType": "YulIdentifier", + "src": "4739:3:12" + }, + "nativeSrc": "4739:22:12", + "nodeType": "YulFunctionCall", + "src": "4739:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4763:7:12", + "nodeType": "YulIdentifier", + "src": "4763:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4707:31:12", + "nodeType": "YulIdentifier", + "src": "4707:31:12" + }, + "nativeSrc": "4707:64:12", + "nodeType": "YulFunctionCall", + "src": "4707:64:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4697:6:12", + "nodeType": "YulIdentifier", + "src": "4697:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4791:129:12", + "nodeType": "YulBlock", + "src": "4791:129:12", + "statements": [ + { + "nativeSrc": "4806:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4806:16:12", + "value": { + "kind": "number", + "nativeSrc": "4820:2:12", + "nodeType": "YulLiteral", + "src": "4820:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4810:6:12", + "nodeType": "YulTypedName", + "src": "4810:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4836:74:12", + "nodeType": "YulAssignment", + "src": "4836:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4882:9:12", + "nodeType": "YulIdentifier", + "src": "4882:9:12" + }, + { + "name": "offset", + "nativeSrc": "4893:6:12", + "nodeType": "YulIdentifier", + "src": "4893:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4878:3:12", + "nodeType": "YulIdentifier", + "src": "4878:3:12" + }, + "nativeSrc": "4878:22:12", + "nodeType": "YulFunctionCall", + "src": "4878:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4902:7:12", + "nodeType": "YulIdentifier", + "src": "4902:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4846:31:12", + "nodeType": "YulIdentifier", + "src": "4846:31:12" + }, + "nativeSrc": "4846:64:12", + "nodeType": "YulFunctionCall", + "src": "4846:64:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4836:6:12", + "nodeType": "YulIdentifier", + "src": "4836:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4930:130:12", + "nodeType": "YulBlock", + "src": "4930:130:12", + "statements": [ + { + "nativeSrc": "4945:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4945:17:12", + "value": { + "kind": "number", + "nativeSrc": "4959:3:12", + "nodeType": "YulLiteral", + "src": "4959:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4949:6:12", + "nodeType": "YulTypedName", + "src": "4949:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4976:74:12", + "nodeType": "YulAssignment", + "src": "4976:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5022:9:12", + "nodeType": "YulIdentifier", + "src": "5022:9:12" + }, + { + "name": "offset", + "nativeSrc": "5033:6:12", + "nodeType": "YulIdentifier", + "src": "5033:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5018:3:12", + "nodeType": "YulIdentifier", + "src": "5018:3:12" + }, + "nativeSrc": "5018:22:12", + "nodeType": "YulFunctionCall", + "src": "5018:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5042:7:12", + "nodeType": "YulIdentifier", + "src": "5042:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4986:31:12", + "nodeType": "YulIdentifier", + "src": "4986:31:12" + }, + "nativeSrc": "4986:64:12", + "nodeType": "YulFunctionCall", + "src": "4986:64:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4976:6:12", + "nodeType": "YulIdentifier", + "src": "4976:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5070:130:12", + "nodeType": "YulBlock", + "src": "5070:130:12", + "statements": [ + { + "nativeSrc": "5085:17:12", + "nodeType": "YulVariableDeclaration", + "src": "5085:17:12", + "value": { + "kind": "number", + "nativeSrc": "5099:3:12", + "nodeType": "YulLiteral", + "src": "5099:3:12", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5089:6:12", + "nodeType": "YulTypedName", + "src": "5089:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5116:74:12", + "nodeType": "YulAssignment", + "src": "5116:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5162:9:12", + "nodeType": "YulIdentifier", + "src": "5162:9:12" + }, + { + "name": "offset", + "nativeSrc": "5173:6:12", + "nodeType": "YulIdentifier", + "src": "5173:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5158:3:12", + "nodeType": "YulIdentifier", + "src": "5158:3:12" + }, + "nativeSrc": "5158:22:12", + "nodeType": "YulFunctionCall", + "src": "5158:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5182:7:12", + "nodeType": "YulIdentifier", + "src": "5182:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "5126:31:12", + "nodeType": "YulIdentifier", + "src": "5126:31:12" + }, + "nativeSrc": "5126:64:12", + "nodeType": "YulFunctionCall", + "src": "5126:64:12" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "5116:6:12", + "nodeType": "YulIdentifier", + "src": "5116:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5210:130:12", + "nodeType": "YulBlock", + "src": "5210:130:12", + "statements": [ + { + "nativeSrc": "5225:17:12", + "nodeType": "YulVariableDeclaration", + "src": "5225:17:12", + "value": { + "kind": "number", + "nativeSrc": "5239:3:12", + "nodeType": "YulLiteral", + "src": "5239:3:12", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5229:6:12", + "nodeType": "YulTypedName", + "src": "5229:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5256:74:12", + "nodeType": "YulAssignment", + "src": "5256:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5302:9:12", + "nodeType": "YulIdentifier", + "src": "5302:9:12" + }, + { + "name": "offset", + "nativeSrc": "5313:6:12", + "nodeType": "YulIdentifier", + "src": "5313:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5298:3:12", + "nodeType": "YulIdentifier", + "src": "5298:3:12" + }, + "nativeSrc": "5298:22:12", + "nodeType": "YulFunctionCall", + "src": "5298:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5322:7:12", + "nodeType": "YulIdentifier", + "src": "5322:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "5266:31:12", + "nodeType": "YulIdentifier", + "src": "5266:31:12" + }, + "nativeSrc": "5266:64:12", + "nodeType": "YulFunctionCall", + "src": "5266:64:12" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "5256:6:12", + "nodeType": "YulIdentifier", + "src": "5256:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5350:146:12", + "nodeType": "YulBlock", + "src": "5350:146:12", + "statements": [ + { + "nativeSrc": "5365:17:12", + "nodeType": "YulVariableDeclaration", + "src": "5365:17:12", + "value": { + "kind": "number", + "nativeSrc": "5379:3:12", + "nodeType": "YulLiteral", + "src": "5379:3:12", + "type": "", + "value": "224" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5369:6:12", + "nodeType": "YulTypedName", + "src": "5369:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5396:90:12", + "nodeType": "YulAssignment", + "src": "5396:90:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5458:9:12", + "nodeType": "YulIdentifier", + "src": "5458:9:12" + }, + { + "name": "offset", + "nativeSrc": "5469:6:12", + "nodeType": "YulIdentifier", + "src": "5469:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5454:3:12", + "nodeType": "YulIdentifier", + "src": "5454:3:12" + }, + "nativeSrc": "5454:22:12", + "nodeType": "YulFunctionCall", + "src": "5454:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5478:7:12", + "nodeType": "YulIdentifier", + "src": "5478:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "5406:47:12", + "nodeType": "YulIdentifier", + "src": "5406:47:12" + }, + "nativeSrc": "5406:80:12", + "nodeType": "YulFunctionCall", + "src": "5406:80:12" + }, + "variableNames": [ + { + "name": "value7", + "nativeSrc": "5396:6:12", + "nodeType": "YulIdentifier", + "src": "5396:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_uint256t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "3850:1653:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3986:9:12", + "nodeType": "YulTypedName", + "src": "3986:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3997:7:12", + "nodeType": "YulTypedName", + "src": "3997:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4009:6:12", + "nodeType": "YulTypedName", + "src": "4009:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4017:6:12", + "nodeType": "YulTypedName", + "src": "4017:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "4025:6:12", + "nodeType": "YulTypedName", + "src": "4025:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "4033:6:12", + "nodeType": "YulTypedName", + "src": "4033:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "4041:6:12", + "nodeType": "YulTypedName", + "src": "4041:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "4049:6:12", + "nodeType": "YulTypedName", + "src": "4049:6:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "4057:6:12", + "nodeType": "YulTypedName", + "src": "4057:6:12", + "type": "" + }, + { + "name": "value7", + "nativeSrc": "4065:6:12", + "nodeType": "YulTypedName", + "src": "4065:6:12", + "type": "" + } + ], + "src": "3850:1653:12" + }, + { + "body": { + "nativeSrc": "5574:53:12", + "nodeType": "YulBlock", + "src": "5574:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5591:3:12", + "nodeType": "YulIdentifier", + "src": "5591:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5614:5:12", + "nodeType": "YulIdentifier", + "src": "5614:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5596:17:12", + "nodeType": "YulIdentifier", + "src": "5596:17:12" + }, + "nativeSrc": "5596:24:12", + "nodeType": "YulFunctionCall", + "src": "5596:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5584:6:12", + "nodeType": "YulIdentifier", + "src": "5584:6:12" + }, + "nativeSrc": "5584:37:12", + "nodeType": "YulFunctionCall", + "src": "5584:37:12" + }, + "nativeSrc": "5584:37:12", + "nodeType": "YulExpressionStatement", + "src": "5584:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5509:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5562:5:12", + "nodeType": "YulTypedName", + "src": "5562:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5569:3:12", + "nodeType": "YulTypedName", + "src": "5569:3:12", + "type": "" + } + ], + "src": "5509:118:12" + }, + { + "body": { + "nativeSrc": "5731:124:12", + "nodeType": "YulBlock", + "src": "5731:124:12", + "statements": [ + { + "nativeSrc": "5741:26:12", + "nodeType": "YulAssignment", + "src": "5741:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5753:9:12", + "nodeType": "YulIdentifier", + "src": "5753:9:12" + }, + { + "kind": "number", + "nativeSrc": "5764:2:12", + "nodeType": "YulLiteral", + "src": "5764:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5749:3:12", + "nodeType": "YulIdentifier", + "src": "5749:3:12" + }, + "nativeSrc": "5749:18:12", + "nodeType": "YulFunctionCall", + "src": "5749:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5741:4:12", + "nodeType": "YulIdentifier", + "src": "5741:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5821:6:12", + "nodeType": "YulIdentifier", + "src": "5821:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5834:9:12", + "nodeType": "YulIdentifier", + "src": "5834:9:12" + }, + { + "kind": "number", + "nativeSrc": "5845:1:12", + "nodeType": "YulLiteral", + "src": "5845:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5830:3:12", + "nodeType": "YulIdentifier", + "src": "5830:3:12" + }, + "nativeSrc": "5830:17:12", + "nodeType": "YulFunctionCall", + "src": "5830:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5777:43:12", + "nodeType": "YulIdentifier", + "src": "5777:43:12" + }, + "nativeSrc": "5777:71:12", + "nodeType": "YulFunctionCall", + "src": "5777:71:12" + }, + "nativeSrc": "5777:71:12", + "nodeType": "YulExpressionStatement", + "src": "5777:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "5633:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5703:9:12", + "nodeType": "YulTypedName", + "src": "5703:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5715:6:12", + "nodeType": "YulTypedName", + "src": "5715:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5726:4:12", + "nodeType": "YulTypedName", + "src": "5726:4:12", + "type": "" + } + ], + "src": "5633:222:12" + }, + { + "body": { + "nativeSrc": "5920:40:12", + "nodeType": "YulBlock", + "src": "5920:40:12", + "statements": [ + { + "nativeSrc": "5931:22:12", + "nodeType": "YulAssignment", + "src": "5931:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5947:5:12", + "nodeType": "YulIdentifier", + "src": "5947:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5941:5:12", + "nodeType": "YulIdentifier", + "src": "5941:5:12" + }, + "nativeSrc": "5941:12:12", + "nodeType": "YulFunctionCall", + "src": "5941:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5931:6:12", + "nodeType": "YulIdentifier", + "src": "5931:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5861:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5903:5:12", + "nodeType": "YulTypedName", + "src": "5903:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5913:6:12", + "nodeType": "YulTypedName", + "src": "5913:6:12", + "type": "" + } + ], + "src": "5861:99:12" + }, + { + "body": { + "nativeSrc": "5994:152:12", + "nodeType": "YulBlock", + "src": "5994:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6011:1:12", + "nodeType": "YulLiteral", + "src": "6011:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6014:77:12", + "nodeType": "YulLiteral", + "src": "6014:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6004:6:12", + "nodeType": "YulIdentifier", + "src": "6004:6:12" + }, + "nativeSrc": "6004:88:12", + "nodeType": "YulFunctionCall", + "src": "6004:88:12" + }, + "nativeSrc": "6004:88:12", + "nodeType": "YulExpressionStatement", + "src": "6004:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6108:1:12", + "nodeType": "YulLiteral", + "src": "6108:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6111:4:12", + "nodeType": "YulLiteral", + "src": "6111:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6101:6:12", + "nodeType": "YulIdentifier", + "src": "6101:6:12" + }, + "nativeSrc": "6101:15:12", + "nodeType": "YulFunctionCall", + "src": "6101:15:12" + }, + "nativeSrc": "6101:15:12", + "nodeType": "YulExpressionStatement", + "src": "6101:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6132:1:12", + "nodeType": "YulLiteral", + "src": "6132:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6135:4:12", + "nodeType": "YulLiteral", + "src": "6135:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6125:6:12", + "nodeType": "YulIdentifier", + "src": "6125:6:12" + }, + "nativeSrc": "6125:15:12", + "nodeType": "YulFunctionCall", + "src": "6125:15:12" + }, + "nativeSrc": "6125:15:12", + "nodeType": "YulExpressionStatement", + "src": "6125:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "5966:180:12", + "nodeType": "YulFunctionDefinition", + "src": "5966:180:12" + }, + { + "body": { + "nativeSrc": "6203:269:12", + "nodeType": "YulBlock", + "src": "6203:269:12", + "statements": [ + { + "nativeSrc": "6213:22:12", + "nodeType": "YulAssignment", + "src": "6213:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6227:4:12", + "nodeType": "YulIdentifier", + "src": "6227:4:12" + }, + { + "kind": "number", + "nativeSrc": "6233:1:12", + "nodeType": "YulLiteral", + "src": "6233:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6223:3:12", + "nodeType": "YulIdentifier", + "src": "6223:3:12" + }, + "nativeSrc": "6223:12:12", + "nodeType": "YulFunctionCall", + "src": "6223:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6213:6:12", + "nodeType": "YulIdentifier", + "src": "6213:6:12" + } + ] + }, + { + "nativeSrc": "6244:38:12", + "nodeType": "YulVariableDeclaration", + "src": "6244:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6274:4:12", + "nodeType": "YulIdentifier", + "src": "6274:4:12" + }, + { + "kind": "number", + "nativeSrc": "6280:1:12", + "nodeType": "YulLiteral", + "src": "6280:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6270:3:12", + "nodeType": "YulIdentifier", + "src": "6270:3:12" + }, + "nativeSrc": "6270:12:12", + "nodeType": "YulFunctionCall", + "src": "6270:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6248:18:12", + "nodeType": "YulTypedName", + "src": "6248:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6321:51:12", + "nodeType": "YulBlock", + "src": "6321:51:12", + "statements": [ + { + "nativeSrc": "6335:27:12", + "nodeType": "YulAssignment", + "src": "6335:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6349:6:12", + "nodeType": "YulIdentifier", + "src": "6349:6:12" + }, + { + "kind": "number", + "nativeSrc": "6357:4:12", + "nodeType": "YulLiteral", + "src": "6357:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6345:3:12", + "nodeType": "YulIdentifier", + "src": "6345:3:12" + }, + "nativeSrc": "6345:17:12", + "nodeType": "YulFunctionCall", + "src": "6345:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6335:6:12", + "nodeType": "YulIdentifier", + "src": "6335:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6301:18:12", + "nodeType": "YulIdentifier", + "src": "6301:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6294:6:12", + "nodeType": "YulIdentifier", + "src": "6294:6:12" + }, + "nativeSrc": "6294:26:12", + "nodeType": "YulFunctionCall", + "src": "6294:26:12" + }, + "nativeSrc": "6291:81:12", + "nodeType": "YulIf", + "src": "6291:81:12" + }, + { + "body": { + "nativeSrc": "6424:42:12", + "nodeType": "YulBlock", + "src": "6424:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "6438:16:12", + "nodeType": "YulIdentifier", + "src": "6438:16:12" + }, + "nativeSrc": "6438:18:12", + "nodeType": "YulFunctionCall", + "src": "6438:18:12" + }, + "nativeSrc": "6438:18:12", + "nodeType": "YulExpressionStatement", + "src": "6438:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6388:18:12", + "nodeType": "YulIdentifier", + "src": "6388:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6411:6:12", + "nodeType": "YulIdentifier", + "src": "6411:6:12" + }, + { + "kind": "number", + "nativeSrc": "6419:2:12", + "nodeType": "YulLiteral", + "src": "6419:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6408:2:12", + "nodeType": "YulIdentifier", + "src": "6408:2:12" + }, + "nativeSrc": "6408:14:12", + "nodeType": "YulFunctionCall", + "src": "6408:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6385:2:12", + "nodeType": "YulIdentifier", + "src": "6385:2:12" + }, + "nativeSrc": "6385:38:12", + "nodeType": "YulFunctionCall", + "src": "6385:38:12" + }, + "nativeSrc": "6382:84:12", + "nodeType": "YulIf", + "src": "6382:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "6152:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "6187:4:12", + "nodeType": "YulTypedName", + "src": "6187:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "6196:6:12", + "nodeType": "YulTypedName", + "src": "6196:6:12", + "type": "" + } + ], + "src": "6152:320:12" + }, + { + "body": { + "nativeSrc": "6532:87:12", + "nodeType": "YulBlock", + "src": "6532:87:12", + "statements": [ + { + "nativeSrc": "6542:11:12", + "nodeType": "YulAssignment", + "src": "6542:11:12", + "value": { + "name": "ptr", + "nativeSrc": "6550:3:12", + "nodeType": "YulIdentifier", + "src": "6550:3:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6542:4:12", + "nodeType": "YulIdentifier", + "src": "6542:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6570:1:12", + "nodeType": "YulLiteral", + "src": "6570:1:12", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "6573:3:12", + "nodeType": "YulIdentifier", + "src": "6573:3:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6563:6:12", + "nodeType": "YulIdentifier", + "src": "6563:6:12" + }, + "nativeSrc": "6563:14:12", + "nodeType": "YulFunctionCall", + "src": "6563:14:12" + }, + "nativeSrc": "6563:14:12", + "nodeType": "YulExpressionStatement", + "src": "6563:14:12" + }, + { + "nativeSrc": "6586:26:12", + "nodeType": "YulAssignment", + "src": "6586:26:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6604:1:12", + "nodeType": "YulLiteral", + "src": "6604:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6607:4:12", + "nodeType": "YulLiteral", + "src": "6607:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "6594:9:12", + "nodeType": "YulIdentifier", + "src": "6594:9:12" + }, + "nativeSrc": "6594:18:12", + "nodeType": "YulFunctionCall", + "src": "6594:18:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6586:4:12", + "nodeType": "YulIdentifier", + "src": "6586:4:12" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "6478:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "6519:3:12", + "nodeType": "YulTypedName", + "src": "6519:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "6527:4:12", + "nodeType": "YulTypedName", + "src": "6527:4:12", + "type": "" + } + ], + "src": "6478:141:12" + }, + { + "body": { + "nativeSrc": "6669:49:12", + "nodeType": "YulBlock", + "src": "6669:49:12", + "statements": [ + { + "nativeSrc": "6679:33:12", + "nodeType": "YulAssignment", + "src": "6679:33:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6697:5:12", + "nodeType": "YulIdentifier", + "src": "6697:5:12" + }, + { + "kind": "number", + "nativeSrc": "6704:2:12", + "nodeType": "YulLiteral", + "src": "6704:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6693:3:12", + "nodeType": "YulIdentifier", + "src": "6693:3:12" + }, + "nativeSrc": "6693:14:12", + "nodeType": "YulFunctionCall", + "src": "6693:14:12" + }, + { + "kind": "number", + "nativeSrc": "6709:2:12", + "nodeType": "YulLiteral", + "src": "6709:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6689:3:12", + "nodeType": "YulIdentifier", + "src": "6689:3:12" + }, + "nativeSrc": "6689:23:12", + "nodeType": "YulFunctionCall", + "src": "6689:23:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6679:6:12", + "nodeType": "YulIdentifier", + "src": "6679:6:12" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "6625:93:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6652:5:12", + "nodeType": "YulTypedName", + "src": "6652:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6662:6:12", + "nodeType": "YulTypedName", + "src": "6662:6:12", + "type": "" + } + ], + "src": "6625:93:12" + }, + { + "body": { + "nativeSrc": "6777:54:12", + "nodeType": "YulBlock", + "src": "6777:54:12", + "statements": [ + { + "nativeSrc": "6787:37:12", + "nodeType": "YulAssignment", + "src": "6787:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6812:4:12", + "nodeType": "YulIdentifier", + "src": "6812:4:12" + }, + { + "name": "value", + "nativeSrc": "6818:5:12", + "nodeType": "YulIdentifier", + "src": "6818:5:12" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6808:3:12", + "nodeType": "YulIdentifier", + "src": "6808:3:12" + }, + "nativeSrc": "6808:16:12", + "nodeType": "YulFunctionCall", + "src": "6808:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6787:8:12", + "nodeType": "YulIdentifier", + "src": "6787:8:12" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "6724:107:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6752:4:12", + "nodeType": "YulTypedName", + "src": "6752:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6758:5:12", + "nodeType": "YulTypedName", + "src": "6758:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6768:8:12", + "nodeType": "YulTypedName", + "src": "6768:8:12", + "type": "" + } + ], + "src": "6724:107:12" + }, + { + "body": { + "nativeSrc": "6913:317:12", + "nodeType": "YulBlock", + "src": "6913:317:12", + "statements": [ + { + "nativeSrc": "6923:35:12", + "nodeType": "YulVariableDeclaration", + "src": "6923:35:12", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "6944:10:12", + "nodeType": "YulIdentifier", + "src": "6944:10:12" + }, + { + "kind": "number", + "nativeSrc": "6956:1:12", + "nodeType": "YulLiteral", + "src": "6956:1:12", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6940:3:12", + "nodeType": "YulIdentifier", + "src": "6940:3:12" + }, + "nativeSrc": "6940:18:12", + "nodeType": "YulFunctionCall", + "src": "6940:18:12" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "6927:9:12", + "nodeType": "YulTypedName", + "src": "6927:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6967:109:12", + "nodeType": "YulVariableDeclaration", + "src": "6967:109:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6998:9:12", + "nodeType": "YulIdentifier", + "src": "6998:9:12" + }, + { + "kind": "number", + "nativeSrc": "7009:66:12", + "nodeType": "YulLiteral", + "src": "7009:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6979:18:12", + "nodeType": "YulIdentifier", + "src": "6979:18:12" + }, + "nativeSrc": "6979:97:12", + "nodeType": "YulFunctionCall", + "src": "6979:97:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6971:4:12", + "nodeType": "YulTypedName", + "src": "6971:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7085:51:12", + "nodeType": "YulAssignment", + "src": "7085:51:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "7116:9:12", + "nodeType": "YulIdentifier", + "src": "7116:9:12" + }, + { + "name": "toInsert", + "nativeSrc": "7127:8:12", + "nodeType": "YulIdentifier", + "src": "7127:8:12" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "7097:18:12", + "nodeType": "YulIdentifier", + "src": "7097:18:12" + }, + "nativeSrc": "7097:39:12", + "nodeType": "YulFunctionCall", + "src": "7097:39:12" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "7085:8:12", + "nodeType": "YulIdentifier", + "src": "7085:8:12" + } + ] + }, + { + "nativeSrc": "7145:30:12", + "nodeType": "YulAssignment", + "src": "7145:30:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7158:5:12", + "nodeType": "YulIdentifier", + "src": "7158:5:12" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "7169:4:12", + "nodeType": "YulIdentifier", + "src": "7169:4:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7165:3:12", + "nodeType": "YulIdentifier", + "src": "7165:3:12" + }, + "nativeSrc": "7165:9:12", + "nodeType": "YulFunctionCall", + "src": "7165:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7154:3:12", + "nodeType": "YulIdentifier", + "src": "7154:3:12" + }, + "nativeSrc": "7154:21:12", + "nodeType": "YulFunctionCall", + "src": "7154:21:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "7145:5:12", + "nodeType": "YulIdentifier", + "src": "7145:5:12" + } + ] + }, + { + "nativeSrc": "7184:40:12", + "nodeType": "YulAssignment", + "src": "7184:40:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7197:5:12", + "nodeType": "YulIdentifier", + "src": "7197:5:12" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "7208:8:12", + "nodeType": "YulIdentifier", + "src": "7208:8:12" + }, + { + "name": "mask", + "nativeSrc": "7218:4:12", + "nodeType": "YulIdentifier", + "src": "7218:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7204:3:12", + "nodeType": "YulIdentifier", + "src": "7204:3:12" + }, + "nativeSrc": "7204:19:12", + "nodeType": "YulFunctionCall", + "src": "7204:19:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7194:2:12", + "nodeType": "YulIdentifier", + "src": "7194:2:12" + }, + "nativeSrc": "7194:30:12", + "nodeType": "YulFunctionCall", + "src": "7194:30:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "7184:6:12", + "nodeType": "YulIdentifier", + "src": "7184:6:12" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "6837:393:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6874:5:12", + "nodeType": "YulTypedName", + "src": "6874:5:12", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "6881:10:12", + "nodeType": "YulTypedName", + "src": "6881:10:12", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "6893:8:12", + "nodeType": "YulTypedName", + "src": "6893:8:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6906:6:12", + "nodeType": "YulTypedName", + "src": "6906:6:12", + "type": "" + } + ], + "src": "6837:393:12" + }, + { + "body": { + "nativeSrc": "7268:28:12", + "nodeType": "YulBlock", + "src": "7268:28:12", + "statements": [ + { + "nativeSrc": "7278:12:12", + "nodeType": "YulAssignment", + "src": "7278:12:12", + "value": { + "name": "value", + "nativeSrc": "7285:5:12", + "nodeType": "YulIdentifier", + "src": "7285:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7278:3:12", + "nodeType": "YulIdentifier", + "src": "7278:3:12" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "7236:60:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7254:5:12", + "nodeType": "YulTypedName", + "src": "7254:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7264:3:12", + "nodeType": "YulTypedName", + "src": "7264:3:12", + "type": "" + } + ], + "src": "7236:60:12" + }, + { + "body": { + "nativeSrc": "7362:82:12", + "nodeType": "YulBlock", + "src": "7362:82:12", + "statements": [ + { + "nativeSrc": "7372:66:12", + "nodeType": "YulAssignment", + "src": "7372:66:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7430:5:12", + "nodeType": "YulIdentifier", + "src": "7430:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7412:17:12", + "nodeType": "YulIdentifier", + "src": "7412:17:12" + }, + "nativeSrc": "7412:24:12", + "nodeType": "YulFunctionCall", + "src": "7412:24:12" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "7403:8:12", + "nodeType": "YulIdentifier", + "src": "7403:8:12" + }, + "nativeSrc": "7403:34:12", + "nodeType": "YulFunctionCall", + "src": "7403:34:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7385:17:12", + "nodeType": "YulIdentifier", + "src": "7385:17:12" + }, + "nativeSrc": "7385:53:12", + "nodeType": "YulFunctionCall", + "src": "7385:53:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7372:9:12", + "nodeType": "YulIdentifier", + "src": "7372:9:12" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7302:142:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7342:5:12", + "nodeType": "YulTypedName", + "src": "7342:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7352:9:12", + "nodeType": "YulTypedName", + "src": "7352:9:12", + "type": "" + } + ], + "src": "7302:142:12" + }, + { + "body": { + "nativeSrc": "7497:28:12", + "nodeType": "YulBlock", + "src": "7497:28:12", + "statements": [ + { + "nativeSrc": "7507:12:12", + "nodeType": "YulAssignment", + "src": "7507:12:12", + "value": { + "name": "value", + "nativeSrc": "7514:5:12", + "nodeType": "YulIdentifier", + "src": "7514:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7507:3:12", + "nodeType": "YulIdentifier", + "src": "7507:3:12" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "7450:75:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7483:5:12", + "nodeType": "YulTypedName", + "src": "7483:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7493:3:12", + "nodeType": "YulTypedName", + "src": "7493:3:12", + "type": "" + } + ], + "src": "7450:75:12" + }, + { + "body": { + "nativeSrc": "7607:193:12", + "nodeType": "YulBlock", + "src": "7607:193:12", + "statements": [ + { + "nativeSrc": "7617:63:12", + "nodeType": "YulVariableDeclaration", + "src": "7617:63:12", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "7672:7:12", + "nodeType": "YulIdentifier", + "src": "7672:7:12" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7641:30:12", + "nodeType": "YulIdentifier", + "src": "7641:30:12" + }, + "nativeSrc": "7641:39:12", + "nodeType": "YulFunctionCall", + "src": "7641:39:12" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "7621:16:12", + "nodeType": "YulTypedName", + "src": "7621:16:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7696:4:12", + "nodeType": "YulIdentifier", + "src": "7696:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7736:4:12", + "nodeType": "YulIdentifier", + "src": "7736:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7730:5:12", + "nodeType": "YulIdentifier", + "src": "7730:5:12" + }, + "nativeSrc": "7730:11:12", + "nodeType": "YulFunctionCall", + "src": "7730:11:12" + }, + { + "name": "offset", + "nativeSrc": "7743:6:12", + "nodeType": "YulIdentifier", + "src": "7743:6:12" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "7775:16:12", + "nodeType": "YulIdentifier", + "src": "7775:16:12" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "7751:23:12", + "nodeType": "YulIdentifier", + "src": "7751:23:12" + }, + "nativeSrc": "7751:41:12", + "nodeType": "YulFunctionCall", + "src": "7751:41:12" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "7702:27:12", + "nodeType": "YulIdentifier", + "src": "7702:27:12" + }, + "nativeSrc": "7702:91:12", + "nodeType": "YulFunctionCall", + "src": "7702:91:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7689:6:12", + "nodeType": "YulIdentifier", + "src": "7689:6:12" + }, + "nativeSrc": "7689:105:12", + "nodeType": "YulFunctionCall", + "src": "7689:105:12" + }, + "nativeSrc": "7689:105:12", + "nodeType": "YulExpressionStatement", + "src": "7689:105:12" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7531:269:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7584:4:12", + "nodeType": "YulTypedName", + "src": "7584:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7590:6:12", + "nodeType": "YulTypedName", + "src": "7590:6:12", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "7598:7:12", + "nodeType": "YulTypedName", + "src": "7598:7:12", + "type": "" + } + ], + "src": "7531:269:12" + }, + { + "body": { + "nativeSrc": "7855:24:12", + "nodeType": "YulBlock", + "src": "7855:24:12", + "statements": [ + { + "nativeSrc": "7865:8:12", + "nodeType": "YulAssignment", + "src": "7865:8:12", + "value": { + "kind": "number", + "nativeSrc": "7872:1:12", + "nodeType": "YulLiteral", + "src": "7872:1:12", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7865:3:12", + "nodeType": "YulIdentifier", + "src": "7865:3:12" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7806:73:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7851:3:12", + "nodeType": "YulTypedName", + "src": "7851:3:12", + "type": "" + } + ], + "src": "7806:73:12" + }, + { + "body": { + "nativeSrc": "7938:136:12", + "nodeType": "YulBlock", + "src": "7938:136:12", + "statements": [ + { + "nativeSrc": "7948:46:12", + "nodeType": "YulVariableDeclaration", + "src": "7948:46:12", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7962:30:12", + "nodeType": "YulIdentifier", + "src": "7962:30:12" + }, + "nativeSrc": "7962:32:12", + "nodeType": "YulFunctionCall", + "src": "7962:32:12" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "7952:6:12", + "nodeType": "YulTypedName", + "src": "7952:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8047:4:12", + "nodeType": "YulIdentifier", + "src": "8047:4:12" + }, + { + "name": "offset", + "nativeSrc": "8053:6:12", + "nodeType": "YulIdentifier", + "src": "8053:6:12" + }, + { + "name": "zero_0", + "nativeSrc": "8061:6:12", + "nodeType": "YulIdentifier", + "src": "8061:6:12" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "8003:43:12", + "nodeType": "YulIdentifier", + "src": "8003:43:12" + }, + "nativeSrc": "8003:65:12", + "nodeType": "YulFunctionCall", + "src": "8003:65:12" + }, + "nativeSrc": "8003:65:12", + "nodeType": "YulExpressionStatement", + "src": "8003:65:12" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7885:189:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7924:4:12", + "nodeType": "YulTypedName", + "src": "7924:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7930:6:12", + "nodeType": "YulTypedName", + "src": "7930:6:12", + "type": "" + } + ], + "src": "7885:189:12" + }, + { + "body": { + "nativeSrc": "8130:136:12", + "nodeType": "YulBlock", + "src": "8130:136:12", + "statements": [ + { + "body": { + "nativeSrc": "8197:63:12", + "nodeType": "YulBlock", + "src": "8197:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8241:5:12", + "nodeType": "YulIdentifier", + "src": "8241:5:12" + }, + { + "kind": "number", + "nativeSrc": "8248:1:12", + "nodeType": "YulLiteral", + "src": "8248:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "8211:29:12", + "nodeType": "YulIdentifier", + "src": "8211:29:12" + }, + "nativeSrc": "8211:39:12", + "nodeType": "YulFunctionCall", + "src": "8211:39:12" + }, + "nativeSrc": "8211:39:12", + "nodeType": "YulExpressionStatement", + "src": "8211:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8150:5:12", + "nodeType": "YulIdentifier", + "src": "8150:5:12" + }, + { + "name": "end", + "nativeSrc": "8157:3:12", + "nodeType": "YulIdentifier", + "src": "8157:3:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8147:2:12", + "nodeType": "YulIdentifier", + "src": "8147:2:12" + }, + "nativeSrc": "8147:14:12", + "nodeType": "YulFunctionCall", + "src": "8147:14:12" + }, + "nativeSrc": "8140:120:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8162:26:12", + "nodeType": "YulBlock", + "src": "8162:26:12", + "statements": [ + { + "nativeSrc": "8164:22:12", + "nodeType": "YulAssignment", + "src": "8164:22:12", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8177:5:12", + "nodeType": "YulIdentifier", + "src": "8177:5:12" + }, + { + "kind": "number", + "nativeSrc": "8184:1:12", + "nodeType": "YulLiteral", + "src": "8184:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8173:3:12", + "nodeType": "YulIdentifier", + "src": "8173:3:12" + }, + "nativeSrc": "8173:13:12", + "nodeType": "YulFunctionCall", + "src": "8173:13:12" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "8164:5:12", + "nodeType": "YulIdentifier", + "src": "8164:5:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "8144:2:12", + "nodeType": "YulBlock", + "src": "8144:2:12", + "statements": [] + }, + "src": "8140:120:12" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8080:186:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "8118:5:12", + "nodeType": "YulTypedName", + "src": "8118:5:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8125:3:12", + "nodeType": "YulTypedName", + "src": "8125:3:12", + "type": "" + } + ], + "src": "8080:186:12" + }, + { + "body": { + "nativeSrc": "8351:464:12", + "nodeType": "YulBlock", + "src": "8351:464:12", + "statements": [ + { + "body": { + "nativeSrc": "8377:431:12", + "nodeType": "YulBlock", + "src": "8377:431:12", + "statements": [ + { + "nativeSrc": "8391:54:12", + "nodeType": "YulVariableDeclaration", + "src": "8391:54:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8439:5:12", + "nodeType": "YulIdentifier", + "src": "8439:5:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "8407:31:12", + "nodeType": "YulIdentifier", + "src": "8407:31:12" + }, + "nativeSrc": "8407:38:12", + "nodeType": "YulFunctionCall", + "src": "8407:38:12" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "8395:8:12", + "nodeType": "YulTypedName", + "src": "8395:8:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8458:63:12", + "nodeType": "YulVariableDeclaration", + "src": "8458:63:12", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8481:8:12", + "nodeType": "YulIdentifier", + "src": "8481:8:12" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8509:10:12", + "nodeType": "YulIdentifier", + "src": "8509:10:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8491:17:12", + "nodeType": "YulIdentifier", + "src": "8491:17:12" + }, + "nativeSrc": "8491:29:12", + "nodeType": "YulFunctionCall", + "src": "8491:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8477:3:12", + "nodeType": "YulIdentifier", + "src": "8477:3:12" + }, + "nativeSrc": "8477:44:12", + "nodeType": "YulFunctionCall", + "src": "8477:44:12" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "8462:11:12", + "nodeType": "YulTypedName", + "src": "8462:11:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8678:27:12", + "nodeType": "YulBlock", + "src": "8678:27:12", + "statements": [ + { + "nativeSrc": "8680:23:12", + "nodeType": "YulAssignment", + "src": "8680:23:12", + "value": { + "name": "dataArea", + "nativeSrc": "8695:8:12", + "nodeType": "YulIdentifier", + "src": "8695:8:12" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "8680:11:12", + "nodeType": "YulIdentifier", + "src": "8680:11:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8662:10:12", + "nodeType": "YulIdentifier", + "src": "8662:10:12" + }, + { + "kind": "number", + "nativeSrc": "8674:2:12", + "nodeType": "YulLiteral", + "src": "8674:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8659:2:12", + "nodeType": "YulIdentifier", + "src": "8659:2:12" + }, + "nativeSrc": "8659:18:12", + "nodeType": "YulFunctionCall", + "src": "8659:18:12" + }, + "nativeSrc": "8656:49:12", + "nodeType": "YulIf", + "src": "8656:49:12" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "8747:11:12", + "nodeType": "YulIdentifier", + "src": "8747:11:12" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8764:8:12", + "nodeType": "YulIdentifier", + "src": "8764:8:12" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "8792:3:12", + "nodeType": "YulIdentifier", + "src": "8792:3:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8774:17:12", + "nodeType": "YulIdentifier", + "src": "8774:17:12" + }, + "nativeSrc": "8774:22:12", + "nodeType": "YulFunctionCall", + "src": "8774:22:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8760:3:12", + "nodeType": "YulIdentifier", + "src": "8760:3:12" + }, + "nativeSrc": "8760:37:12", + "nodeType": "YulFunctionCall", + "src": "8760:37:12" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8718:28:12", + "nodeType": "YulIdentifier", + "src": "8718:28:12" + }, + "nativeSrc": "8718:80:12", + "nodeType": "YulFunctionCall", + "src": "8718:80:12" + }, + "nativeSrc": "8718:80:12", + "nodeType": "YulExpressionStatement", + "src": "8718:80:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "8368:3:12", + "nodeType": "YulIdentifier", + "src": "8368:3:12" + }, + { + "kind": "number", + "nativeSrc": "8373:2:12", + "nodeType": "YulLiteral", + "src": "8373:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8365:2:12", + "nodeType": "YulIdentifier", + "src": "8365:2:12" + }, + "nativeSrc": "8365:11:12", + "nodeType": "YulFunctionCall", + "src": "8365:11:12" + }, + "nativeSrc": "8362:446:12", + "nodeType": "YulIf", + "src": "8362:446:12" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "8272:543:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "8327:5:12", + "nodeType": "YulTypedName", + "src": "8327:5:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "8334:3:12", + "nodeType": "YulTypedName", + "src": "8334:3:12", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "8339:10:12", + "nodeType": "YulTypedName", + "src": "8339:10:12", + "type": "" + } + ], + "src": "8272:543:12" + }, + { + "body": { + "nativeSrc": "8884:54:12", + "nodeType": "YulBlock", + "src": "8884:54:12", + "statements": [ + { + "nativeSrc": "8894:37:12", + "nodeType": "YulAssignment", + "src": "8894:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "8919:4:12", + "nodeType": "YulIdentifier", + "src": "8919:4:12" + }, + { + "name": "value", + "nativeSrc": "8925:5:12", + "nodeType": "YulIdentifier", + "src": "8925:5:12" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8915:3:12", + "nodeType": "YulIdentifier", + "src": "8915:3:12" + }, + "nativeSrc": "8915:16:12", + "nodeType": "YulFunctionCall", + "src": "8915:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "8894:8:12", + "nodeType": "YulIdentifier", + "src": "8894:8:12" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8821:117:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "8859:4:12", + "nodeType": "YulTypedName", + "src": "8859:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "8865:5:12", + "nodeType": "YulTypedName", + "src": "8865:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "8875:8:12", + "nodeType": "YulTypedName", + "src": "8875:8:12", + "type": "" + } + ], + "src": "8821:117:12" + }, + { + "body": { + "nativeSrc": "8995:118:12", + "nodeType": "YulBlock", + "src": "8995:118:12", + "statements": [ + { + "nativeSrc": "9005:68:12", + "nodeType": "YulVariableDeclaration", + "src": "9005:68:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9054:1:12", + "nodeType": "YulLiteral", + "src": "9054:1:12", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "9057:5:12", + "nodeType": "YulIdentifier", + "src": "9057:5:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9050:3:12", + "nodeType": "YulIdentifier", + "src": "9050:3:12" + }, + "nativeSrc": "9050:13:12", + "nodeType": "YulFunctionCall", + "src": "9050:13:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9069:1:12", + "nodeType": "YulLiteral", + "src": "9069:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9065:3:12", + "nodeType": "YulIdentifier", + "src": "9065:3:12" + }, + "nativeSrc": "9065:6:12", + "nodeType": "YulFunctionCall", + "src": "9065:6:12" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "9021:28:12", + "nodeType": "YulIdentifier", + "src": "9021:28:12" + }, + "nativeSrc": "9021:51:12", + "nodeType": "YulFunctionCall", + "src": "9021:51:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9017:3:12", + "nodeType": "YulIdentifier", + "src": "9017:3:12" + }, + "nativeSrc": "9017:56:12", + "nodeType": "YulFunctionCall", + "src": "9017:56:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "9009:4:12", + "nodeType": "YulTypedName", + "src": "9009:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9082:25:12", + "nodeType": "YulAssignment", + "src": "9082:25:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9096:4:12", + "nodeType": "YulIdentifier", + "src": "9096:4:12" + }, + { + "name": "mask", + "nativeSrc": "9102:4:12", + "nodeType": "YulIdentifier", + "src": "9102:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9092:3:12", + "nodeType": "YulIdentifier", + "src": "9092:3:12" + }, + "nativeSrc": "9092:15:12", + "nodeType": "YulFunctionCall", + "src": "9092:15:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "9082:6:12", + "nodeType": "YulIdentifier", + "src": "9082:6:12" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "8944:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8972:4:12", + "nodeType": "YulTypedName", + "src": "8972:4:12", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "8978:5:12", + "nodeType": "YulTypedName", + "src": "8978:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8988:6:12", + "nodeType": "YulTypedName", + "src": "8988:6:12", + "type": "" + } + ], + "src": "8944:169:12" + }, + { + "body": { + "nativeSrc": "9199:214:12", + "nodeType": "YulBlock", + "src": "9199:214:12", + "statements": [ + { + "nativeSrc": "9332:37:12", + "nodeType": "YulAssignment", + "src": "9332:37:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9359:4:12", + "nodeType": "YulIdentifier", + "src": "9359:4:12" + }, + { + "name": "len", + "nativeSrc": "9365:3:12", + "nodeType": "YulIdentifier", + "src": "9365:3:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "9340:18:12", + "nodeType": "YulIdentifier", + "src": "9340:18:12" + }, + "nativeSrc": "9340:29:12", + "nodeType": "YulFunctionCall", + "src": "9340:29:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9332:4:12", + "nodeType": "YulIdentifier", + "src": "9332:4:12" + } + ] + }, + { + "nativeSrc": "9378:29:12", + "nodeType": "YulAssignment", + "src": "9378:29:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9389:4:12", + "nodeType": "YulIdentifier", + "src": "9389:4:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9399:1:12", + "nodeType": "YulLiteral", + "src": "9399:1:12", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "9402:3:12", + "nodeType": "YulIdentifier", + "src": "9402:3:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9395:3:12", + "nodeType": "YulIdentifier", + "src": "9395:3:12" + }, + "nativeSrc": "9395:11:12", + "nodeType": "YulFunctionCall", + "src": "9395:11:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "9386:2:12", + "nodeType": "YulIdentifier", + "src": "9386:2:12" + }, + "nativeSrc": "9386:21:12", + "nodeType": "YulFunctionCall", + "src": "9386:21:12" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "9378:4:12", + "nodeType": "YulIdentifier", + "src": "9378:4:12" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "9118:295:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "9180:4:12", + "nodeType": "YulTypedName", + "src": "9180:4:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "9186:3:12", + "nodeType": "YulTypedName", + "src": "9186:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "9194:4:12", + "nodeType": "YulTypedName", + "src": "9194:4:12", + "type": "" + } + ], + "src": "9118:295:12" + }, + { + "body": { + "nativeSrc": "9510:1303:12", + "nodeType": "YulBlock", + "src": "9510:1303:12", + "statements": [ + { + "nativeSrc": "9521:51:12", + "nodeType": "YulVariableDeclaration", + "src": "9521:51:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "9568:3:12", + "nodeType": "YulIdentifier", + "src": "9568:3:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "9535:32:12", + "nodeType": "YulIdentifier", + "src": "9535:32:12" + }, + "nativeSrc": "9535:37:12", + "nodeType": "YulFunctionCall", + "src": "9535:37:12" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "9525:6:12", + "nodeType": "YulTypedName", + "src": "9525:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9657:22:12", + "nodeType": "YulBlock", + "src": "9657:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9659:16:12", + "nodeType": "YulIdentifier", + "src": "9659:16:12" + }, + "nativeSrc": "9659:18:12", + "nodeType": "YulFunctionCall", + "src": "9659:18:12" + }, + "nativeSrc": "9659:18:12", + "nodeType": "YulExpressionStatement", + "src": "9659:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9629:6:12", + "nodeType": "YulIdentifier", + "src": "9629:6:12" + }, + { + "kind": "number", + "nativeSrc": "9637:18:12", + "nodeType": "YulLiteral", + "src": "9637:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9626:2:12", + "nodeType": "YulIdentifier", + "src": "9626:2:12" + }, + "nativeSrc": "9626:30:12", + "nodeType": "YulFunctionCall", + "src": "9626:30:12" + }, + "nativeSrc": "9623:56:12", + "nodeType": "YulIf", + "src": "9623:56:12" + }, + { + "nativeSrc": "9689:52:12", + "nodeType": "YulVariableDeclaration", + "src": "9689:52:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9735:4:12", + "nodeType": "YulIdentifier", + "src": "9735:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "9729:5:12", + "nodeType": "YulIdentifier", + "src": "9729:5:12" + }, + "nativeSrc": "9729:11:12", + "nodeType": "YulFunctionCall", + "src": "9729:11:12" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "9703:25:12", + "nodeType": "YulIdentifier", + "src": "9703:25:12" + }, + "nativeSrc": "9703:38:12", + "nodeType": "YulFunctionCall", + "src": "9703:38:12" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "9693:6:12", + "nodeType": "YulTypedName", + "src": "9693:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9834:4:12", + "nodeType": "YulIdentifier", + "src": "9834:4:12" + }, + { + "name": "oldLen", + "nativeSrc": "9840:6:12", + "nodeType": "YulIdentifier", + "src": "9840:6:12" + }, + { + "name": "newLen", + "nativeSrc": "9848:6:12", + "nodeType": "YulIdentifier", + "src": "9848:6:12" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "9788:45:12", + "nodeType": "YulIdentifier", + "src": "9788:45:12" + }, + "nativeSrc": "9788:67:12", + "nodeType": "YulFunctionCall", + "src": "9788:67:12" + }, + "nativeSrc": "9788:67:12", + "nodeType": "YulExpressionStatement", + "src": "9788:67:12" + }, + { + "nativeSrc": "9865:18:12", + "nodeType": "YulVariableDeclaration", + "src": "9865:18:12", + "value": { + "kind": "number", + "nativeSrc": "9882:1:12", + "nodeType": "YulLiteral", + "src": "9882:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "9869:9:12", + "nodeType": "YulTypedName", + "src": "9869:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9893:17:12", + "nodeType": "YulAssignment", + "src": "9893:17:12", + "value": { + "kind": "number", + "nativeSrc": "9906:4:12", + "nodeType": "YulLiteral", + "src": "9906:4:12", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9893:9:12", + "nodeType": "YulIdentifier", + "src": "9893:9:12" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "9957:611:12", + "nodeType": "YulBlock", + "src": "9957:611:12", + "statements": [ + { + "nativeSrc": "9971:37:12", + "nodeType": "YulVariableDeclaration", + "src": "9971:37:12", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9990:6:12", + "nodeType": "YulIdentifier", + "src": "9990:6:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10002:4:12", + "nodeType": "YulLiteral", + "src": "10002:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9998:3:12", + "nodeType": "YulIdentifier", + "src": "9998:3:12" + }, + "nativeSrc": "9998:9:12", + "nodeType": "YulFunctionCall", + "src": "9998:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9986:3:12", + "nodeType": "YulIdentifier", + "src": "9986:3:12" + }, + "nativeSrc": "9986:22:12", + "nodeType": "YulFunctionCall", + "src": "9986:22:12" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "9975:7:12", + "nodeType": "YulTypedName", + "src": "9975:7:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10022:51:12", + "nodeType": "YulVariableDeclaration", + "src": "10022:51:12", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10068:4:12", + "nodeType": "YulIdentifier", + "src": "10068:4:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "10036:31:12", + "nodeType": "YulIdentifier", + "src": "10036:31:12" + }, + "nativeSrc": "10036:37:12", + "nodeType": "YulFunctionCall", + "src": "10036:37:12" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "10026:6:12", + "nodeType": "YulTypedName", + "src": "10026:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10086:10:12", + "nodeType": "YulVariableDeclaration", + "src": "10086:10:12", + "value": { + "kind": "number", + "nativeSrc": "10095:1:12", + "nodeType": "YulLiteral", + "src": "10095:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "10090:1:12", + "nodeType": "YulTypedName", + "src": "10090:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10154:163:12", + "nodeType": "YulBlock", + "src": "10154:163:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10179:6:12", + "nodeType": "YulIdentifier", + "src": "10179:6:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10197:3:12", + "nodeType": "YulIdentifier", + "src": "10197:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10202:9:12", + "nodeType": "YulIdentifier", + "src": "10202:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10193:3:12", + "nodeType": "YulIdentifier", + "src": "10193:3:12" + }, + "nativeSrc": "10193:19:12", + "nodeType": "YulFunctionCall", + "src": "10193:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10187:5:12", + "nodeType": "YulIdentifier", + "src": "10187:5:12" + }, + "nativeSrc": "10187:26:12", + "nodeType": "YulFunctionCall", + "src": "10187:26:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10172:6:12", + "nodeType": "YulIdentifier", + "src": "10172:6:12" + }, + "nativeSrc": "10172:42:12", + "nodeType": "YulFunctionCall", + "src": "10172:42:12" + }, + "nativeSrc": "10172:42:12", + "nodeType": "YulExpressionStatement", + "src": "10172:42:12" + }, + { + "nativeSrc": "10231:24:12", + "nodeType": "YulAssignment", + "src": "10231:24:12", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10245:6:12", + "nodeType": "YulIdentifier", + "src": "10245:6:12" + }, + { + "kind": "number", + "nativeSrc": "10253:1:12", + "nodeType": "YulLiteral", + "src": "10253:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10241:3:12", + "nodeType": "YulIdentifier", + "src": "10241:3:12" + }, + "nativeSrc": "10241:14:12", + "nodeType": "YulFunctionCall", + "src": "10241:14:12" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "10231:6:12", + "nodeType": "YulIdentifier", + "src": "10231:6:12" + } + ] + }, + { + "nativeSrc": "10272:31:12", + "nodeType": "YulAssignment", + "src": "10272:31:12", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "10289:9:12", + "nodeType": "YulIdentifier", + "src": "10289:9:12" + }, + { + "kind": "number", + "nativeSrc": "10300:2:12", + "nodeType": "YulLiteral", + "src": "10300:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10285:3:12", + "nodeType": "YulIdentifier", + "src": "10285:3:12" + }, + "nativeSrc": "10285:18:12", + "nodeType": "YulFunctionCall", + "src": "10285:18:12" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "10272:9:12", + "nodeType": "YulIdentifier", + "src": "10272:9:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10120:1:12", + "nodeType": "YulIdentifier", + "src": "10120:1:12" + }, + { + "name": "loopEnd", + "nativeSrc": "10123:7:12", + "nodeType": "YulIdentifier", + "src": "10123:7:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10117:2:12", + "nodeType": "YulIdentifier", + "src": "10117:2:12" + }, + "nativeSrc": "10117:14:12", + "nodeType": "YulFunctionCall", + "src": "10117:14:12" + }, + "nativeSrc": "10109:208:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "10132:21:12", + "nodeType": "YulBlock", + "src": "10132:21:12", + "statements": [ + { + "nativeSrc": "10134:17:12", + "nodeType": "YulAssignment", + "src": "10134:17:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10143:1:12", + "nodeType": "YulIdentifier", + "src": "10143:1:12" + }, + { + "kind": "number", + "nativeSrc": "10146:4:12", + "nodeType": "YulLiteral", + "src": "10146:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10139:3:12", + "nodeType": "YulIdentifier", + "src": "10139:3:12" + }, + "nativeSrc": "10139:12:12", + "nodeType": "YulFunctionCall", + "src": "10139:12:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "10134:1:12", + "nodeType": "YulIdentifier", + "src": "10134:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "10113:3:12", + "nodeType": "YulBlock", + "src": "10113:3:12", + "statements": [] + }, + "src": "10109:208:12" + }, + { + "body": { + "nativeSrc": "10353:156:12", + "nodeType": "YulBlock", + "src": "10353:156:12", + "statements": [ + { + "nativeSrc": "10371:43:12", + "nodeType": "YulVariableDeclaration", + "src": "10371:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10398:3:12", + "nodeType": "YulIdentifier", + "src": "10398:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10403:9:12", + "nodeType": "YulIdentifier", + "src": "10403:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10394:3:12", + "nodeType": "YulIdentifier", + "src": "10394:3:12" + }, + "nativeSrc": "10394:19:12", + "nodeType": "YulFunctionCall", + "src": "10394:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10388:5:12", + "nodeType": "YulIdentifier", + "src": "10388:5:12" + }, + "nativeSrc": "10388:26:12", + "nodeType": "YulFunctionCall", + "src": "10388:26:12" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "10375:9:12", + "nodeType": "YulTypedName", + "src": "10375:9:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10438:6:12", + "nodeType": "YulIdentifier", + "src": "10438:6:12" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "10465:9:12", + "nodeType": "YulIdentifier", + "src": "10465:9:12" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10480:6:12", + "nodeType": "YulIdentifier", + "src": "10480:6:12" + }, + { + "kind": "number", + "nativeSrc": "10488:4:12", + "nodeType": "YulLiteral", + "src": "10488:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10476:3:12", + "nodeType": "YulIdentifier", + "src": "10476:3:12" + }, + "nativeSrc": "10476:17:12", + "nodeType": "YulFunctionCall", + "src": "10476:17:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "10446:18:12", + "nodeType": "YulIdentifier", + "src": "10446:18:12" + }, + "nativeSrc": "10446:48:12", + "nodeType": "YulFunctionCall", + "src": "10446:48:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10431:6:12", + "nodeType": "YulIdentifier", + "src": "10431:6:12" + }, + "nativeSrc": "10431:64:12", + "nodeType": "YulFunctionCall", + "src": "10431:64:12" + }, + "nativeSrc": "10431:64:12", + "nodeType": "YulExpressionStatement", + "src": "10431:64:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "10336:7:12", + "nodeType": "YulIdentifier", + "src": "10336:7:12" + }, + { + "name": "newLen", + "nativeSrc": "10345:6:12", + "nodeType": "YulIdentifier", + "src": "10345:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10333:2:12", + "nodeType": "YulIdentifier", + "src": "10333:2:12" + }, + "nativeSrc": "10333:19:12", + "nodeType": "YulFunctionCall", + "src": "10333:19:12" + }, + "nativeSrc": "10330:179:12", + "nodeType": "YulIf", + "src": "10330:179:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10529:4:12", + "nodeType": "YulIdentifier", + "src": "10529:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10543:6:12", + "nodeType": "YulIdentifier", + "src": "10543:6:12" + }, + { + "kind": "number", + "nativeSrc": "10551:1:12", + "nodeType": "YulLiteral", + "src": "10551:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10539:3:12", + "nodeType": "YulIdentifier", + "src": "10539:3:12" + }, + "nativeSrc": "10539:14:12", + "nodeType": "YulFunctionCall", + "src": "10539:14:12" + }, + { + "kind": "number", + "nativeSrc": "10555:1:12", + "nodeType": "YulLiteral", + "src": "10555:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10535:3:12", + "nodeType": "YulIdentifier", + "src": "10535:3:12" + }, + "nativeSrc": "10535:22:12", + "nodeType": "YulFunctionCall", + "src": "10535:22:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10522:6:12", + "nodeType": "YulIdentifier", + "src": "10522:6:12" + }, + "nativeSrc": "10522:36:12", + "nodeType": "YulFunctionCall", + "src": "10522:36:12" + }, + "nativeSrc": "10522:36:12", + "nodeType": "YulExpressionStatement", + "src": "10522:36:12" + } + ] + }, + "nativeSrc": "9950:618:12", + "nodeType": "YulCase", + "src": "9950:618:12", + "value": { + "kind": "number", + "nativeSrc": "9955:1:12", + "nodeType": "YulLiteral", + "src": "9955:1:12", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "10585:222:12", + "nodeType": "YulBlock", + "src": "10585:222:12", + "statements": [ + { + "nativeSrc": "10599:14:12", + "nodeType": "YulVariableDeclaration", + "src": "10599:14:12", + "value": { + "kind": "number", + "nativeSrc": "10612:1:12", + "nodeType": "YulLiteral", + "src": "10612:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "10603:5:12", + "nodeType": "YulTypedName", + "src": "10603:5:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10636:67:12", + "nodeType": "YulBlock", + "src": "10636:67:12", + "statements": [ + { + "nativeSrc": "10654:35:12", + "nodeType": "YulAssignment", + "src": "10654:35:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10673:3:12", + "nodeType": "YulIdentifier", + "src": "10673:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10678:9:12", + "nodeType": "YulIdentifier", + "src": "10678:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10669:3:12", + "nodeType": "YulIdentifier", + "src": "10669:3:12" + }, + "nativeSrc": "10669:19:12", + "nodeType": "YulFunctionCall", + "src": "10669:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10663:5:12", + "nodeType": "YulIdentifier", + "src": "10663:5:12" + }, + "nativeSrc": "10663:26:12", + "nodeType": "YulFunctionCall", + "src": "10663:26:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10654:5:12", + "nodeType": "YulIdentifier", + "src": "10654:5:12" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "10629:6:12", + "nodeType": "YulIdentifier", + "src": "10629:6:12" + }, + "nativeSrc": "10626:77:12", + "nodeType": "YulIf", + "src": "10626:77:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10723:4:12", + "nodeType": "YulIdentifier", + "src": "10723:4:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10782:5:12", + "nodeType": "YulIdentifier", + "src": "10782:5:12" + }, + { + "name": "newLen", + "nativeSrc": "10789:6:12", + "nodeType": "YulIdentifier", + "src": "10789:6:12" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "10729:52:12", + "nodeType": "YulIdentifier", + "src": "10729:52:12" + }, + "nativeSrc": "10729:67:12", + "nodeType": "YulFunctionCall", + "src": "10729:67:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10716:6:12", + "nodeType": "YulIdentifier", + "src": "10716:6:12" + }, + "nativeSrc": "10716:81:12", + "nodeType": "YulFunctionCall", + "src": "10716:81:12" + }, + "nativeSrc": "10716:81:12", + "nodeType": "YulExpressionStatement", + "src": "10716:81:12" + } + ] + }, + "nativeSrc": "10577:230:12", + "nodeType": "YulCase", + "src": "10577:230:12", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9930:6:12", + "nodeType": "YulIdentifier", + "src": "9930:6:12" + }, + { + "kind": "number", + "nativeSrc": "9938:2:12", + "nodeType": "YulLiteral", + "src": "9938:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9927:2:12", + "nodeType": "YulIdentifier", + "src": "9927:2:12" + }, + "nativeSrc": "9927:14:12", + "nodeType": "YulFunctionCall", + "src": "9927:14:12" + }, + "nativeSrc": "9920:887:12", + "nodeType": "YulSwitch", + "src": "9920:887:12" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "9418:1395:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "9499:4:12", + "nodeType": "YulTypedName", + "src": "9499:4:12", + "type": "" + }, + { + "name": "src", + "nativeSrc": "9505:3:12", + "nodeType": "YulTypedName", + "src": "9505:3:12", + "type": "" + } + ], + "src": "9418:1395:12" + }, + { + "body": { + "nativeSrc": "10847:152:12", + "nodeType": "YulBlock", + "src": "10847:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10864:1:12", + "nodeType": "YulLiteral", + "src": "10864:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10867:77:12", + "nodeType": "YulLiteral", + "src": "10867:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10857:6:12", + "nodeType": "YulIdentifier", + "src": "10857:6:12" + }, + "nativeSrc": "10857:88:12", + "nodeType": "YulFunctionCall", + "src": "10857:88:12" + }, + "nativeSrc": "10857:88:12", + "nodeType": "YulExpressionStatement", + "src": "10857:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10961:1:12", + "nodeType": "YulLiteral", + "src": "10961:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10964:4:12", + "nodeType": "YulLiteral", + "src": "10964:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10954:6:12", + "nodeType": "YulIdentifier", + "src": "10954:6:12" + }, + "nativeSrc": "10954:15:12", + "nodeType": "YulFunctionCall", + "src": "10954:15:12" + }, + "nativeSrc": "10954:15:12", + "nodeType": "YulExpressionStatement", + "src": "10954:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10985:1:12", + "nodeType": "YulLiteral", + "src": "10985:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10988:4:12", + "nodeType": "YulLiteral", + "src": "10988:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10978:6:12", + "nodeType": "YulIdentifier", + "src": "10978:6:12" + }, + "nativeSrc": "10978:15:12", + "nodeType": "YulFunctionCall", + "src": "10978:15:12" + }, + "nativeSrc": "10978:15:12", + "nodeType": "YulExpressionStatement", + "src": "10978:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "10819:180:12", + "nodeType": "YulFunctionDefinition", + "src": "10819:180:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function validator_revert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AirdropType_$3239_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_uint256t_enum$_AirdropType_$3239_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7 {\n if slt(sub(dataEnd, headStart), 256) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 224\n\n value7 := abi_decode_t_enum$_AirdropType_$3239_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea26469706673582212204cd4ce436aa778d507342d29768b639c0cf04f46fd105d6e069c996c9e6075b264736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2580 CODESIZE SUB DUP1 PUSH3 0x2580 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x48F JUMP JUMPDEST DUP7 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x170 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP8 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7E6 JUMP JUMPDEST POP DUP5 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x8CD JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP PUSH3 0x8FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x29D DUP3 PUSH3 0x252 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BF JUMPI PUSH3 0x2BE PUSH3 0x263 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D4 PUSH3 0x234 JUMP JUMPDEST SWAP1 POP PUSH3 0x2E2 DUP3 DUP3 PUSH3 0x292 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x305 JUMPI PUSH3 0x304 PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x310 DUP3 PUSH3 0x252 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x33D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x320 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x360 PUSH3 0x35A DUP5 PUSH3 0x2E7 JUMP JUMPDEST PUSH3 0x2C8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x24D JUMP JUMPDEST JUMPDEST PUSH3 0x38C DUP5 DUP3 DUP6 PUSH3 0x31D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3AC JUMPI PUSH3 0x3AB PUSH3 0x248 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3BE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x349 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3F4 DUP3 PUSH3 0x3C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x406 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP2 EQ PUSH3 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x426 DUP2 PUSH3 0x3FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x441 DUP2 PUSH3 0x42C JUMP JUMPDEST DUP2 EQ PUSH3 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x461 DUP2 PUSH3 0x436 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x475 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x489 DUP2 PUSH3 0x467 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH3 0x4B2 PUSH3 0x23E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP10 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4D4 JUMPI PUSH3 0x4D3 PUSH3 0x243 JUMP JUMPDEST JUMPDEST PUSH3 0x4E2 DUP12 DUP3 DUP13 ADD PUSH3 0x394 JUMP JUMPDEST SWAP9 POP POP PUSH1 0x20 PUSH3 0x4F5 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x40 PUSH3 0x508 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x60 PUSH3 0x51B DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x80 PUSH3 0x52E DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP5 POP POP PUSH1 0xA0 PUSH3 0x541 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xC0 PUSH3 0x554 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 PUSH3 0x567 DUP12 DUP3 DUP13 ADD PUSH3 0x478 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH3 0x582 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x59F PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x60E JUMPI PUSH3 0x60D PUSH3 0x5B0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x678 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x639 JUMP JUMPDEST PUSH3 0x684 DUP7 DUP4 PUSH3 0x639 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6C7 PUSH3 0x6C1 PUSH3 0x6BB DUP5 PUSH3 0x42C JUMP JUMPDEST PUSH3 0x69C JUMP JUMPDEST PUSH3 0x42C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6E3 DUP4 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6FB PUSH3 0x6F2 DUP3 PUSH3 0x6CE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x646 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x712 PUSH3 0x703 JUMP JUMPDEST PUSH3 0x71F DUP2 DUP5 DUP5 PUSH3 0x6D8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x747 JUMPI PUSH3 0x73B PUSH1 0x0 DUP3 PUSH3 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x725 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x796 JUMPI PUSH3 0x760 DUP2 PUSH3 0x614 JUMP JUMPDEST PUSH3 0x76B DUP5 PUSH3 0x629 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x77B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x793 PUSH3 0x78A DUP6 PUSH3 0x629 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x724 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7BB PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x79B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7D6 DUP4 DUP4 PUSH3 0x7A8 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7F1 DUP3 PUSH3 0x5A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x80D JUMPI PUSH3 0x80C PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x819 DUP3 SLOAD PUSH3 0x5DF JUMP JUMPDEST PUSH3 0x826 DUP3 DUP3 DUP6 PUSH3 0x74B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x85E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x849 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x855 DUP6 DUP3 PUSH3 0x7C8 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8C5 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x86E DUP7 PUSH3 0x614 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x898 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x871 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x8B8 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x8B4 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x7A8 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1C74 DUP1 PUSH3 0x90C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4C 0xD4 0xCE NUMBER PUSH11 0xA778D507342D29768B639C 0xC CREATE 0x4F CHAINID REVERT LT TSTORE PUSH15 0x69C996C9E6075B264736F6C634300 ADDMOD XOR STOP CALLER ", + "sourceMap": "134:4472:8:-:0;;;672:623;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;948:12;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;998:12:8::1;972:14;;:39;;;;;;;;;;;;;;;;;;1036:11;1021:12;:26;;;;;;:::i;:::-;;1068:7;1057:8;:18;;;;1107;1085:19;:40;;;;1156:18;1135;:39;;;;1199:11;1184:12;:26;;;;1238:14;1220:15;:32;;;;1277:11;1262:12;;:26;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;672:623:::0;;;;;;;;134:4472;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:126::-;2714:7;2754:42;2747:5;2743:54;2732:65;;2677:126;;;:::o;2809:96::-;2846:7;2875:24;2893:5;2875:24;:::i;:::-;2864:35;;2809:96;;;:::o;2911:122::-;2984:24;3002:5;2984:24;:::i;:::-;2977:5;2974:35;2964:63;;3023:1;3020;3013:12;2964:63;2911:122;:::o;3039:143::-;3096:5;3127:6;3121:13;3112:22;;3143:33;3170:5;3143:33;:::i;:::-;3039:143;;;;:::o;3188:77::-;3225:7;3254:5;3243:16;;3188:77;;;:::o;3271:122::-;3344:24;3362:5;3344:24;:::i;:::-;3337:5;3334:35;3324:63;;3383:1;3380;3373:12;3324:63;3271:122;:::o;3399:143::-;3456:5;3487:6;3481:13;3472:22;;3503:33;3530:5;3503:33;:::i;:::-;3399:143;;;;:::o;3548:115::-;3637:1;3630:5;3627:12;3617:40;;3653:1;3650;3643:12;3617:40;3548:115;:::o;3669:175::-;3742:5;3773:6;3767:13;3758:22;;3789:49;3832:5;3789:49;:::i;:::-;3669:175;;;;:::o;3850:1653::-;4009:6;4017;4025;4033;4041;4049;4057;4065;4114:3;4102:9;4093:7;4089:23;4085:33;4082:120;;;4121:79;;:::i;:::-;4082:120;4262:1;4251:9;4247:17;4241:24;4292:18;4284:6;4281:30;4278:117;;;4314:79;;:::i;:::-;4278:117;4419:74;4485:7;4476:6;4465:9;4461:22;4419:74;:::i;:::-;4409:84;;4212:291;4542:2;4568:64;4624:7;4615:6;4604:9;4600:22;4568:64;:::i;:::-;4558:74;;4513:129;4681:2;4707:64;4763:7;4754:6;4743:9;4739:22;4707:64;:::i;:::-;4697:74;;4652:129;4820:2;4846:64;4902:7;4893:6;4882:9;4878:22;4846:64;:::i;:::-;4836:74;;4791:129;4959:3;4986:64;5042:7;5033:6;5022:9;5018:22;4986:64;:::i;:::-;4976:74;;4930:130;5099:3;5126:64;5182:7;5173:6;5162:9;5158:22;5126:64;:::i;:::-;5116:74;;5070:130;5239:3;5266:64;5322:7;5313:6;5302:9;5298:22;5266:64;:::i;:::-;5256:74;;5210:130;5379:3;5406:80;5478:7;5469:6;5458:9;5454:22;5406:80;:::i;:::-;5396:90;;5350:146;3850:1653;;;;;;;;;;;:::o;5509:118::-;5596:24;5614:5;5596:24;:::i;:::-;5591:3;5584:37;5509:118;;:::o;5633:222::-;5726:4;5764:2;5753:9;5749:18;5741:26;;5777:71;5845:1;5834:9;5830:17;5821:6;5777:71;:::i;:::-;5633:222;;;;:::o;5861:99::-;5913:6;5947:5;5941:12;5931:22;;5861:99;;;:::o;5966:180::-;6014:77;6011:1;6004:88;6111:4;6108:1;6101:15;6135:4;6132:1;6125:15;6152:320;6196:6;6233:1;6227:4;6223:12;6213:22;;6280:1;6274:4;6270:12;6301:18;6291:81;;6357:4;6349:6;6345:17;6335:27;;6291:81;6419:2;6411:6;6408:14;6388:18;6385:38;6382:84;;6438:18;;:::i;:::-;6382:84;6203:269;6152:320;;;:::o;6478:141::-;6527:4;6550:3;6542:11;;6573:3;6570:1;6563:14;6607:4;6604:1;6594:18;6586:26;;6478:141;;;:::o;6625:93::-;6662:6;6709:2;6704;6697:5;6693:14;6689:23;6679:33;;6625:93;;;:::o;6724:107::-;6768:8;6818:5;6812:4;6808:16;6787:37;;6724:107;;;;:::o;6837:393::-;6906:6;6956:1;6944:10;6940:18;6979:97;7009:66;6998:9;6979:97;:::i;:::-;7097:39;7127:8;7116:9;7097:39;:::i;:::-;7085:51;;7169:4;7165:9;7158:5;7154:21;7145:30;;7218:4;7208:8;7204:19;7197:5;7194:30;7184:40;;6913:317;;6837:393;;;;;:::o;7236:60::-;7264:3;7285:5;7278:12;;7236:60;;;:::o;7302:142::-;7352:9;7385:53;7403:34;7412:24;7430:5;7412:24;:::i;:::-;7403:34;:::i;:::-;7385:53;:::i;:::-;7372:66;;7302:142;;;:::o;7450:75::-;7493:3;7514:5;7507:12;;7450:75;;;:::o;7531:269::-;7641:39;7672:7;7641:39;:::i;:::-;7702:91;7751:41;7775:16;7751:41;:::i;:::-;7743:6;7736:4;7730:11;7702:91;:::i;:::-;7696:4;7689:105;7607:193;7531:269;;;:::o;7806:73::-;7851:3;7806:73;:::o;7885:189::-;7962:32;;:::i;:::-;8003:65;8061:6;8053;8047:4;8003:65;:::i;:::-;7938:136;7885:189;;:::o;8080:186::-;8140:120;8157:3;8150:5;8147:14;8140:120;;;8211:39;8248:1;8241:5;8211:39;:::i;:::-;8184:1;8177:5;8173:13;8164:22;;8140:120;;;8080:186;;:::o;8272:543::-;8373:2;8368:3;8365:11;8362:446;;;8407:38;8439:5;8407:38;:::i;:::-;8491:29;8509:10;8491:29;:::i;:::-;8481:8;8477:44;8674:2;8662:10;8659:18;8656:49;;;8695:8;8680:23;;8656:49;8718:80;8774:22;8792:3;8774:22;:::i;:::-;8764:8;8760:37;8747:11;8718:80;:::i;:::-;8377:431;;8362:446;8272:543;;;:::o;8821:117::-;8875:8;8925:5;8919:4;8915:16;8894:37;;8821:117;;;;:::o;8944:169::-;8988:6;9021:51;9069:1;9065:6;9057:5;9054:1;9050:13;9021:51;:::i;:::-;9017:56;9102:4;9096;9092:15;9082:25;;8995:118;8944:169;;;;:::o;9118:295::-;9194:4;9340:29;9365:3;9359:4;9340:29;:::i;:::-;9332:37;;9402:3;9399:1;9395:11;9389:4;9386:21;9378:29;;9118:295;;;;:::o;9418:1395::-;9535:37;9568:3;9535:37;:::i;:::-;9637:18;9629:6;9626:30;9623:56;;;9659:18;;:::i;:::-;9623:56;9703:38;9735:4;9729:11;9703:38;:::i;:::-;9788:67;9848:6;9840;9834:4;9788:67;:::i;:::-;9882:1;9906:4;9893:17;;9938:2;9930:6;9927:14;9955:1;9950:618;;;;10612:1;10629:6;10626:77;;;10678:9;10673:3;10669:19;10663:26;10654:35;;10626:77;10729:67;10789:6;10782:5;10729:67;:::i;:::-;10723:4;10716:81;10585:222;9920:887;;9950:618;10002:4;9998:9;9990:6;9986:22;10036:37;10068:4;10036:37;:::i;:::-;10095:1;10109:208;10123:7;10120:1;10117:14;10109:208;;;10202:9;10197:3;10193:19;10187:26;10179:6;10172:42;10253:1;10245:6;10241:14;10231:24;;10300:2;10289:9;10285:18;10272:31;;10146:4;10143:1;10139:12;10134:17;;10109:208;;;10345:6;10336:7;10333:19;10330:179;;;10403:9;10398:3;10394:19;10388:26;10446:48;10488:4;10480:6;10476:17;10465:9;10446:48;:::i;:::-;10438:6;10431:64;10353:156;10330:179;10555:1;10551;10543:6;10539:14;10535:22;10529:4;10522:36;9957:611;;;9920:887;;9510:1303;;;9418:1395;;:::o;10819:180::-;10867:77;10864:1;10857:88;10964:4;10961:1;10954:15;10988:4;10985:1;10978:15;134:4472:8;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_checkOwner_84": { + "entryPoint": 3603, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_msgSender_159": { + "entryPoint": 3934, + "id": 159, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 3738, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@allowAddress_2402": { + "entryPoint": 1139, + "id": 2402, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@allowAddresses_2437": { + "entryPoint": 1746, + "id": 2437, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@claim_2313": { + "entryPoint": 1978, + "id": 2313, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@disallowAddress_2490": { + "entryPoint": 3173, + "id": 2490, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@disallowAddresses_2472": { + "entryPoint": 2941, + "id": 2472, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@getAirdropAmountLeft_2534": { + "entryPoint": 3413, + "id": 2534, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getAirdropInfo_2334": { + "entryPoint": 1459, + "id": 2334, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_2549": { + "entryPoint": 1293, + "id": 2549, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getClaimAmount_2518": { + "entryPoint": 2758, + "id": 2518, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getExpirationDate_2510": { + "entryPoint": 2748, + "id": 2510, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_2526": { + "entryPoint": 2677, + "id": 2526, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getUri_2580": { + "entryPoint": 2687, + "id": 2580, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBalanceToClaim_2351": { + "entryPoint": 968, + "id": 2351, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBeenTotallyClaimed_2361": { + "entryPoint": 2927, + "id": 2361, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasClaimed_2373": { + "entryPoint": 2788, + "id": 2373, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasExpired_2384": { + "entryPoint": 2915, + "id": 2384, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@isAllowed_2502": { + "entryPoint": 3327, + "id": 2502, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@onERC1155Received_2572": { + "entryPoint": 3423, + "id": 2572, + "parameterSlots": 5, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 2874, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 2768, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_126": { + "entryPoint": 3469, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 5003, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 5697, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 4198, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 5108, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 5276, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 5763, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 5250, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 6087, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 4219, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr": { + "entryPoint": 5809, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 5362, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 5154, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 6108, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 4460, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 5586, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 4063, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes4_to_t_bytes4_fromStack": { + "entryPoint": 6004, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 4594, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 4403, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5495, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6375, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6629, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6775, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6483, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 7008, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6921, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack": { + "entryPoint": 4609, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 4475, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 4274, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 5601, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 7043, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 6046, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 4078, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed": { + "entryPoint": 6019, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5552, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6410, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6664, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6810, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6518, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6956, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed": { + "entryPoint": 4792, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 4289, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 4927, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 4105, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 4954, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 5633, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 4316, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 6988, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 4327, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 5478, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 7178, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 4157, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 4051, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 5960, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$3239": { + "entryPoint": 4557, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 4125, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 4264, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 4576, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 5682, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 4344, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 6200, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4878, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x11": { + "entryPoint": 7131, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 4490, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 6153, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 6249, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 4831, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 5271, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 4826, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 4998, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 5628, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 4120, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 4115, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 4386, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e": { + "entryPoint": 6296, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e": { + "entryPoint": 6550, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3": { + "entryPoint": 6696, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a": { + "entryPoint": 6442, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470": { + "entryPoint": 7005, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880": { + "entryPoint": 6842, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$3239": { + "entryPoint": 4537, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 4175, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 5227, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:23724:12", + "nodeType": "YulBlock", + "src": "0:23724:12", + "statements": [ + { + "body": { + "nativeSrc": "49:48:12", + "nodeType": "YulBlock", + "src": "49:48:12", + "statements": [ + { + "nativeSrc": "59:32:12", + "nodeType": "YulAssignment", + "src": "59:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "84:5:12", + "nodeType": "YulIdentifier", + "src": "84:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "77:6:12", + "nodeType": "YulIdentifier", + "src": "77:6:12" + }, + "nativeSrc": "77:13:12", + "nodeType": "YulFunctionCall", + "src": "77:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "70:6:12", + "nodeType": "YulIdentifier", + "src": "70:6:12" + }, + "nativeSrc": "70:21:12", + "nodeType": "YulFunctionCall", + "src": "70:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "59:7:12", + "nodeType": "YulIdentifier", + "src": "59:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "7:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "31:5:12", + "nodeType": "YulTypedName", + "src": "31:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "41:7:12", + "nodeType": "YulTypedName", + "src": "41:7:12", + "type": "" + } + ], + "src": "7:90:12" + }, + { + "body": { + "nativeSrc": "162:50:12", + "nodeType": "YulBlock", + "src": "162:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "179:3:12", + "nodeType": "YulIdentifier", + "src": "179:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "199:5:12", + "nodeType": "YulIdentifier", + "src": "199:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "184:14:12", + "nodeType": "YulIdentifier", + "src": "184:14:12" + }, + "nativeSrc": "184:21:12", + "nodeType": "YulFunctionCall", + "src": "184:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "172:6:12", + "nodeType": "YulIdentifier", + "src": "172:6:12" + }, + "nativeSrc": "172:34:12", + "nodeType": "YulFunctionCall", + "src": "172:34:12" + }, + "nativeSrc": "172:34:12", + "nodeType": "YulExpressionStatement", + "src": "172:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "103:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "150:5:12", + "nodeType": "YulTypedName", + "src": "150:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "157:3:12", + "nodeType": "YulTypedName", + "src": "157:3:12", + "type": "" + } + ], + "src": "103:109:12" + }, + { + "body": { + "nativeSrc": "310:118:12", + "nodeType": "YulBlock", + "src": "310:118:12", + "statements": [ + { + "nativeSrc": "320:26:12", + "nodeType": "YulAssignment", + "src": "320:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "332:9:12", + "nodeType": "YulIdentifier", + "src": "332:9:12" + }, + { + "kind": "number", + "nativeSrc": "343:2:12", + "nodeType": "YulLiteral", + "src": "343:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "328:3:12", + "nodeType": "YulIdentifier", + "src": "328:3:12" + }, + "nativeSrc": "328:18:12", + "nodeType": "YulFunctionCall", + "src": "328:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "320:4:12", + "nodeType": "YulIdentifier", + "src": "320:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "394:6:12", + "nodeType": "YulIdentifier", + "src": "394:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "407:9:12", + "nodeType": "YulIdentifier", + "src": "407:9:12" + }, + { + "kind": "number", + "nativeSrc": "418:1:12", + "nodeType": "YulLiteral", + "src": "418:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "403:3:12", + "nodeType": "YulIdentifier", + "src": "403:3:12" + }, + "nativeSrc": "403:17:12", + "nodeType": "YulFunctionCall", + "src": "403:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "356:37:12", + "nodeType": "YulIdentifier", + "src": "356:37:12" + }, + "nativeSrc": "356:65:12", + "nodeType": "YulFunctionCall", + "src": "356:65:12" + }, + "nativeSrc": "356:65:12", + "nodeType": "YulExpressionStatement", + "src": "356:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "218:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "282:9:12", + "nodeType": "YulTypedName", + "src": "282:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "294:6:12", + "nodeType": "YulTypedName", + "src": "294:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "305:4:12", + "nodeType": "YulTypedName", + "src": "305:4:12", + "type": "" + } + ], + "src": "218:210:12" + }, + { + "body": { + "nativeSrc": "474:35:12", + "nodeType": "YulBlock", + "src": "474:35:12", + "statements": [ + { + "nativeSrc": "484:19:12", + "nodeType": "YulAssignment", + "src": "484:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "500:2:12", + "nodeType": "YulLiteral", + "src": "500:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "494:5:12", + "nodeType": "YulIdentifier", + "src": "494:5:12" + }, + "nativeSrc": "494:9:12", + "nodeType": "YulFunctionCall", + "src": "494:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "484:6:12", + "nodeType": "YulIdentifier", + "src": "484:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "434:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "467:6:12", + "nodeType": "YulTypedName", + "src": "467:6:12", + "type": "" + } + ], + "src": "434:75:12" + }, + { + "body": { + "nativeSrc": "604:28:12", + "nodeType": "YulBlock", + "src": "604:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "621:1:12", + "nodeType": "YulLiteral", + "src": "621:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "624:1:12", + "nodeType": "YulLiteral", + "src": "624:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "614:6:12", + "nodeType": "YulIdentifier", + "src": "614:6:12" + }, + "nativeSrc": "614:12:12", + "nodeType": "YulFunctionCall", + "src": "614:12:12" + }, + "nativeSrc": "614:12:12", + "nodeType": "YulExpressionStatement", + "src": "614:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "515:117:12", + "nodeType": "YulFunctionDefinition", + "src": "515:117:12" + }, + { + "body": { + "nativeSrc": "727:28:12", + "nodeType": "YulBlock", + "src": "727:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "744:1:12", + "nodeType": "YulLiteral", + "src": "744:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "747:1:12", + "nodeType": "YulLiteral", + "src": "747:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "737:6:12", + "nodeType": "YulIdentifier", + "src": "737:6:12" + }, + "nativeSrc": "737:12:12", + "nodeType": "YulFunctionCall", + "src": "737:12:12" + }, + "nativeSrc": "737:12:12", + "nodeType": "YulExpressionStatement", + "src": "737:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "638:117:12", + "nodeType": "YulFunctionDefinition", + "src": "638:117:12" + }, + { + "body": { + "nativeSrc": "806:81:12", + "nodeType": "YulBlock", + "src": "806:81:12", + "statements": [ + { + "nativeSrc": "816:65:12", + "nodeType": "YulAssignment", + "src": "816:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "831:5:12", + "nodeType": "YulIdentifier", + "src": "831:5:12" + }, + { + "kind": "number", + "nativeSrc": "838:42:12", + "nodeType": "YulLiteral", + "src": "838:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "827:3:12", + "nodeType": "YulIdentifier", + "src": "827:3:12" + }, + "nativeSrc": "827:54:12", + "nodeType": "YulFunctionCall", + "src": "827:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "816:7:12", + "nodeType": "YulIdentifier", + "src": "816:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "761:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "788:5:12", + "nodeType": "YulTypedName", + "src": "788:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "798:7:12", + "nodeType": "YulTypedName", + "src": "798:7:12", + "type": "" + } + ], + "src": "761:126:12" + }, + { + "body": { + "nativeSrc": "938:51:12", + "nodeType": "YulBlock", + "src": "938:51:12", + "statements": [ + { + "nativeSrc": "948:35:12", + "nodeType": "YulAssignment", + "src": "948:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "977:5:12", + "nodeType": "YulIdentifier", + "src": "977:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "959:17:12", + "nodeType": "YulIdentifier", + "src": "959:17:12" + }, + "nativeSrc": "959:24:12", + "nodeType": "YulFunctionCall", + "src": "959:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "948:7:12", + "nodeType": "YulIdentifier", + "src": "948:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "893:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "920:5:12", + "nodeType": "YulTypedName", + "src": "920:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "930:7:12", + "nodeType": "YulTypedName", + "src": "930:7:12", + "type": "" + } + ], + "src": "893:96:12" + }, + { + "body": { + "nativeSrc": "1038:79:12", + "nodeType": "YulBlock", + "src": "1038:79:12", + "statements": [ + { + "body": { + "nativeSrc": "1095:16:12", + "nodeType": "YulBlock", + "src": "1095:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1104:1:12", + "nodeType": "YulLiteral", + "src": "1104:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1107:1:12", + "nodeType": "YulLiteral", + "src": "1107:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1097:6:12", + "nodeType": "YulIdentifier", + "src": "1097:6:12" + }, + "nativeSrc": "1097:12:12", + "nodeType": "YulFunctionCall", + "src": "1097:12:12" + }, + "nativeSrc": "1097:12:12", + "nodeType": "YulExpressionStatement", + "src": "1097:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1061:5:12", + "nodeType": "YulIdentifier", + "src": "1061:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1086:5:12", + "nodeType": "YulIdentifier", + "src": "1086:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1068:17:12", + "nodeType": "YulIdentifier", + "src": "1068:17:12" + }, + "nativeSrc": "1068:24:12", + "nodeType": "YulFunctionCall", + "src": "1068:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1058:2:12", + "nodeType": "YulIdentifier", + "src": "1058:2:12" + }, + "nativeSrc": "1058:35:12", + "nodeType": "YulFunctionCall", + "src": "1058:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1051:6:12", + "nodeType": "YulIdentifier", + "src": "1051:6:12" + }, + "nativeSrc": "1051:43:12", + "nodeType": "YulFunctionCall", + "src": "1051:43:12" + }, + "nativeSrc": "1048:63:12", + "nodeType": "YulIf", + "src": "1048:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "995:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1031:5:12", + "nodeType": "YulTypedName", + "src": "1031:5:12", + "type": "" + } + ], + "src": "995:122:12" + }, + { + "body": { + "nativeSrc": "1175:87:12", + "nodeType": "YulBlock", + "src": "1175:87:12", + "statements": [ + { + "nativeSrc": "1185:29:12", + "nodeType": "YulAssignment", + "src": "1185:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1207:6:12", + "nodeType": "YulIdentifier", + "src": "1207:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1194:12:12", + "nodeType": "YulIdentifier", + "src": "1194:12:12" + }, + "nativeSrc": "1194:20:12", + "nodeType": "YulFunctionCall", + "src": "1194:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1185:5:12", + "nodeType": "YulIdentifier", + "src": "1185:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1250:5:12", + "nodeType": "YulIdentifier", + "src": "1250:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "1223:26:12", + "nodeType": "YulIdentifier", + "src": "1223:26:12" + }, + "nativeSrc": "1223:33:12", + "nodeType": "YulFunctionCall", + "src": "1223:33:12" + }, + "nativeSrc": "1223:33:12", + "nodeType": "YulExpressionStatement", + "src": "1223:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "1123:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1153:6:12", + "nodeType": "YulTypedName", + "src": "1153:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1161:3:12", + "nodeType": "YulTypedName", + "src": "1161:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1169:5:12", + "nodeType": "YulTypedName", + "src": "1169:5:12", + "type": "" + } + ], + "src": "1123:139:12" + }, + { + "body": { + "nativeSrc": "1334:263:12", + "nodeType": "YulBlock", + "src": "1334:263:12", + "statements": [ + { + "body": { + "nativeSrc": "1380:83:12", + "nodeType": "YulBlock", + "src": "1380:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1382:77:12", + "nodeType": "YulIdentifier", + "src": "1382:77:12" + }, + "nativeSrc": "1382:79:12", + "nodeType": "YulFunctionCall", + "src": "1382:79:12" + }, + "nativeSrc": "1382:79:12", + "nodeType": "YulExpressionStatement", + "src": "1382:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1355:7:12", + "nodeType": "YulIdentifier", + "src": "1355:7:12" + }, + { + "name": "headStart", + "nativeSrc": "1364:9:12", + "nodeType": "YulIdentifier", + "src": "1364:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1351:3:12", + "nodeType": "YulIdentifier", + "src": "1351:3:12" + }, + "nativeSrc": "1351:23:12", + "nodeType": "YulFunctionCall", + "src": "1351:23:12" + }, + { + "kind": "number", + "nativeSrc": "1376:2:12", + "nodeType": "YulLiteral", + "src": "1376:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1347:3:12", + "nodeType": "YulIdentifier", + "src": "1347:3:12" + }, + "nativeSrc": "1347:32:12", + "nodeType": "YulFunctionCall", + "src": "1347:32:12" + }, + "nativeSrc": "1344:119:12", + "nodeType": "YulIf", + "src": "1344:119:12" + }, + { + "nativeSrc": "1473:117:12", + "nodeType": "YulBlock", + "src": "1473:117:12", + "statements": [ + { + "nativeSrc": "1488:15:12", + "nodeType": "YulVariableDeclaration", + "src": "1488:15:12", + "value": { + "kind": "number", + "nativeSrc": "1502:1:12", + "nodeType": "YulLiteral", + "src": "1502:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1492:6:12", + "nodeType": "YulTypedName", + "src": "1492:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1517:63:12", + "nodeType": "YulAssignment", + "src": "1517:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1552:9:12", + "nodeType": "YulIdentifier", + "src": "1552:9:12" + }, + { + "name": "offset", + "nativeSrc": "1563:6:12", + "nodeType": "YulIdentifier", + "src": "1563:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1548:3:12", + "nodeType": "YulIdentifier", + "src": "1548:3:12" + }, + "nativeSrc": "1548:22:12", + "nodeType": "YulFunctionCall", + "src": "1548:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "1572:7:12", + "nodeType": "YulIdentifier", + "src": "1572:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "1527:20:12", + "nodeType": "YulIdentifier", + "src": "1527:20:12" + }, + "nativeSrc": "1527:53:12", + "nodeType": "YulFunctionCall", + "src": "1527:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1517:6:12", + "nodeType": "YulIdentifier", + "src": "1517:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "1268:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1304:9:12", + "nodeType": "YulTypedName", + "src": "1304:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1315:7:12", + "nodeType": "YulTypedName", + "src": "1315:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1327:6:12", + "nodeType": "YulTypedName", + "src": "1327:6:12", + "type": "" + } + ], + "src": "1268:329:12" + }, + { + "body": { + "nativeSrc": "1648:32:12", + "nodeType": "YulBlock", + "src": "1648:32:12", + "statements": [ + { + "nativeSrc": "1658:16:12", + "nodeType": "YulAssignment", + "src": "1658:16:12", + "value": { + "name": "value", + "nativeSrc": "1669:5:12", + "nodeType": "YulIdentifier", + "src": "1669:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1658:7:12", + "nodeType": "YulIdentifier", + "src": "1658:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "1603:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1630:5:12", + "nodeType": "YulTypedName", + "src": "1630:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1640:7:12", + "nodeType": "YulTypedName", + "src": "1640:7:12", + "type": "" + } + ], + "src": "1603:77:12" + }, + { + "body": { + "nativeSrc": "1751:53:12", + "nodeType": "YulBlock", + "src": "1751:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1768:3:12", + "nodeType": "YulIdentifier", + "src": "1768:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1791:5:12", + "nodeType": "YulIdentifier", + "src": "1791:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1773:17:12", + "nodeType": "YulIdentifier", + "src": "1773:17:12" + }, + "nativeSrc": "1773:24:12", + "nodeType": "YulFunctionCall", + "src": "1773:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1761:6:12", + "nodeType": "YulIdentifier", + "src": "1761:6:12" + }, + "nativeSrc": "1761:37:12", + "nodeType": "YulFunctionCall", + "src": "1761:37:12" + }, + "nativeSrc": "1761:37:12", + "nodeType": "YulExpressionStatement", + "src": "1761:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "1686:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1739:5:12", + "nodeType": "YulTypedName", + "src": "1739:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1746:3:12", + "nodeType": "YulTypedName", + "src": "1746:3:12", + "type": "" + } + ], + "src": "1686:118:12" + }, + { + "body": { + "nativeSrc": "1908:124:12", + "nodeType": "YulBlock", + "src": "1908:124:12", + "statements": [ + { + "nativeSrc": "1918:26:12", + "nodeType": "YulAssignment", + "src": "1918:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1930:9:12", + "nodeType": "YulIdentifier", + "src": "1930:9:12" + }, + { + "kind": "number", + "nativeSrc": "1941:2:12", + "nodeType": "YulLiteral", + "src": "1941:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1926:3:12", + "nodeType": "YulIdentifier", + "src": "1926:3:12" + }, + "nativeSrc": "1926:18:12", + "nodeType": "YulFunctionCall", + "src": "1926:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1918:4:12", + "nodeType": "YulIdentifier", + "src": "1918:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1998:6:12", + "nodeType": "YulIdentifier", + "src": "1998:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2011:9:12", + "nodeType": "YulIdentifier", + "src": "2011:9:12" + }, + { + "kind": "number", + "nativeSrc": "2022:1:12", + "nodeType": "YulLiteral", + "src": "2022:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2007:3:12", + "nodeType": "YulIdentifier", + "src": "2007:3:12" + }, + "nativeSrc": "2007:17:12", + "nodeType": "YulFunctionCall", + "src": "2007:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "1954:43:12", + "nodeType": "YulIdentifier", + "src": "1954:43:12" + }, + "nativeSrc": "1954:71:12", + "nodeType": "YulFunctionCall", + "src": "1954:71:12" + }, + "nativeSrc": "1954:71:12", + "nodeType": "YulExpressionStatement", + "src": "1954:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "1810:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1880:9:12", + "nodeType": "YulTypedName", + "src": "1880:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1892:6:12", + "nodeType": "YulTypedName", + "src": "1892:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1903:4:12", + "nodeType": "YulTypedName", + "src": "1903:4:12", + "type": "" + } + ], + "src": "1810:222:12" + }, + { + "body": { + "nativeSrc": "2097:40:12", + "nodeType": "YulBlock", + "src": "2097:40:12", + "statements": [ + { + "nativeSrc": "2108:22:12", + "nodeType": "YulAssignment", + "src": "2108:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2124:5:12", + "nodeType": "YulIdentifier", + "src": "2124:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2118:5:12", + "nodeType": "YulIdentifier", + "src": "2118:5:12" + }, + "nativeSrc": "2118:12:12", + "nodeType": "YulFunctionCall", + "src": "2118:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2108:6:12", + "nodeType": "YulIdentifier", + "src": "2108:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "2038:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2080:5:12", + "nodeType": "YulTypedName", + "src": "2080:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "2090:6:12", + "nodeType": "YulTypedName", + "src": "2090:6:12", + "type": "" + } + ], + "src": "2038:99:12" + }, + { + "body": { + "nativeSrc": "2229:73:12", + "nodeType": "YulBlock", + "src": "2229:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2246:3:12", + "nodeType": "YulIdentifier", + "src": "2246:3:12" + }, + { + "name": "length", + "nativeSrc": "2251:6:12", + "nodeType": "YulIdentifier", + "src": "2251:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2239:6:12", + "nodeType": "YulIdentifier", + "src": "2239:6:12" + }, + "nativeSrc": "2239:19:12", + "nodeType": "YulFunctionCall", + "src": "2239:19:12" + }, + "nativeSrc": "2239:19:12", + "nodeType": "YulExpressionStatement", + "src": "2239:19:12" + }, + { + "nativeSrc": "2267:29:12", + "nodeType": "YulAssignment", + "src": "2267:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2286:3:12", + "nodeType": "YulIdentifier", + "src": "2286:3:12" + }, + { + "kind": "number", + "nativeSrc": "2291:4:12", + "nodeType": "YulLiteral", + "src": "2291:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2282:3:12", + "nodeType": "YulIdentifier", + "src": "2282:3:12" + }, + "nativeSrc": "2282:14:12", + "nodeType": "YulFunctionCall", + "src": "2282:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "2267:11:12", + "nodeType": "YulIdentifier", + "src": "2267:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "2143:159:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2201:3:12", + "nodeType": "YulTypedName", + "src": "2201:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2206:6:12", + "nodeType": "YulTypedName", + "src": "2206:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "2217:11:12", + "nodeType": "YulTypedName", + "src": "2217:11:12", + "type": "" + } + ], + "src": "2143:159:12" + }, + { + "body": { + "nativeSrc": "2370:184:12", + "nodeType": "YulBlock", + "src": "2370:184:12", + "statements": [ + { + "nativeSrc": "2380:10:12", + "nodeType": "YulVariableDeclaration", + "src": "2380:10:12", + "value": { + "kind": "number", + "nativeSrc": "2389:1:12", + "nodeType": "YulLiteral", + "src": "2389:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "2384:1:12", + "nodeType": "YulTypedName", + "src": "2384:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2449:63:12", + "nodeType": "YulBlock", + "src": "2449:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2474:3:12", + "nodeType": "YulIdentifier", + "src": "2474:3:12" + }, + { + "name": "i", + "nativeSrc": "2479:1:12", + "nodeType": "YulIdentifier", + "src": "2479:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2470:3:12", + "nodeType": "YulIdentifier", + "src": "2470:3:12" + }, + "nativeSrc": "2470:11:12", + "nodeType": "YulFunctionCall", + "src": "2470:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2493:3:12", + "nodeType": "YulIdentifier", + "src": "2493:3:12" + }, + { + "name": "i", + "nativeSrc": "2498:1:12", + "nodeType": "YulIdentifier", + "src": "2498:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2489:3:12", + "nodeType": "YulIdentifier", + "src": "2489:3:12" + }, + "nativeSrc": "2489:11:12", + "nodeType": "YulFunctionCall", + "src": "2489:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2483:5:12", + "nodeType": "YulIdentifier", + "src": "2483:5:12" + }, + "nativeSrc": "2483:18:12", + "nodeType": "YulFunctionCall", + "src": "2483:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2463:6:12", + "nodeType": "YulIdentifier", + "src": "2463:6:12" + }, + "nativeSrc": "2463:39:12", + "nodeType": "YulFunctionCall", + "src": "2463:39:12" + }, + "nativeSrc": "2463:39:12", + "nodeType": "YulExpressionStatement", + "src": "2463:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "2410:1:12", + "nodeType": "YulIdentifier", + "src": "2410:1:12" + }, + { + "name": "length", + "nativeSrc": "2413:6:12", + "nodeType": "YulIdentifier", + "src": "2413:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2407:2:12", + "nodeType": "YulIdentifier", + "src": "2407:2:12" + }, + "nativeSrc": "2407:13:12", + "nodeType": "YulFunctionCall", + "src": "2407:13:12" + }, + "nativeSrc": "2399:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2421:19:12", + "nodeType": "YulBlock", + "src": "2421:19:12", + "statements": [ + { + "nativeSrc": "2423:15:12", + "nodeType": "YulAssignment", + "src": "2423:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "2432:1:12", + "nodeType": "YulIdentifier", + "src": "2432:1:12" + }, + { + "kind": "number", + "nativeSrc": "2435:2:12", + "nodeType": "YulLiteral", + "src": "2435:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2428:3:12", + "nodeType": "YulIdentifier", + "src": "2428:3:12" + }, + "nativeSrc": "2428:10:12", + "nodeType": "YulFunctionCall", + "src": "2428:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "2423:1:12", + "nodeType": "YulIdentifier", + "src": "2423:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2403:3:12", + "nodeType": "YulBlock", + "src": "2403:3:12", + "statements": [] + }, + "src": "2399:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2532:3:12", + "nodeType": "YulIdentifier", + "src": "2532:3:12" + }, + { + "name": "length", + "nativeSrc": "2537:6:12", + "nodeType": "YulIdentifier", + "src": "2537:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2528:3:12", + "nodeType": "YulIdentifier", + "src": "2528:3:12" + }, + "nativeSrc": "2528:16:12", + "nodeType": "YulFunctionCall", + "src": "2528:16:12" + }, + { + "kind": "number", + "nativeSrc": "2546:1:12", + "nodeType": "YulLiteral", + "src": "2546:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2521:6:12", + "nodeType": "YulIdentifier", + "src": "2521:6:12" + }, + "nativeSrc": "2521:27:12", + "nodeType": "YulFunctionCall", + "src": "2521:27:12" + }, + "nativeSrc": "2521:27:12", + "nodeType": "YulExpressionStatement", + "src": "2521:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2308:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "2352:3:12", + "nodeType": "YulTypedName", + "src": "2352:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "2357:3:12", + "nodeType": "YulTypedName", + "src": "2357:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2362:6:12", + "nodeType": "YulTypedName", + "src": "2362:6:12", + "type": "" + } + ], + "src": "2308:246:12" + }, + { + "body": { + "nativeSrc": "2608:54:12", + "nodeType": "YulBlock", + "src": "2608:54:12", + "statements": [ + { + "nativeSrc": "2618:38:12", + "nodeType": "YulAssignment", + "src": "2618:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2636:5:12", + "nodeType": "YulIdentifier", + "src": "2636:5:12" + }, + { + "kind": "number", + "nativeSrc": "2643:2:12", + "nodeType": "YulLiteral", + "src": "2643:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2632:3:12", + "nodeType": "YulIdentifier", + "src": "2632:3:12" + }, + "nativeSrc": "2632:14:12", + "nodeType": "YulFunctionCall", + "src": "2632:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2652:2:12", + "nodeType": "YulLiteral", + "src": "2652:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2648:3:12", + "nodeType": "YulIdentifier", + "src": "2648:3:12" + }, + "nativeSrc": "2648:7:12", + "nodeType": "YulFunctionCall", + "src": "2648:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2628:3:12", + "nodeType": "YulIdentifier", + "src": "2628:3:12" + }, + "nativeSrc": "2628:28:12", + "nodeType": "YulFunctionCall", + "src": "2628:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2618:6:12", + "nodeType": "YulIdentifier", + "src": "2618:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "2560:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2591:5:12", + "nodeType": "YulTypedName", + "src": "2591:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "2601:6:12", + "nodeType": "YulTypedName", + "src": "2601:6:12", + "type": "" + } + ], + "src": "2560:102:12" + }, + { + "body": { + "nativeSrc": "2750:275:12", + "nodeType": "YulBlock", + "src": "2750:275:12", + "statements": [ + { + "nativeSrc": "2760:53:12", + "nodeType": "YulVariableDeclaration", + "src": "2760:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2807:5:12", + "nodeType": "YulIdentifier", + "src": "2807:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "2774:32:12", + "nodeType": "YulIdentifier", + "src": "2774:32:12" + }, + "nativeSrc": "2774:39:12", + "nodeType": "YulFunctionCall", + "src": "2774:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2764:6:12", + "nodeType": "YulTypedName", + "src": "2764:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2822:68:12", + "nodeType": "YulAssignment", + "src": "2822:68:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2878:3:12", + "nodeType": "YulIdentifier", + "src": "2878:3:12" + }, + { + "name": "length", + "nativeSrc": "2883:6:12", + "nodeType": "YulIdentifier", + "src": "2883:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "2829:48:12", + "nodeType": "YulIdentifier", + "src": "2829:48:12" + }, + "nativeSrc": "2829:61:12", + "nodeType": "YulFunctionCall", + "src": "2829:61:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2822:3:12", + "nodeType": "YulIdentifier", + "src": "2822:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2938:5:12", + "nodeType": "YulIdentifier", + "src": "2938:5:12" + }, + { + "kind": "number", + "nativeSrc": "2945:4:12", + "nodeType": "YulLiteral", + "src": "2945:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2934:3:12", + "nodeType": "YulIdentifier", + "src": "2934:3:12" + }, + "nativeSrc": "2934:16:12", + "nodeType": "YulFunctionCall", + "src": "2934:16:12" + }, + { + "name": "pos", + "nativeSrc": "2952:3:12", + "nodeType": "YulIdentifier", + "src": "2952:3:12" + }, + { + "name": "length", + "nativeSrc": "2957:6:12", + "nodeType": "YulIdentifier", + "src": "2957:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2899:34:12", + "nodeType": "YulIdentifier", + "src": "2899:34:12" + }, + "nativeSrc": "2899:65:12", + "nodeType": "YulFunctionCall", + "src": "2899:65:12" + }, + "nativeSrc": "2899:65:12", + "nodeType": "YulExpressionStatement", + "src": "2899:65:12" + }, + { + "nativeSrc": "2973:46:12", + "nodeType": "YulAssignment", + "src": "2973:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2984:3:12", + "nodeType": "YulIdentifier", + "src": "2984:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3011:6:12", + "nodeType": "YulIdentifier", + "src": "3011:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2989:21:12", + "nodeType": "YulIdentifier", + "src": "2989:21:12" + }, + "nativeSrc": "2989:29:12", + "nodeType": "YulFunctionCall", + "src": "2989:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2980:3:12", + "nodeType": "YulIdentifier", + "src": "2980:3:12" + }, + "nativeSrc": "2980:39:12", + "nodeType": "YulFunctionCall", + "src": "2980:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2973:3:12", + "nodeType": "YulIdentifier", + "src": "2973:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "2668:357:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2731:5:12", + "nodeType": "YulTypedName", + "src": "2731:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2738:3:12", + "nodeType": "YulTypedName", + "src": "2738:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2746:3:12", + "nodeType": "YulTypedName", + "src": "2746:3:12", + "type": "" + } + ], + "src": "2668:357:12" + }, + { + "body": { + "nativeSrc": "3086:53:12", + "nodeType": "YulBlock", + "src": "3086:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3103:3:12", + "nodeType": "YulIdentifier", + "src": "3103:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3126:5:12", + "nodeType": "YulIdentifier", + "src": "3126:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "3108:17:12", + "nodeType": "YulIdentifier", + "src": "3108:17:12" + }, + "nativeSrc": "3108:24:12", + "nodeType": "YulFunctionCall", + "src": "3108:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3096:6:12", + "nodeType": "YulIdentifier", + "src": "3096:6:12" + }, + "nativeSrc": "3096:37:12", + "nodeType": "YulFunctionCall", + "src": "3096:37:12" + }, + "nativeSrc": "3096:37:12", + "nodeType": "YulExpressionStatement", + "src": "3096:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "3031:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3074:5:12", + "nodeType": "YulTypedName", + "src": "3074:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3081:3:12", + "nodeType": "YulTypedName", + "src": "3081:3:12", + "type": "" + } + ], + "src": "3031:108:12" + }, + { + "body": { + "nativeSrc": "3200:53:12", + "nodeType": "YulBlock", + "src": "3200:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3217:3:12", + "nodeType": "YulIdentifier", + "src": "3217:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3240:5:12", + "nodeType": "YulIdentifier", + "src": "3240:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3222:17:12", + "nodeType": "YulIdentifier", + "src": "3222:17:12" + }, + "nativeSrc": "3222:24:12", + "nodeType": "YulFunctionCall", + "src": "3222:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3210:6:12", + "nodeType": "YulIdentifier", + "src": "3210:6:12" + }, + "nativeSrc": "3210:37:12", + "nodeType": "YulFunctionCall", + "src": "3210:37:12" + }, + "nativeSrc": "3210:37:12", + "nodeType": "YulExpressionStatement", + "src": "3210:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3145:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3188:5:12", + "nodeType": "YulTypedName", + "src": "3188:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3195:3:12", + "nodeType": "YulTypedName", + "src": "3195:3:12", + "type": "" + } + ], + "src": "3145:108:12" + }, + { + "body": { + "nativeSrc": "3287:152:12", + "nodeType": "YulBlock", + "src": "3287:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3304:1:12", + "nodeType": "YulLiteral", + "src": "3304:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3307:77:12", + "nodeType": "YulLiteral", + "src": "3307:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3297:6:12", + "nodeType": "YulIdentifier", + "src": "3297:6:12" + }, + "nativeSrc": "3297:88:12", + "nodeType": "YulFunctionCall", + "src": "3297:88:12" + }, + "nativeSrc": "3297:88:12", + "nodeType": "YulExpressionStatement", + "src": "3297:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3401:1:12", + "nodeType": "YulLiteral", + "src": "3401:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3404:4:12", + "nodeType": "YulLiteral", + "src": "3404:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3394:6:12", + "nodeType": "YulIdentifier", + "src": "3394:6:12" + }, + "nativeSrc": "3394:15:12", + "nodeType": "YulFunctionCall", + "src": "3394:15:12" + }, + "nativeSrc": "3394:15:12", + "nodeType": "YulExpressionStatement", + "src": "3394:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3425:1:12", + "nodeType": "YulLiteral", + "src": "3425:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3428:4:12", + "nodeType": "YulLiteral", + "src": "3428:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3418:6:12", + "nodeType": "YulIdentifier", + "src": "3418:6:12" + }, + "nativeSrc": "3418:15:12", + "nodeType": "YulFunctionCall", + "src": "3418:15:12" + }, + "nativeSrc": "3418:15:12", + "nodeType": "YulExpressionStatement", + "src": "3418:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "3259:180:12", + "nodeType": "YulFunctionDefinition", + "src": "3259:180:12" + }, + { + "body": { + "nativeSrc": "3504:62:12", + "nodeType": "YulBlock", + "src": "3504:62:12", + "statements": [ + { + "body": { + "nativeSrc": "3538:22:12", + "nodeType": "YulBlock", + "src": "3538:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "3540:16:12", + "nodeType": "YulIdentifier", + "src": "3540:16:12" + }, + "nativeSrc": "3540:18:12", + "nodeType": "YulFunctionCall", + "src": "3540:18:12" + }, + "nativeSrc": "3540:18:12", + "nodeType": "YulExpressionStatement", + "src": "3540:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3527:5:12", + "nodeType": "YulIdentifier", + "src": "3527:5:12" + }, + { + "kind": "number", + "nativeSrc": "3534:1:12", + "nodeType": "YulLiteral", + "src": "3534:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3524:2:12", + "nodeType": "YulIdentifier", + "src": "3524:2:12" + }, + "nativeSrc": "3524:12:12", + "nodeType": "YulFunctionCall", + "src": "3524:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3517:6:12", + "nodeType": "YulIdentifier", + "src": "3517:6:12" + }, + "nativeSrc": "3517:20:12", + "nodeType": "YulFunctionCall", + "src": "3517:20:12" + }, + "nativeSrc": "3514:46:12", + "nodeType": "YulIf", + "src": "3514:46:12" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "3445:121:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3497:5:12", + "nodeType": "YulTypedName", + "src": "3497:5:12", + "type": "" + } + ], + "src": "3445:121:12" + }, + { + "body": { + "nativeSrc": "3633:82:12", + "nodeType": "YulBlock", + "src": "3633:82:12", + "statements": [ + { + "nativeSrc": "3643:16:12", + "nodeType": "YulAssignment", + "src": "3643:16:12", + "value": { + "name": "value", + "nativeSrc": "3654:5:12", + "nodeType": "YulIdentifier", + "src": "3654:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3643:7:12", + "nodeType": "YulIdentifier", + "src": "3643:7:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3703:5:12", + "nodeType": "YulIdentifier", + "src": "3703:5:12" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "3660:42:12", + "nodeType": "YulIdentifier", + "src": "3660:42:12" + }, + "nativeSrc": "3660:49:12", + "nodeType": "YulFunctionCall", + "src": "3660:49:12" + }, + "nativeSrc": "3660:49:12", + "nodeType": "YulExpressionStatement", + "src": "3660:49:12" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "3572:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3615:5:12", + "nodeType": "YulTypedName", + "src": "3615:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3625:7:12", + "nodeType": "YulTypedName", + "src": "3625:7:12", + "type": "" + } + ], + "src": "3572:143:12" + }, + { + "body": { + "nativeSrc": "3795:69:12", + "nodeType": "YulBlock", + "src": "3795:69:12", + "statements": [ + { + "nativeSrc": "3805:53:12", + "nodeType": "YulAssignment", + "src": "3805:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3852:5:12", + "nodeType": "YulIdentifier", + "src": "3852:5:12" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "3818:33:12", + "nodeType": "YulIdentifier", + "src": "3818:33:12" + }, + "nativeSrc": "3818:40:12", + "nodeType": "YulFunctionCall", + "src": "3818:40:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "3805:9:12", + "nodeType": "YulIdentifier", + "src": "3805:9:12" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "3721:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3775:5:12", + "nodeType": "YulTypedName", + "src": "3775:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "3785:9:12", + "nodeType": "YulTypedName", + "src": "3785:9:12", + "type": "" + } + ], + "src": "3721:143:12" + }, + { + "body": { + "nativeSrc": "3939:80:12", + "nodeType": "YulBlock", + "src": "3939:80:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3956:3:12", + "nodeType": "YulIdentifier", + "src": "3956:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4006:5:12", + "nodeType": "YulIdentifier", + "src": "4006:5:12" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "3961:44:12", + "nodeType": "YulIdentifier", + "src": "3961:44:12" + }, + "nativeSrc": "3961:51:12", + "nodeType": "YulFunctionCall", + "src": "3961:51:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3949:6:12", + "nodeType": "YulIdentifier", + "src": "3949:6:12" + }, + "nativeSrc": "3949:64:12", + "nodeType": "YulFunctionCall", + "src": "3949:64:12" + }, + "nativeSrc": "3949:64:12", + "nodeType": "YulExpressionStatement", + "src": "3949:64:12" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "3870:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3927:5:12", + "nodeType": "YulTypedName", + "src": "3927:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3934:3:12", + "nodeType": "YulTypedName", + "src": "3934:3:12", + "type": "" + } + ], + "src": "3870:149:12" + }, + { + "body": { + "nativeSrc": "4205:1680:12", + "nodeType": "YulBlock", + "src": "4205:1680:12", + "statements": [ + { + "nativeSrc": "4215:28:12", + "nodeType": "YulVariableDeclaration", + "src": "4215:28:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4231:3:12", + "nodeType": "YulIdentifier", + "src": "4231:3:12" + }, + { + "kind": "number", + "nativeSrc": "4236:6:12", + "nodeType": "YulLiteral", + "src": "4236:6:12", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4227:3:12", + "nodeType": "YulIdentifier", + "src": "4227:3:12" + }, + "nativeSrc": "4227:16:12", + "nodeType": "YulFunctionCall", + "src": "4227:16:12" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "4219:4:12", + "nodeType": "YulTypedName", + "src": "4219:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4253:242:12", + "nodeType": "YulBlock", + "src": "4253:242:12", + "statements": [ + { + "nativeSrc": "4295:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4295:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4325:5:12", + "nodeType": "YulIdentifier", + "src": "4325:5:12" + }, + { + "kind": "number", + "nativeSrc": "4332:4:12", + "nodeType": "YulLiteral", + "src": "4332:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4321:3:12", + "nodeType": "YulIdentifier", + "src": "4321:3:12" + }, + "nativeSrc": "4321:16:12", + "nodeType": "YulFunctionCall", + "src": "4321:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4315:5:12", + "nodeType": "YulIdentifier", + "src": "4315:5:12" + }, + "nativeSrc": "4315:23:12", + "nodeType": "YulFunctionCall", + "src": "4315:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4299:12:12", + "nodeType": "YulTypedName", + "src": "4299:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4363:3:12", + "nodeType": "YulIdentifier", + "src": "4363:3:12" + }, + { + "kind": "number", + "nativeSrc": "4368:4:12", + "nodeType": "YulLiteral", + "src": "4368:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4359:3:12", + "nodeType": "YulIdentifier", + "src": "4359:3:12" + }, + "nativeSrc": "4359:14:12", + "nodeType": "YulFunctionCall", + "src": "4359:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4379:4:12", + "nodeType": "YulIdentifier", + "src": "4379:4:12" + }, + { + "name": "pos", + "nativeSrc": "4385:3:12", + "nodeType": "YulIdentifier", + "src": "4385:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4375:3:12", + "nodeType": "YulIdentifier", + "src": "4375:3:12" + }, + "nativeSrc": "4375:14:12", + "nodeType": "YulFunctionCall", + "src": "4375:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4352:6:12", + "nodeType": "YulIdentifier", + "src": "4352:6:12" + }, + "nativeSrc": "4352:38:12", + "nodeType": "YulFunctionCall", + "src": "4352:38:12" + }, + "nativeSrc": "4352:38:12", + "nodeType": "YulExpressionStatement", + "src": "4352:38:12" + }, + { + "nativeSrc": "4403:81:12", + "nodeType": "YulAssignment", + "src": "4403:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4465:12:12", + "nodeType": "YulIdentifier", + "src": "4465:12:12" + }, + { + "name": "tail", + "nativeSrc": "4479:4:12", + "nodeType": "YulIdentifier", + "src": "4479:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "4411:53:12", + "nodeType": "YulIdentifier", + "src": "4411:53:12" + }, + "nativeSrc": "4411:73:12", + "nodeType": "YulFunctionCall", + "src": "4411:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4403:4:12", + "nodeType": "YulIdentifier", + "src": "4403:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "4505:174:12", + "nodeType": "YulBlock", + "src": "4505:174:12", + "statements": [ + { + "nativeSrc": "4550:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4550:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4580:5:12", + "nodeType": "YulIdentifier", + "src": "4580:5:12" + }, + { + "kind": "number", + "nativeSrc": "4587:4:12", + "nodeType": "YulLiteral", + "src": "4587:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4576:3:12", + "nodeType": "YulIdentifier", + "src": "4576:3:12" + }, + "nativeSrc": "4576:16:12", + "nodeType": "YulFunctionCall", + "src": "4576:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4570:5:12", + "nodeType": "YulIdentifier", + "src": "4570:5:12" + }, + "nativeSrc": "4570:23:12", + "nodeType": "YulFunctionCall", + "src": "4570:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4554:12:12", + "nodeType": "YulTypedName", + "src": "4554:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4640:12:12", + "nodeType": "YulIdentifier", + "src": "4640:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4658:3:12", + "nodeType": "YulIdentifier", + "src": "4658:3:12" + }, + { + "kind": "number", + "nativeSrc": "4663:4:12", + "nodeType": "YulLiteral", + "src": "4663:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4654:3:12", + "nodeType": "YulIdentifier", + "src": "4654:3:12" + }, + "nativeSrc": "4654:14:12", + "nodeType": "YulFunctionCall", + "src": "4654:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "4606:33:12", + "nodeType": "YulIdentifier", + "src": "4606:33:12" + }, + "nativeSrc": "4606:63:12", + "nodeType": "YulFunctionCall", + "src": "4606:63:12" + }, + "nativeSrc": "4606:63:12", + "nodeType": "YulExpressionStatement", + "src": "4606:63:12" + } + ] + }, + { + "nativeSrc": "4689:178:12", + "nodeType": "YulBlock", + "src": "4689:178:12", + "statements": [ + { + "nativeSrc": "4738:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4738:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4768:5:12", + "nodeType": "YulIdentifier", + "src": "4768:5:12" + }, + { + "kind": "number", + "nativeSrc": "4775:4:12", + "nodeType": "YulLiteral", + "src": "4775:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4764:3:12", + "nodeType": "YulIdentifier", + "src": "4764:3:12" + }, + "nativeSrc": "4764:16:12", + "nodeType": "YulFunctionCall", + "src": "4764:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4758:5:12", + "nodeType": "YulIdentifier", + "src": "4758:5:12" + }, + "nativeSrc": "4758:23:12", + "nodeType": "YulFunctionCall", + "src": "4758:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4742:12:12", + "nodeType": "YulTypedName", + "src": "4742:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4828:12:12", + "nodeType": "YulIdentifier", + "src": "4828:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4846:3:12", + "nodeType": "YulIdentifier", + "src": "4846:3:12" + }, + { + "kind": "number", + "nativeSrc": "4851:4:12", + "nodeType": "YulLiteral", + "src": "4851:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4842:3:12", + "nodeType": "YulIdentifier", + "src": "4842:3:12" + }, + "nativeSrc": "4842:14:12", + "nodeType": "YulFunctionCall", + "src": "4842:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4794:33:12", + "nodeType": "YulIdentifier", + "src": "4794:33:12" + }, + "nativeSrc": "4794:63:12", + "nodeType": "YulFunctionCall", + "src": "4794:63:12" + }, + "nativeSrc": "4794:63:12", + "nodeType": "YulExpressionStatement", + "src": "4794:63:12" + } + ] + }, + { + "nativeSrc": "4877:177:12", + "nodeType": "YulBlock", + "src": "4877:177:12", + "statements": [ + { + "nativeSrc": "4925:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4925:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4955:5:12", + "nodeType": "YulIdentifier", + "src": "4955:5:12" + }, + { + "kind": "number", + "nativeSrc": "4962:4:12", + "nodeType": "YulLiteral", + "src": "4962:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4951:3:12", + "nodeType": "YulIdentifier", + "src": "4951:3:12" + }, + "nativeSrc": "4951:16:12", + "nodeType": "YulFunctionCall", + "src": "4951:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4945:5:12", + "nodeType": "YulIdentifier", + "src": "4945:5:12" + }, + "nativeSrc": "4945:23:12", + "nodeType": "YulFunctionCall", + "src": "4945:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4929:12:12", + "nodeType": "YulTypedName", + "src": "4929:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5015:12:12", + "nodeType": "YulIdentifier", + "src": "5015:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5033:3:12", + "nodeType": "YulIdentifier", + "src": "5033:3:12" + }, + { + "kind": "number", + "nativeSrc": "5038:4:12", + "nodeType": "YulLiteral", + "src": "5038:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5029:3:12", + "nodeType": "YulIdentifier", + "src": "5029:3:12" + }, + "nativeSrc": "5029:14:12", + "nodeType": "YulFunctionCall", + "src": "5029:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4981:33:12", + "nodeType": "YulIdentifier", + "src": "4981:33:12" + }, + "nativeSrc": "4981:63:12", + "nodeType": "YulFunctionCall", + "src": "4981:63:12" + }, + "nativeSrc": "4981:63:12", + "nodeType": "YulExpressionStatement", + "src": "4981:63:12" + } + ] + }, + { + "nativeSrc": "5064:171:12", + "nodeType": "YulBlock", + "src": "5064:171:12", + "statements": [ + { + "nativeSrc": "5106:43:12", + "nodeType": "YulVariableDeclaration", + "src": "5106:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5136:5:12", + "nodeType": "YulIdentifier", + "src": "5136:5:12" + }, + { + "kind": "number", + "nativeSrc": "5143:4:12", + "nodeType": "YulLiteral", + "src": "5143:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5132:3:12", + "nodeType": "YulIdentifier", + "src": "5132:3:12" + }, + "nativeSrc": "5132:16:12", + "nodeType": "YulFunctionCall", + "src": "5132:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5126:5:12", + "nodeType": "YulIdentifier", + "src": "5126:5:12" + }, + "nativeSrc": "5126:23:12", + "nodeType": "YulFunctionCall", + "src": "5126:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5110:12:12", + "nodeType": "YulTypedName", + "src": "5110:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5196:12:12", + "nodeType": "YulIdentifier", + "src": "5196:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5214:3:12", + "nodeType": "YulIdentifier", + "src": "5214:3:12" + }, + { + "kind": "number", + "nativeSrc": "5219:4:12", + "nodeType": "YulLiteral", + "src": "5219:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5210:3:12", + "nodeType": "YulIdentifier", + "src": "5210:3:12" + }, + "nativeSrc": "5210:14:12", + "nodeType": "YulFunctionCall", + "src": "5210:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "5162:33:12", + "nodeType": "YulIdentifier", + "src": "5162:33:12" + }, + "nativeSrc": "5162:63:12", + "nodeType": "YulFunctionCall", + "src": "5162:63:12" + }, + "nativeSrc": "5162:63:12", + "nodeType": "YulExpressionStatement", + "src": "5162:63:12" + } + ] + }, + { + "nativeSrc": "5245:174:12", + "nodeType": "YulBlock", + "src": "5245:174:12", + "statements": [ + { + "nativeSrc": "5290:43:12", + "nodeType": "YulVariableDeclaration", + "src": "5290:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5320:5:12", + "nodeType": "YulIdentifier", + "src": "5320:5:12" + }, + { + "kind": "number", + "nativeSrc": "5327:4:12", + "nodeType": "YulLiteral", + "src": "5327:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5316:3:12", + "nodeType": "YulIdentifier", + "src": "5316:3:12" + }, + "nativeSrc": "5316:16:12", + "nodeType": "YulFunctionCall", + "src": "5316:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5310:5:12", + "nodeType": "YulIdentifier", + "src": "5310:5:12" + }, + "nativeSrc": "5310:23:12", + "nodeType": "YulFunctionCall", + "src": "5310:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5294:12:12", + "nodeType": "YulTypedName", + "src": "5294:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5380:12:12", + "nodeType": "YulIdentifier", + "src": "5380:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5398:3:12", + "nodeType": "YulIdentifier", + "src": "5398:3:12" + }, + { + "kind": "number", + "nativeSrc": "5403:4:12", + "nodeType": "YulLiteral", + "src": "5403:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5394:3:12", + "nodeType": "YulIdentifier", + "src": "5394:3:12" + }, + "nativeSrc": "5394:14:12", + "nodeType": "YulFunctionCall", + "src": "5394:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "5346:33:12", + "nodeType": "YulIdentifier", + "src": "5346:33:12" + }, + "nativeSrc": "5346:63:12", + "nodeType": "YulFunctionCall", + "src": "5346:63:12" + }, + "nativeSrc": "5346:63:12", + "nodeType": "YulExpressionStatement", + "src": "5346:63:12" + } + ] + }, + { + "nativeSrc": "5429:185:12", + "nodeType": "YulBlock", + "src": "5429:185:12", + "statements": [ + { + "nativeSrc": "5471:43:12", + "nodeType": "YulVariableDeclaration", + "src": "5471:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5501:5:12", + "nodeType": "YulIdentifier", + "src": "5501:5:12" + }, + { + "kind": "number", + "nativeSrc": "5508:4:12", + "nodeType": "YulLiteral", + "src": "5508:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5497:3:12", + "nodeType": "YulIdentifier", + "src": "5497:3:12" + }, + "nativeSrc": "5497:16:12", + "nodeType": "YulFunctionCall", + "src": "5497:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5491:5:12", + "nodeType": "YulIdentifier", + "src": "5491:5:12" + }, + "nativeSrc": "5491:23:12", + "nodeType": "YulFunctionCall", + "src": "5491:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5475:12:12", + "nodeType": "YulTypedName", + "src": "5475:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5575:12:12", + "nodeType": "YulIdentifier", + "src": "5575:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5593:3:12", + "nodeType": "YulIdentifier", + "src": "5593:3:12" + }, + { + "kind": "number", + "nativeSrc": "5598:4:12", + "nodeType": "YulLiteral", + "src": "5598:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5589:3:12", + "nodeType": "YulIdentifier", + "src": "5589:3:12" + }, + "nativeSrc": "5589:14:12", + "nodeType": "YulFunctionCall", + "src": "5589:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "5527:47:12", + "nodeType": "YulIdentifier", + "src": "5527:47:12" + }, + "nativeSrc": "5527:77:12", + "nodeType": "YulFunctionCall", + "src": "5527:77:12" + }, + "nativeSrc": "5527:77:12", + "nodeType": "YulExpressionStatement", + "src": "5527:77:12" + } + ] + }, + { + "nativeSrc": "5624:234:12", + "nodeType": "YulBlock", + "src": "5624:234:12", + "statements": [ + { + "nativeSrc": "5658:43:12", + "nodeType": "YulVariableDeclaration", + "src": "5658:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5688:5:12", + "nodeType": "YulIdentifier", + "src": "5688:5:12" + }, + { + "kind": "number", + "nativeSrc": "5695:4:12", + "nodeType": "YulLiteral", + "src": "5695:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5684:3:12", + "nodeType": "YulIdentifier", + "src": "5684:3:12" + }, + "nativeSrc": "5684:16:12", + "nodeType": "YulFunctionCall", + "src": "5684:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5678:5:12", + "nodeType": "YulIdentifier", + "src": "5678:5:12" + }, + "nativeSrc": "5678:23:12", + "nodeType": "YulFunctionCall", + "src": "5678:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5662:12:12", + "nodeType": "YulTypedName", + "src": "5662:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5726:3:12", + "nodeType": "YulIdentifier", + "src": "5726:3:12" + }, + { + "kind": "number", + "nativeSrc": "5731:4:12", + "nodeType": "YulLiteral", + "src": "5731:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5722:3:12", + "nodeType": "YulIdentifier", + "src": "5722:3:12" + }, + "nativeSrc": "5722:14:12", + "nodeType": "YulFunctionCall", + "src": "5722:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5742:4:12", + "nodeType": "YulIdentifier", + "src": "5742:4:12" + }, + { + "name": "pos", + "nativeSrc": "5748:3:12", + "nodeType": "YulIdentifier", + "src": "5748:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5738:3:12", + "nodeType": "YulIdentifier", + "src": "5738:3:12" + }, + "nativeSrc": "5738:14:12", + "nodeType": "YulFunctionCall", + "src": "5738:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5715:6:12", + "nodeType": "YulIdentifier", + "src": "5715:6:12" + }, + "nativeSrc": "5715:38:12", + "nodeType": "YulFunctionCall", + "src": "5715:38:12" + }, + "nativeSrc": "5715:38:12", + "nodeType": "YulExpressionStatement", + "src": "5715:38:12" + }, + { + "nativeSrc": "5766:81:12", + "nodeType": "YulAssignment", + "src": "5766:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5828:12:12", + "nodeType": "YulIdentifier", + "src": "5828:12:12" + }, + { + "name": "tail", + "nativeSrc": "5842:4:12", + "nodeType": "YulIdentifier", + "src": "5842:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "5774:53:12", + "nodeType": "YulIdentifier", + "src": "5774:53:12" + }, + "nativeSrc": "5774:73:12", + "nodeType": "YulFunctionCall", + "src": "5774:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5766:4:12", + "nodeType": "YulIdentifier", + "src": "5766:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "5868:11:12", + "nodeType": "YulAssignment", + "src": "5868:11:12", + "value": { + "name": "tail", + "nativeSrc": "5875:4:12", + "nodeType": "YulIdentifier", + "src": "5875:4:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "5868:3:12", + "nodeType": "YulIdentifier", + "src": "5868:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "4073:1812:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4184:5:12", + "nodeType": "YulTypedName", + "src": "4184:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4191:3:12", + "nodeType": "YulTypedName", + "src": "4191:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "4200:3:12", + "nodeType": "YulTypedName", + "src": "4200:3:12", + "type": "" + } + ], + "src": "4073:1812:12" + }, + { + "body": { + "nativeSrc": "6047:233:12", + "nodeType": "YulBlock", + "src": "6047:233:12", + "statements": [ + { + "nativeSrc": "6057:26:12", + "nodeType": "YulAssignment", + "src": "6057:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6069:9:12", + "nodeType": "YulIdentifier", + "src": "6069:9:12" + }, + { + "kind": "number", + "nativeSrc": "6080:2:12", + "nodeType": "YulLiteral", + "src": "6080:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6065:3:12", + "nodeType": "YulIdentifier", + "src": "6065:3:12" + }, + "nativeSrc": "6065:18:12", + "nodeType": "YulFunctionCall", + "src": "6065:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6057:4:12", + "nodeType": "YulIdentifier", + "src": "6057:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6104:9:12", + "nodeType": "YulIdentifier", + "src": "6104:9:12" + }, + { + "kind": "number", + "nativeSrc": "6115:1:12", + "nodeType": "YulLiteral", + "src": "6115:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6100:3:12", + "nodeType": "YulIdentifier", + "src": "6100:3:12" + }, + "nativeSrc": "6100:17:12", + "nodeType": "YulFunctionCall", + "src": "6100:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6123:4:12", + "nodeType": "YulIdentifier", + "src": "6123:4:12" + }, + { + "name": "headStart", + "nativeSrc": "6129:9:12", + "nodeType": "YulIdentifier", + "src": "6129:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6119:3:12", + "nodeType": "YulIdentifier", + "src": "6119:3:12" + }, + "nativeSrc": "6119:20:12", + "nodeType": "YulFunctionCall", + "src": "6119:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6093:6:12", + "nodeType": "YulIdentifier", + "src": "6093:6:12" + }, + "nativeSrc": "6093:47:12", + "nodeType": "YulFunctionCall", + "src": "6093:47:12" + }, + "nativeSrc": "6093:47:12", + "nodeType": "YulExpressionStatement", + "src": "6093:47:12" + }, + { + "nativeSrc": "6149:124:12", + "nodeType": "YulAssignment", + "src": "6149:124:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6259:6:12", + "nodeType": "YulIdentifier", + "src": "6259:6:12" + }, + { + "name": "tail", + "nativeSrc": "6268:4:12", + "nodeType": "YulIdentifier", + "src": "6268:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "6157:101:12", + "nodeType": "YulIdentifier", + "src": "6157:101:12" + }, + "nativeSrc": "6157:116:12", + "nodeType": "YulFunctionCall", + "src": "6157:116:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6149:4:12", + "nodeType": "YulIdentifier", + "src": "6149:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed", + "nativeSrc": "5891:389:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6019:9:12", + "nodeType": "YulTypedName", + "src": "6019:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6031:6:12", + "nodeType": "YulTypedName", + "src": "6031:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6042:4:12", + "nodeType": "YulTypedName", + "src": "6042:4:12", + "type": "" + } + ], + "src": "5891:389:12" + }, + { + "body": { + "nativeSrc": "6375:28:12", + "nodeType": "YulBlock", + "src": "6375:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6392:1:12", + "nodeType": "YulLiteral", + "src": "6392:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6395:1:12", + "nodeType": "YulLiteral", + "src": "6395:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6385:6:12", + "nodeType": "YulIdentifier", + "src": "6385:6:12" + }, + "nativeSrc": "6385:12:12", + "nodeType": "YulFunctionCall", + "src": "6385:12:12" + }, + "nativeSrc": "6385:12:12", + "nodeType": "YulExpressionStatement", + "src": "6385:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6286:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6286:117:12" + }, + { + "body": { + "nativeSrc": "6437:152:12", + "nodeType": "YulBlock", + "src": "6437:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6454:1:12", + "nodeType": "YulLiteral", + "src": "6454:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6457:77:12", + "nodeType": "YulLiteral", + "src": "6457:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6447:6:12", + "nodeType": "YulIdentifier", + "src": "6447:6:12" + }, + "nativeSrc": "6447:88:12", + "nodeType": "YulFunctionCall", + "src": "6447:88:12" + }, + "nativeSrc": "6447:88:12", + "nodeType": "YulExpressionStatement", + "src": "6447:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6551:1:12", + "nodeType": "YulLiteral", + "src": "6551:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6554:4:12", + "nodeType": "YulLiteral", + "src": "6554:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6544:6:12", + "nodeType": "YulIdentifier", + "src": "6544:6:12" + }, + "nativeSrc": "6544:15:12", + "nodeType": "YulFunctionCall", + "src": "6544:15:12" + }, + "nativeSrc": "6544:15:12", + "nodeType": "YulExpressionStatement", + "src": "6544:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6575:1:12", + "nodeType": "YulLiteral", + "src": "6575:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6578:4:12", + "nodeType": "YulLiteral", + "src": "6578:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6568:6:12", + "nodeType": "YulIdentifier", + "src": "6568:6:12" + }, + "nativeSrc": "6568:15:12", + "nodeType": "YulFunctionCall", + "src": "6568:15:12" + }, + "nativeSrc": "6568:15:12", + "nodeType": "YulExpressionStatement", + "src": "6568:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "6409:180:12", + "nodeType": "YulFunctionDefinition", + "src": "6409:180:12" + }, + { + "body": { + "nativeSrc": "6638:238:12", + "nodeType": "YulBlock", + "src": "6638:238:12", + "statements": [ + { + "nativeSrc": "6648:58:12", + "nodeType": "YulVariableDeclaration", + "src": "6648:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6670:6:12", + "nodeType": "YulIdentifier", + "src": "6670:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "6700:4:12", + "nodeType": "YulIdentifier", + "src": "6700:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "6678:21:12", + "nodeType": "YulIdentifier", + "src": "6678:21:12" + }, + "nativeSrc": "6678:27:12", + "nodeType": "YulFunctionCall", + "src": "6678:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6666:3:12", + "nodeType": "YulIdentifier", + "src": "6666:3:12" + }, + "nativeSrc": "6666:40:12", + "nodeType": "YulFunctionCall", + "src": "6666:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "6652:10:12", + "nodeType": "YulTypedName", + "src": "6652:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6817:22:12", + "nodeType": "YulBlock", + "src": "6817:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "6819:16:12", + "nodeType": "YulIdentifier", + "src": "6819:16:12" + }, + "nativeSrc": "6819:18:12", + "nodeType": "YulFunctionCall", + "src": "6819:18:12" + }, + "nativeSrc": "6819:18:12", + "nodeType": "YulExpressionStatement", + "src": "6819:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "6760:10:12", + "nodeType": "YulIdentifier", + "src": "6760:10:12" + }, + { + "kind": "number", + "nativeSrc": "6772:18:12", + "nodeType": "YulLiteral", + "src": "6772:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6757:2:12", + "nodeType": "YulIdentifier", + "src": "6757:2:12" + }, + "nativeSrc": "6757:34:12", + "nodeType": "YulFunctionCall", + "src": "6757:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "6796:10:12", + "nodeType": "YulIdentifier", + "src": "6796:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "6808:6:12", + "nodeType": "YulIdentifier", + "src": "6808:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6793:2:12", + "nodeType": "YulIdentifier", + "src": "6793:2:12" + }, + "nativeSrc": "6793:22:12", + "nodeType": "YulFunctionCall", + "src": "6793:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "6754:2:12", + "nodeType": "YulIdentifier", + "src": "6754:2:12" + }, + "nativeSrc": "6754:62:12", + "nodeType": "YulFunctionCall", + "src": "6754:62:12" + }, + "nativeSrc": "6751:88:12", + "nodeType": "YulIf", + "src": "6751:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6855:2:12", + "nodeType": "YulLiteral", + "src": "6855:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "6859:10:12", + "nodeType": "YulIdentifier", + "src": "6859:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6848:6:12", + "nodeType": "YulIdentifier", + "src": "6848:6:12" + }, + "nativeSrc": "6848:22:12", + "nodeType": "YulFunctionCall", + "src": "6848:22:12" + }, + "nativeSrc": "6848:22:12", + "nodeType": "YulExpressionStatement", + "src": "6848:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "6595:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "6624:6:12", + "nodeType": "YulTypedName", + "src": "6624:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "6632:4:12", + "nodeType": "YulTypedName", + "src": "6632:4:12", + "type": "" + } + ], + "src": "6595:281:12" + }, + { + "body": { + "nativeSrc": "6923:88:12", + "nodeType": "YulBlock", + "src": "6923:88:12", + "statements": [ + { + "nativeSrc": "6933:30:12", + "nodeType": "YulAssignment", + "src": "6933:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "6943:18:12", + "nodeType": "YulIdentifier", + "src": "6943:18:12" + }, + "nativeSrc": "6943:20:12", + "nodeType": "YulFunctionCall", + "src": "6943:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "6933:6:12", + "nodeType": "YulIdentifier", + "src": "6933:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6992:6:12", + "nodeType": "YulIdentifier", + "src": "6992:6:12" + }, + { + "name": "size", + "nativeSrc": "7000:4:12", + "nodeType": "YulIdentifier", + "src": "7000:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "6972:19:12", + "nodeType": "YulIdentifier", + "src": "6972:19:12" + }, + "nativeSrc": "6972:33:12", + "nodeType": "YulFunctionCall", + "src": "6972:33:12" + }, + "nativeSrc": "6972:33:12", + "nodeType": "YulExpressionStatement", + "src": "6972:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "6882:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "6907:4:12", + "nodeType": "YulTypedName", + "src": "6907:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "6916:6:12", + "nodeType": "YulTypedName", + "src": "6916:6:12", + "type": "" + } + ], + "src": "6882:129:12" + }, + { + "body": { + "nativeSrc": "7099:229:12", + "nodeType": "YulBlock", + "src": "7099:229:12", + "statements": [ + { + "body": { + "nativeSrc": "7204:22:12", + "nodeType": "YulBlock", + "src": "7204:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7206:16:12", + "nodeType": "YulIdentifier", + "src": "7206:16:12" + }, + "nativeSrc": "7206:18:12", + "nodeType": "YulFunctionCall", + "src": "7206:18:12" + }, + "nativeSrc": "7206:18:12", + "nodeType": "YulExpressionStatement", + "src": "7206:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7176:6:12", + "nodeType": "YulIdentifier", + "src": "7176:6:12" + }, + { + "kind": "number", + "nativeSrc": "7184:18:12", + "nodeType": "YulLiteral", + "src": "7184:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7173:2:12", + "nodeType": "YulIdentifier", + "src": "7173:2:12" + }, + "nativeSrc": "7173:30:12", + "nodeType": "YulFunctionCall", + "src": "7173:30:12" + }, + "nativeSrc": "7170:56:12", + "nodeType": "YulIf", + "src": "7170:56:12" + }, + { + "nativeSrc": "7236:25:12", + "nodeType": "YulAssignment", + "src": "7236:25:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7248:6:12", + "nodeType": "YulIdentifier", + "src": "7248:6:12" + }, + { + "kind": "number", + "nativeSrc": "7256:4:12", + "nodeType": "YulLiteral", + "src": "7256:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7244:3:12", + "nodeType": "YulIdentifier", + "src": "7244:3:12" + }, + "nativeSrc": "7244:17:12", + "nodeType": "YulFunctionCall", + "src": "7244:17:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7236:4:12", + "nodeType": "YulIdentifier", + "src": "7236:4:12" + } + ] + }, + { + "nativeSrc": "7298:23:12", + "nodeType": "YulAssignment", + "src": "7298:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "7310:4:12", + "nodeType": "YulIdentifier", + "src": "7310:4:12" + }, + { + "kind": "number", + "nativeSrc": "7316:4:12", + "nodeType": "YulLiteral", + "src": "7316:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7306:3:12", + "nodeType": "YulIdentifier", + "src": "7306:3:12" + }, + "nativeSrc": "7306:15:12", + "nodeType": "YulFunctionCall", + "src": "7306:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7298:4:12", + "nodeType": "YulIdentifier", + "src": "7298:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7017:311:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "7083:6:12", + "nodeType": "YulTypedName", + "src": "7083:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "7094:4:12", + "nodeType": "YulTypedName", + "src": "7094:4:12", + "type": "" + } + ], + "src": "7017:311:12" + }, + { + "body": { + "nativeSrc": "7423:28:12", + "nodeType": "YulBlock", + "src": "7423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7440:1:12", + "nodeType": "YulLiteral", + "src": "7440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7443:1:12", + "nodeType": "YulLiteral", + "src": "7443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7433:6:12", + "nodeType": "YulIdentifier", + "src": "7433:6:12" + }, + "nativeSrc": "7433:12:12", + "nodeType": "YulFunctionCall", + "src": "7433:12:12" + }, + "nativeSrc": "7433:12:12", + "nodeType": "YulExpressionStatement", + "src": "7433:12:12" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "7334:117:12" + }, + { + "body": { + "nativeSrc": "7576:608:12", + "nodeType": "YulBlock", + "src": "7576:608:12", + "statements": [ + { + "nativeSrc": "7586:90:12", + "nodeType": "YulAssignment", + "src": "7586:90:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7668:6:12", + "nodeType": "YulIdentifier", + "src": "7668:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7611:56:12", + "nodeType": "YulIdentifier", + "src": "7611:56:12" + }, + "nativeSrc": "7611:64:12", + "nodeType": "YulFunctionCall", + "src": "7611:64:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "7595:15:12", + "nodeType": "YulIdentifier", + "src": "7595:15:12" + }, + "nativeSrc": "7595:81:12", + "nodeType": "YulFunctionCall", + "src": "7595:81:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "7586:5:12", + "nodeType": "YulIdentifier", + "src": "7586:5:12" + } + ] + }, + { + "nativeSrc": "7685:16:12", + "nodeType": "YulVariableDeclaration", + "src": "7685:16:12", + "value": { + "name": "array", + "nativeSrc": "7696:5:12", + "nodeType": "YulIdentifier", + "src": "7696:5:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "7689:3:12", + "nodeType": "YulTypedName", + "src": "7689:3:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "7718:5:12", + "nodeType": "YulIdentifier", + "src": "7718:5:12" + }, + { + "name": "length", + "nativeSrc": "7725:6:12", + "nodeType": "YulIdentifier", + "src": "7725:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7711:6:12", + "nodeType": "YulIdentifier", + "src": "7711:6:12" + }, + "nativeSrc": "7711:21:12", + "nodeType": "YulFunctionCall", + "src": "7711:21:12" + }, + "nativeSrc": "7711:21:12", + "nodeType": "YulExpressionStatement", + "src": "7711:21:12" + }, + { + "nativeSrc": "7741:23:12", + "nodeType": "YulAssignment", + "src": "7741:23:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "7752:5:12", + "nodeType": "YulIdentifier", + "src": "7752:5:12" + }, + { + "kind": "number", + "nativeSrc": "7759:4:12", + "nodeType": "YulLiteral", + "src": "7759:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7748:3:12", + "nodeType": "YulIdentifier", + "src": "7748:3:12" + }, + "nativeSrc": "7748:16:12", + "nodeType": "YulFunctionCall", + "src": "7748:16:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "7741:3:12", + "nodeType": "YulIdentifier", + "src": "7741:3:12" + } + ] + }, + { + "nativeSrc": "7774:44:12", + "nodeType": "YulVariableDeclaration", + "src": "7774:44:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7792:6:12", + "nodeType": "YulIdentifier", + "src": "7792:6:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7804:6:12", + "nodeType": "YulIdentifier", + "src": "7804:6:12" + }, + { + "kind": "number", + "nativeSrc": "7812:4:12", + "nodeType": "YulLiteral", + "src": "7812:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7800:3:12", + "nodeType": "YulIdentifier", + "src": "7800:3:12" + }, + "nativeSrc": "7800:17:12", + "nodeType": "YulFunctionCall", + "src": "7800:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7788:3:12", + "nodeType": "YulIdentifier", + "src": "7788:3:12" + }, + "nativeSrc": "7788:30:12", + "nodeType": "YulFunctionCall", + "src": "7788:30:12" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "7778:6:12", + "nodeType": "YulTypedName", + "src": "7778:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7846:103:12", + "nodeType": "YulBlock", + "src": "7846:103:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7860:77:12", + "nodeType": "YulIdentifier", + "src": "7860:77:12" + }, + "nativeSrc": "7860:79:12", + "nodeType": "YulFunctionCall", + "src": "7860:79:12" + }, + "nativeSrc": "7860:79:12", + "nodeType": "YulExpressionStatement", + "src": "7860:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "7833:6:12", + "nodeType": "YulIdentifier", + "src": "7833:6:12" + }, + { + "name": "end", + "nativeSrc": "7841:3:12", + "nodeType": "YulIdentifier", + "src": "7841:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7830:2:12", + "nodeType": "YulIdentifier", + "src": "7830:2:12" + }, + "nativeSrc": "7830:15:12", + "nodeType": "YulFunctionCall", + "src": "7830:15:12" + }, + "nativeSrc": "7827:122:12", + "nodeType": "YulIf", + "src": "7827:122:12" + }, + { + "body": { + "nativeSrc": "8034:144:12", + "nodeType": "YulBlock", + "src": "8034:144:12", + "statements": [ + { + "nativeSrc": "8049:21:12", + "nodeType": "YulVariableDeclaration", + "src": "8049:21:12", + "value": { + "name": "src", + "nativeSrc": "8067:3:12", + "nodeType": "YulIdentifier", + "src": "8067:3:12" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "8053:10:12", + "nodeType": "YulTypedName", + "src": "8053:10:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8091:3:12", + "nodeType": "YulIdentifier", + "src": "8091:3:12" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "8117:10:12", + "nodeType": "YulIdentifier", + "src": "8117:10:12" + }, + { + "name": "end", + "nativeSrc": "8129:3:12", + "nodeType": "YulIdentifier", + "src": "8129:3:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8096:20:12", + "nodeType": "YulIdentifier", + "src": "8096:20:12" + }, + "nativeSrc": "8096:37:12", + "nodeType": "YulFunctionCall", + "src": "8096:37:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8084:6:12", + "nodeType": "YulIdentifier", + "src": "8084:6:12" + }, + "nativeSrc": "8084:50:12", + "nodeType": "YulFunctionCall", + "src": "8084:50:12" + }, + "nativeSrc": "8084:50:12", + "nodeType": "YulExpressionStatement", + "src": "8084:50:12" + }, + { + "nativeSrc": "8147:21:12", + "nodeType": "YulAssignment", + "src": "8147:21:12", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8158:3:12", + "nodeType": "YulIdentifier", + "src": "8158:3:12" + }, + { + "kind": "number", + "nativeSrc": "8163:4:12", + "nodeType": "YulLiteral", + "src": "8163:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8154:3:12", + "nodeType": "YulIdentifier", + "src": "8154:3:12" + }, + "nativeSrc": "8154:14:12", + "nodeType": "YulFunctionCall", + "src": "8154:14:12" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "8147:3:12", + "nodeType": "YulIdentifier", + "src": "8147:3:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "7987:3:12", + "nodeType": "YulIdentifier", + "src": "7987:3:12" + }, + { + "name": "srcEnd", + "nativeSrc": "7992:6:12", + "nodeType": "YulIdentifier", + "src": "7992:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7984:2:12", + "nodeType": "YulIdentifier", + "src": "7984:2:12" + }, + "nativeSrc": "7984:15:12", + "nodeType": "YulFunctionCall", + "src": "7984:15:12" + }, + "nativeSrc": "7958:220:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8000:25:12", + "nodeType": "YulBlock", + "src": "8000:25:12", + "statements": [ + { + "nativeSrc": "8002:21:12", + "nodeType": "YulAssignment", + "src": "8002:21:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8013:3:12", + "nodeType": "YulIdentifier", + "src": "8013:3:12" + }, + { + "kind": "number", + "nativeSrc": "8018:4:12", + "nodeType": "YulLiteral", + "src": "8018:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8009:3:12", + "nodeType": "YulIdentifier", + "src": "8009:3:12" + }, + "nativeSrc": "8009:14:12", + "nodeType": "YulFunctionCall", + "src": "8009:14:12" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "8002:3:12", + "nodeType": "YulIdentifier", + "src": "8002:3:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7962:21:12", + "nodeType": "YulBlock", + "src": "7962:21:12", + "statements": [ + { + "nativeSrc": "7964:17:12", + "nodeType": "YulVariableDeclaration", + "src": "7964:17:12", + "value": { + "name": "offset", + "nativeSrc": "7975:6:12", + "nodeType": "YulIdentifier", + "src": "7975:6:12" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "7968:3:12", + "nodeType": "YulTypedName", + "src": "7968:3:12", + "type": "" + } + ] + } + ] + }, + "src": "7958:220:12" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7474:710:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "7546:6:12", + "nodeType": "YulTypedName", + "src": "7546:6:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "7554:6:12", + "nodeType": "YulTypedName", + "src": "7554:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "7562:3:12", + "nodeType": "YulTypedName", + "src": "7562:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "7570:5:12", + "nodeType": "YulTypedName", + "src": "7570:5:12", + "type": "" + } + ], + "src": "7474:710:12" + }, + { + "body": { + "nativeSrc": "8284:293:12", + "nodeType": "YulBlock", + "src": "8284:293:12", + "statements": [ + { + "body": { + "nativeSrc": "8333:83:12", + "nodeType": "YulBlock", + "src": "8333:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "8335:77:12", + "nodeType": "YulIdentifier", + "src": "8335:77:12" + }, + "nativeSrc": "8335:79:12", + "nodeType": "YulFunctionCall", + "src": "8335:79:12" + }, + "nativeSrc": "8335:79:12", + "nodeType": "YulExpressionStatement", + "src": "8335:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8312:6:12", + "nodeType": "YulIdentifier", + "src": "8312:6:12" + }, + { + "kind": "number", + "nativeSrc": "8320:4:12", + "nodeType": "YulLiteral", + "src": "8320:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8308:3:12", + "nodeType": "YulIdentifier", + "src": "8308:3:12" + }, + "nativeSrc": "8308:17:12", + "nodeType": "YulFunctionCall", + "src": "8308:17:12" + }, + { + "name": "end", + "nativeSrc": "8327:3:12", + "nodeType": "YulIdentifier", + "src": "8327:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8304:3:12", + "nodeType": "YulIdentifier", + "src": "8304:3:12" + }, + "nativeSrc": "8304:27:12", + "nodeType": "YulFunctionCall", + "src": "8304:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8297:6:12", + "nodeType": "YulIdentifier", + "src": "8297:6:12" + }, + "nativeSrc": "8297:35:12", + "nodeType": "YulFunctionCall", + "src": "8297:35:12" + }, + "nativeSrc": "8294:122:12", + "nodeType": "YulIf", + "src": "8294:122:12" + }, + { + "nativeSrc": "8425:34:12", + "nodeType": "YulVariableDeclaration", + "src": "8425:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8452:6:12", + "nodeType": "YulIdentifier", + "src": "8452:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8439:12:12", + "nodeType": "YulIdentifier", + "src": "8439:12:12" + }, + "nativeSrc": "8439:20:12", + "nodeType": "YulFunctionCall", + "src": "8439:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "8429:6:12", + "nodeType": "YulTypedName", + "src": "8429:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8468:103:12", + "nodeType": "YulAssignment", + "src": "8468:103:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8544:6:12", + "nodeType": "YulIdentifier", + "src": "8544:6:12" + }, + { + "kind": "number", + "nativeSrc": "8552:4:12", + "nodeType": "YulLiteral", + "src": "8552:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8540:3:12", + "nodeType": "YulIdentifier", + "src": "8540:3:12" + }, + "nativeSrc": "8540:17:12", + "nodeType": "YulFunctionCall", + "src": "8540:17:12" + }, + { + "name": "length", + "nativeSrc": "8559:6:12", + "nodeType": "YulIdentifier", + "src": "8559:6:12" + }, + { + "name": "end", + "nativeSrc": "8567:3:12", + "nodeType": "YulIdentifier", + "src": "8567:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8477:62:12", + "nodeType": "YulIdentifier", + "src": "8477:62:12" + }, + "nativeSrc": "8477:94:12", + "nodeType": "YulFunctionCall", + "src": "8477:94:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8468:5:12", + "nodeType": "YulIdentifier", + "src": "8468:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8207:370:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8262:6:12", + "nodeType": "YulTypedName", + "src": "8262:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8270:3:12", + "nodeType": "YulTypedName", + "src": "8270:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8278:5:12", + "nodeType": "YulTypedName", + "src": "8278:5:12", + "type": "" + } + ], + "src": "8207:370:12" + }, + { + "body": { + "nativeSrc": "8674:448:12", + "nodeType": "YulBlock", + "src": "8674:448:12", + "statements": [ + { + "body": { + "nativeSrc": "8720:83:12", + "nodeType": "YulBlock", + "src": "8720:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8722:77:12", + "nodeType": "YulIdentifier", + "src": "8722:77:12" + }, + "nativeSrc": "8722:79:12", + "nodeType": "YulFunctionCall", + "src": "8722:79:12" + }, + "nativeSrc": "8722:79:12", + "nodeType": "YulExpressionStatement", + "src": "8722:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8695:7:12", + "nodeType": "YulIdentifier", + "src": "8695:7:12" + }, + { + "name": "headStart", + "nativeSrc": "8704:9:12", + "nodeType": "YulIdentifier", + "src": "8704:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8691:3:12", + "nodeType": "YulIdentifier", + "src": "8691:3:12" + }, + "nativeSrc": "8691:23:12", + "nodeType": "YulFunctionCall", + "src": "8691:23:12" + }, + { + "kind": "number", + "nativeSrc": "8716:2:12", + "nodeType": "YulLiteral", + "src": "8716:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8687:3:12", + "nodeType": "YulIdentifier", + "src": "8687:3:12" + }, + "nativeSrc": "8687:32:12", + "nodeType": "YulFunctionCall", + "src": "8687:32:12" + }, + "nativeSrc": "8684:119:12", + "nodeType": "YulIf", + "src": "8684:119:12" + }, + { + "nativeSrc": "8813:302:12", + "nodeType": "YulBlock", + "src": "8813:302:12", + "statements": [ + { + "nativeSrc": "8828:45:12", + "nodeType": "YulVariableDeclaration", + "src": "8828:45:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8859:9:12", + "nodeType": "YulIdentifier", + "src": "8859:9:12" + }, + { + "kind": "number", + "nativeSrc": "8870:1:12", + "nodeType": "YulLiteral", + "src": "8870:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8855:3:12", + "nodeType": "YulIdentifier", + "src": "8855:3:12" + }, + "nativeSrc": "8855:17:12", + "nodeType": "YulFunctionCall", + "src": "8855:17:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8842:12:12", + "nodeType": "YulIdentifier", + "src": "8842:12:12" + }, + "nativeSrc": "8842:31:12", + "nodeType": "YulFunctionCall", + "src": "8842:31:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8832:6:12", + "nodeType": "YulTypedName", + "src": "8832:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8920:83:12", + "nodeType": "YulBlock", + "src": "8920:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "8922:77:12", + "nodeType": "YulIdentifier", + "src": "8922:77:12" + }, + "nativeSrc": "8922:79:12", + "nodeType": "YulFunctionCall", + "src": "8922:79:12" + }, + "nativeSrc": "8922:79:12", + "nodeType": "YulExpressionStatement", + "src": "8922:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8892:6:12", + "nodeType": "YulIdentifier", + "src": "8892:6:12" + }, + { + "kind": "number", + "nativeSrc": "8900:18:12", + "nodeType": "YulLiteral", + "src": "8900:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8889:2:12", + "nodeType": "YulIdentifier", + "src": "8889:2:12" + }, + "nativeSrc": "8889:30:12", + "nodeType": "YulFunctionCall", + "src": "8889:30:12" + }, + "nativeSrc": "8886:117:12", + "nodeType": "YulIf", + "src": "8886:117:12" + }, + { + "nativeSrc": "9017:88:12", + "nodeType": "YulAssignment", + "src": "9017:88:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9077:9:12", + "nodeType": "YulIdentifier", + "src": "9077:9:12" + }, + { + "name": "offset", + "nativeSrc": "9088:6:12", + "nodeType": "YulIdentifier", + "src": "9088:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9073:3:12", + "nodeType": "YulIdentifier", + "src": "9073:3:12" + }, + "nativeSrc": "9073:22:12", + "nodeType": "YulFunctionCall", + "src": "9073:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9097:7:12", + "nodeType": "YulIdentifier", + "src": "9097:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9027:45:12", + "nodeType": "YulIdentifier", + "src": "9027:45:12" + }, + "nativeSrc": "9027:78:12", + "nodeType": "YulFunctionCall", + "src": "9027:78:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9017:6:12", + "nodeType": "YulIdentifier", + "src": "9017:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8583:539:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8644:9:12", + "nodeType": "YulTypedName", + "src": "8644:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8655:7:12", + "nodeType": "YulTypedName", + "src": "8655:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8667:6:12", + "nodeType": "YulTypedName", + "src": "8667:6:12", + "type": "" + } + ], + "src": "8583:539:12" + }, + { + "body": { + "nativeSrc": "9171:79:12", + "nodeType": "YulBlock", + "src": "9171:79:12", + "statements": [ + { + "body": { + "nativeSrc": "9228:16:12", + "nodeType": "YulBlock", + "src": "9228:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9237:1:12", + "nodeType": "YulLiteral", + "src": "9237:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9240:1:12", + "nodeType": "YulLiteral", + "src": "9240:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9230:6:12", + "nodeType": "YulIdentifier", + "src": "9230:6:12" + }, + "nativeSrc": "9230:12:12", + "nodeType": "YulFunctionCall", + "src": "9230:12:12" + }, + "nativeSrc": "9230:12:12", + "nodeType": "YulExpressionStatement", + "src": "9230:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9194:5:12", + "nodeType": "YulIdentifier", + "src": "9194:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9219:5:12", + "nodeType": "YulIdentifier", + "src": "9219:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "9201:17:12", + "nodeType": "YulIdentifier", + "src": "9201:17:12" + }, + "nativeSrc": "9201:24:12", + "nodeType": "YulFunctionCall", + "src": "9201:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9191:2:12", + "nodeType": "YulIdentifier", + "src": "9191:2:12" + }, + "nativeSrc": "9191:35:12", + "nodeType": "YulFunctionCall", + "src": "9191:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9184:6:12", + "nodeType": "YulIdentifier", + "src": "9184:6:12" + }, + "nativeSrc": "9184:43:12", + "nodeType": "YulFunctionCall", + "src": "9184:43:12" + }, + "nativeSrc": "9181:63:12", + "nodeType": "YulIf", + "src": "9181:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "9128:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9164:5:12", + "nodeType": "YulTypedName", + "src": "9164:5:12", + "type": "" + } + ], + "src": "9128:122:12" + }, + { + "body": { + "nativeSrc": "9308:87:12", + "nodeType": "YulBlock", + "src": "9308:87:12", + "statements": [ + { + "nativeSrc": "9318:29:12", + "nodeType": "YulAssignment", + "src": "9318:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9340:6:12", + "nodeType": "YulIdentifier", + "src": "9340:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9327:12:12", + "nodeType": "YulIdentifier", + "src": "9327:12:12" + }, + "nativeSrc": "9327:20:12", + "nodeType": "YulFunctionCall", + "src": "9327:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9318:5:12", + "nodeType": "YulIdentifier", + "src": "9318:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9383:5:12", + "nodeType": "YulIdentifier", + "src": "9383:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "9356:26:12", + "nodeType": "YulIdentifier", + "src": "9356:26:12" + }, + "nativeSrc": "9356:33:12", + "nodeType": "YulFunctionCall", + "src": "9356:33:12" + }, + "nativeSrc": "9356:33:12", + "nodeType": "YulExpressionStatement", + "src": "9356:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "9256:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9286:6:12", + "nodeType": "YulTypedName", + "src": "9286:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9294:3:12", + "nodeType": "YulTypedName", + "src": "9294:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9302:5:12", + "nodeType": "YulTypedName", + "src": "9302:5:12", + "type": "" + } + ], + "src": "9256:139:12" + }, + { + "body": { + "nativeSrc": "9490:28:12", + "nodeType": "YulBlock", + "src": "9490:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9507:1:12", + "nodeType": "YulLiteral", + "src": "9507:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9510:1:12", + "nodeType": "YulLiteral", + "src": "9510:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9500:6:12", + "nodeType": "YulIdentifier", + "src": "9500:6:12" + }, + "nativeSrc": "9500:12:12", + "nodeType": "YulFunctionCall", + "src": "9500:12:12" + }, + "nativeSrc": "9500:12:12", + "nodeType": "YulExpressionStatement", + "src": "9500:12:12" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "9401:117:12", + "nodeType": "YulFunctionDefinition", + "src": "9401:117:12" + }, + { + "body": { + "nativeSrc": "9631:478:12", + "nodeType": "YulBlock", + "src": "9631:478:12", + "statements": [ + { + "body": { + "nativeSrc": "9680:83:12", + "nodeType": "YulBlock", + "src": "9680:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "9682:77:12", + "nodeType": "YulIdentifier", + "src": "9682:77:12" + }, + "nativeSrc": "9682:79:12", + "nodeType": "YulFunctionCall", + "src": "9682:79:12" + }, + "nativeSrc": "9682:79:12", + "nodeType": "YulExpressionStatement", + "src": "9682:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9659:6:12", + "nodeType": "YulIdentifier", + "src": "9659:6:12" + }, + { + "kind": "number", + "nativeSrc": "9667:4:12", + "nodeType": "YulLiteral", + "src": "9667:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9655:3:12", + "nodeType": "YulIdentifier", + "src": "9655:3:12" + }, + "nativeSrc": "9655:17:12", + "nodeType": "YulFunctionCall", + "src": "9655:17:12" + }, + { + "name": "end", + "nativeSrc": "9674:3:12", + "nodeType": "YulIdentifier", + "src": "9674:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9651:3:12", + "nodeType": "YulIdentifier", + "src": "9651:3:12" + }, + "nativeSrc": "9651:27:12", + "nodeType": "YulFunctionCall", + "src": "9651:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9644:6:12", + "nodeType": "YulIdentifier", + "src": "9644:6:12" + }, + "nativeSrc": "9644:35:12", + "nodeType": "YulFunctionCall", + "src": "9644:35:12" + }, + "nativeSrc": "9641:122:12", + "nodeType": "YulIf", + "src": "9641:122:12" + }, + { + "nativeSrc": "9772:30:12", + "nodeType": "YulAssignment", + "src": "9772:30:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9795:6:12", + "nodeType": "YulIdentifier", + "src": "9795:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9782:12:12", + "nodeType": "YulIdentifier", + "src": "9782:12:12" + }, + "nativeSrc": "9782:20:12", + "nodeType": "YulFunctionCall", + "src": "9782:20:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "9772:6:12", + "nodeType": "YulIdentifier", + "src": "9772:6:12" + } + ] + }, + { + "body": { + "nativeSrc": "9845:83:12", + "nodeType": "YulBlock", + "src": "9845:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "9847:77:12", + "nodeType": "YulIdentifier", + "src": "9847:77:12" + }, + "nativeSrc": "9847:79:12", + "nodeType": "YulFunctionCall", + "src": "9847:79:12" + }, + "nativeSrc": "9847:79:12", + "nodeType": "YulExpressionStatement", + "src": "9847:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "9817:6:12", + "nodeType": "YulIdentifier", + "src": "9817:6:12" + }, + { + "kind": "number", + "nativeSrc": "9825:18:12", + "nodeType": "YulLiteral", + "src": "9825:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9814:2:12", + "nodeType": "YulIdentifier", + "src": "9814:2:12" + }, + "nativeSrc": "9814:30:12", + "nodeType": "YulFunctionCall", + "src": "9814:30:12" + }, + "nativeSrc": "9811:117:12", + "nodeType": "YulIf", + "src": "9811:117:12" + }, + { + "nativeSrc": "9937:29:12", + "nodeType": "YulAssignment", + "src": "9937:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9953:6:12", + "nodeType": "YulIdentifier", + "src": "9953:6:12" + }, + { + "kind": "number", + "nativeSrc": "9961:4:12", + "nodeType": "YulLiteral", + "src": "9961:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9949:3:12", + "nodeType": "YulIdentifier", + "src": "9949:3:12" + }, + "nativeSrc": "9949:17:12", + "nodeType": "YulFunctionCall", + "src": "9949:17:12" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "9937:8:12", + "nodeType": "YulIdentifier", + "src": "9937:8:12" + } + ] + }, + { + "body": { + "nativeSrc": "10020:83:12", + "nodeType": "YulBlock", + "src": "10020:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "10022:77:12", + "nodeType": "YulIdentifier", + "src": "10022:77:12" + }, + "nativeSrc": "10022:79:12", + "nodeType": "YulFunctionCall", + "src": "10022:79:12" + }, + "nativeSrc": "10022:79:12", + "nodeType": "YulExpressionStatement", + "src": "10022:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "9985:8:12", + "nodeType": "YulIdentifier", + "src": "9985:8:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "9999:6:12", + "nodeType": "YulIdentifier", + "src": "9999:6:12" + }, + { + "kind": "number", + "nativeSrc": "10007:4:12", + "nodeType": "YulLiteral", + "src": "10007:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9995:3:12", + "nodeType": "YulIdentifier", + "src": "9995:3:12" + }, + "nativeSrc": "9995:17:12", + "nodeType": "YulFunctionCall", + "src": "9995:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9981:3:12", + "nodeType": "YulIdentifier", + "src": "9981:3:12" + }, + "nativeSrc": "9981:32:12", + "nodeType": "YulFunctionCall", + "src": "9981:32:12" + }, + { + "name": "end", + "nativeSrc": "10015:3:12", + "nodeType": "YulIdentifier", + "src": "10015:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9978:2:12", + "nodeType": "YulIdentifier", + "src": "9978:2:12" + }, + "nativeSrc": "9978:41:12", + "nodeType": "YulFunctionCall", + "src": "9978:41:12" + }, + "nativeSrc": "9975:128:12", + "nodeType": "YulIf", + "src": "9975:128:12" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "9541:568:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9598:6:12", + "nodeType": "YulTypedName", + "src": "9598:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9606:3:12", + "nodeType": "YulTypedName", + "src": "9606:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "9614:8:12", + "nodeType": "YulTypedName", + "src": "9614:8:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9624:6:12", + "nodeType": "YulTypedName", + "src": "9624:6:12", + "type": "" + } + ], + "src": "9541:568:12" + }, + { + "body": { + "nativeSrc": "10250:714:12", + "nodeType": "YulBlock", + "src": "10250:714:12", + "statements": [ + { + "body": { + "nativeSrc": "10296:83:12", + "nodeType": "YulBlock", + "src": "10296:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10298:77:12", + "nodeType": "YulIdentifier", + "src": "10298:77:12" + }, + "nativeSrc": "10298:79:12", + "nodeType": "YulFunctionCall", + "src": "10298:79:12" + }, + "nativeSrc": "10298:79:12", + "nodeType": "YulExpressionStatement", + "src": "10298:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10271:7:12", + "nodeType": "YulIdentifier", + "src": "10271:7:12" + }, + { + "name": "headStart", + "nativeSrc": "10280:9:12", + "nodeType": "YulIdentifier", + "src": "10280:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10267:3:12", + "nodeType": "YulIdentifier", + "src": "10267:3:12" + }, + "nativeSrc": "10267:23:12", + "nodeType": "YulFunctionCall", + "src": "10267:23:12" + }, + { + "kind": "number", + "nativeSrc": "10292:2:12", + "nodeType": "YulLiteral", + "src": "10292:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10263:3:12", + "nodeType": "YulIdentifier", + "src": "10263:3:12" + }, + "nativeSrc": "10263:32:12", + "nodeType": "YulFunctionCall", + "src": "10263:32:12" + }, + "nativeSrc": "10260:119:12", + "nodeType": "YulIf", + "src": "10260:119:12" + }, + { + "nativeSrc": "10389:117:12", + "nodeType": "YulBlock", + "src": "10389:117:12", + "statements": [ + { + "nativeSrc": "10404:15:12", + "nodeType": "YulVariableDeclaration", + "src": "10404:15:12", + "value": { + "kind": "number", + "nativeSrc": "10418:1:12", + "nodeType": "YulLiteral", + "src": "10418:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10408:6:12", + "nodeType": "YulTypedName", + "src": "10408:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10433:63:12", + "nodeType": "YulAssignment", + "src": "10433:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10468:9:12", + "nodeType": "YulIdentifier", + "src": "10468:9:12" + }, + { + "name": "offset", + "nativeSrc": "10479:6:12", + "nodeType": "YulIdentifier", + "src": "10479:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10464:3:12", + "nodeType": "YulIdentifier", + "src": "10464:3:12" + }, + "nativeSrc": "10464:22:12", + "nodeType": "YulFunctionCall", + "src": "10464:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10488:7:12", + "nodeType": "YulIdentifier", + "src": "10488:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10443:20:12", + "nodeType": "YulIdentifier", + "src": "10443:20:12" + }, + "nativeSrc": "10443:53:12", + "nodeType": "YulFunctionCall", + "src": "10443:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10433:6:12", + "nodeType": "YulIdentifier", + "src": "10433:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "10516:118:12", + "nodeType": "YulBlock", + "src": "10516:118:12", + "statements": [ + { + "nativeSrc": "10531:16:12", + "nodeType": "YulVariableDeclaration", + "src": "10531:16:12", + "value": { + "kind": "number", + "nativeSrc": "10545:2:12", + "nodeType": "YulLiteral", + "src": "10545:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10535:6:12", + "nodeType": "YulTypedName", + "src": "10535:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10561:63:12", + "nodeType": "YulAssignment", + "src": "10561:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10596:9:12", + "nodeType": "YulIdentifier", + "src": "10596:9:12" + }, + { + "name": "offset", + "nativeSrc": "10607:6:12", + "nodeType": "YulIdentifier", + "src": "10607:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10592:3:12", + "nodeType": "YulIdentifier", + "src": "10592:3:12" + }, + "nativeSrc": "10592:22:12", + "nodeType": "YulFunctionCall", + "src": "10592:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10616:7:12", + "nodeType": "YulIdentifier", + "src": "10616:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "10571:20:12", + "nodeType": "YulIdentifier", + "src": "10571:20:12" + }, + "nativeSrc": "10571:53:12", + "nodeType": "YulFunctionCall", + "src": "10571:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "10561:6:12", + "nodeType": "YulIdentifier", + "src": "10561:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "10644:313:12", + "nodeType": "YulBlock", + "src": "10644:313:12", + "statements": [ + { + "nativeSrc": "10659:46:12", + "nodeType": "YulVariableDeclaration", + "src": "10659:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10690:9:12", + "nodeType": "YulIdentifier", + "src": "10690:9:12" + }, + { + "kind": "number", + "nativeSrc": "10701:2:12", + "nodeType": "YulLiteral", + "src": "10701:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10686:3:12", + "nodeType": "YulIdentifier", + "src": "10686:3:12" + }, + "nativeSrc": "10686:18:12", + "nodeType": "YulFunctionCall", + "src": "10686:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10673:12:12", + "nodeType": "YulIdentifier", + "src": "10673:12:12" + }, + "nativeSrc": "10673:32:12", + "nodeType": "YulFunctionCall", + "src": "10673:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10663:6:12", + "nodeType": "YulTypedName", + "src": "10663:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10752:83:12", + "nodeType": "YulBlock", + "src": "10752:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "10754:77:12", + "nodeType": "YulIdentifier", + "src": "10754:77:12" + }, + "nativeSrc": "10754:79:12", + "nodeType": "YulFunctionCall", + "src": "10754:79:12" + }, + "nativeSrc": "10754:79:12", + "nodeType": "YulExpressionStatement", + "src": "10754:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10724:6:12", + "nodeType": "YulIdentifier", + "src": "10724:6:12" + }, + { + "kind": "number", + "nativeSrc": "10732:18:12", + "nodeType": "YulLiteral", + "src": "10732:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10721:2:12", + "nodeType": "YulIdentifier", + "src": "10721:2:12" + }, + "nativeSrc": "10721:30:12", + "nodeType": "YulFunctionCall", + "src": "10721:30:12" + }, + "nativeSrc": "10718:117:12", + "nodeType": "YulIf", + "src": "10718:117:12" + }, + { + "nativeSrc": "10849:98:12", + "nodeType": "YulAssignment", + "src": "10849:98:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10919:9:12", + "nodeType": "YulIdentifier", + "src": "10919:9:12" + }, + { + "name": "offset", + "nativeSrc": "10930:6:12", + "nodeType": "YulIdentifier", + "src": "10930:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10915:3:12", + "nodeType": "YulIdentifier", + "src": "10915:3:12" + }, + "nativeSrc": "10915:22:12", + "nodeType": "YulFunctionCall", + "src": "10915:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10939:7:12", + "nodeType": "YulIdentifier", + "src": "10939:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "10867:47:12", + "nodeType": "YulIdentifier", + "src": "10867:47:12" + }, + "nativeSrc": "10867:80:12", + "nodeType": "YulFunctionCall", + "src": "10867:80:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "10849:6:12", + "nodeType": "YulIdentifier", + "src": "10849:6:12" + }, + { + "name": "value3", + "nativeSrc": "10857:6:12", + "nodeType": "YulIdentifier", + "src": "10857:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "10115:849:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10196:9:12", + "nodeType": "YulTypedName", + "src": "10196:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10207:7:12", + "nodeType": "YulTypedName", + "src": "10207:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10219:6:12", + "nodeType": "YulTypedName", + "src": "10219:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "10227:6:12", + "nodeType": "YulTypedName", + "src": "10227:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "10235:6:12", + "nodeType": "YulTypedName", + "src": "10235:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "10243:6:12", + "nodeType": "YulTypedName", + "src": "10243:6:12", + "type": "" + } + ], + "src": "10115:849:12" + }, + { + "body": { + "nativeSrc": "11066:73:12", + "nodeType": "YulBlock", + "src": "11066:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11083:3:12", + "nodeType": "YulIdentifier", + "src": "11083:3:12" + }, + { + "name": "length", + "nativeSrc": "11088:6:12", + "nodeType": "YulIdentifier", + "src": "11088:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11076:6:12", + "nodeType": "YulIdentifier", + "src": "11076:6:12" + }, + "nativeSrc": "11076:19:12", + "nodeType": "YulFunctionCall", + "src": "11076:19:12" + }, + "nativeSrc": "11076:19:12", + "nodeType": "YulExpressionStatement", + "src": "11076:19:12" + }, + { + "nativeSrc": "11104:29:12", + "nodeType": "YulAssignment", + "src": "11104:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11123:3:12", + "nodeType": "YulIdentifier", + "src": "11123:3:12" + }, + { + "kind": "number", + "nativeSrc": "11128:4:12", + "nodeType": "YulLiteral", + "src": "11128:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11119:3:12", + "nodeType": "YulIdentifier", + "src": "11119:3:12" + }, + "nativeSrc": "11119:14:12", + "nodeType": "YulFunctionCall", + "src": "11119:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "11104:11:12", + "nodeType": "YulIdentifier", + "src": "11104:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "10970:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "11038:3:12", + "nodeType": "YulTypedName", + "src": "11038:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11043:6:12", + "nodeType": "YulTypedName", + "src": "11043:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "11054:11:12", + "nodeType": "YulTypedName", + "src": "11054:11:12", + "type": "" + } + ], + "src": "10970:169:12" + }, + { + "body": { + "nativeSrc": "11237:285:12", + "nodeType": "YulBlock", + "src": "11237:285:12", + "statements": [ + { + "nativeSrc": "11247:53:12", + "nodeType": "YulVariableDeclaration", + "src": "11247:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "11294:5:12", + "nodeType": "YulIdentifier", + "src": "11294:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "11261:32:12", + "nodeType": "YulIdentifier", + "src": "11261:32:12" + }, + "nativeSrc": "11261:39:12", + "nodeType": "YulFunctionCall", + "src": "11261:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "11251:6:12", + "nodeType": "YulTypedName", + "src": "11251:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "11309:78:12", + "nodeType": "YulAssignment", + "src": "11309:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11375:3:12", + "nodeType": "YulIdentifier", + "src": "11375:3:12" + }, + { + "name": "length", + "nativeSrc": "11380:6:12", + "nodeType": "YulIdentifier", + "src": "11380:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "11316:58:12", + "nodeType": "YulIdentifier", + "src": "11316:58:12" + }, + "nativeSrc": "11316:71:12", + "nodeType": "YulFunctionCall", + "src": "11316:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11309:3:12", + "nodeType": "YulIdentifier", + "src": "11309:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11435:5:12", + "nodeType": "YulIdentifier", + "src": "11435:5:12" + }, + { + "kind": "number", + "nativeSrc": "11442:4:12", + "nodeType": "YulLiteral", + "src": "11442:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11431:3:12", + "nodeType": "YulIdentifier", + "src": "11431:3:12" + }, + "nativeSrc": "11431:16:12", + "nodeType": "YulFunctionCall", + "src": "11431:16:12" + }, + { + "name": "pos", + "nativeSrc": "11449:3:12", + "nodeType": "YulIdentifier", + "src": "11449:3:12" + }, + { + "name": "length", + "nativeSrc": "11454:6:12", + "nodeType": "YulIdentifier", + "src": "11454:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "11396:34:12", + "nodeType": "YulIdentifier", + "src": "11396:34:12" + }, + "nativeSrc": "11396:65:12", + "nodeType": "YulFunctionCall", + "src": "11396:65:12" + }, + "nativeSrc": "11396:65:12", + "nodeType": "YulExpressionStatement", + "src": "11396:65:12" + }, + { + "nativeSrc": "11470:46:12", + "nodeType": "YulAssignment", + "src": "11470:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11481:3:12", + "nodeType": "YulIdentifier", + "src": "11481:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "11508:6:12", + "nodeType": "YulIdentifier", + "src": "11508:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11486:21:12", + "nodeType": "YulIdentifier", + "src": "11486:21:12" + }, + "nativeSrc": "11486:29:12", + "nodeType": "YulFunctionCall", + "src": "11486:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11477:3:12", + "nodeType": "YulIdentifier", + "src": "11477:3:12" + }, + "nativeSrc": "11477:39:12", + "nodeType": "YulFunctionCall", + "src": "11477:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11470:3:12", + "nodeType": "YulIdentifier", + "src": "11470:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11145:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11218:5:12", + "nodeType": "YulTypedName", + "src": "11218:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11225:3:12", + "nodeType": "YulTypedName", + "src": "11225:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11233:3:12", + "nodeType": "YulTypedName", + "src": "11233:3:12", + "type": "" + } + ], + "src": "11145:377:12" + }, + { + "body": { + "nativeSrc": "11646:195:12", + "nodeType": "YulBlock", + "src": "11646:195:12", + "statements": [ + { + "nativeSrc": "11656:26:12", + "nodeType": "YulAssignment", + "src": "11656:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11668:9:12", + "nodeType": "YulIdentifier", + "src": "11668:9:12" + }, + { + "kind": "number", + "nativeSrc": "11679:2:12", + "nodeType": "YulLiteral", + "src": "11679:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11664:3:12", + "nodeType": "YulIdentifier", + "src": "11664:3:12" + }, + "nativeSrc": "11664:18:12", + "nodeType": "YulFunctionCall", + "src": "11664:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11656:4:12", + "nodeType": "YulIdentifier", + "src": "11656:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11703:9:12", + "nodeType": "YulIdentifier", + "src": "11703:9:12" + }, + { + "kind": "number", + "nativeSrc": "11714:1:12", + "nodeType": "YulLiteral", + "src": "11714:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11699:3:12", + "nodeType": "YulIdentifier", + "src": "11699:3:12" + }, + "nativeSrc": "11699:17:12", + "nodeType": "YulFunctionCall", + "src": "11699:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11722:4:12", + "nodeType": "YulIdentifier", + "src": "11722:4:12" + }, + { + "name": "headStart", + "nativeSrc": "11728:9:12", + "nodeType": "YulIdentifier", + "src": "11728:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11718:3:12", + "nodeType": "YulIdentifier", + "src": "11718:3:12" + }, + "nativeSrc": "11718:20:12", + "nodeType": "YulFunctionCall", + "src": "11718:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11692:6:12", + "nodeType": "YulIdentifier", + "src": "11692:6:12" + }, + "nativeSrc": "11692:47:12", + "nodeType": "YulFunctionCall", + "src": "11692:47:12" + }, + "nativeSrc": "11692:47:12", + "nodeType": "YulExpressionStatement", + "src": "11692:47:12" + }, + { + "nativeSrc": "11748:86:12", + "nodeType": "YulAssignment", + "src": "11748:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "11820:6:12", + "nodeType": "YulIdentifier", + "src": "11820:6:12" + }, + { + "name": "tail", + "nativeSrc": "11829:4:12", + "nodeType": "YulIdentifier", + "src": "11829:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11756:63:12", + "nodeType": "YulIdentifier", + "src": "11756:63:12" + }, + "nativeSrc": "11756:78:12", + "nodeType": "YulFunctionCall", + "src": "11756:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11748:4:12", + "nodeType": "YulIdentifier", + "src": "11748:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11528:313:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11618:9:12", + "nodeType": "YulTypedName", + "src": "11618:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "11630:6:12", + "nodeType": "YulTypedName", + "src": "11630:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11641:4:12", + "nodeType": "YulTypedName", + "src": "11641:4:12", + "type": "" + } + ], + "src": "11528:313:12" + }, + { + "body": { + "nativeSrc": "11912:53:12", + "nodeType": "YulBlock", + "src": "11912:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11929:3:12", + "nodeType": "YulIdentifier", + "src": "11929:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11952:5:12", + "nodeType": "YulIdentifier", + "src": "11952:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "11934:17:12", + "nodeType": "YulIdentifier", + "src": "11934:17:12" + }, + "nativeSrc": "11934:24:12", + "nodeType": "YulFunctionCall", + "src": "11934:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11922:6:12", + "nodeType": "YulIdentifier", + "src": "11922:6:12" + }, + "nativeSrc": "11922:37:12", + "nodeType": "YulFunctionCall", + "src": "11922:37:12" + }, + "nativeSrc": "11922:37:12", + "nodeType": "YulExpressionStatement", + "src": "11922:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "11847:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11900:5:12", + "nodeType": "YulTypedName", + "src": "11900:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11907:3:12", + "nodeType": "YulTypedName", + "src": "11907:3:12", + "type": "" + } + ], + "src": "11847:118:12" + }, + { + "body": { + "nativeSrc": "12069:124:12", + "nodeType": "YulBlock", + "src": "12069:124:12", + "statements": [ + { + "nativeSrc": "12079:26:12", + "nodeType": "YulAssignment", + "src": "12079:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12091:9:12", + "nodeType": "YulIdentifier", + "src": "12091:9:12" + }, + { + "kind": "number", + "nativeSrc": "12102:2:12", + "nodeType": "YulLiteral", + "src": "12102:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12087:3:12", + "nodeType": "YulIdentifier", + "src": "12087:3:12" + }, + "nativeSrc": "12087:18:12", + "nodeType": "YulFunctionCall", + "src": "12087:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12079:4:12", + "nodeType": "YulIdentifier", + "src": "12079:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "12159:6:12", + "nodeType": "YulIdentifier", + "src": "12159:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12172:9:12", + "nodeType": "YulIdentifier", + "src": "12172:9:12" + }, + { + "kind": "number", + "nativeSrc": "12183:1:12", + "nodeType": "YulLiteral", + "src": "12183:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12168:3:12", + "nodeType": "YulIdentifier", + "src": "12168:3:12" + }, + "nativeSrc": "12168:17:12", + "nodeType": "YulFunctionCall", + "src": "12168:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "12115:43:12", + "nodeType": "YulIdentifier", + "src": "12115:43:12" + }, + "nativeSrc": "12115:71:12", + "nodeType": "YulFunctionCall", + "src": "12115:71:12" + }, + "nativeSrc": "12115:71:12", + "nodeType": "YulExpressionStatement", + "src": "12115:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "11971:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12041:9:12", + "nodeType": "YulTypedName", + "src": "12041:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "12053:6:12", + "nodeType": "YulTypedName", + "src": "12053:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12064:4:12", + "nodeType": "YulTypedName", + "src": "12064:4:12", + "type": "" + } + ], + "src": "11971:222:12" + }, + { + "body": { + "nativeSrc": "12288:28:12", + "nodeType": "YulBlock", + "src": "12288:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12305:1:12", + "nodeType": "YulLiteral", + "src": "12305:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12308:1:12", + "nodeType": "YulLiteral", + "src": "12308:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12298:6:12", + "nodeType": "YulIdentifier", + "src": "12298:6:12" + }, + "nativeSrc": "12298:12:12", + "nodeType": "YulFunctionCall", + "src": "12298:12:12" + }, + "nativeSrc": "12298:12:12", + "nodeType": "YulExpressionStatement", + "src": "12298:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "12199:117:12", + "nodeType": "YulFunctionDefinition", + "src": "12199:117:12" + }, + { + "body": { + "nativeSrc": "12388:241:12", + "nodeType": "YulBlock", + "src": "12388:241:12", + "statements": [ + { + "body": { + "nativeSrc": "12493:22:12", + "nodeType": "YulBlock", + "src": "12493:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "12495:16:12", + "nodeType": "YulIdentifier", + "src": "12495:16:12" + }, + "nativeSrc": "12495:18:12", + "nodeType": "YulFunctionCall", + "src": "12495:18:12" + }, + "nativeSrc": "12495:18:12", + "nodeType": "YulExpressionStatement", + "src": "12495:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12465:6:12", + "nodeType": "YulIdentifier", + "src": "12465:6:12" + }, + { + "kind": "number", + "nativeSrc": "12473:18:12", + "nodeType": "YulLiteral", + "src": "12473:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12462:2:12", + "nodeType": "YulIdentifier", + "src": "12462:2:12" + }, + "nativeSrc": "12462:30:12", + "nodeType": "YulFunctionCall", + "src": "12462:30:12" + }, + "nativeSrc": "12459:56:12", + "nodeType": "YulIf", + "src": "12459:56:12" + }, + { + "nativeSrc": "12525:37:12", + "nodeType": "YulAssignment", + "src": "12525:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12555:6:12", + "nodeType": "YulIdentifier", + "src": "12555:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "12533:21:12", + "nodeType": "YulIdentifier", + "src": "12533:21:12" + }, + "nativeSrc": "12533:29:12", + "nodeType": "YulFunctionCall", + "src": "12533:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "12525:4:12", + "nodeType": "YulIdentifier", + "src": "12525:4:12" + } + ] + }, + { + "nativeSrc": "12599:23:12", + "nodeType": "YulAssignment", + "src": "12599:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "12611:4:12", + "nodeType": "YulIdentifier", + "src": "12611:4:12" + }, + { + "kind": "number", + "nativeSrc": "12617:4:12", + "nodeType": "YulLiteral", + "src": "12617:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12607:3:12", + "nodeType": "YulIdentifier", + "src": "12607:3:12" + }, + "nativeSrc": "12607:15:12", + "nodeType": "YulFunctionCall", + "src": "12607:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "12599:4:12", + "nodeType": "YulIdentifier", + "src": "12599:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "12322:307:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "12372:6:12", + "nodeType": "YulTypedName", + "src": "12372:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "12383:4:12", + "nodeType": "YulTypedName", + "src": "12383:4:12", + "type": "" + } + ], + "src": "12322:307:12" + }, + { + "body": { + "nativeSrc": "12699:82:12", + "nodeType": "YulBlock", + "src": "12699:82:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "12722:3:12", + "nodeType": "YulIdentifier", + "src": "12722:3:12" + }, + { + "name": "src", + "nativeSrc": "12727:3:12", + "nodeType": "YulIdentifier", + "src": "12727:3:12" + }, + { + "name": "length", + "nativeSrc": "12732:6:12", + "nodeType": "YulIdentifier", + "src": "12732:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "12709:12:12", + "nodeType": "YulIdentifier", + "src": "12709:12:12" + }, + "nativeSrc": "12709:30:12", + "nodeType": "YulFunctionCall", + "src": "12709:30:12" + }, + "nativeSrc": "12709:30:12", + "nodeType": "YulExpressionStatement", + "src": "12709:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "12759:3:12", + "nodeType": "YulIdentifier", + "src": "12759:3:12" + }, + { + "name": "length", + "nativeSrc": "12764:6:12", + "nodeType": "YulIdentifier", + "src": "12764:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12755:3:12", + "nodeType": "YulIdentifier", + "src": "12755:3:12" + }, + "nativeSrc": "12755:16:12", + "nodeType": "YulFunctionCall", + "src": "12755:16:12" + }, + { + "kind": "number", + "nativeSrc": "12773:1:12", + "nodeType": "YulLiteral", + "src": "12773:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12748:6:12", + "nodeType": "YulIdentifier", + "src": "12748:6:12" + }, + "nativeSrc": "12748:27:12", + "nodeType": "YulFunctionCall", + "src": "12748:27:12" + }, + "nativeSrc": "12748:27:12", + "nodeType": "YulExpressionStatement", + "src": "12748:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "12635:146:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "12681:3:12", + "nodeType": "YulTypedName", + "src": "12681:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "12686:3:12", + "nodeType": "YulTypedName", + "src": "12686:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "12691:6:12", + "nodeType": "YulTypedName", + "src": "12691:6:12", + "type": "" + } + ], + "src": "12635:146:12" + }, + { + "body": { + "nativeSrc": "12870:340:12", + "nodeType": "YulBlock", + "src": "12870:340:12", + "statements": [ + { + "nativeSrc": "12880:74:12", + "nodeType": "YulAssignment", + "src": "12880:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12946:6:12", + "nodeType": "YulIdentifier", + "src": "12946:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "12905:40:12", + "nodeType": "YulIdentifier", + "src": "12905:40:12" + }, + "nativeSrc": "12905:48:12", + "nodeType": "YulFunctionCall", + "src": "12905:48:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "12889:15:12", + "nodeType": "YulIdentifier", + "src": "12889:15:12" + }, + "nativeSrc": "12889:65:12", + "nodeType": "YulFunctionCall", + "src": "12889:65:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "12880:5:12", + "nodeType": "YulIdentifier", + "src": "12880:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "12970:5:12", + "nodeType": "YulIdentifier", + "src": "12970:5:12" + }, + { + "name": "length", + "nativeSrc": "12977:6:12", + "nodeType": "YulIdentifier", + "src": "12977:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12963:6:12", + "nodeType": "YulIdentifier", + "src": "12963:6:12" + }, + "nativeSrc": "12963:21:12", + "nodeType": "YulFunctionCall", + "src": "12963:21:12" + }, + "nativeSrc": "12963:21:12", + "nodeType": "YulExpressionStatement", + "src": "12963:21:12" + }, + { + "nativeSrc": "12993:27:12", + "nodeType": "YulVariableDeclaration", + "src": "12993:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13008:5:12", + "nodeType": "YulIdentifier", + "src": "13008:5:12" + }, + { + "kind": "number", + "nativeSrc": "13015:4:12", + "nodeType": "YulLiteral", + "src": "13015:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13004:3:12", + "nodeType": "YulIdentifier", + "src": "13004:3:12" + }, + "nativeSrc": "13004:16:12", + "nodeType": "YulFunctionCall", + "src": "13004:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "12997:3:12", + "nodeType": "YulTypedName", + "src": "12997:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13058:83:12", + "nodeType": "YulBlock", + "src": "13058:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "13060:77:12", + "nodeType": "YulIdentifier", + "src": "13060:77:12" + }, + "nativeSrc": "13060:79:12", + "nodeType": "YulFunctionCall", + "src": "13060:79:12" + }, + "nativeSrc": "13060:79:12", + "nodeType": "YulExpressionStatement", + "src": "13060:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "13039:3:12", + "nodeType": "YulIdentifier", + "src": "13039:3:12" + }, + { + "name": "length", + "nativeSrc": "13044:6:12", + "nodeType": "YulIdentifier", + "src": "13044:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13035:3:12", + "nodeType": "YulIdentifier", + "src": "13035:3:12" + }, + "nativeSrc": "13035:16:12", + "nodeType": "YulFunctionCall", + "src": "13035:16:12" + }, + { + "name": "end", + "nativeSrc": "13053:3:12", + "nodeType": "YulIdentifier", + "src": "13053:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13032:2:12", + "nodeType": "YulIdentifier", + "src": "13032:2:12" + }, + "nativeSrc": "13032:25:12", + "nodeType": "YulFunctionCall", + "src": "13032:25:12" + }, + "nativeSrc": "13029:112:12", + "nodeType": "YulIf", + "src": "13029:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13187:3:12", + "nodeType": "YulIdentifier", + "src": "13187:3:12" + }, + { + "name": "dst", + "nativeSrc": "13192:3:12", + "nodeType": "YulIdentifier", + "src": "13192:3:12" + }, + { + "name": "length", + "nativeSrc": "13197:6:12", + "nodeType": "YulIdentifier", + "src": "13197:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "13150:36:12", + "nodeType": "YulIdentifier", + "src": "13150:36:12" + }, + "nativeSrc": "13150:54:12", + "nodeType": "YulFunctionCall", + "src": "13150:54:12" + }, + "nativeSrc": "13150:54:12", + "nodeType": "YulExpressionStatement", + "src": "13150:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "12787:423:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "12843:3:12", + "nodeType": "YulTypedName", + "src": "12843:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "12848:6:12", + "nodeType": "YulTypedName", + "src": "12848:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "12856:3:12", + "nodeType": "YulTypedName", + "src": "12856:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "12864:5:12", + "nodeType": "YulTypedName", + "src": "12864:5:12", + "type": "" + } + ], + "src": "12787:423:12" + }, + { + "body": { + "nativeSrc": "13290:277:12", + "nodeType": "YulBlock", + "src": "13290:277:12", + "statements": [ + { + "body": { + "nativeSrc": "13339:83:12", + "nodeType": "YulBlock", + "src": "13339:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "13341:77:12", + "nodeType": "YulIdentifier", + "src": "13341:77:12" + }, + "nativeSrc": "13341:79:12", + "nodeType": "YulFunctionCall", + "src": "13341:79:12" + }, + "nativeSrc": "13341:79:12", + "nodeType": "YulExpressionStatement", + "src": "13341:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13318:6:12", + "nodeType": "YulIdentifier", + "src": "13318:6:12" + }, + { + "kind": "number", + "nativeSrc": "13326:4:12", + "nodeType": "YulLiteral", + "src": "13326:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13314:3:12", + "nodeType": "YulIdentifier", + "src": "13314:3:12" + }, + "nativeSrc": "13314:17:12", + "nodeType": "YulFunctionCall", + "src": "13314:17:12" + }, + { + "name": "end", + "nativeSrc": "13333:3:12", + "nodeType": "YulIdentifier", + "src": "13333:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "13310:3:12", + "nodeType": "YulIdentifier", + "src": "13310:3:12" + }, + "nativeSrc": "13310:27:12", + "nodeType": "YulFunctionCall", + "src": "13310:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "13303:6:12", + "nodeType": "YulIdentifier", + "src": "13303:6:12" + }, + "nativeSrc": "13303:35:12", + "nodeType": "YulFunctionCall", + "src": "13303:35:12" + }, + "nativeSrc": "13300:122:12", + "nodeType": "YulIf", + "src": "13300:122:12" + }, + { + "nativeSrc": "13431:34:12", + "nodeType": "YulVariableDeclaration", + "src": "13431:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13458:6:12", + "nodeType": "YulIdentifier", + "src": "13458:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "13445:12:12", + "nodeType": "YulIdentifier", + "src": "13445:12:12" + }, + "nativeSrc": "13445:20:12", + "nodeType": "YulFunctionCall", + "src": "13445:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "13435:6:12", + "nodeType": "YulTypedName", + "src": "13435:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "13474:87:12", + "nodeType": "YulAssignment", + "src": "13474:87:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13534:6:12", + "nodeType": "YulIdentifier", + "src": "13534:6:12" + }, + { + "kind": "number", + "nativeSrc": "13542:4:12", + "nodeType": "YulLiteral", + "src": "13542:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13530:3:12", + "nodeType": "YulIdentifier", + "src": "13530:3:12" + }, + "nativeSrc": "13530:17:12", + "nodeType": "YulFunctionCall", + "src": "13530:17:12" + }, + { + "name": "length", + "nativeSrc": "13549:6:12", + "nodeType": "YulIdentifier", + "src": "13549:6:12" + }, + { + "name": "end", + "nativeSrc": "13557:3:12", + "nodeType": "YulIdentifier", + "src": "13557:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "13483:46:12", + "nodeType": "YulIdentifier", + "src": "13483:46:12" + }, + "nativeSrc": "13483:78:12", + "nodeType": "YulFunctionCall", + "src": "13483:78:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "13474:5:12", + "nodeType": "YulIdentifier", + "src": "13474:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "13229:338:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13268:6:12", + "nodeType": "YulTypedName", + "src": "13268:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "13276:3:12", + "nodeType": "YulTypedName", + "src": "13276:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "13284:5:12", + "nodeType": "YulTypedName", + "src": "13284:5:12", + "type": "" + } + ], + "src": "13229:338:12" + }, + { + "body": { + "nativeSrc": "13716:946:12", + "nodeType": "YulBlock", + "src": "13716:946:12", + "statements": [ + { + "body": { + "nativeSrc": "13763:83:12", + "nodeType": "YulBlock", + "src": "13763:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "13765:77:12", + "nodeType": "YulIdentifier", + "src": "13765:77:12" + }, + "nativeSrc": "13765:79:12", + "nodeType": "YulFunctionCall", + "src": "13765:79:12" + }, + "nativeSrc": "13765:79:12", + "nodeType": "YulExpressionStatement", + "src": "13765:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "13737:7:12", + "nodeType": "YulIdentifier", + "src": "13737:7:12" + }, + { + "name": "headStart", + "nativeSrc": "13746:9:12", + "nodeType": "YulIdentifier", + "src": "13746:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "13733:3:12", + "nodeType": "YulIdentifier", + "src": "13733:3:12" + }, + "nativeSrc": "13733:23:12", + "nodeType": "YulFunctionCall", + "src": "13733:23:12" + }, + { + "kind": "number", + "nativeSrc": "13758:3:12", + "nodeType": "YulLiteral", + "src": "13758:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "13729:3:12", + "nodeType": "YulIdentifier", + "src": "13729:3:12" + }, + "nativeSrc": "13729:33:12", + "nodeType": "YulFunctionCall", + "src": "13729:33:12" + }, + "nativeSrc": "13726:120:12", + "nodeType": "YulIf", + "src": "13726:120:12" + }, + { + "nativeSrc": "13856:117:12", + "nodeType": "YulBlock", + "src": "13856:117:12", + "statements": [ + { + "nativeSrc": "13871:15:12", + "nodeType": "YulVariableDeclaration", + "src": "13871:15:12", + "value": { + "kind": "number", + "nativeSrc": "13885:1:12", + "nodeType": "YulLiteral", + "src": "13885:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13875:6:12", + "nodeType": "YulTypedName", + "src": "13875:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "13900:63:12", + "nodeType": "YulAssignment", + "src": "13900:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13935:9:12", + "nodeType": "YulIdentifier", + "src": "13935:9:12" + }, + { + "name": "offset", + "nativeSrc": "13946:6:12", + "nodeType": "YulIdentifier", + "src": "13946:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13931:3:12", + "nodeType": "YulIdentifier", + "src": "13931:3:12" + }, + "nativeSrc": "13931:22:12", + "nodeType": "YulFunctionCall", + "src": "13931:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "13955:7:12", + "nodeType": "YulIdentifier", + "src": "13955:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "13910:20:12", + "nodeType": "YulIdentifier", + "src": "13910:20:12" + }, + "nativeSrc": "13910:53:12", + "nodeType": "YulFunctionCall", + "src": "13910:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "13900:6:12", + "nodeType": "YulIdentifier", + "src": "13900:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "13983:118:12", + "nodeType": "YulBlock", + "src": "13983:118:12", + "statements": [ + { + "nativeSrc": "13998:16:12", + "nodeType": "YulVariableDeclaration", + "src": "13998:16:12", + "value": { + "kind": "number", + "nativeSrc": "14012:2:12", + "nodeType": "YulLiteral", + "src": "14012:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14002:6:12", + "nodeType": "YulTypedName", + "src": "14002:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "14028:63:12", + "nodeType": "YulAssignment", + "src": "14028:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14063:9:12", + "nodeType": "YulIdentifier", + "src": "14063:9:12" + }, + { + "name": "offset", + "nativeSrc": "14074:6:12", + "nodeType": "YulIdentifier", + "src": "14074:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14059:3:12", + "nodeType": "YulIdentifier", + "src": "14059:3:12" + }, + "nativeSrc": "14059:22:12", + "nodeType": "YulFunctionCall", + "src": "14059:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "14083:7:12", + "nodeType": "YulIdentifier", + "src": "14083:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "14038:20:12", + "nodeType": "YulIdentifier", + "src": "14038:20:12" + }, + "nativeSrc": "14038:53:12", + "nodeType": "YulFunctionCall", + "src": "14038:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "14028:6:12", + "nodeType": "YulIdentifier", + "src": "14028:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "14111:118:12", + "nodeType": "YulBlock", + "src": "14111:118:12", + "statements": [ + { + "nativeSrc": "14126:16:12", + "nodeType": "YulVariableDeclaration", + "src": "14126:16:12", + "value": { + "kind": "number", + "nativeSrc": "14140:2:12", + "nodeType": "YulLiteral", + "src": "14140:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14130:6:12", + "nodeType": "YulTypedName", + "src": "14130:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "14156:63:12", + "nodeType": "YulAssignment", + "src": "14156:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14191:9:12", + "nodeType": "YulIdentifier", + "src": "14191:9:12" + }, + { + "name": "offset", + "nativeSrc": "14202:6:12", + "nodeType": "YulIdentifier", + "src": "14202:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14187:3:12", + "nodeType": "YulIdentifier", + "src": "14187:3:12" + }, + "nativeSrc": "14187:22:12", + "nodeType": "YulFunctionCall", + "src": "14187:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "14211:7:12", + "nodeType": "YulIdentifier", + "src": "14211:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "14166:20:12", + "nodeType": "YulIdentifier", + "src": "14166:20:12" + }, + "nativeSrc": "14166:53:12", + "nodeType": "YulFunctionCall", + "src": "14166:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "14156:6:12", + "nodeType": "YulIdentifier", + "src": "14156:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "14239:118:12", + "nodeType": "YulBlock", + "src": "14239:118:12", + "statements": [ + { + "nativeSrc": "14254:16:12", + "nodeType": "YulVariableDeclaration", + "src": "14254:16:12", + "value": { + "kind": "number", + "nativeSrc": "14268:2:12", + "nodeType": "YulLiteral", + "src": "14268:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14258:6:12", + "nodeType": "YulTypedName", + "src": "14258:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "14284:63:12", + "nodeType": "YulAssignment", + "src": "14284:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14319:9:12", + "nodeType": "YulIdentifier", + "src": "14319:9:12" + }, + { + "name": "offset", + "nativeSrc": "14330:6:12", + "nodeType": "YulIdentifier", + "src": "14330:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14315:3:12", + "nodeType": "YulIdentifier", + "src": "14315:3:12" + }, + "nativeSrc": "14315:22:12", + "nodeType": "YulFunctionCall", + "src": "14315:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "14339:7:12", + "nodeType": "YulIdentifier", + "src": "14339:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "14294:20:12", + "nodeType": "YulIdentifier", + "src": "14294:20:12" + }, + "nativeSrc": "14294:53:12", + "nodeType": "YulFunctionCall", + "src": "14294:53:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "14284:6:12", + "nodeType": "YulIdentifier", + "src": "14284:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "14367:288:12", + "nodeType": "YulBlock", + "src": "14367:288:12", + "statements": [ + { + "nativeSrc": "14382:47:12", + "nodeType": "YulVariableDeclaration", + "src": "14382:47:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14413:9:12", + "nodeType": "YulIdentifier", + "src": "14413:9:12" + }, + { + "kind": "number", + "nativeSrc": "14424:3:12", + "nodeType": "YulLiteral", + "src": "14424:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14409:3:12", + "nodeType": "YulIdentifier", + "src": "14409:3:12" + }, + "nativeSrc": "14409:19:12", + "nodeType": "YulFunctionCall", + "src": "14409:19:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "14396:12:12", + "nodeType": "YulIdentifier", + "src": "14396:12:12" + }, + "nativeSrc": "14396:33:12", + "nodeType": "YulFunctionCall", + "src": "14396:33:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14386:6:12", + "nodeType": "YulTypedName", + "src": "14386:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14476:83:12", + "nodeType": "YulBlock", + "src": "14476:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "14478:77:12", + "nodeType": "YulIdentifier", + "src": "14478:77:12" + }, + "nativeSrc": "14478:79:12", + "nodeType": "YulFunctionCall", + "src": "14478:79:12" + }, + "nativeSrc": "14478:79:12", + "nodeType": "YulExpressionStatement", + "src": "14478:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14448:6:12", + "nodeType": "YulIdentifier", + "src": "14448:6:12" + }, + { + "kind": "number", + "nativeSrc": "14456:18:12", + "nodeType": "YulLiteral", + "src": "14456:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14445:2:12", + "nodeType": "YulIdentifier", + "src": "14445:2:12" + }, + "nativeSrc": "14445:30:12", + "nodeType": "YulFunctionCall", + "src": "14445:30:12" + }, + "nativeSrc": "14442:117:12", + "nodeType": "YulIf", + "src": "14442:117:12" + }, + { + "nativeSrc": "14573:72:12", + "nodeType": "YulAssignment", + "src": "14573:72:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14617:9:12", + "nodeType": "YulIdentifier", + "src": "14617:9:12" + }, + { + "name": "offset", + "nativeSrc": "14628:6:12", + "nodeType": "YulIdentifier", + "src": "14628:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14613:3:12", + "nodeType": "YulIdentifier", + "src": "14613:3:12" + }, + "nativeSrc": "14613:22:12", + "nodeType": "YulFunctionCall", + "src": "14613:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "14637:7:12", + "nodeType": "YulIdentifier", + "src": "14637:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "14583:29:12", + "nodeType": "YulIdentifier", + "src": "14583:29:12" + }, + "nativeSrc": "14583:62:12", + "nodeType": "YulFunctionCall", + "src": "14583:62:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "14573:6:12", + "nodeType": "YulIdentifier", + "src": "14573:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr", + "nativeSrc": "13573:1089:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13654:9:12", + "nodeType": "YulTypedName", + "src": "13654:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "13665:7:12", + "nodeType": "YulTypedName", + "src": "13665:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "13677:6:12", + "nodeType": "YulTypedName", + "src": "13677:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "13685:6:12", + "nodeType": "YulTypedName", + "src": "13685:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "13693:6:12", + "nodeType": "YulTypedName", + "src": "13693:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "13701:6:12", + "nodeType": "YulTypedName", + "src": "13701:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "13709:6:12", + "nodeType": "YulTypedName", + "src": "13709:6:12", + "type": "" + } + ], + "src": "13573:1089:12" + }, + { + "body": { + "nativeSrc": "14712:105:12", + "nodeType": "YulBlock", + "src": "14712:105:12", + "statements": [ + { + "nativeSrc": "14722:89:12", + "nodeType": "YulAssignment", + "src": "14722:89:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "14737:5:12", + "nodeType": "YulIdentifier", + "src": "14737:5:12" + }, + { + "kind": "number", + "nativeSrc": "14744:66:12", + "nodeType": "YulLiteral", + "src": "14744:66:12", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "14733:3:12", + "nodeType": "YulIdentifier", + "src": "14733:3:12" + }, + "nativeSrc": "14733:78:12", + "nodeType": "YulFunctionCall", + "src": "14733:78:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "14722:7:12", + "nodeType": "YulIdentifier", + "src": "14722:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "14668:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14694:5:12", + "nodeType": "YulTypedName", + "src": "14694:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "14704:7:12", + "nodeType": "YulTypedName", + "src": "14704:7:12", + "type": "" + } + ], + "src": "14668:149:12" + }, + { + "body": { + "nativeSrc": "14886:52:12", + "nodeType": "YulBlock", + "src": "14886:52:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14903:3:12", + "nodeType": "YulIdentifier", + "src": "14903:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14925:5:12", + "nodeType": "YulIdentifier", + "src": "14925:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "14908:16:12", + "nodeType": "YulIdentifier", + "src": "14908:16:12" + }, + "nativeSrc": "14908:23:12", + "nodeType": "YulFunctionCall", + "src": "14908:23:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14896:6:12", + "nodeType": "YulIdentifier", + "src": "14896:6:12" + }, + "nativeSrc": "14896:36:12", + "nodeType": "YulFunctionCall", + "src": "14896:36:12" + }, + "nativeSrc": "14896:36:12", + "nodeType": "YulExpressionStatement", + "src": "14896:36:12" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "14823:115:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14874:5:12", + "nodeType": "YulTypedName", + "src": "14874:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "14881:3:12", + "nodeType": "YulTypedName", + "src": "14881:3:12", + "type": "" + } + ], + "src": "14823:115:12" + }, + { + "body": { + "nativeSrc": "15040:122:12", + "nodeType": "YulBlock", + "src": "15040:122:12", + "statements": [ + { + "nativeSrc": "15050:26:12", + "nodeType": "YulAssignment", + "src": "15050:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15062:9:12", + "nodeType": "YulIdentifier", + "src": "15062:9:12" + }, + { + "kind": "number", + "nativeSrc": "15073:2:12", + "nodeType": "YulLiteral", + "src": "15073:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15058:3:12", + "nodeType": "YulIdentifier", + "src": "15058:3:12" + }, + "nativeSrc": "15058:18:12", + "nodeType": "YulFunctionCall", + "src": "15058:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15050:4:12", + "nodeType": "YulIdentifier", + "src": "15050:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "15128:6:12", + "nodeType": "YulIdentifier", + "src": "15128:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15141:9:12", + "nodeType": "YulIdentifier", + "src": "15141:9:12" + }, + { + "kind": "number", + "nativeSrc": "15152:1:12", + "nodeType": "YulLiteral", + "src": "15152:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15137:3:12", + "nodeType": "YulIdentifier", + "src": "15137:3:12" + }, + "nativeSrc": "15137:17:12", + "nodeType": "YulFunctionCall", + "src": "15137:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "15086:41:12", + "nodeType": "YulIdentifier", + "src": "15086:41:12" + }, + "nativeSrc": "15086:69:12", + "nodeType": "YulFunctionCall", + "src": "15086:69:12" + }, + "nativeSrc": "15086:69:12", + "nodeType": "YulExpressionStatement", + "src": "15086:69:12" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nativeSrc": "14944:218:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15012:9:12", + "nodeType": "YulTypedName", + "src": "15012:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "15024:6:12", + "nodeType": "YulTypedName", + "src": "15024:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15035:4:12", + "nodeType": "YulTypedName", + "src": "15035:4:12", + "type": "" + } + ], + "src": "14944:218:12" + }, + { + "body": { + "nativeSrc": "15294:206:12", + "nodeType": "YulBlock", + "src": "15294:206:12", + "statements": [ + { + "nativeSrc": "15304:26:12", + "nodeType": "YulAssignment", + "src": "15304:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15316:9:12", + "nodeType": "YulIdentifier", + "src": "15316:9:12" + }, + { + "kind": "number", + "nativeSrc": "15327:2:12", + "nodeType": "YulLiteral", + "src": "15327:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15312:3:12", + "nodeType": "YulIdentifier", + "src": "15312:3:12" + }, + "nativeSrc": "15312:18:12", + "nodeType": "YulFunctionCall", + "src": "15312:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15304:4:12", + "nodeType": "YulIdentifier", + "src": "15304:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "15384:6:12", + "nodeType": "YulIdentifier", + "src": "15384:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15397:9:12", + "nodeType": "YulIdentifier", + "src": "15397:9:12" + }, + { + "kind": "number", + "nativeSrc": "15408:1:12", + "nodeType": "YulLiteral", + "src": "15408:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15393:3:12", + "nodeType": "YulIdentifier", + "src": "15393:3:12" + }, + "nativeSrc": "15393:17:12", + "nodeType": "YulFunctionCall", + "src": "15393:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "15340:43:12", + "nodeType": "YulIdentifier", + "src": "15340:43:12" + }, + "nativeSrc": "15340:71:12", + "nodeType": "YulFunctionCall", + "src": "15340:71:12" + }, + "nativeSrc": "15340:71:12", + "nodeType": "YulExpressionStatement", + "src": "15340:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "15465:6:12", + "nodeType": "YulIdentifier", + "src": "15465:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15478:9:12", + "nodeType": "YulIdentifier", + "src": "15478:9:12" + }, + { + "kind": "number", + "nativeSrc": "15489:2:12", + "nodeType": "YulLiteral", + "src": "15489:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15474:3:12", + "nodeType": "YulIdentifier", + "src": "15474:3:12" + }, + "nativeSrc": "15474:18:12", + "nodeType": "YulFunctionCall", + "src": "15474:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "15421:43:12", + "nodeType": "YulIdentifier", + "src": "15421:43:12" + }, + "nativeSrc": "15421:72:12", + "nodeType": "YulFunctionCall", + "src": "15421:72:12" + }, + "nativeSrc": "15421:72:12", + "nodeType": "YulExpressionStatement", + "src": "15421:72:12" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "15168:332:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15258:9:12", + "nodeType": "YulTypedName", + "src": "15258:9:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15270:6:12", + "nodeType": "YulTypedName", + "src": "15270:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "15278:6:12", + "nodeType": "YulTypedName", + "src": "15278:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15289:4:12", + "nodeType": "YulTypedName", + "src": "15289:4:12", + "type": "" + } + ], + "src": "15168:332:12" + }, + { + "body": { + "nativeSrc": "15569:80:12", + "nodeType": "YulBlock", + "src": "15569:80:12", + "statements": [ + { + "nativeSrc": "15579:22:12", + "nodeType": "YulAssignment", + "src": "15579:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15594:6:12", + "nodeType": "YulIdentifier", + "src": "15594:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "15588:5:12", + "nodeType": "YulIdentifier", + "src": "15588:5:12" + }, + "nativeSrc": "15588:13:12", + "nodeType": "YulFunctionCall", + "src": "15588:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "15579:5:12", + "nodeType": "YulIdentifier", + "src": "15579:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15637:5:12", + "nodeType": "YulIdentifier", + "src": "15637:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "15610:26:12", + "nodeType": "YulIdentifier", + "src": "15610:26:12" + }, + "nativeSrc": "15610:33:12", + "nodeType": "YulFunctionCall", + "src": "15610:33:12" + }, + "nativeSrc": "15610:33:12", + "nodeType": "YulExpressionStatement", + "src": "15610:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "15506:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "15547:6:12", + "nodeType": "YulTypedName", + "src": "15547:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "15555:3:12", + "nodeType": "YulTypedName", + "src": "15555:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "15563:5:12", + "nodeType": "YulTypedName", + "src": "15563:5:12", + "type": "" + } + ], + "src": "15506:143:12" + }, + { + "body": { + "nativeSrc": "15732:274:12", + "nodeType": "YulBlock", + "src": "15732:274:12", + "statements": [ + { + "body": { + "nativeSrc": "15778:83:12", + "nodeType": "YulBlock", + "src": "15778:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "15780:77:12", + "nodeType": "YulIdentifier", + "src": "15780:77:12" + }, + "nativeSrc": "15780:79:12", + "nodeType": "YulFunctionCall", + "src": "15780:79:12" + }, + "nativeSrc": "15780:79:12", + "nodeType": "YulExpressionStatement", + "src": "15780:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "15753:7:12", + "nodeType": "YulIdentifier", + "src": "15753:7:12" + }, + { + "name": "headStart", + "nativeSrc": "15762:9:12", + "nodeType": "YulIdentifier", + "src": "15762:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15749:3:12", + "nodeType": "YulIdentifier", + "src": "15749:3:12" + }, + "nativeSrc": "15749:23:12", + "nodeType": "YulFunctionCall", + "src": "15749:23:12" + }, + { + "kind": "number", + "nativeSrc": "15774:2:12", + "nodeType": "YulLiteral", + "src": "15774:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "15745:3:12", + "nodeType": "YulIdentifier", + "src": "15745:3:12" + }, + "nativeSrc": "15745:32:12", + "nodeType": "YulFunctionCall", + "src": "15745:32:12" + }, + "nativeSrc": "15742:119:12", + "nodeType": "YulIf", + "src": "15742:119:12" + }, + { + "nativeSrc": "15871:128:12", + "nodeType": "YulBlock", + "src": "15871:128:12", + "statements": [ + { + "nativeSrc": "15886:15:12", + "nodeType": "YulVariableDeclaration", + "src": "15886:15:12", + "value": { + "kind": "number", + "nativeSrc": "15900:1:12", + "nodeType": "YulLiteral", + "src": "15900:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15890:6:12", + "nodeType": "YulTypedName", + "src": "15890:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "15915:74:12", + "nodeType": "YulAssignment", + "src": "15915:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15961:9:12", + "nodeType": "YulIdentifier", + "src": "15961:9:12" + }, + { + "name": "offset", + "nativeSrc": "15972:6:12", + "nodeType": "YulIdentifier", + "src": "15972:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15957:3:12", + "nodeType": "YulIdentifier", + "src": "15957:3:12" + }, + "nativeSrc": "15957:22:12", + "nodeType": "YulFunctionCall", + "src": "15957:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "15981:7:12", + "nodeType": "YulIdentifier", + "src": "15981:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "15925:31:12", + "nodeType": "YulIdentifier", + "src": "15925:31:12" + }, + "nativeSrc": "15925:64:12", + "nodeType": "YulFunctionCall", + "src": "15925:64:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "15915:6:12", + "nodeType": "YulIdentifier", + "src": "15915:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "15655:351:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15702:9:12", + "nodeType": "YulTypedName", + "src": "15702:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "15713:7:12", + "nodeType": "YulTypedName", + "src": "15713:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "15725:6:12", + "nodeType": "YulTypedName", + "src": "15725:6:12", + "type": "" + } + ], + "src": "15655:351:12" + }, + { + "body": { + "nativeSrc": "16040:152:12", + "nodeType": "YulBlock", + "src": "16040:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16057:1:12", + "nodeType": "YulLiteral", + "src": "16057:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16060:77:12", + "nodeType": "YulLiteral", + "src": "16060:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16050:6:12", + "nodeType": "YulIdentifier", + "src": "16050:6:12" + }, + "nativeSrc": "16050:88:12", + "nodeType": "YulFunctionCall", + "src": "16050:88:12" + }, + "nativeSrc": "16050:88:12", + "nodeType": "YulExpressionStatement", + "src": "16050:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16154:1:12", + "nodeType": "YulLiteral", + "src": "16154:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16157:4:12", + "nodeType": "YulLiteral", + "src": "16157:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16147:6:12", + "nodeType": "YulIdentifier", + "src": "16147:6:12" + }, + "nativeSrc": "16147:15:12", + "nodeType": "YulFunctionCall", + "src": "16147:15:12" + }, + "nativeSrc": "16147:15:12", + "nodeType": "YulExpressionStatement", + "src": "16147:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16178:1:12", + "nodeType": "YulLiteral", + "src": "16178:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16181:4:12", + "nodeType": "YulLiteral", + "src": "16181:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16171:6:12", + "nodeType": "YulIdentifier", + "src": "16171:6:12" + }, + "nativeSrc": "16171:15:12", + "nodeType": "YulFunctionCall", + "src": "16171:15:12" + }, + "nativeSrc": "16171:15:12", + "nodeType": "YulExpressionStatement", + "src": "16171:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "16012:180:12", + "nodeType": "YulFunctionDefinition", + "src": "16012:180:12" + }, + { + "body": { + "nativeSrc": "16249:269:12", + "nodeType": "YulBlock", + "src": "16249:269:12", + "statements": [ + { + "nativeSrc": "16259:22:12", + "nodeType": "YulAssignment", + "src": "16259:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "16273:4:12", + "nodeType": "YulIdentifier", + "src": "16273:4:12" + }, + { + "kind": "number", + "nativeSrc": "16279:1:12", + "nodeType": "YulLiteral", + "src": "16279:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "16269:3:12", + "nodeType": "YulIdentifier", + "src": "16269:3:12" + }, + "nativeSrc": "16269:12:12", + "nodeType": "YulFunctionCall", + "src": "16269:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "16259:6:12", + "nodeType": "YulIdentifier", + "src": "16259:6:12" + } + ] + }, + { + "nativeSrc": "16290:38:12", + "nodeType": "YulVariableDeclaration", + "src": "16290:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "16320:4:12", + "nodeType": "YulIdentifier", + "src": "16320:4:12" + }, + { + "kind": "number", + "nativeSrc": "16326:1:12", + "nodeType": "YulLiteral", + "src": "16326:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "16316:3:12", + "nodeType": "YulIdentifier", + "src": "16316:3:12" + }, + "nativeSrc": "16316:12:12", + "nodeType": "YulFunctionCall", + "src": "16316:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "16294:18:12", + "nodeType": "YulTypedName", + "src": "16294:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16367:51:12", + "nodeType": "YulBlock", + "src": "16367:51:12", + "statements": [ + { + "nativeSrc": "16381:27:12", + "nodeType": "YulAssignment", + "src": "16381:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "16395:6:12", + "nodeType": "YulIdentifier", + "src": "16395:6:12" + }, + { + "kind": "number", + "nativeSrc": "16403:4:12", + "nodeType": "YulLiteral", + "src": "16403:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "16391:3:12", + "nodeType": "YulIdentifier", + "src": "16391:3:12" + }, + "nativeSrc": "16391:17:12", + "nodeType": "YulFunctionCall", + "src": "16391:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "16381:6:12", + "nodeType": "YulIdentifier", + "src": "16381:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "16347:18:12", + "nodeType": "YulIdentifier", + "src": "16347:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "16340:6:12", + "nodeType": "YulIdentifier", + "src": "16340:6:12" + }, + "nativeSrc": "16340:26:12", + "nodeType": "YulFunctionCall", + "src": "16340:26:12" + }, + "nativeSrc": "16337:81:12", + "nodeType": "YulIf", + "src": "16337:81:12" + }, + { + "body": { + "nativeSrc": "16470:42:12", + "nodeType": "YulBlock", + "src": "16470:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "16484:16:12", + "nodeType": "YulIdentifier", + "src": "16484:16:12" + }, + "nativeSrc": "16484:18:12", + "nodeType": "YulFunctionCall", + "src": "16484:18:12" + }, + "nativeSrc": "16484:18:12", + "nodeType": "YulExpressionStatement", + "src": "16484:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "16434:18:12", + "nodeType": "YulIdentifier", + "src": "16434:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "16457:6:12", + "nodeType": "YulIdentifier", + "src": "16457:6:12" + }, + { + "kind": "number", + "nativeSrc": "16465:2:12", + "nodeType": "YulLiteral", + "src": "16465:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "16454:2:12", + "nodeType": "YulIdentifier", + "src": "16454:2:12" + }, + "nativeSrc": "16454:14:12", + "nodeType": "YulFunctionCall", + "src": "16454:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "16431:2:12", + "nodeType": "YulIdentifier", + "src": "16431:2:12" + }, + "nativeSrc": "16431:38:12", + "nodeType": "YulFunctionCall", + "src": "16431:38:12" + }, + "nativeSrc": "16428:84:12", + "nodeType": "YulIf", + "src": "16428:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "16198:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "16233:4:12", + "nodeType": "YulTypedName", + "src": "16233:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "16242:6:12", + "nodeType": "YulTypedName", + "src": "16242:6:12", + "type": "" + } + ], + "src": "16198:320:12" + }, + { + "body": { + "nativeSrc": "16552:152:12", + "nodeType": "YulBlock", + "src": "16552:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16569:1:12", + "nodeType": "YulLiteral", + "src": "16569:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16572:77:12", + "nodeType": "YulLiteral", + "src": "16572:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16562:6:12", + "nodeType": "YulIdentifier", + "src": "16562:6:12" + }, + "nativeSrc": "16562:88:12", + "nodeType": "YulFunctionCall", + "src": "16562:88:12" + }, + "nativeSrc": "16562:88:12", + "nodeType": "YulExpressionStatement", + "src": "16562:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16666:1:12", + "nodeType": "YulLiteral", + "src": "16666:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16669:4:12", + "nodeType": "YulLiteral", + "src": "16669:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16659:6:12", + "nodeType": "YulIdentifier", + "src": "16659:6:12" + }, + "nativeSrc": "16659:15:12", + "nodeType": "YulFunctionCall", + "src": "16659:15:12" + }, + "nativeSrc": "16659:15:12", + "nodeType": "YulExpressionStatement", + "src": "16659:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16690:1:12", + "nodeType": "YulLiteral", + "src": "16690:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16693:4:12", + "nodeType": "YulLiteral", + "src": "16693:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16683:6:12", + "nodeType": "YulIdentifier", + "src": "16683:6:12" + }, + "nativeSrc": "16683:15:12", + "nodeType": "YulFunctionCall", + "src": "16683:15:12" + }, + "nativeSrc": "16683:15:12", + "nodeType": "YulExpressionStatement", + "src": "16683:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "16524:180:12", + "nodeType": "YulFunctionDefinition", + "src": "16524:180:12" + }, + { + "body": { + "nativeSrc": "16816:122:12", + "nodeType": "YulBlock", + "src": "16816:122:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16838:6:12", + "nodeType": "YulIdentifier", + "src": "16838:6:12" + }, + { + "kind": "number", + "nativeSrc": "16846:1:12", + "nodeType": "YulLiteral", + "src": "16846:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16834:3:12", + "nodeType": "YulIdentifier", + "src": "16834:3:12" + }, + "nativeSrc": "16834:14:12", + "nodeType": "YulFunctionCall", + "src": "16834:14:12" + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f20636c61696d20746869", + "kind": "string", + "nativeSrc": "16850:34:12", + "nodeType": "YulLiteral", + "src": "16850:34:12", + "type": "", + "value": "Address not allowed to claim thi" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16827:6:12", + "nodeType": "YulIdentifier", + "src": "16827:6:12" + }, + "nativeSrc": "16827:58:12", + "nodeType": "YulFunctionCall", + "src": "16827:58:12" + }, + "nativeSrc": "16827:58:12", + "nodeType": "YulExpressionStatement", + "src": "16827:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16906:6:12", + "nodeType": "YulIdentifier", + "src": "16906:6:12" + }, + { + "kind": "number", + "nativeSrc": "16914:2:12", + "nodeType": "YulLiteral", + "src": "16914:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16902:3:12", + "nodeType": "YulIdentifier", + "src": "16902:3:12" + }, + "nativeSrc": "16902:15:12", + "nodeType": "YulFunctionCall", + "src": "16902:15:12" + }, + { + "hexValue": "732061697264726f70", + "kind": "string", + "nativeSrc": "16919:11:12", + "nodeType": "YulLiteral", + "src": "16919:11:12", + "type": "", + "value": "s airdrop" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16895:6:12", + "nodeType": "YulIdentifier", + "src": "16895:6:12" + }, + "nativeSrc": "16895:36:12", + "nodeType": "YulFunctionCall", + "src": "16895:36:12" + }, + "nativeSrc": "16895:36:12", + "nodeType": "YulExpressionStatement", + "src": "16895:36:12" + } + ] + }, + "name": "store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "nativeSrc": "16710:228:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "16808:6:12", + "nodeType": "YulTypedName", + "src": "16808:6:12", + "type": "" + } + ], + "src": "16710:228:12" + }, + { + "body": { + "nativeSrc": "17090:220:12", + "nodeType": "YulBlock", + "src": "17090:220:12", + "statements": [ + { + "nativeSrc": "17100:74:12", + "nodeType": "YulAssignment", + "src": "17100:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17166:3:12", + "nodeType": "YulIdentifier", + "src": "17166:3:12" + }, + { + "kind": "number", + "nativeSrc": "17171:2:12", + "nodeType": "YulLiteral", + "src": "17171:2:12", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "17107:58:12", + "nodeType": "YulIdentifier", + "src": "17107:58:12" + }, + "nativeSrc": "17107:67:12", + "nodeType": "YulFunctionCall", + "src": "17107:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "17100:3:12", + "nodeType": "YulIdentifier", + "src": "17100:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17272:3:12", + "nodeType": "YulIdentifier", + "src": "17272:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "nativeSrc": "17183:88:12", + "nodeType": "YulIdentifier", + "src": "17183:88:12" + }, + "nativeSrc": "17183:93:12", + "nodeType": "YulFunctionCall", + "src": "17183:93:12" + }, + "nativeSrc": "17183:93:12", + "nodeType": "YulExpressionStatement", + "src": "17183:93:12" + }, + { + "nativeSrc": "17285:19:12", + "nodeType": "YulAssignment", + "src": "17285:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17296:3:12", + "nodeType": "YulIdentifier", + "src": "17296:3:12" + }, + { + "kind": "number", + "nativeSrc": "17301:2:12", + "nodeType": "YulLiteral", + "src": "17301:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17292:3:12", + "nodeType": "YulIdentifier", + "src": "17292:3:12" + }, + "nativeSrc": "17292:12:12", + "nodeType": "YulFunctionCall", + "src": "17292:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17285:3:12", + "nodeType": "YulIdentifier", + "src": "17285:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16944:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17078:3:12", + "nodeType": "YulTypedName", + "src": "17078:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17086:3:12", + "nodeType": "YulTypedName", + "src": "17086:3:12", + "type": "" + } + ], + "src": "16944:366:12" + }, + { + "body": { + "nativeSrc": "17487:248:12", + "nodeType": "YulBlock", + "src": "17487:248:12", + "statements": [ + { + "nativeSrc": "17497:26:12", + "nodeType": "YulAssignment", + "src": "17497:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17509:9:12", + "nodeType": "YulIdentifier", + "src": "17509:9:12" + }, + { + "kind": "number", + "nativeSrc": "17520:2:12", + "nodeType": "YulLiteral", + "src": "17520:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17505:3:12", + "nodeType": "YulIdentifier", + "src": "17505:3:12" + }, + "nativeSrc": "17505:18:12", + "nodeType": "YulFunctionCall", + "src": "17505:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17497:4:12", + "nodeType": "YulIdentifier", + "src": "17497:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17544:9:12", + "nodeType": "YulIdentifier", + "src": "17544:9:12" + }, + { + "kind": "number", + "nativeSrc": "17555:1:12", + "nodeType": "YulLiteral", + "src": "17555:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17540:3:12", + "nodeType": "YulIdentifier", + "src": "17540:3:12" + }, + "nativeSrc": "17540:17:12", + "nodeType": "YulFunctionCall", + "src": "17540:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17563:4:12", + "nodeType": "YulIdentifier", + "src": "17563:4:12" + }, + { + "name": "headStart", + "nativeSrc": "17569:9:12", + "nodeType": "YulIdentifier", + "src": "17569:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17559:3:12", + "nodeType": "YulIdentifier", + "src": "17559:3:12" + }, + "nativeSrc": "17559:20:12", + "nodeType": "YulFunctionCall", + "src": "17559:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17533:6:12", + "nodeType": "YulIdentifier", + "src": "17533:6:12" + }, + "nativeSrc": "17533:47:12", + "nodeType": "YulFunctionCall", + "src": "17533:47:12" + }, + "nativeSrc": "17533:47:12", + "nodeType": "YulExpressionStatement", + "src": "17533:47:12" + }, + { + "nativeSrc": "17589:139:12", + "nodeType": "YulAssignment", + "src": "17589:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17723:4:12", + "nodeType": "YulIdentifier", + "src": "17723:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17597:124:12", + "nodeType": "YulIdentifier", + "src": "17597:124:12" + }, + "nativeSrc": "17597:131:12", + "nodeType": "YulFunctionCall", + "src": "17597:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17589:4:12", + "nodeType": "YulIdentifier", + "src": "17589:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17316:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17467:9:12", + "nodeType": "YulTypedName", + "src": "17467:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17482:4:12", + "nodeType": "YulTypedName", + "src": "17482:4:12", + "type": "" + } + ], + "src": "17316:419:12" + }, + { + "body": { + "nativeSrc": "17847:68:12", + "nodeType": "YulBlock", + "src": "17847:68:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "17869:6:12", + "nodeType": "YulIdentifier", + "src": "17869:6:12" + }, + { + "kind": "number", + "nativeSrc": "17877:1:12", + "nodeType": "YulLiteral", + "src": "17877:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17865:3:12", + "nodeType": "YulIdentifier", + "src": "17865:3:12" + }, + "nativeSrc": "17865:14:12", + "nodeType": "YulFunctionCall", + "src": "17865:14:12" + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "kind": "string", + "nativeSrc": "17881:26:12", + "nodeType": "YulLiteral", + "src": "17881:26:12", + "type": "", + "value": "Airdrop already expired." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17858:6:12", + "nodeType": "YulIdentifier", + "src": "17858:6:12" + }, + "nativeSrc": "17858:50:12", + "nodeType": "YulFunctionCall", + "src": "17858:50:12" + }, + "nativeSrc": "17858:50:12", + "nodeType": "YulExpressionStatement", + "src": "17858:50:12" + } + ] + }, + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "17741:174:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "17839:6:12", + "nodeType": "YulTypedName", + "src": "17839:6:12", + "type": "" + } + ], + "src": "17741:174:12" + }, + { + "body": { + "nativeSrc": "18067:220:12", + "nodeType": "YulBlock", + "src": "18067:220:12", + "statements": [ + { + "nativeSrc": "18077:74:12", + "nodeType": "YulAssignment", + "src": "18077:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18143:3:12", + "nodeType": "YulIdentifier", + "src": "18143:3:12" + }, + { + "kind": "number", + "nativeSrc": "18148:2:12", + "nodeType": "YulLiteral", + "src": "18148:2:12", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "18084:58:12", + "nodeType": "YulIdentifier", + "src": "18084:58:12" + }, + "nativeSrc": "18084:67:12", + "nodeType": "YulFunctionCall", + "src": "18084:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18077:3:12", + "nodeType": "YulIdentifier", + "src": "18077:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18249:3:12", + "nodeType": "YulIdentifier", + "src": "18249:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "18160:88:12", + "nodeType": "YulIdentifier", + "src": "18160:88:12" + }, + "nativeSrc": "18160:93:12", + "nodeType": "YulFunctionCall", + "src": "18160:93:12" + }, + "nativeSrc": "18160:93:12", + "nodeType": "YulExpressionStatement", + "src": "18160:93:12" + }, + { + "nativeSrc": "18262:19:12", + "nodeType": "YulAssignment", + "src": "18262:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18273:3:12", + "nodeType": "YulIdentifier", + "src": "18273:3:12" + }, + { + "kind": "number", + "nativeSrc": "18278:2:12", + "nodeType": "YulLiteral", + "src": "18278:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18269:3:12", + "nodeType": "YulIdentifier", + "src": "18269:3:12" + }, + "nativeSrc": "18269:12:12", + "nodeType": "YulFunctionCall", + "src": "18269:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18262:3:12", + "nodeType": "YulIdentifier", + "src": "18262:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17921:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18055:3:12", + "nodeType": "YulTypedName", + "src": "18055:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18063:3:12", + "nodeType": "YulTypedName", + "src": "18063:3:12", + "type": "" + } + ], + "src": "17921:366:12" + }, + { + "body": { + "nativeSrc": "18464:248:12", + "nodeType": "YulBlock", + "src": "18464:248:12", + "statements": [ + { + "nativeSrc": "18474:26:12", + "nodeType": "YulAssignment", + "src": "18474:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18486:9:12", + "nodeType": "YulIdentifier", + "src": "18486:9:12" + }, + { + "kind": "number", + "nativeSrc": "18497:2:12", + "nodeType": "YulLiteral", + "src": "18497:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18482:3:12", + "nodeType": "YulIdentifier", + "src": "18482:3:12" + }, + "nativeSrc": "18482:18:12", + "nodeType": "YulFunctionCall", + "src": "18482:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18474:4:12", + "nodeType": "YulIdentifier", + "src": "18474:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18521:9:12", + "nodeType": "YulIdentifier", + "src": "18521:9:12" + }, + { + "kind": "number", + "nativeSrc": "18532:1:12", + "nodeType": "YulLiteral", + "src": "18532:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18517:3:12", + "nodeType": "YulIdentifier", + "src": "18517:3:12" + }, + "nativeSrc": "18517:17:12", + "nodeType": "YulFunctionCall", + "src": "18517:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18540:4:12", + "nodeType": "YulIdentifier", + "src": "18540:4:12" + }, + { + "name": "headStart", + "nativeSrc": "18546:9:12", + "nodeType": "YulIdentifier", + "src": "18546:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18536:3:12", + "nodeType": "YulIdentifier", + "src": "18536:3:12" + }, + "nativeSrc": "18536:20:12", + "nodeType": "YulFunctionCall", + "src": "18536:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18510:6:12", + "nodeType": "YulIdentifier", + "src": "18510:6:12" + }, + "nativeSrc": "18510:47:12", + "nodeType": "YulFunctionCall", + "src": "18510:47:12" + }, + "nativeSrc": "18510:47:12", + "nodeType": "YulExpressionStatement", + "src": "18510:47:12" + }, + { + "nativeSrc": "18566:139:12", + "nodeType": "YulAssignment", + "src": "18566:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18700:4:12", + "nodeType": "YulIdentifier", + "src": "18700:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18574:124:12", + "nodeType": "YulIdentifier", + "src": "18574:124:12" + }, + "nativeSrc": "18574:131:12", + "nodeType": "YulFunctionCall", + "src": "18574:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18566:4:12", + "nodeType": "YulIdentifier", + "src": "18566:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "18293:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18444:9:12", + "nodeType": "YulTypedName", + "src": "18444:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18459:4:12", + "nodeType": "YulTypedName", + "src": "18459:4:12", + "type": "" + } + ], + "src": "18293:419:12" + }, + { + "body": { + "nativeSrc": "18824:118:12", + "nodeType": "YulBlock", + "src": "18824:118:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18846:6:12", + "nodeType": "YulIdentifier", + "src": "18846:6:12" + }, + { + "kind": "number", + "nativeSrc": "18854:1:12", + "nodeType": "YulLiteral", + "src": "18854:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18842:3:12", + "nodeType": "YulIdentifier", + "src": "18842:3:12" + }, + "nativeSrc": "18842:14:12", + "nodeType": "YulFunctionCall", + "src": "18842:14:12" + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d6564207468697320616972", + "kind": "string", + "nativeSrc": "18858:34:12", + "nodeType": "YulLiteral", + "src": "18858:34:12", + "type": "", + "value": "Address already claimed this air" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18835:6:12", + "nodeType": "YulIdentifier", + "src": "18835:6:12" + }, + "nativeSrc": "18835:58:12", + "nodeType": "YulFunctionCall", + "src": "18835:58:12" + }, + "nativeSrc": "18835:58:12", + "nodeType": "YulExpressionStatement", + "src": "18835:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18914:6:12", + "nodeType": "YulIdentifier", + "src": "18914:6:12" + }, + { + "kind": "number", + "nativeSrc": "18922:2:12", + "nodeType": "YulLiteral", + "src": "18922:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18910:3:12", + "nodeType": "YulIdentifier", + "src": "18910:3:12" + }, + "nativeSrc": "18910:15:12", + "nodeType": "YulFunctionCall", + "src": "18910:15:12" + }, + { + "hexValue": "64726f702e", + "kind": "string", + "nativeSrc": "18927:7:12", + "nodeType": "YulLiteral", + "src": "18927:7:12", + "type": "", + "value": "drop." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18903:6:12", + "nodeType": "YulIdentifier", + "src": "18903:6:12" + }, + "nativeSrc": "18903:32:12", + "nodeType": "YulFunctionCall", + "src": "18903:32:12" + }, + "nativeSrc": "18903:32:12", + "nodeType": "YulExpressionStatement", + "src": "18903:32:12" + } + ] + }, + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "18718:224:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "18816:6:12", + "nodeType": "YulTypedName", + "src": "18816:6:12", + "type": "" + } + ], + "src": "18718:224:12" + }, + { + "body": { + "nativeSrc": "19094:220:12", + "nodeType": "YulBlock", + "src": "19094:220:12", + "statements": [ + { + "nativeSrc": "19104:74:12", + "nodeType": "YulAssignment", + "src": "19104:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19170:3:12", + "nodeType": "YulIdentifier", + "src": "19170:3:12" + }, + { + "kind": "number", + "nativeSrc": "19175:2:12", + "nodeType": "YulLiteral", + "src": "19175:2:12", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19111:58:12", + "nodeType": "YulIdentifier", + "src": "19111:58:12" + }, + "nativeSrc": "19111:67:12", + "nodeType": "YulFunctionCall", + "src": "19111:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19104:3:12", + "nodeType": "YulIdentifier", + "src": "19104:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19276:3:12", + "nodeType": "YulIdentifier", + "src": "19276:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "19187:88:12", + "nodeType": "YulIdentifier", + "src": "19187:88:12" + }, + "nativeSrc": "19187:93:12", + "nodeType": "YulFunctionCall", + "src": "19187:93:12" + }, + "nativeSrc": "19187:93:12", + "nodeType": "YulExpressionStatement", + "src": "19187:93:12" + }, + { + "nativeSrc": "19289:19:12", + "nodeType": "YulAssignment", + "src": "19289:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19300:3:12", + "nodeType": "YulIdentifier", + "src": "19300:3:12" + }, + { + "kind": "number", + "nativeSrc": "19305:2:12", + "nodeType": "YulLiteral", + "src": "19305:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19296:3:12", + "nodeType": "YulIdentifier", + "src": "19296:3:12" + }, + "nativeSrc": "19296:12:12", + "nodeType": "YulFunctionCall", + "src": "19296:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19289:3:12", + "nodeType": "YulIdentifier", + "src": "19289:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18948:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19082:3:12", + "nodeType": "YulTypedName", + "src": "19082:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19090:3:12", + "nodeType": "YulTypedName", + "src": "19090:3:12", + "type": "" + } + ], + "src": "18948:366:12" + }, + { + "body": { + "nativeSrc": "19491:248:12", + "nodeType": "YulBlock", + "src": "19491:248:12", + "statements": [ + { + "nativeSrc": "19501:26:12", + "nodeType": "YulAssignment", + "src": "19501:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19513:9:12", + "nodeType": "YulIdentifier", + "src": "19513:9:12" + }, + { + "kind": "number", + "nativeSrc": "19524:2:12", + "nodeType": "YulLiteral", + "src": "19524:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19509:3:12", + "nodeType": "YulIdentifier", + "src": "19509:3:12" + }, + "nativeSrc": "19509:18:12", + "nodeType": "YulFunctionCall", + "src": "19509:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19501:4:12", + "nodeType": "YulIdentifier", + "src": "19501:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19548:9:12", + "nodeType": "YulIdentifier", + "src": "19548:9:12" + }, + { + "kind": "number", + "nativeSrc": "19559:1:12", + "nodeType": "YulLiteral", + "src": "19559:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19544:3:12", + "nodeType": "YulIdentifier", + "src": "19544:3:12" + }, + "nativeSrc": "19544:17:12", + "nodeType": "YulFunctionCall", + "src": "19544:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19567:4:12", + "nodeType": "YulIdentifier", + "src": "19567:4:12" + }, + { + "name": "headStart", + "nativeSrc": "19573:9:12", + "nodeType": "YulIdentifier", + "src": "19573:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19563:3:12", + "nodeType": "YulIdentifier", + "src": "19563:3:12" + }, + "nativeSrc": "19563:20:12", + "nodeType": "YulFunctionCall", + "src": "19563:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19537:6:12", + "nodeType": "YulIdentifier", + "src": "19537:6:12" + }, + "nativeSrc": "19537:47:12", + "nodeType": "YulFunctionCall", + "src": "19537:47:12" + }, + "nativeSrc": "19537:47:12", + "nodeType": "YulExpressionStatement", + "src": "19537:47:12" + }, + { + "nativeSrc": "19593:139:12", + "nodeType": "YulAssignment", + "src": "19593:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19727:4:12", + "nodeType": "YulIdentifier", + "src": "19727:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19601:124:12", + "nodeType": "YulIdentifier", + "src": "19601:124:12" + }, + "nativeSrc": "19601:131:12", + "nodeType": "YulFunctionCall", + "src": "19601:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19593:4:12", + "nodeType": "YulIdentifier", + "src": "19593:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19320:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19471:9:12", + "nodeType": "YulTypedName", + "src": "19471:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19486:4:12", + "nodeType": "YulTypedName", + "src": "19486:4:12", + "type": "" + } + ], + "src": "19320:419:12" + }, + { + "body": { + "nativeSrc": "19851:122:12", + "nodeType": "YulBlock", + "src": "19851:122:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19873:6:12", + "nodeType": "YulIdentifier", + "src": "19873:6:12" + }, + { + "kind": "number", + "nativeSrc": "19881:1:12", + "nodeType": "YulLiteral", + "src": "19881:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19869:3:12", + "nodeType": "YulIdentifier", + "src": "19869:3:12" + }, + "nativeSrc": "19869:14:12", + "nodeType": "YulFunctionCall", + "src": "19869:14:12" + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d6564", + "kind": "string", + "nativeSrc": "19885:34:12", + "nodeType": "YulLiteral", + "src": "19885:34:12", + "type": "", + "value": "Airdrop has been totally claimed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19862:6:12", + "nodeType": "YulIdentifier", + "src": "19862:6:12" + }, + "nativeSrc": "19862:58:12", + "nodeType": "YulFunctionCall", + "src": "19862:58:12" + }, + "nativeSrc": "19862:58:12", + "nodeType": "YulExpressionStatement", + "src": "19862:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19941:6:12", + "nodeType": "YulIdentifier", + "src": "19941:6:12" + }, + { + "kind": "number", + "nativeSrc": "19949:2:12", + "nodeType": "YulLiteral", + "src": "19949:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19937:3:12", + "nodeType": "YulIdentifier", + "src": "19937:3:12" + }, + "nativeSrc": "19937:15:12", + "nodeType": "YulFunctionCall", + "src": "19937:15:12" + }, + { + "hexValue": "20616c72656164792e", + "kind": "string", + "nativeSrc": "19954:11:12", + "nodeType": "YulLiteral", + "src": "19954:11:12", + "type": "", + "value": " already." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19930:6:12", + "nodeType": "YulIdentifier", + "src": "19930:6:12" + }, + "nativeSrc": "19930:36:12", + "nodeType": "YulFunctionCall", + "src": "19930:36:12" + }, + "nativeSrc": "19930:36:12", + "nodeType": "YulExpressionStatement", + "src": "19930:36:12" + } + ] + }, + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "19745:228:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "19843:6:12", + "nodeType": "YulTypedName", + "src": "19843:6:12", + "type": "" + } + ], + "src": "19745:228:12" + }, + { + "body": { + "nativeSrc": "20125:220:12", + "nodeType": "YulBlock", + "src": "20125:220:12", + "statements": [ + { + "nativeSrc": "20135:74:12", + "nodeType": "YulAssignment", + "src": "20135:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20201:3:12", + "nodeType": "YulIdentifier", + "src": "20201:3:12" + }, + { + "kind": "number", + "nativeSrc": "20206:2:12", + "nodeType": "YulLiteral", + "src": "20206:2:12", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "20142:58:12", + "nodeType": "YulIdentifier", + "src": "20142:58:12" + }, + "nativeSrc": "20142:67:12", + "nodeType": "YulFunctionCall", + "src": "20142:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "20135:3:12", + "nodeType": "YulIdentifier", + "src": "20135:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20307:3:12", + "nodeType": "YulIdentifier", + "src": "20307:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "20218:88:12", + "nodeType": "YulIdentifier", + "src": "20218:88:12" + }, + "nativeSrc": "20218:93:12", + "nodeType": "YulFunctionCall", + "src": "20218:93:12" + }, + "nativeSrc": "20218:93:12", + "nodeType": "YulExpressionStatement", + "src": "20218:93:12" + }, + { + "nativeSrc": "20320:19:12", + "nodeType": "YulAssignment", + "src": "20320:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20331:3:12", + "nodeType": "YulIdentifier", + "src": "20331:3:12" + }, + { + "kind": "number", + "nativeSrc": "20336:2:12", + "nodeType": "YulLiteral", + "src": "20336:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20327:3:12", + "nodeType": "YulIdentifier", + "src": "20327:3:12" + }, + "nativeSrc": "20327:12:12", + "nodeType": "YulFunctionCall", + "src": "20327:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "20320:3:12", + "nodeType": "YulIdentifier", + "src": "20320:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19979:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "20113:3:12", + "nodeType": "YulTypedName", + "src": "20113:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "20121:3:12", + "nodeType": "YulTypedName", + "src": "20121:3:12", + "type": "" + } + ], + "src": "19979:366:12" + }, + { + "body": { + "nativeSrc": "20522:248:12", + "nodeType": "YulBlock", + "src": "20522:248:12", + "statements": [ + { + "nativeSrc": "20532:26:12", + "nodeType": "YulAssignment", + "src": "20532:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20544:9:12", + "nodeType": "YulIdentifier", + "src": "20544:9:12" + }, + { + "kind": "number", + "nativeSrc": "20555:2:12", + "nodeType": "YulLiteral", + "src": "20555:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20540:3:12", + "nodeType": "YulIdentifier", + "src": "20540:3:12" + }, + "nativeSrc": "20540:18:12", + "nodeType": "YulFunctionCall", + "src": "20540:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20532:4:12", + "nodeType": "YulIdentifier", + "src": "20532:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20579:9:12", + "nodeType": "YulIdentifier", + "src": "20579:9:12" + }, + { + "kind": "number", + "nativeSrc": "20590:1:12", + "nodeType": "YulLiteral", + "src": "20590:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20575:3:12", + "nodeType": "YulIdentifier", + "src": "20575:3:12" + }, + "nativeSrc": "20575:17:12", + "nodeType": "YulFunctionCall", + "src": "20575:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20598:4:12", + "nodeType": "YulIdentifier", + "src": "20598:4:12" + }, + { + "name": "headStart", + "nativeSrc": "20604:9:12", + "nodeType": "YulIdentifier", + "src": "20604:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20594:3:12", + "nodeType": "YulIdentifier", + "src": "20594:3:12" + }, + "nativeSrc": "20594:20:12", + "nodeType": "YulFunctionCall", + "src": "20594:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20568:6:12", + "nodeType": "YulIdentifier", + "src": "20568:6:12" + }, + "nativeSrc": "20568:47:12", + "nodeType": "YulFunctionCall", + "src": "20568:47:12" + }, + "nativeSrc": "20568:47:12", + "nodeType": "YulExpressionStatement", + "src": "20568:47:12" + }, + { + "nativeSrc": "20624:139:12", + "nodeType": "YulAssignment", + "src": "20624:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20758:4:12", + "nodeType": "YulIdentifier", + "src": "20758:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20632:124:12", + "nodeType": "YulIdentifier", + "src": "20632:124:12" + }, + "nativeSrc": "20632:131:12", + "nodeType": "YulFunctionCall", + "src": "20632:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20624:4:12", + "nodeType": "YulIdentifier", + "src": "20624:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20351:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20502:9:12", + "nodeType": "YulTypedName", + "src": "20502:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20517:4:12", + "nodeType": "YulTypedName", + "src": "20517:4:12", + "type": "" + } + ], + "src": "20351:419:12" + }, + { + "body": { + "nativeSrc": "20882:129:12", + "nodeType": "YulBlock", + "src": "20882:129:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20904:6:12", + "nodeType": "YulIdentifier", + "src": "20904:6:12" + }, + { + "kind": "number", + "nativeSrc": "20912:1:12", + "nodeType": "YulLiteral", + "src": "20912:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20900:3:12", + "nodeType": "YulIdentifier", + "src": "20900:3:12" + }, + "nativeSrc": "20900:14:12", + "nodeType": "YulFunctionCall", + "src": "20900:14:12" + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e", + "kind": "string", + "nativeSrc": "20916:34:12", + "nodeType": "YulLiteral", + "src": "20916:34:12", + "type": "", + "value": "Airdrop contract has insufficien" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20893:6:12", + "nodeType": "YulIdentifier", + "src": "20893:6:12" + }, + "nativeSrc": "20893:58:12", + "nodeType": "YulFunctionCall", + "src": "20893:58:12" + }, + "nativeSrc": "20893:58:12", + "nodeType": "YulExpressionStatement", + "src": "20893:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20972:6:12", + "nodeType": "YulIdentifier", + "src": "20972:6:12" + }, + { + "kind": "number", + "nativeSrc": "20980:2:12", + "nodeType": "YulLiteral", + "src": "20980:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20968:3:12", + "nodeType": "YulIdentifier", + "src": "20968:3:12" + }, + "nativeSrc": "20968:15:12", + "nodeType": "YulFunctionCall", + "src": "20968:15:12" + }, + { + "hexValue": "7420746f6b656e2062616c616e63652e", + "kind": "string", + "nativeSrc": "20985:18:12", + "nodeType": "YulLiteral", + "src": "20985:18:12", + "type": "", + "value": "t token balance." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20961:6:12", + "nodeType": "YulIdentifier", + "src": "20961:6:12" + }, + "nativeSrc": "20961:43:12", + "nodeType": "YulFunctionCall", + "src": "20961:43:12" + }, + "nativeSrc": "20961:43:12", + "nodeType": "YulExpressionStatement", + "src": "20961:43:12" + } + ] + }, + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "20776:235:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "20874:6:12", + "nodeType": "YulTypedName", + "src": "20874:6:12", + "type": "" + } + ], + "src": "20776:235:12" + }, + { + "body": { + "nativeSrc": "21163:220:12", + "nodeType": "YulBlock", + "src": "21163:220:12", + "statements": [ + { + "nativeSrc": "21173:74:12", + "nodeType": "YulAssignment", + "src": "21173:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21239:3:12", + "nodeType": "YulIdentifier", + "src": "21239:3:12" + }, + { + "kind": "number", + "nativeSrc": "21244:2:12", + "nodeType": "YulLiteral", + "src": "21244:2:12", + "type": "", + "value": "48" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "21180:58:12", + "nodeType": "YulIdentifier", + "src": "21180:58:12" + }, + "nativeSrc": "21180:67:12", + "nodeType": "YulFunctionCall", + "src": "21180:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "21173:3:12", + "nodeType": "YulIdentifier", + "src": "21173:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21345:3:12", + "nodeType": "YulIdentifier", + "src": "21345:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "21256:88:12", + "nodeType": "YulIdentifier", + "src": "21256:88:12" + }, + "nativeSrc": "21256:93:12", + "nodeType": "YulFunctionCall", + "src": "21256:93:12" + }, + "nativeSrc": "21256:93:12", + "nodeType": "YulExpressionStatement", + "src": "21256:93:12" + }, + { + "nativeSrc": "21358:19:12", + "nodeType": "YulAssignment", + "src": "21358:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21369:3:12", + "nodeType": "YulIdentifier", + "src": "21369:3:12" + }, + { + "kind": "number", + "nativeSrc": "21374:2:12", + "nodeType": "YulLiteral", + "src": "21374:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21365:3:12", + "nodeType": "YulIdentifier", + "src": "21365:3:12" + }, + "nativeSrc": "21365:12:12", + "nodeType": "YulFunctionCall", + "src": "21365:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "21358:3:12", + "nodeType": "YulIdentifier", + "src": "21358:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21017:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "21151:3:12", + "nodeType": "YulTypedName", + "src": "21151:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "21159:3:12", + "nodeType": "YulTypedName", + "src": "21159:3:12", + "type": "" + } + ], + "src": "21017:366:12" + }, + { + "body": { + "nativeSrc": "21560:248:12", + "nodeType": "YulBlock", + "src": "21560:248:12", + "statements": [ + { + "nativeSrc": "21570:26:12", + "nodeType": "YulAssignment", + "src": "21570:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21582:9:12", + "nodeType": "YulIdentifier", + "src": "21582:9:12" + }, + { + "kind": "number", + "nativeSrc": "21593:2:12", + "nodeType": "YulLiteral", + "src": "21593:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21578:3:12", + "nodeType": "YulIdentifier", + "src": "21578:3:12" + }, + "nativeSrc": "21578:18:12", + "nodeType": "YulFunctionCall", + "src": "21578:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21570:4:12", + "nodeType": "YulIdentifier", + "src": "21570:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21617:9:12", + "nodeType": "YulIdentifier", + "src": "21617:9:12" + }, + { + "kind": "number", + "nativeSrc": "21628:1:12", + "nodeType": "YulLiteral", + "src": "21628:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21613:3:12", + "nodeType": "YulIdentifier", + "src": "21613:3:12" + }, + "nativeSrc": "21613:17:12", + "nodeType": "YulFunctionCall", + "src": "21613:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21636:4:12", + "nodeType": "YulIdentifier", + "src": "21636:4:12" + }, + { + "name": "headStart", + "nativeSrc": "21642:9:12", + "nodeType": "YulIdentifier", + "src": "21642:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21632:3:12", + "nodeType": "YulIdentifier", + "src": "21632:3:12" + }, + "nativeSrc": "21632:20:12", + "nodeType": "YulFunctionCall", + "src": "21632:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21606:6:12", + "nodeType": "YulIdentifier", + "src": "21606:6:12" + }, + "nativeSrc": "21606:47:12", + "nodeType": "YulFunctionCall", + "src": "21606:47:12" + }, + "nativeSrc": "21606:47:12", + "nodeType": "YulExpressionStatement", + "src": "21606:47:12" + }, + { + "nativeSrc": "21662:139:12", + "nodeType": "YulAssignment", + "src": "21662:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21796:4:12", + "nodeType": "YulIdentifier", + "src": "21796:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21670:124:12", + "nodeType": "YulIdentifier", + "src": "21670:124:12" + }, + "nativeSrc": "21670:131:12", + "nodeType": "YulFunctionCall", + "src": "21670:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21662:4:12", + "nodeType": "YulIdentifier", + "src": "21662:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "21389:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21540:9:12", + "nodeType": "YulTypedName", + "src": "21540:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "21555:4:12", + "nodeType": "YulTypedName", + "src": "21555:4:12", + "type": "" + } + ], + "src": "21389:419:12" + }, + { + "body": { + "nativeSrc": "21909:73:12", + "nodeType": "YulBlock", + "src": "21909:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21926:3:12", + "nodeType": "YulIdentifier", + "src": "21926:3:12" + }, + { + "name": "length", + "nativeSrc": "21931:6:12", + "nodeType": "YulIdentifier", + "src": "21931:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21919:6:12", + "nodeType": "YulIdentifier", + "src": "21919:6:12" + }, + "nativeSrc": "21919:19:12", + "nodeType": "YulFunctionCall", + "src": "21919:19:12" + }, + "nativeSrc": "21919:19:12", + "nodeType": "YulExpressionStatement", + "src": "21919:19:12" + }, + { + "nativeSrc": "21947:29:12", + "nodeType": "YulAssignment", + "src": "21947:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21966:3:12", + "nodeType": "YulIdentifier", + "src": "21966:3:12" + }, + { + "kind": "number", + "nativeSrc": "21971:4:12", + "nodeType": "YulLiteral", + "src": "21971:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21962:3:12", + "nodeType": "YulIdentifier", + "src": "21962:3:12" + }, + "nativeSrc": "21962:14:12", + "nodeType": "YulFunctionCall", + "src": "21962:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "21947:11:12", + "nodeType": "YulIdentifier", + "src": "21947:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "21814:168:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "21881:3:12", + "nodeType": "YulTypedName", + "src": "21881:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "21886:6:12", + "nodeType": "YulTypedName", + "src": "21886:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "21897:11:12", + "nodeType": "YulTypedName", + "src": "21897:11:12", + "type": "" + } + ], + "src": "21814:168:12" + }, + { + "body": { + "nativeSrc": "22094:8:12", + "nodeType": "YulBlock", + "src": "22094:8:12", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "21988:114:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "22086:6:12", + "nodeType": "YulTypedName", + "src": "22086:6:12", + "type": "" + } + ], + "src": "21988:114:12" + }, + { + "body": { + "nativeSrc": "22253:217:12", + "nodeType": "YulBlock", + "src": "22253:217:12", + "statements": [ + { + "nativeSrc": "22263:72:12", + "nodeType": "YulAssignment", + "src": "22263:72:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22328:3:12", + "nodeType": "YulIdentifier", + "src": "22328:3:12" + }, + { + "kind": "number", + "nativeSrc": "22333:1:12", + "nodeType": "YulLiteral", + "src": "22333:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22270:57:12", + "nodeType": "YulIdentifier", + "src": "22270:57:12" + }, + "nativeSrc": "22270:65:12", + "nodeType": "YulFunctionCall", + "src": "22270:65:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "22263:3:12", + "nodeType": "YulIdentifier", + "src": "22263:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22433:3:12", + "nodeType": "YulIdentifier", + "src": "22433:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "22344:88:12", + "nodeType": "YulIdentifier", + "src": "22344:88:12" + }, + "nativeSrc": "22344:93:12", + "nodeType": "YulFunctionCall", + "src": "22344:93:12" + }, + "nativeSrc": "22344:93:12", + "nodeType": "YulExpressionStatement", + "src": "22344:93:12" + }, + { + "nativeSrc": "22446:18:12", + "nodeType": "YulAssignment", + "src": "22446:18:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22457:3:12", + "nodeType": "YulIdentifier", + "src": "22457:3:12" + }, + { + "kind": "number", + "nativeSrc": "22462:1:12", + "nodeType": "YulLiteral", + "src": "22462:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22453:3:12", + "nodeType": "YulIdentifier", + "src": "22453:3:12" + }, + "nativeSrc": "22453:11:12", + "nodeType": "YulFunctionCall", + "src": "22453:11:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "22446:3:12", + "nodeType": "YulIdentifier", + "src": "22446:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22108:362:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "22241:3:12", + "nodeType": "YulTypedName", + "src": "22241:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "22249:3:12", + "nodeType": "YulTypedName", + "src": "22249:3:12", + "type": "" + } + ], + "src": "22108:362:12" + }, + { + "body": { + "nativeSrc": "22758:577:12", + "nodeType": "YulBlock", + "src": "22758:577:12", + "statements": [ + { + "nativeSrc": "22768:27:12", + "nodeType": "YulAssignment", + "src": "22768:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22780:9:12", + "nodeType": "YulIdentifier", + "src": "22780:9:12" + }, + { + "kind": "number", + "nativeSrc": "22791:3:12", + "nodeType": "YulLiteral", + "src": "22791:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22776:3:12", + "nodeType": "YulIdentifier", + "src": "22776:3:12" + }, + "nativeSrc": "22776:19:12", + "nodeType": "YulFunctionCall", + "src": "22776:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22768:4:12", + "nodeType": "YulIdentifier", + "src": "22768:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "22849:6:12", + "nodeType": "YulIdentifier", + "src": "22849:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22862:9:12", + "nodeType": "YulIdentifier", + "src": "22862:9:12" + }, + { + "kind": "number", + "nativeSrc": "22873:1:12", + "nodeType": "YulLiteral", + "src": "22873:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22858:3:12", + "nodeType": "YulIdentifier", + "src": "22858:3:12" + }, + "nativeSrc": "22858:17:12", + "nodeType": "YulFunctionCall", + "src": "22858:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22805:43:12", + "nodeType": "YulIdentifier", + "src": "22805:43:12" + }, + "nativeSrc": "22805:71:12", + "nodeType": "YulFunctionCall", + "src": "22805:71:12" + }, + "nativeSrc": "22805:71:12", + "nodeType": "YulExpressionStatement", + "src": "22805:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "22930:6:12", + "nodeType": "YulIdentifier", + "src": "22930:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22943:9:12", + "nodeType": "YulIdentifier", + "src": "22943:9:12" + }, + { + "kind": "number", + "nativeSrc": "22954:2:12", + "nodeType": "YulLiteral", + "src": "22954:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22939:3:12", + "nodeType": "YulIdentifier", + "src": "22939:3:12" + }, + "nativeSrc": "22939:18:12", + "nodeType": "YulFunctionCall", + "src": "22939:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22886:43:12", + "nodeType": "YulIdentifier", + "src": "22886:43:12" + }, + "nativeSrc": "22886:72:12", + "nodeType": "YulFunctionCall", + "src": "22886:72:12" + }, + "nativeSrc": "22886:72:12", + "nodeType": "YulExpressionStatement", + "src": "22886:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "23012:6:12", + "nodeType": "YulIdentifier", + "src": "23012:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23025:9:12", + "nodeType": "YulIdentifier", + "src": "23025:9:12" + }, + { + "kind": "number", + "nativeSrc": "23036:2:12", + "nodeType": "YulLiteral", + "src": "23036:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23021:3:12", + "nodeType": "YulIdentifier", + "src": "23021:3:12" + }, + "nativeSrc": "23021:18:12", + "nodeType": "YulFunctionCall", + "src": "23021:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "22968:43:12", + "nodeType": "YulIdentifier", + "src": "22968:43:12" + }, + "nativeSrc": "22968:72:12", + "nodeType": "YulFunctionCall", + "src": "22968:72:12" + }, + "nativeSrc": "22968:72:12", + "nodeType": "YulExpressionStatement", + "src": "22968:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "23094:6:12", + "nodeType": "YulIdentifier", + "src": "23094:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23107:9:12", + "nodeType": "YulIdentifier", + "src": "23107:9:12" + }, + { + "kind": "number", + "nativeSrc": "23118:2:12", + "nodeType": "YulLiteral", + "src": "23118:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23103:3:12", + "nodeType": "YulIdentifier", + "src": "23103:3:12" + }, + "nativeSrc": "23103:18:12", + "nodeType": "YulFunctionCall", + "src": "23103:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "23050:43:12", + "nodeType": "YulIdentifier", + "src": "23050:43:12" + }, + "nativeSrc": "23050:72:12", + "nodeType": "YulFunctionCall", + "src": "23050:72:12" + }, + "nativeSrc": "23050:72:12", + "nodeType": "YulExpressionStatement", + "src": "23050:72:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23143:9:12", + "nodeType": "YulIdentifier", + "src": "23143:9:12" + }, + { + "kind": "number", + "nativeSrc": "23154:3:12", + "nodeType": "YulLiteral", + "src": "23154:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23139:3:12", + "nodeType": "YulIdentifier", + "src": "23139:3:12" + }, + "nativeSrc": "23139:19:12", + "nodeType": "YulFunctionCall", + "src": "23139:19:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "23164:4:12", + "nodeType": "YulIdentifier", + "src": "23164:4:12" + }, + { + "name": "headStart", + "nativeSrc": "23170:9:12", + "nodeType": "YulIdentifier", + "src": "23170:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23160:3:12", + "nodeType": "YulIdentifier", + "src": "23160:3:12" + }, + "nativeSrc": "23160:20:12", + "nodeType": "YulFunctionCall", + "src": "23160:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23132:6:12", + "nodeType": "YulIdentifier", + "src": "23132:6:12" + }, + "nativeSrc": "23132:49:12", + "nodeType": "YulFunctionCall", + "src": "23132:49:12" + }, + "nativeSrc": "23132:49:12", + "nodeType": "YulExpressionStatement", + "src": "23132:49:12" + }, + { + "nativeSrc": "23190:138:12", + "nodeType": "YulAssignment", + "src": "23190:138:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "23323:4:12", + "nodeType": "YulIdentifier", + "src": "23323:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "23198:123:12", + "nodeType": "YulIdentifier", + "src": "23198:123:12" + }, + "nativeSrc": "23198:130:12", + "nodeType": "YulFunctionCall", + "src": "23198:130:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "23190:4:12", + "nodeType": "YulIdentifier", + "src": "23190:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "22476:859:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22706:9:12", + "nodeType": "YulTypedName", + "src": "22706:9:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "22718:6:12", + "nodeType": "YulTypedName", + "src": "22718:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "22726:6:12", + "nodeType": "YulTypedName", + "src": "22726:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "22734:6:12", + "nodeType": "YulTypedName", + "src": "22734:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "22742:6:12", + "nodeType": "YulTypedName", + "src": "22742:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "22753:4:12", + "nodeType": "YulTypedName", + "src": "22753:4:12", + "type": "" + } + ], + "src": "22476:859:12" + }, + { + "body": { + "nativeSrc": "23369:152:12", + "nodeType": "YulBlock", + "src": "23369:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23386:1:12", + "nodeType": "YulLiteral", + "src": "23386:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23389:77:12", + "nodeType": "YulLiteral", + "src": "23389:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23379:6:12", + "nodeType": "YulIdentifier", + "src": "23379:6:12" + }, + "nativeSrc": "23379:88:12", + "nodeType": "YulFunctionCall", + "src": "23379:88:12" + }, + "nativeSrc": "23379:88:12", + "nodeType": "YulExpressionStatement", + "src": "23379:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23483:1:12", + "nodeType": "YulLiteral", + "src": "23483:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "23486:4:12", + "nodeType": "YulLiteral", + "src": "23486:4:12", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23476:6:12", + "nodeType": "YulIdentifier", + "src": "23476:6:12" + }, + "nativeSrc": "23476:15:12", + "nodeType": "YulFunctionCall", + "src": "23476:15:12" + }, + "nativeSrc": "23476:15:12", + "nodeType": "YulExpressionStatement", + "src": "23476:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23507:1:12", + "nodeType": "YulLiteral", + "src": "23507:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23510:4:12", + "nodeType": "YulLiteral", + "src": "23510:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23500:6:12", + "nodeType": "YulIdentifier", + "src": "23500:6:12" + }, + "nativeSrc": "23500:15:12", + "nodeType": "YulFunctionCall", + "src": "23500:15:12" + }, + "nativeSrc": "23500:15:12", + "nodeType": "YulExpressionStatement", + "src": "23500:15:12" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "23341:180:12", + "nodeType": "YulFunctionDefinition", + "src": "23341:180:12" + }, + { + "body": { + "nativeSrc": "23572:149:12", + "nodeType": "YulBlock", + "src": "23572:149:12", + "statements": [ + { + "nativeSrc": "23582:25:12", + "nodeType": "YulAssignment", + "src": "23582:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "23605:1:12", + "nodeType": "YulIdentifier", + "src": "23605:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "23587:17:12", + "nodeType": "YulIdentifier", + "src": "23587:17:12" + }, + "nativeSrc": "23587:20:12", + "nodeType": "YulFunctionCall", + "src": "23587:20:12" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "23582:1:12", + "nodeType": "YulIdentifier", + "src": "23582:1:12" + } + ] + }, + { + "nativeSrc": "23616:25:12", + "nodeType": "YulAssignment", + "src": "23616:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "23639:1:12", + "nodeType": "YulIdentifier", + "src": "23639:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "23621:17:12", + "nodeType": "YulIdentifier", + "src": "23621:17:12" + }, + "nativeSrc": "23621:20:12", + "nodeType": "YulFunctionCall", + "src": "23621:20:12" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "23616:1:12", + "nodeType": "YulIdentifier", + "src": "23616:1:12" + } + ] + }, + { + "nativeSrc": "23650:17:12", + "nodeType": "YulAssignment", + "src": "23650:17:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "23662:1:12", + "nodeType": "YulIdentifier", + "src": "23662:1:12" + }, + { + "name": "y", + "nativeSrc": "23665:1:12", + "nodeType": "YulIdentifier", + "src": "23665:1:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23658:3:12", + "nodeType": "YulIdentifier", + "src": "23658:3:12" + }, + "nativeSrc": "23658:9:12", + "nodeType": "YulFunctionCall", + "src": "23658:9:12" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "23650:4:12", + "nodeType": "YulIdentifier", + "src": "23650:4:12" + } + ] + }, + { + "body": { + "nativeSrc": "23692:22:12", + "nodeType": "YulBlock", + "src": "23692:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "23694:16:12", + "nodeType": "YulIdentifier", + "src": "23694:16:12" + }, + "nativeSrc": "23694:18:12", + "nodeType": "YulFunctionCall", + "src": "23694:18:12" + }, + "nativeSrc": "23694:18:12", + "nodeType": "YulExpressionStatement", + "src": "23694:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "23683:4:12", + "nodeType": "YulIdentifier", + "src": "23683:4:12" + }, + { + "name": "x", + "nativeSrc": "23689:1:12", + "nodeType": "YulIdentifier", + "src": "23689:1:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23680:2:12", + "nodeType": "YulIdentifier", + "src": "23680:2:12" + }, + "nativeSrc": "23680:11:12", + "nodeType": "YulFunctionCall", + "src": "23680:11:12" + }, + "nativeSrc": "23677:37:12", + "nodeType": "YulIf", + "src": "23677:37:12" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "23527:194:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "23558:1:12", + "nodeType": "YulTypedName", + "src": "23558:1:12", + "type": "" + }, + { + "name": "y", + "nativeSrc": "23561:1:12", + "nodeType": "YulTypedName", + "src": "23561:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "23567:4:12", + "nodeType": "YulTypedName", + "src": "23567:4:12", + "type": "" + } + ], + "src": "23527:194:12" + } + ] + }, + "contents": "{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$3239(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$3239(value)\n }\n\n function convert_t_enum$_AirdropType_$3239_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$3239_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value0, tail)\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\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_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e(memPtr) {\n\n mstore(add(memPtr, 0), \"Address not allowed to claim thi\")\n\n mstore(add(memPtr, 32), \"s airdrop\")\n\n }\n\n function abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e__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_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already expired.\")\n\n }\n\n function abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__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_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(memPtr) {\n\n mstore(add(memPtr, 0), \"Address already claimed this air\")\n\n mstore(add(memPtr, 32), \"drop.\")\n\n }\n\n function abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__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_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop has been totally claimed\")\n\n mstore(add(memPtr, 32), \" already.\")\n\n }\n\n function abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__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_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop contract has insufficien\")\n\n mstore(add(memPtr, 32), \"t token balance.\")\n\n }\n\n function abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__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_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea26469706673582212204cd4ce436aa778d507342d29768b639c0cf04f46fd105d6e069c996c9e6075b264736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4C 0xD4 0xCE NUMBER PUSH11 0xA778D507342D29768B639C 0xC CREATE 0x4F CHAINID REVERT LT TSTORE PUSH15 0x69C996C9E6075B264736F6C634300 ADDMOD XOR STOP CALLER ", + "sourceMap": "134:4472:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2249:144;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2764:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4106:124;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2023:220;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2917:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1301:716;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3886:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4479:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3686:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3789:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;2521:126:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2653:105:8;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2399:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3158:242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3406:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3566:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3997:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4236:237;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2249:144:8;2298:4;2374:12;;2321:14;;;;;;;;;;;:24;;;2354:4;2361:8;;2321:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;2314:72;;2249:144;:::o;2764:147::-;1531:13:0;:11;:13::i;:::-;2861:4:8::1;2831:17;:27;2849:8;2831:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;2880:24;2895:8;2880:24;;;;;;:::i;:::-;;;;;;;;2764:147:::0;:::o;4106:124::-;4148:7;4174:14;;;;;;;;;;;:24;;;4207:4;4214:8;;4174:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4167:56;;4106:124;:::o;2023:220::-;2069:18;;:::i;:::-;2106:130;;;;;;;;2118:12;2106:130;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2140:4;2106:130;;;;;;2147:19;;2106:130;;;;2168:18;;2106:130;;;;2188:12;;2106:130;;;;2202:15;;2106:130;;;;2219:12;;;;;;;;;;;2106:130;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2099:137;;2023:220;:::o;2917:235::-;1531:13:0;:11;:13::i;:::-;3001:6:8::1;2996:150;3013:9;:16;3009:1;:20;2996:150;;;3084:4;3050:17;:31;3068:9;3078:1;3068:12;;;;;;;;:::i;:::-;;;;;;;;3050:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3107:28;3122:9;3132:1;3122:12;;;;;;;;:::i;:::-;;;;;;;;3107:28;;;;;;:::i;:::-;;;;;;;;3031:3;;;;;;;2996:150;;;;2917:235:::0;:::o;1301:716::-;1531:13:0;:11;:13::i;:::-;1407:15:8::1;1417:4;1407:9;:15::i;:::-;1399:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;1487:12;:10;:12::i;:::-;1486:13;1478:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1547:16;1558:4;1547:10;:16::i;:::-;1546:17;1538:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1624:23;:21;:23::i;:::-;1623:24;1615:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;1711:19;:17;:19::i;:::-;1703:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1794:14;;;;;;;;;;;:31;;;1834:4;1841;1847:8;;1857:12;;1794:80;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1906:12;;1884:18;;:34;;;;;;;:::i;:::-;;;;;;;;1965:4;1928:28;:34;1957:4;1928:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;1985:25;1991:4;1997:12;;1985:25;;;;;;;:::i;:::-;;;;;;;;1301:716:::0;;;;:::o;3886:105::-;3939:7;3965:19;;3958:26;;3886:105;:::o;4479:125::-;4518:13;4573:24;;;;;;;;;;;;;;;;;;;4479:125;:::o;3686:97::-;3735:7;3761:15;;3754:22;;3686:97;:::o;3789:91::-;3835:7;3861:12;;3854:19;;3789:91;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2521:126:8:-;2579:4;2602:28;:38;2631:8;2602:38;;;;;;;;;;;;;;;;;;;;;;;;;2595:45;;2521:126;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;2653:105:8:-;2695:4;2736:15;2718;;:33;2711:40;;2653:105;:::o;2399:116::-;2452:4;2496:12;;2475:18;;:33;2468:40;;2399:116;:::o;3158:242::-;1531:13:0;:11;:13::i;:::-;3245:6:8::1;3240:154;3257:9;:16;3253:1;:20;3240:154;;;3328:5;3294:17;:31;3312:9;3322:1;3312:12;;;;;;;;:::i;:::-;;;;;;;;3294:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;3352:31;3370:9;3380:1;3370:12;;;;;;;;:::i;:::-;;;;;;;;3352:31;;;;;;:::i;:::-;;;;;;;;3275:3;;;;;;;3240:154;;;;3158:242:::0;:::o;3406:154::-;1531:13:0;:11;:13::i;:::-;3506:5:8::1;3476:17;:27;3494:8;3476:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;3526:27;3544:8;3526:27;;;;;;:::i;:::-;;;;;;;;3406:154:::0;:::o;3566:114::-;3623:4;3646:17;:27;3664:8;3646:27;;;;;;;;;;;;;;;;;;;;;;;;;3639:34;;3566:114;;;:::o;3997:103::-;4049:7;4075:18;;4068:25;;3997:103;:::o;4236:237::-;4364:6;4396:69;4382:84;;4236:237;;;;;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;2912:187::-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:1:-;709:7;735:10;728:17;;656:96;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:90:12:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:75::-;467:6;500:2;494:9;484:19;;434:75;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:126;798:7;838:42;831:5;827:54;816:65;;761:126;;;:::o;893:96::-;930:7;959:24;977:5;959:24;:::i;:::-;948:35;;893:96;;;:::o;995:122::-;1068:24;1086:5;1068:24;:::i;:::-;1061:5;1058:35;1048:63;;1107:1;1104;1097:12;1048:63;995:122;:::o;1123:139::-;1169:5;1207:6;1194:20;1185:29;;1223:33;1250:5;1223:33;:::i;:::-;1123:139;;;;:::o;1268:329::-;1327:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:119;;;1382:79;;:::i;:::-;1344:119;1502:1;1527:53;1572:7;1563:6;1552:9;1548:22;1527:53;:::i;:::-;1517:63;;1473:117;1268:329;;;;:::o;1603:77::-;1640:7;1669:5;1658:16;;1603:77;;;:::o;1686:118::-;1773:24;1791:5;1773:24;:::i;:::-;1768:3;1761:37;1686:118;;:::o;1810:222::-;1903:4;1941:2;1930:9;1926:18;1918:26;;1954:71;2022:1;2011:9;2007:17;1998:6;1954:71;:::i;:::-;1810:222;;;;:::o;2038:99::-;2090:6;2124:5;2118:12;2108:22;;2038:99;;;:::o;2143:159::-;2217:11;2251:6;2246:3;2239:19;2291:4;2286:3;2282:14;2267:29;;2143:159;;;;:::o;2308:246::-;2389:1;2399:113;2413:6;2410:1;2407:13;2399:113;;;2498:1;2493:3;2489:11;2483:18;2479:1;2474:3;2470:11;2463:39;2435:2;2432:1;2428:10;2423:15;;2399:113;;;2546:1;2537:6;2532:3;2528:16;2521:27;2370:184;2308:246;;;:::o;2560:102::-;2601:6;2652:2;2648:7;2643:2;2636:5;2632:14;2628:28;2618:38;;2560:102;;;:::o;2668:357::-;2746:3;2774:39;2807:5;2774:39;:::i;:::-;2829:61;2883:6;2878:3;2829:61;:::i;:::-;2822:68;;2899:65;2957:6;2952:3;2945:4;2938:5;2934:16;2899:65;:::i;:::-;2989:29;3011:6;2989:29;:::i;:::-;2984:3;2980:39;2973:46;;2750:275;2668:357;;;;:::o;3031:108::-;3108:24;3126:5;3108:24;:::i;:::-;3103:3;3096:37;3031:108;;:::o;3145:::-;3222:24;3240:5;3222:24;:::i;:::-;3217:3;3210:37;3145:108;;:::o;3259:180::-;3307:77;3304:1;3297:88;3404:4;3401:1;3394:15;3428:4;3425:1;3418:15;3445:121;3534:1;3527:5;3524:12;3514:46;;3540:18;;:::i;:::-;3514:46;3445:121;:::o;3572:143::-;3625:7;3654:5;3643:16;;3660:49;3703:5;3660:49;:::i;:::-;3572:143;;;:::o;3721:::-;3785:9;3818:40;3852:5;3818:40;:::i;:::-;3805:53;;3721:143;;;:::o;3870:149::-;3961:51;4006:5;3961:51;:::i;:::-;3956:3;3949:64;3870:149;;:::o;4073:1812::-;4200:3;4236:6;4231:3;4227:16;4332:4;4325:5;4321:16;4315:23;4385:3;4379:4;4375:14;4368:4;4363:3;4359:14;4352:38;4411:73;4479:4;4465:12;4411:73;:::i;:::-;4403:81;;4253:242;4587:4;4580:5;4576:16;4570:23;4606:63;4663:4;4658:3;4654:14;4640:12;4606:63;:::i;:::-;4505:174;4775:4;4768:5;4764:16;4758:23;4794:63;4851:4;4846:3;4842:14;4828:12;4794:63;:::i;:::-;4689:178;4962:4;4955:5;4951:16;4945:23;4981:63;5038:4;5033:3;5029:14;5015:12;4981:63;:::i;:::-;4877:177;5143:4;5136:5;5132:16;5126:23;5162:63;5219:4;5214:3;5210:14;5196:12;5162:63;:::i;:::-;5064:171;5327:4;5320:5;5316:16;5310:23;5346:63;5403:4;5398:3;5394:14;5380:12;5346:63;:::i;:::-;5245:174;5508:4;5501:5;5497:16;5491:23;5527:77;5598:4;5593:3;5589:14;5575:12;5527:77;:::i;:::-;5429:185;5695:4;5688:5;5684:16;5678:23;5748:3;5742:4;5738:14;5731:4;5726:3;5722:14;5715:38;5774:73;5842:4;5828:12;5774:73;:::i;:::-;5766:81;;5624:234;5875:4;5868:11;;4205:1680;4073:1812;;;;:::o;5891:389::-;6042:4;6080:2;6069:9;6065:18;6057:26;;6129:9;6123:4;6119:20;6115:1;6104:9;6100:17;6093:47;6157:116;6268:4;6259:6;6157:116;:::i;:::-;6149:124;;5891:389;;;;:::o;6286:117::-;6395:1;6392;6385:12;6409:180;6457:77;6454:1;6447:88;6554:4;6551:1;6544:15;6578:4;6575:1;6568:15;6595:281;6678:27;6700:4;6678:27;:::i;:::-;6670:6;6666:40;6808:6;6796:10;6793:22;6772:18;6760:10;6757:34;6754:62;6751:88;;;6819:18;;:::i;:::-;6751:88;6859:10;6855:2;6848:22;6638:238;6595:281;;:::o;6882:129::-;6916:6;6943:20;;:::i;:::-;6933:30;;6972:33;7000:4;6992:6;6972:33;:::i;:::-;6882:129;;;:::o;7017:311::-;7094:4;7184:18;7176:6;7173:30;7170:56;;;7206:18;;:::i;:::-;7170:56;7256:4;7248:6;7244:17;7236:25;;7316:4;7310;7306:15;7298:23;;7017:311;;;:::o;7334:117::-;7443:1;7440;7433:12;7474:710;7570:5;7595:81;7611:64;7668:6;7611:64;:::i;:::-;7595:81;:::i;:::-;7586:90;;7696:5;7725:6;7718:5;7711:21;7759:4;7752:5;7748:16;7741:23;;7812:4;7804:6;7800:17;7792:6;7788:30;7841:3;7833:6;7830:15;7827:122;;;7860:79;;:::i;:::-;7827:122;7975:6;7958:220;7992:6;7987:3;7984:15;7958:220;;;8067:3;8096:37;8129:3;8117:10;8096:37;:::i;:::-;8091:3;8084:50;8163:4;8158:3;8154:14;8147:21;;8034:144;8018:4;8013:3;8009:14;8002:21;;7958:220;;;7962:21;7576:608;;7474:710;;;;;:::o;8207:370::-;8278:5;8327:3;8320:4;8312:6;8308:17;8304:27;8294:122;;8335:79;;:::i;:::-;8294:122;8452:6;8439:20;8477:94;8567:3;8559:6;8552:4;8544:6;8540:17;8477:94;:::i;:::-;8468:103;;8284:293;8207:370;;;;:::o;8583:539::-;8667:6;8716:2;8704:9;8695:7;8691:23;8687:32;8684:119;;;8722:79;;:::i;:::-;8684:119;8870:1;8859:9;8855:17;8842:31;8900:18;8892:6;8889:30;8886:117;;;8922:79;;:::i;:::-;8886:117;9027:78;9097:7;9088:6;9077:9;9073:22;9027:78;:::i;:::-;9017:88;;8813:302;8583:539;;;;:::o;9128:122::-;9201:24;9219:5;9201:24;:::i;:::-;9194:5;9191:35;9181:63;;9240:1;9237;9230:12;9181:63;9128:122;:::o;9256:139::-;9302:5;9340:6;9327:20;9318:29;;9356:33;9383:5;9356:33;:::i;:::-;9256:139;;;;:::o;9401:117::-;9510:1;9507;9500:12;9541:568;9614:8;9624:6;9674:3;9667:4;9659:6;9655:17;9651:27;9641:122;;9682:79;;:::i;:::-;9641:122;9795:6;9782:20;9772:30;;9825:18;9817:6;9814:30;9811:117;;;9847:79;;:::i;:::-;9811:117;9961:4;9953:6;9949:17;9937:29;;10015:3;10007:4;9999:6;9995:17;9985:8;9981:32;9978:41;9975:128;;;10022:79;;:::i;:::-;9975:128;9541:568;;;;;:::o;10115:849::-;10219:6;10227;10235;10243;10292:2;10280:9;10271:7;10267:23;10263:32;10260:119;;;10298:79;;:::i;:::-;10260:119;10418:1;10443:53;10488:7;10479:6;10468:9;10464:22;10443:53;:::i;:::-;10433:63;;10389:117;10545:2;10571:53;10616:7;10607:6;10596:9;10592:22;10571:53;:::i;:::-;10561:63;;10516:118;10701:2;10690:9;10686:18;10673:32;10732:18;10724:6;10721:30;10718:117;;;10754:79;;:::i;:::-;10718:117;10867:80;10939:7;10930:6;10919:9;10915:22;10867:80;:::i;:::-;10849:98;;;;10644:313;10115:849;;;;;;;:::o;10970:169::-;11054:11;11088:6;11083:3;11076:19;11128:4;11123:3;11119:14;11104:29;;10970:169;;;;:::o;11145:377::-;11233:3;11261:39;11294:5;11261:39;:::i;:::-;11316:71;11380:6;11375:3;11316:71;:::i;:::-;11309:78;;11396:65;11454:6;11449:3;11442:4;11435:5;11431:16;11396:65;:::i;:::-;11486:29;11508:6;11486:29;:::i;:::-;11481:3;11477:39;11470:46;;11237:285;11145:377;;;;:::o;11528:313::-;11641:4;11679:2;11668:9;11664:18;11656:26;;11728:9;11722:4;11718:20;11714:1;11703:9;11699:17;11692:47;11756:78;11829:4;11820:6;11756:78;:::i;:::-;11748:86;;11528:313;;;;:::o;11847:118::-;11934:24;11952:5;11934:24;:::i;:::-;11929:3;11922:37;11847:118;;:::o;11971:222::-;12064:4;12102:2;12091:9;12087:18;12079:26;;12115:71;12183:1;12172:9;12168:17;12159:6;12115:71;:::i;:::-;11971:222;;;;:::o;12199:117::-;12308:1;12305;12298:12;12322:307;12383:4;12473:18;12465:6;12462:30;12459:56;;;12495:18;;:::i;:::-;12459:56;12533:29;12555:6;12533:29;:::i;:::-;12525:37;;12617:4;12611;12607:15;12599:23;;12322:307;;;:::o;12635:146::-;12732:6;12727:3;12722;12709:30;12773:1;12764:6;12759:3;12755:16;12748:27;12635:146;;;:::o;12787:423::-;12864:5;12889:65;12905:48;12946:6;12905:48;:::i;:::-;12889:65;:::i;:::-;12880:74;;12977:6;12970:5;12963:21;13015:4;13008:5;13004:16;13053:3;13044:6;13039:3;13035:16;13032:25;13029:112;;;13060:79;;:::i;:::-;13029:112;13150:54;13197:6;13192:3;13187;13150:54;:::i;:::-;12870:340;12787:423;;;;;:::o;13229:338::-;13284:5;13333:3;13326:4;13318:6;13314:17;13310:27;13300:122;;13341:79;;:::i;:::-;13300:122;13458:6;13445:20;13483:78;13557:3;13549:6;13542:4;13534:6;13530:17;13483:78;:::i;:::-;13474:87;;13290:277;13229:338;;;;:::o;13573:1089::-;13677:6;13685;13693;13701;13709;13758:3;13746:9;13737:7;13733:23;13729:33;13726:120;;;13765:79;;:::i;:::-;13726:120;13885:1;13910:53;13955:7;13946:6;13935:9;13931:22;13910:53;:::i;:::-;13900:63;;13856:117;14012:2;14038:53;14083:7;14074:6;14063:9;14059:22;14038:53;:::i;:::-;14028:63;;13983:118;14140:2;14166:53;14211:7;14202:6;14191:9;14187:22;14166:53;:::i;:::-;14156:63;;14111:118;14268:2;14294:53;14339:7;14330:6;14319:9;14315:22;14294:53;:::i;:::-;14284:63;;14239:118;14424:3;14413:9;14409:19;14396:33;14456:18;14448:6;14445:30;14442:117;;;14478:79;;:::i;:::-;14442:117;14583:62;14637:7;14628:6;14617:9;14613:22;14583:62;:::i;:::-;14573:72;;14367:288;13573:1089;;;;;;;;:::o;14668:149::-;14704:7;14744:66;14737:5;14733:78;14722:89;;14668:149;;;:::o;14823:115::-;14908:23;14925:5;14908:23;:::i;:::-;14903:3;14896:36;14823:115;;:::o;14944:218::-;15035:4;15073:2;15062:9;15058:18;15050:26;;15086:69;15152:1;15141:9;15137:17;15128:6;15086:69;:::i;:::-;14944:218;;;;:::o;15168:332::-;15289:4;15327:2;15316:9;15312:18;15304:26;;15340:71;15408:1;15397:9;15393:17;15384:6;15340:71;:::i;:::-;15421:72;15489:2;15478:9;15474:18;15465:6;15421:72;:::i;:::-;15168:332;;;;;:::o;15506:143::-;15563:5;15594:6;15588:13;15579:22;;15610:33;15637:5;15610:33;:::i;:::-;15506:143;;;;:::o;15655:351::-;15725:6;15774:2;15762:9;15753:7;15749:23;15745:32;15742:119;;;15780:79;;:::i;:::-;15742:119;15900:1;15925:64;15981:7;15972:6;15961:9;15957:22;15925:64;:::i;:::-;15915:74;;15871:128;15655:351;;;;:::o;16012:180::-;16060:77;16057:1;16050:88;16157:4;16154:1;16147:15;16181:4;16178:1;16171:15;16198:320;16242:6;16279:1;16273:4;16269:12;16259:22;;16326:1;16320:4;16316:12;16347:18;16337:81;;16403:4;16395:6;16391:17;16381:27;;16337:81;16465:2;16457:6;16454:14;16434:18;16431:38;16428:84;;16484:18;;:::i;:::-;16428:84;16249:269;16198:320;;;:::o;16524:180::-;16572:77;16569:1;16562:88;16669:4;16666:1;16659:15;16693:4;16690:1;16683:15;16710:228;16850:34;16846:1;16838:6;16834:14;16827:58;16919:11;16914:2;16906:6;16902:15;16895:36;16710:228;:::o;16944:366::-;17086:3;17107:67;17171:2;17166:3;17107:67;:::i;:::-;17100:74;;17183:93;17272:3;17183:93;:::i;:::-;17301:2;17296:3;17292:12;17285:19;;16944:366;;;:::o;17316:419::-;17482:4;17520:2;17509:9;17505:18;17497:26;;17569:9;17563:4;17559:20;17555:1;17544:9;17540:17;17533:47;17597:131;17723:4;17597:131;:::i;:::-;17589:139;;17316:419;;;:::o;17741:174::-;17881:26;17877:1;17869:6;17865:14;17858:50;17741:174;:::o;17921:366::-;18063:3;18084:67;18148:2;18143:3;18084:67;:::i;:::-;18077:74;;18160:93;18249:3;18160:93;:::i;:::-;18278:2;18273:3;18269:12;18262:19;;17921:366;;;:::o;18293:419::-;18459:4;18497:2;18486:9;18482:18;18474:26;;18546:9;18540:4;18536:20;18532:1;18521:9;18517:17;18510:47;18574:131;18700:4;18574:131;:::i;:::-;18566:139;;18293:419;;;:::o;18718:224::-;18858:34;18854:1;18846:6;18842:14;18835:58;18927:7;18922:2;18914:6;18910:15;18903:32;18718:224;:::o;18948:366::-;19090:3;19111:67;19175:2;19170:3;19111:67;:::i;:::-;19104:74;;19187:93;19276:3;19187:93;:::i;:::-;19305:2;19300:3;19296:12;19289:19;;18948:366;;;:::o;19320:419::-;19486:4;19524:2;19513:9;19509:18;19501:26;;19573:9;19567:4;19563:20;19559:1;19548:9;19544:17;19537:47;19601:131;19727:4;19601:131;:::i;:::-;19593:139;;19320:419;;;:::o;19745:228::-;19885:34;19881:1;19873:6;19869:14;19862:58;19954:11;19949:2;19941:6;19937:15;19930:36;19745:228;:::o;19979:366::-;20121:3;20142:67;20206:2;20201:3;20142:67;:::i;:::-;20135:74;;20218:93;20307:3;20218:93;:::i;:::-;20336:2;20331:3;20327:12;20320:19;;19979:366;;;:::o;20351:419::-;20517:4;20555:2;20544:9;20540:18;20532:26;;20604:9;20598:4;20594:20;20590:1;20579:9;20575:17;20568:47;20632:131;20758:4;20632:131;:::i;:::-;20624:139;;20351:419;;;:::o;20776:235::-;20916:34;20912:1;20904:6;20900:14;20893:58;20985:18;20980:2;20972:6;20968:15;20961:43;20776:235;:::o;21017:366::-;21159:3;21180:67;21244:2;21239:3;21180:67;:::i;:::-;21173:74;;21256:93;21345:3;21256:93;:::i;:::-;21374:2;21369:3;21365:12;21358:19;;21017:366;;;:::o;21389:419::-;21555:4;21593:2;21582:9;21578:18;21570:26;;21642:9;21636:4;21632:20;21628:1;21617:9;21613:17;21606:47;21670:131;21796:4;21670:131;:::i;:::-;21662:139;;21389:419;;;:::o;21814:168::-;21897:11;21931:6;21926:3;21919:19;21971:4;21966:3;21962:14;21947:29;;21814:168;;;;:::o;21988:114::-;;:::o;22108:362::-;22249:3;22270:65;22333:1;22328:3;22270:65;:::i;:::-;22263:72;;22344:93;22433:3;22344:93;:::i;:::-;22462:1;22457:3;22453:11;22446:18;;22108:362;;;:::o;22476:859::-;22753:4;22791:3;22780:9;22776:19;22768:27;;22805:71;22873:1;22862:9;22858:17;22849:6;22805:71;:::i;:::-;22886:72;22954:2;22943:9;22939:18;22930:6;22886:72;:::i;:::-;22968;23036:2;23025:9;23021:18;23012:6;22968:72;:::i;:::-;23050;23118:2;23107:9;23103:18;23094:6;23050:72;:::i;:::-;23170:9;23164:4;23160:20;23154:3;23143:9;23139:19;23132:49;23198:130;23323:4;23198:130;:::i;:::-;23190:138;;22476:859;;;;;;;:::o;23341:180::-;23389:77;23386:1;23379:88;23486:4;23483:1;23476:15;23510:4;23507:1;23500:15;23527:194;23567:4;23587:20;23605:1;23587:20;:::i;:::-;23582:25;;23621:20;23639:1;23621:20;:::i;:::-;23616:25;;23665:1;23662;23658:9;23650:17;;23689:1;23683:4;23680:11;23677:37;;;23694:18;;:::i;:::-;23677:37;23527:194;;;;:::o" + }, + "methodIdentifiers": { + "allowAddress(address)": "08af4d88", + "allowAddresses(address[])": "3863b1f5", + "claim(address,uint256,bytes32[])": "3d13f874", + "disallowAddress(address)": "b7c58d7a", + "disallowAddresses(address[])": "a9f7d0b2", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getClaimAmount()": "71127ed2", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "getUri()": "4e16fc8b", + "hasBalanceToClaim()": "01cb54c0", + "hasBeenTotallyClaimed()": "9592a2cd", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "isAllowed(address)": "babcc539", + "onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"allowedAddress\",\"type\":\"address\"}],\"name\":\"AddressAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"disallowedAddress\",\"type\":\"address\"}],\"name\":\"AddressDisallowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"allowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"allowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"disallowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"disallowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBalanceToClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBeenTotallyClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/CustomAirdrop1155.sol\":\"CustomAirdrop1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/CustomAirdrop1155.sol\":{\"keccak256\":\"0xd8ff3168b2ebcdc7d2877f4cf04e424d17706ce750a1d6e60f45dd905e887ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ee5b27eb96e9684d4987ca934683eab2a0aa1afec2f958580e20c1e2a89028\",\"dweb:/ipfs/QmZKNTKcF9xMdhyfrhZJCfKpALBkFCtgqmb9edCsfxLU5Q\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/CustomAirdrop1155Merkle.sol": { + "CustomAirdrop1155Merkle": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "InvalidProof", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [], + "name": "UsedLeaf", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "claimedLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBeenTotallyClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "root", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_2679": { + "entryPoint": null, + "id": 2679, + "parameterSlots": 7, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 360, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 833, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1037, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_enum$_AirdropType_$3239_fromMemory": { + "entryPoint": 1136, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 908, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 1096, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_enum$_AirdropType_$3239_fromMemory": { + "entryPoint": 1159, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1369, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1386, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 704, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 556, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 735, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1526, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1415, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1837, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 991, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 959, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1060, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1798, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1672, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1992, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 789, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1547, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1473, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1962, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 650, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 1662, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1930, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 2223, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 1426, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 603, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1712, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 576, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 581, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 571, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 566, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 586, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1563, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1917, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1770, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1576, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1722, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1011, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_enum$_AirdropType_$3239": { + "entryPoint": 1119, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 1070, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1765, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:10845:12", + "nodeType": "YulBlock", + "src": "0:10845:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1672:184:12", + "nodeType": "YulBlock", + "src": "1672:184:12", + "statements": [ + { + "nativeSrc": "1682:10:12", + "nodeType": "YulVariableDeclaration", + "src": "1682:10:12", + "value": { + "kind": "number", + "nativeSrc": "1691:1:12", + "nodeType": "YulLiteral", + "src": "1691:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1686:1:12", + "nodeType": "YulTypedName", + "src": "1686:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1751:63:12", + "nodeType": "YulBlock", + "src": "1751:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1776:3:12", + "nodeType": "YulIdentifier", + "src": "1776:3:12" + }, + { + "name": "i", + "nativeSrc": "1781:1:12", + "nodeType": "YulIdentifier", + "src": "1781:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:12", + "nodeType": "YulIdentifier", + "src": "1772:3:12" + }, + "nativeSrc": "1772:11:12", + "nodeType": "YulFunctionCall", + "src": "1772:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1795:3:12", + "nodeType": "YulIdentifier", + "src": "1795:3:12" + }, + { + "name": "i", + "nativeSrc": "1800:1:12", + "nodeType": "YulIdentifier", + "src": "1800:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1791:3:12", + "nodeType": "YulIdentifier", + "src": "1791:3:12" + }, + "nativeSrc": "1791:11:12", + "nodeType": "YulFunctionCall", + "src": "1791:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1785:5:12", + "nodeType": "YulIdentifier", + "src": "1785:5:12" + }, + "nativeSrc": "1785:18:12", + "nodeType": "YulFunctionCall", + "src": "1785:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1765:6:12", + "nodeType": "YulIdentifier", + "src": "1765:6:12" + }, + "nativeSrc": "1765:39:12", + "nodeType": "YulFunctionCall", + "src": "1765:39:12" + }, + "nativeSrc": "1765:39:12", + "nodeType": "YulExpressionStatement", + "src": "1765:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1712:1:12", + "nodeType": "YulIdentifier", + "src": "1712:1:12" + }, + { + "name": "length", + "nativeSrc": "1715:6:12", + "nodeType": "YulIdentifier", + "src": "1715:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1709:2:12", + "nodeType": "YulIdentifier", + "src": "1709:2:12" + }, + "nativeSrc": "1709:13:12", + "nodeType": "YulFunctionCall", + "src": "1709:13:12" + }, + "nativeSrc": "1701:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1723:19:12", + "nodeType": "YulBlock", + "src": "1723:19:12", + "statements": [ + { + "nativeSrc": "1725:15:12", + "nodeType": "YulAssignment", + "src": "1725:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1734:1:12", + "nodeType": "YulIdentifier", + "src": "1734:1:12" + }, + { + "kind": "number", + "nativeSrc": "1737:2:12", + "nodeType": "YulLiteral", + "src": "1737:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:12", + "nodeType": "YulIdentifier", + "src": "1730:3:12" + }, + "nativeSrc": "1730:10:12", + "nodeType": "YulFunctionCall", + "src": "1730:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1725:1:12", + "nodeType": "YulIdentifier", + "src": "1725:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1705:3:12", + "nodeType": "YulBlock", + "src": "1705:3:12", + "statements": [] + }, + "src": "1701:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1834:3:12", + "nodeType": "YulIdentifier", + "src": "1834:3:12" + }, + { + "name": "length", + "nativeSrc": "1839:6:12", + "nodeType": "YulIdentifier", + "src": "1839:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1830:3:12", + "nodeType": "YulIdentifier", + "src": "1830:3:12" + }, + "nativeSrc": "1830:16:12", + "nodeType": "YulFunctionCall", + "src": "1830:16:12" + }, + { + "kind": "number", + "nativeSrc": "1848:1:12", + "nodeType": "YulLiteral", + "src": "1848:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1823:6:12", + "nodeType": "YulIdentifier", + "src": "1823:6:12" + }, + "nativeSrc": "1823:27:12", + "nodeType": "YulFunctionCall", + "src": "1823:27:12" + }, + "nativeSrc": "1823:27:12", + "nodeType": "YulExpressionStatement", + "src": "1823:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:12", + "nodeType": "YulTypedName", + "src": "1654:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:12", + "nodeType": "YulTypedName", + "src": "1659:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:12", + "nodeType": "YulTypedName", + "src": "1664:6:12", + "type": "" + } + ], + "src": "1610:246:12" + }, + { + "body": { + "nativeSrc": "1957:339:12", + "nodeType": "YulBlock", + "src": "1957:339:12", + "statements": [ + { + "nativeSrc": "1967:75:12", + "nodeType": "YulAssignment", + "src": "1967:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2034:6:12", + "nodeType": "YulIdentifier", + "src": "2034:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1992:41:12", + "nodeType": "YulIdentifier", + "src": "1992:41:12" + }, + "nativeSrc": "1992:49:12", + "nodeType": "YulFunctionCall", + "src": "1992:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1976:15:12", + "nodeType": "YulIdentifier", + "src": "1976:15:12" + }, + "nativeSrc": "1976:66:12", + "nodeType": "YulFunctionCall", + "src": "1976:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1967:5:12", + "nodeType": "YulIdentifier", + "src": "1967:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2058:5:12", + "nodeType": "YulIdentifier", + "src": "2058:5:12" + }, + { + "name": "length", + "nativeSrc": "2065:6:12", + "nodeType": "YulIdentifier", + "src": "2065:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2051:6:12", + "nodeType": "YulIdentifier", + "src": "2051:6:12" + }, + "nativeSrc": "2051:21:12", + "nodeType": "YulFunctionCall", + "src": "2051:21:12" + }, + "nativeSrc": "2051:21:12", + "nodeType": "YulExpressionStatement", + "src": "2051:21:12" + }, + { + "nativeSrc": "2081:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2081:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2096:5:12", + "nodeType": "YulIdentifier", + "src": "2096:5:12" + }, + { + "kind": "number", + "nativeSrc": "2103:4:12", + "nodeType": "YulLiteral", + "src": "2103:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2092:3:12", + "nodeType": "YulIdentifier", + "src": "2092:3:12" + }, + "nativeSrc": "2092:16:12", + "nodeType": "YulFunctionCall", + "src": "2092:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2085:3:12", + "nodeType": "YulTypedName", + "src": "2085:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2146:83:12", + "nodeType": "YulBlock", + "src": "2146:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2148:77:12", + "nodeType": "YulIdentifier", + "src": "2148:77:12" + }, + "nativeSrc": "2148:79:12", + "nodeType": "YulFunctionCall", + "src": "2148:79:12" + }, + "nativeSrc": "2148:79:12", + "nodeType": "YulExpressionStatement", + "src": "2148:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2127:3:12", + "nodeType": "YulIdentifier", + "src": "2127:3:12" + }, + { + "name": "length", + "nativeSrc": "2132:6:12", + "nodeType": "YulIdentifier", + "src": "2132:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2123:3:12", + "nodeType": "YulIdentifier", + "src": "2123:3:12" + }, + "nativeSrc": "2123:16:12", + "nodeType": "YulFunctionCall", + "src": "2123:16:12" + }, + { + "name": "end", + "nativeSrc": "2141:3:12", + "nodeType": "YulIdentifier", + "src": "2141:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2120:2:12", + "nodeType": "YulIdentifier", + "src": "2120:2:12" + }, + "nativeSrc": "2120:25:12", + "nodeType": "YulFunctionCall", + "src": "2120:25:12" + }, + "nativeSrc": "2117:112:12", + "nodeType": "YulIf", + "src": "2117:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2273:3:12", + "nodeType": "YulIdentifier", + "src": "2273:3:12" + }, + { + "name": "dst", + "nativeSrc": "2278:3:12", + "nodeType": "YulIdentifier", + "src": "2278:3:12" + }, + { + "name": "length", + "nativeSrc": "2283:6:12", + "nodeType": "YulIdentifier", + "src": "2283:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2238:34:12", + "nodeType": "YulIdentifier", + "src": "2238:34:12" + }, + "nativeSrc": "2238:52:12", + "nodeType": "YulFunctionCall", + "src": "2238:52:12" + }, + "nativeSrc": "2238:52:12", + "nodeType": "YulExpressionStatement", + "src": "2238:52:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1862:434:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1930:3:12", + "nodeType": "YulTypedName", + "src": "1930:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1935:6:12", + "nodeType": "YulTypedName", + "src": "1935:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1943:3:12", + "nodeType": "YulTypedName", + "src": "1943:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1951:5:12", + "nodeType": "YulTypedName", + "src": "1951:5:12", + "type": "" + } + ], + "src": "1862:434:12" + }, + { + "body": { + "nativeSrc": "2389:282:12", + "nodeType": "YulBlock", + "src": "2389:282:12", + "statements": [ + { + "body": { + "nativeSrc": "2438:83:12", + "nodeType": "YulBlock", + "src": "2438:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2440:77:12", + "nodeType": "YulIdentifier", + "src": "2440:77:12" + }, + "nativeSrc": "2440:79:12", + "nodeType": "YulFunctionCall", + "src": "2440:79:12" + }, + "nativeSrc": "2440:79:12", + "nodeType": "YulExpressionStatement", + "src": "2440:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2417:6:12", + "nodeType": "YulIdentifier", + "src": "2417:6:12" + }, + { + "kind": "number", + "nativeSrc": "2425:4:12", + "nodeType": "YulLiteral", + "src": "2425:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2413:3:12", + "nodeType": "YulIdentifier", + "src": "2413:3:12" + }, + "nativeSrc": "2413:17:12", + "nodeType": "YulFunctionCall", + "src": "2413:17:12" + }, + { + "name": "end", + "nativeSrc": "2432:3:12", + "nodeType": "YulIdentifier", + "src": "2432:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2409:3:12", + "nodeType": "YulIdentifier", + "src": "2409:3:12" + }, + "nativeSrc": "2409:27:12", + "nodeType": "YulFunctionCall", + "src": "2409:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2402:6:12", + "nodeType": "YulIdentifier", + "src": "2402:6:12" + }, + "nativeSrc": "2402:35:12", + "nodeType": "YulFunctionCall", + "src": "2402:35:12" + }, + "nativeSrc": "2399:122:12", + "nodeType": "YulIf", + "src": "2399:122:12" + }, + { + "nativeSrc": "2530:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2530:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2550:6:12", + "nodeType": "YulIdentifier", + "src": "2550:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2544:5:12", + "nodeType": "YulIdentifier", + "src": "2544:5:12" + }, + "nativeSrc": "2544:13:12", + "nodeType": "YulFunctionCall", + "src": "2544:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2534:6:12", + "nodeType": "YulTypedName", + "src": "2534:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2566:99:12", + "nodeType": "YulAssignment", + "src": "2566:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2638:6:12", + "nodeType": "YulIdentifier", + "src": "2638:6:12" + }, + { + "kind": "number", + "nativeSrc": "2646:4:12", + "nodeType": "YulLiteral", + "src": "2646:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2634:3:12", + "nodeType": "YulIdentifier", + "src": "2634:3:12" + }, + "nativeSrc": "2634:17:12", + "nodeType": "YulFunctionCall", + "src": "2634:17:12" + }, + { + "name": "length", + "nativeSrc": "2653:6:12", + "nodeType": "YulIdentifier", + "src": "2653:6:12" + }, + { + "name": "end", + "nativeSrc": "2661:3:12", + "nodeType": "YulIdentifier", + "src": "2661:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2575:58:12", + "nodeType": "YulIdentifier", + "src": "2575:58:12" + }, + "nativeSrc": "2575:90:12", + "nodeType": "YulFunctionCall", + "src": "2575:90:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2566:5:12", + "nodeType": "YulIdentifier", + "src": "2566:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2316:355:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2367:6:12", + "nodeType": "YulTypedName", + "src": "2367:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2375:3:12", + "nodeType": "YulTypedName", + "src": "2375:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2383:5:12", + "nodeType": "YulTypedName", + "src": "2383:5:12", + "type": "" + } + ], + "src": "2316:355:12" + }, + { + "body": { + "nativeSrc": "2722:81:12", + "nodeType": "YulBlock", + "src": "2722:81:12", + "statements": [ + { + "nativeSrc": "2732:65:12", + "nodeType": "YulAssignment", + "src": "2732:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2747:5:12", + "nodeType": "YulIdentifier", + "src": "2747:5:12" + }, + { + "kind": "number", + "nativeSrc": "2754:42:12", + "nodeType": "YulLiteral", + "src": "2754:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2743:3:12", + "nodeType": "YulIdentifier", + "src": "2743:3:12" + }, + "nativeSrc": "2743:54:12", + "nodeType": "YulFunctionCall", + "src": "2743:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2732:7:12", + "nodeType": "YulIdentifier", + "src": "2732:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2677:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2704:5:12", + "nodeType": "YulTypedName", + "src": "2704:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2714:7:12", + "nodeType": "YulTypedName", + "src": "2714:7:12", + "type": "" + } + ], + "src": "2677:126:12" + }, + { + "body": { + "nativeSrc": "2854:51:12", + "nodeType": "YulBlock", + "src": "2854:51:12", + "statements": [ + { + "nativeSrc": "2864:35:12", + "nodeType": "YulAssignment", + "src": "2864:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2893:5:12", + "nodeType": "YulIdentifier", + "src": "2893:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2875:17:12", + "nodeType": "YulIdentifier", + "src": "2875:17:12" + }, + "nativeSrc": "2875:24:12", + "nodeType": "YulFunctionCall", + "src": "2875:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2864:7:12", + "nodeType": "YulIdentifier", + "src": "2864:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2809:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2836:5:12", + "nodeType": "YulTypedName", + "src": "2836:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2846:7:12", + "nodeType": "YulTypedName", + "src": "2846:7:12", + "type": "" + } + ], + "src": "2809:96:12" + }, + { + "body": { + "nativeSrc": "2954:79:12", + "nodeType": "YulBlock", + "src": "2954:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3011:16:12", + "nodeType": "YulBlock", + "src": "3011:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3020:1:12", + "nodeType": "YulLiteral", + "src": "3020:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3023:1:12", + "nodeType": "YulLiteral", + "src": "3023:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3013:6:12", + "nodeType": "YulIdentifier", + "src": "3013:6:12" + }, + "nativeSrc": "3013:12:12", + "nodeType": "YulFunctionCall", + "src": "3013:12:12" + }, + "nativeSrc": "3013:12:12", + "nodeType": "YulExpressionStatement", + "src": "3013:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2977:5:12", + "nodeType": "YulIdentifier", + "src": "2977:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3002:5:12", + "nodeType": "YulIdentifier", + "src": "3002:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2984:17:12", + "nodeType": "YulIdentifier", + "src": "2984:17:12" + }, + "nativeSrc": "2984:24:12", + "nodeType": "YulFunctionCall", + "src": "2984:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2974:2:12", + "nodeType": "YulIdentifier", + "src": "2974:2:12" + }, + "nativeSrc": "2974:35:12", + "nodeType": "YulFunctionCall", + "src": "2974:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2967:6:12", + "nodeType": "YulIdentifier", + "src": "2967:6:12" + }, + "nativeSrc": "2967:43:12", + "nodeType": "YulFunctionCall", + "src": "2967:43:12" + }, + "nativeSrc": "2964:63:12", + "nodeType": "YulIf", + "src": "2964:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2911:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2947:5:12", + "nodeType": "YulTypedName", + "src": "2947:5:12", + "type": "" + } + ], + "src": "2911:122:12" + }, + { + "body": { + "nativeSrc": "3102:80:12", + "nodeType": "YulBlock", + "src": "3102:80:12", + "statements": [ + { + "nativeSrc": "3112:22:12", + "nodeType": "YulAssignment", + "src": "3112:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3127:6:12", + "nodeType": "YulIdentifier", + "src": "3127:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3121:5:12", + "nodeType": "YulIdentifier", + "src": "3121:5:12" + }, + "nativeSrc": "3121:13:12", + "nodeType": "YulFunctionCall", + "src": "3121:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3112:5:12", + "nodeType": "YulIdentifier", + "src": "3112:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3170:5:12", + "nodeType": "YulIdentifier", + "src": "3170:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3143:26:12", + "nodeType": "YulIdentifier", + "src": "3143:26:12" + }, + "nativeSrc": "3143:33:12", + "nodeType": "YulFunctionCall", + "src": "3143:33:12" + }, + "nativeSrc": "3143:33:12", + "nodeType": "YulExpressionStatement", + "src": "3143:33:12" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3039:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3080:6:12", + "nodeType": "YulTypedName", + "src": "3080:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3088:3:12", + "nodeType": "YulTypedName", + "src": "3088:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3096:5:12", + "nodeType": "YulTypedName", + "src": "3096:5:12", + "type": "" + } + ], + "src": "3039:143:12" + }, + { + "body": { + "nativeSrc": "3233:32:12", + "nodeType": "YulBlock", + "src": "3233:32:12", + "statements": [ + { + "nativeSrc": "3243:16:12", + "nodeType": "YulAssignment", + "src": "3243:16:12", + "value": { + "name": "value", + "nativeSrc": "3254:5:12", + "nodeType": "YulIdentifier", + "src": "3254:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3243:7:12", + "nodeType": "YulIdentifier", + "src": "3243:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3188:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3215:5:12", + "nodeType": "YulTypedName", + "src": "3215:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3225:7:12", + "nodeType": "YulTypedName", + "src": "3225:7:12", + "type": "" + } + ], + "src": "3188:77:12" + }, + { + "body": { + "nativeSrc": "3314:79:12", + "nodeType": "YulBlock", + "src": "3314:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3371:16:12", + "nodeType": "YulBlock", + "src": "3371:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3380:1:12", + "nodeType": "YulLiteral", + "src": "3380:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3383:1:12", + "nodeType": "YulLiteral", + "src": "3383:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3373:6:12", + "nodeType": "YulIdentifier", + "src": "3373:6:12" + }, + "nativeSrc": "3373:12:12", + "nodeType": "YulFunctionCall", + "src": "3373:12:12" + }, + "nativeSrc": "3373:12:12", + "nodeType": "YulExpressionStatement", + "src": "3373:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3337:5:12", + "nodeType": "YulIdentifier", + "src": "3337:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3362:5:12", + "nodeType": "YulIdentifier", + "src": "3362:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3344:17:12", + "nodeType": "YulIdentifier", + "src": "3344:17:12" + }, + "nativeSrc": "3344:24:12", + "nodeType": "YulFunctionCall", + "src": "3344:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3334:2:12", + "nodeType": "YulIdentifier", + "src": "3334:2:12" + }, + "nativeSrc": "3334:35:12", + "nodeType": "YulFunctionCall", + "src": "3334:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3327:6:12", + "nodeType": "YulIdentifier", + "src": "3327:6:12" + }, + "nativeSrc": "3327:43:12", + "nodeType": "YulFunctionCall", + "src": "3327:43:12" + }, + "nativeSrc": "3324:63:12", + "nodeType": "YulIf", + "src": "3324:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3271:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3307:5:12", + "nodeType": "YulTypedName", + "src": "3307:5:12", + "type": "" + } + ], + "src": "3271:122:12" + }, + { + "body": { + "nativeSrc": "3462:80:12", + "nodeType": "YulBlock", + "src": "3462:80:12", + "statements": [ + { + "nativeSrc": "3472:22:12", + "nodeType": "YulAssignment", + "src": "3472:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3487:6:12", + "nodeType": "YulIdentifier", + "src": "3487:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3481:5:12", + "nodeType": "YulIdentifier", + "src": "3481:5:12" + }, + "nativeSrc": "3481:13:12", + "nodeType": "YulFunctionCall", + "src": "3481:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3472:5:12", + "nodeType": "YulIdentifier", + "src": "3472:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3530:5:12", + "nodeType": "YulIdentifier", + "src": "3530:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3503:26:12", + "nodeType": "YulIdentifier", + "src": "3503:26:12" + }, + "nativeSrc": "3503:33:12", + "nodeType": "YulFunctionCall", + "src": "3503:33:12" + }, + "nativeSrc": "3503:33:12", + "nodeType": "YulExpressionStatement", + "src": "3503:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3399:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3440:6:12", + "nodeType": "YulTypedName", + "src": "3440:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3448:3:12", + "nodeType": "YulTypedName", + "src": "3448:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3456:5:12", + "nodeType": "YulTypedName", + "src": "3456:5:12", + "type": "" + } + ], + "src": "3399:143:12" + }, + { + "body": { + "nativeSrc": "3607:56:12", + "nodeType": "YulBlock", + "src": "3607:56:12", + "statements": [ + { + "body": { + "nativeSrc": "3641:16:12", + "nodeType": "YulBlock", + "src": "3641:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3650:1:12", + "nodeType": "YulLiteral", + "src": "3650:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3653:1:12", + "nodeType": "YulLiteral", + "src": "3653:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3643:6:12", + "nodeType": "YulIdentifier", + "src": "3643:6:12" + }, + "nativeSrc": "3643:12:12", + "nodeType": "YulFunctionCall", + "src": "3643:12:12" + }, + "nativeSrc": "3643:12:12", + "nodeType": "YulExpressionStatement", + "src": "3643:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3630:5:12", + "nodeType": "YulIdentifier", + "src": "3630:5:12" + }, + { + "kind": "number", + "nativeSrc": "3637:1:12", + "nodeType": "YulLiteral", + "src": "3637:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3627:2:12", + "nodeType": "YulIdentifier", + "src": "3627:2:12" + }, + "nativeSrc": "3627:12:12", + "nodeType": "YulFunctionCall", + "src": "3627:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3620:6:12", + "nodeType": "YulIdentifier", + "src": "3620:6:12" + }, + "nativeSrc": "3620:20:12", + "nodeType": "YulFunctionCall", + "src": "3620:20:12" + }, + "nativeSrc": "3617:40:12", + "nodeType": "YulIf", + "src": "3617:40:12" + } + ] + }, + "name": "validator_revert_t_enum$_AirdropType_$3239", + "nativeSrc": "3548:115:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3600:5:12", + "nodeType": "YulTypedName", + "src": "3600:5:12", + "type": "" + } + ], + "src": "3548:115:12" + }, + { + "body": { + "nativeSrc": "3748:96:12", + "nodeType": "YulBlock", + "src": "3748:96:12", + "statements": [ + { + "nativeSrc": "3758:22:12", + "nodeType": "YulAssignment", + "src": "3758:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3773:6:12", + "nodeType": "YulIdentifier", + "src": "3773:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3767:5:12", + "nodeType": "YulIdentifier", + "src": "3767:5:12" + }, + "nativeSrc": "3767:13:12", + "nodeType": "YulFunctionCall", + "src": "3767:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3758:5:12", + "nodeType": "YulIdentifier", + "src": "3758:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3832:5:12", + "nodeType": "YulIdentifier", + "src": "3832:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_AirdropType_$3239", + "nativeSrc": "3789:42:12", + "nodeType": "YulIdentifier", + "src": "3789:42:12" + }, + "nativeSrc": "3789:49:12", + "nodeType": "YulFunctionCall", + "src": "3789:49:12" + }, + "nativeSrc": "3789:49:12", + "nodeType": "YulExpressionStatement", + "src": "3789:49:12" + } + ] + }, + "name": "abi_decode_t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "3669:175:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3726:6:12", + "nodeType": "YulTypedName", + "src": "3726:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3734:3:12", + "nodeType": "YulTypedName", + "src": "3734:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3742:5:12", + "nodeType": "YulTypedName", + "src": "3742:5:12", + "type": "" + } + ], + "src": "3669:175:12" + }, + { + "body": { + "nativeSrc": "4055:1291:12", + "nodeType": "YulBlock", + "src": "4055:1291:12", + "statements": [ + { + "body": { + "nativeSrc": "4102:83:12", + "nodeType": "YulBlock", + "src": "4102:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "4104:77:12", + "nodeType": "YulIdentifier", + "src": "4104:77:12" + }, + "nativeSrc": "4104:79:12", + "nodeType": "YulFunctionCall", + "src": "4104:79:12" + }, + "nativeSrc": "4104:79:12", + "nodeType": "YulExpressionStatement", + "src": "4104:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4076:7:12", + "nodeType": "YulIdentifier", + "src": "4076:7:12" + }, + { + "name": "headStart", + "nativeSrc": "4085:9:12", + "nodeType": "YulIdentifier", + "src": "4085:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4072:3:12", + "nodeType": "YulIdentifier", + "src": "4072:3:12" + }, + "nativeSrc": "4072:23:12", + "nodeType": "YulFunctionCall", + "src": "4072:23:12" + }, + { + "kind": "number", + "nativeSrc": "4097:3:12", + "nodeType": "YulLiteral", + "src": "4097:3:12", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4068:3:12", + "nodeType": "YulIdentifier", + "src": "4068:3:12" + }, + "nativeSrc": "4068:33:12", + "nodeType": "YulFunctionCall", + "src": "4068:33:12" + }, + "nativeSrc": "4065:120:12", + "nodeType": "YulIf", + "src": "4065:120:12" + }, + { + "nativeSrc": "4195:291:12", + "nodeType": "YulBlock", + "src": "4195:291:12", + "statements": [ + { + "nativeSrc": "4210:38:12", + "nodeType": "YulVariableDeclaration", + "src": "4210:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4234:9:12", + "nodeType": "YulIdentifier", + "src": "4234:9:12" + }, + { + "kind": "number", + "nativeSrc": "4245:1:12", + "nodeType": "YulLiteral", + "src": "4245:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4230:3:12", + "nodeType": "YulIdentifier", + "src": "4230:3:12" + }, + "nativeSrc": "4230:17:12", + "nodeType": "YulFunctionCall", + "src": "4230:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4224:5:12", + "nodeType": "YulIdentifier", + "src": "4224:5:12" + }, + "nativeSrc": "4224:24:12", + "nodeType": "YulFunctionCall", + "src": "4224:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4214:6:12", + "nodeType": "YulTypedName", + "src": "4214:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4295:83:12", + "nodeType": "YulBlock", + "src": "4295:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "4297:77:12", + "nodeType": "YulIdentifier", + "src": "4297:77:12" + }, + "nativeSrc": "4297:79:12", + "nodeType": "YulFunctionCall", + "src": "4297:79:12" + }, + "nativeSrc": "4297:79:12", + "nodeType": "YulExpressionStatement", + "src": "4297:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4267:6:12", + "nodeType": "YulIdentifier", + "src": "4267:6:12" + }, + { + "kind": "number", + "nativeSrc": "4275:18:12", + "nodeType": "YulLiteral", + "src": "4275:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4264:2:12", + "nodeType": "YulIdentifier", + "src": "4264:2:12" + }, + "nativeSrc": "4264:30:12", + "nodeType": "YulFunctionCall", + "src": "4264:30:12" + }, + "nativeSrc": "4261:117:12", + "nodeType": "YulIf", + "src": "4261:117:12" + }, + { + "nativeSrc": "4392:84:12", + "nodeType": "YulAssignment", + "src": "4392:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4448:9:12", + "nodeType": "YulIdentifier", + "src": "4448:9:12" + }, + { + "name": "offset", + "nativeSrc": "4459:6:12", + "nodeType": "YulIdentifier", + "src": "4459:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4444:3:12", + "nodeType": "YulIdentifier", + "src": "4444:3:12" + }, + "nativeSrc": "4444:22:12", + "nodeType": "YulFunctionCall", + "src": "4444:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4468:7:12", + "nodeType": "YulIdentifier", + "src": "4468:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "4402:41:12", + "nodeType": "YulIdentifier", + "src": "4402:41:12" + }, + "nativeSrc": "4402:74:12", + "nodeType": "YulFunctionCall", + "src": "4402:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4392:6:12", + "nodeType": "YulIdentifier", + "src": "4392:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4496:129:12", + "nodeType": "YulBlock", + "src": "4496:129:12", + "statements": [ + { + "nativeSrc": "4511:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4511:16:12", + "value": { + "kind": "number", + "nativeSrc": "4525:2:12", + "nodeType": "YulLiteral", + "src": "4525:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4515:6:12", + "nodeType": "YulTypedName", + "src": "4515:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4541:74:12", + "nodeType": "YulAssignment", + "src": "4541:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4587:9:12", + "nodeType": "YulIdentifier", + "src": "4587:9:12" + }, + { + "name": "offset", + "nativeSrc": "4598:6:12", + "nodeType": "YulIdentifier", + "src": "4598:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4583:3:12", + "nodeType": "YulIdentifier", + "src": "4583:3:12" + }, + "nativeSrc": "4583:22:12", + "nodeType": "YulFunctionCall", + "src": "4583:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4607:7:12", + "nodeType": "YulIdentifier", + "src": "4607:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4551:31:12", + "nodeType": "YulIdentifier", + "src": "4551:31:12" + }, + "nativeSrc": "4551:64:12", + "nodeType": "YulFunctionCall", + "src": "4551:64:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4541:6:12", + "nodeType": "YulIdentifier", + "src": "4541:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4635:129:12", + "nodeType": "YulBlock", + "src": "4635:129:12", + "statements": [ + { + "nativeSrc": "4650:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4650:16:12", + "value": { + "kind": "number", + "nativeSrc": "4664:2:12", + "nodeType": "YulLiteral", + "src": "4664:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4654:6:12", + "nodeType": "YulTypedName", + "src": "4654:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4680:74:12", + "nodeType": "YulAssignment", + "src": "4680:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4726:9:12", + "nodeType": "YulIdentifier", + "src": "4726:9:12" + }, + { + "name": "offset", + "nativeSrc": "4737:6:12", + "nodeType": "YulIdentifier", + "src": "4737:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4722:3:12", + "nodeType": "YulIdentifier", + "src": "4722:3:12" + }, + "nativeSrc": "4722:22:12", + "nodeType": "YulFunctionCall", + "src": "4722:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4746:7:12", + "nodeType": "YulIdentifier", + "src": "4746:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4690:31:12", + "nodeType": "YulIdentifier", + "src": "4690:31:12" + }, + "nativeSrc": "4690:64:12", + "nodeType": "YulFunctionCall", + "src": "4690:64:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4680:6:12", + "nodeType": "YulIdentifier", + "src": "4680:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4774:129:12", + "nodeType": "YulBlock", + "src": "4774:129:12", + "statements": [ + { + "nativeSrc": "4789:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4789:16:12", + "value": { + "kind": "number", + "nativeSrc": "4803:2:12", + "nodeType": "YulLiteral", + "src": "4803:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4793:6:12", + "nodeType": "YulTypedName", + "src": "4793:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4819:74:12", + "nodeType": "YulAssignment", + "src": "4819:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4865:9:12", + "nodeType": "YulIdentifier", + "src": "4865:9:12" + }, + { + "name": "offset", + "nativeSrc": "4876:6:12", + "nodeType": "YulIdentifier", + "src": "4876:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4861:3:12", + "nodeType": "YulIdentifier", + "src": "4861:3:12" + }, + "nativeSrc": "4861:22:12", + "nodeType": "YulFunctionCall", + "src": "4861:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4885:7:12", + "nodeType": "YulIdentifier", + "src": "4885:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4829:31:12", + "nodeType": "YulIdentifier", + "src": "4829:31:12" + }, + "nativeSrc": "4829:64:12", + "nodeType": "YulFunctionCall", + "src": "4829:64:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4819:6:12", + "nodeType": "YulIdentifier", + "src": "4819:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4913:130:12", + "nodeType": "YulBlock", + "src": "4913:130:12", + "statements": [ + { + "nativeSrc": "4928:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4928:17:12", + "value": { + "kind": "number", + "nativeSrc": "4942:3:12", + "nodeType": "YulLiteral", + "src": "4942:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4932:6:12", + "nodeType": "YulTypedName", + "src": "4932:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4959:74:12", + "nodeType": "YulAssignment", + "src": "4959:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5005:9:12", + "nodeType": "YulIdentifier", + "src": "5005:9:12" + }, + { + "name": "offset", + "nativeSrc": "5016:6:12", + "nodeType": "YulIdentifier", + "src": "5016:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5001:3:12", + "nodeType": "YulIdentifier", + "src": "5001:3:12" + }, + "nativeSrc": "5001:22:12", + "nodeType": "YulFunctionCall", + "src": "5001:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5025:7:12", + "nodeType": "YulIdentifier", + "src": "5025:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4969:31:12", + "nodeType": "YulIdentifier", + "src": "4969:31:12" + }, + "nativeSrc": "4969:64:12", + "nodeType": "YulFunctionCall", + "src": "4969:64:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4959:6:12", + "nodeType": "YulIdentifier", + "src": "4959:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5053:130:12", + "nodeType": "YulBlock", + "src": "5053:130:12", + "statements": [ + { + "nativeSrc": "5068:17:12", + "nodeType": "YulVariableDeclaration", + "src": "5068:17:12", + "value": { + "kind": "number", + "nativeSrc": "5082:3:12", + "nodeType": "YulLiteral", + "src": "5082:3:12", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5072:6:12", + "nodeType": "YulTypedName", + "src": "5072:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5099:74:12", + "nodeType": "YulAssignment", + "src": "5099:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5145:9:12", + "nodeType": "YulIdentifier", + "src": "5145:9:12" + }, + { + "name": "offset", + "nativeSrc": "5156:6:12", + "nodeType": "YulIdentifier", + "src": "5156:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5141:3:12", + "nodeType": "YulIdentifier", + "src": "5141:3:12" + }, + "nativeSrc": "5141:22:12", + "nodeType": "YulFunctionCall", + "src": "5141:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5165:7:12", + "nodeType": "YulIdentifier", + "src": "5165:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "5109:31:12", + "nodeType": "YulIdentifier", + "src": "5109:31:12" + }, + "nativeSrc": "5109:64:12", + "nodeType": "YulFunctionCall", + "src": "5109:64:12" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "5099:6:12", + "nodeType": "YulIdentifier", + "src": "5099:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5193:146:12", + "nodeType": "YulBlock", + "src": "5193:146:12", + "statements": [ + { + "nativeSrc": "5208:17:12", + "nodeType": "YulVariableDeclaration", + "src": "5208:17:12", + "value": { + "kind": "number", + "nativeSrc": "5222:3:12", + "nodeType": "YulLiteral", + "src": "5222:3:12", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5212:6:12", + "nodeType": "YulTypedName", + "src": "5212:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5239:90:12", + "nodeType": "YulAssignment", + "src": "5239:90:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5301:9:12", + "nodeType": "YulIdentifier", + "src": "5301:9:12" + }, + { + "name": "offset", + "nativeSrc": "5312:6:12", + "nodeType": "YulIdentifier", + "src": "5312:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5297:3:12", + "nodeType": "YulIdentifier", + "src": "5297:3:12" + }, + "nativeSrc": "5297:22:12", + "nodeType": "YulFunctionCall", + "src": "5297:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5321:7:12", + "nodeType": "YulIdentifier", + "src": "5321:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "5249:47:12", + "nodeType": "YulIdentifier", + "src": "5249:47:12" + }, + "nativeSrc": "5249:80:12", + "nodeType": "YulFunctionCall", + "src": "5249:80:12" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "5239:6:12", + "nodeType": "YulIdentifier", + "src": "5239:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_enum$_AirdropType_$3239_fromMemory", + "nativeSrc": "3850:1496:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3977:9:12", + "nodeType": "YulTypedName", + "src": "3977:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3988:7:12", + "nodeType": "YulTypedName", + "src": "3988:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4000:6:12", + "nodeType": "YulTypedName", + "src": "4000:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4008:6:12", + "nodeType": "YulTypedName", + "src": "4008:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "4016:6:12", + "nodeType": "YulTypedName", + "src": "4016:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "4024:6:12", + "nodeType": "YulTypedName", + "src": "4024:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "4032:6:12", + "nodeType": "YulTypedName", + "src": "4032:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "4040:6:12", + "nodeType": "YulTypedName", + "src": "4040:6:12", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "4048:6:12", + "nodeType": "YulTypedName", + "src": "4048:6:12", + "type": "" + } + ], + "src": "3850:1496:12" + }, + { + "body": { + "nativeSrc": "5417:53:12", + "nodeType": "YulBlock", + "src": "5417:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5434:3:12", + "nodeType": "YulIdentifier", + "src": "5434:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5457:5:12", + "nodeType": "YulIdentifier", + "src": "5457:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5439:17:12", + "nodeType": "YulIdentifier", + "src": "5439:17:12" + }, + "nativeSrc": "5439:24:12", + "nodeType": "YulFunctionCall", + "src": "5439:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5427:6:12", + "nodeType": "YulIdentifier", + "src": "5427:6:12" + }, + "nativeSrc": "5427:37:12", + "nodeType": "YulFunctionCall", + "src": "5427:37:12" + }, + "nativeSrc": "5427:37:12", + "nodeType": "YulExpressionStatement", + "src": "5427:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5352:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5405:5:12", + "nodeType": "YulTypedName", + "src": "5405:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5412:3:12", + "nodeType": "YulTypedName", + "src": "5412:3:12", + "type": "" + } + ], + "src": "5352:118:12" + }, + { + "body": { + "nativeSrc": "5574:124:12", + "nodeType": "YulBlock", + "src": "5574:124:12", + "statements": [ + { + "nativeSrc": "5584:26:12", + "nodeType": "YulAssignment", + "src": "5584:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5596:9:12", + "nodeType": "YulIdentifier", + "src": "5596:9:12" + }, + { + "kind": "number", + "nativeSrc": "5607:2:12", + "nodeType": "YulLiteral", + "src": "5607:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5592:3:12", + "nodeType": "YulIdentifier", + "src": "5592:3:12" + }, + "nativeSrc": "5592:18:12", + "nodeType": "YulFunctionCall", + "src": "5592:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5584:4:12", + "nodeType": "YulIdentifier", + "src": "5584:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5664:6:12", + "nodeType": "YulIdentifier", + "src": "5664:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5677:9:12", + "nodeType": "YulIdentifier", + "src": "5677:9:12" + }, + { + "kind": "number", + "nativeSrc": "5688:1:12", + "nodeType": "YulLiteral", + "src": "5688:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5673:3:12", + "nodeType": "YulIdentifier", + "src": "5673:3:12" + }, + "nativeSrc": "5673:17:12", + "nodeType": "YulFunctionCall", + "src": "5673:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5620:43:12", + "nodeType": "YulIdentifier", + "src": "5620:43:12" + }, + "nativeSrc": "5620:71:12", + "nodeType": "YulFunctionCall", + "src": "5620:71:12" + }, + "nativeSrc": "5620:71:12", + "nodeType": "YulExpressionStatement", + "src": "5620:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "5476:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5546:9:12", + "nodeType": "YulTypedName", + "src": "5546:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5558:6:12", + "nodeType": "YulTypedName", + "src": "5558:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5569:4:12", + "nodeType": "YulTypedName", + "src": "5569:4:12", + "type": "" + } + ], + "src": "5476:222:12" + }, + { + "body": { + "nativeSrc": "5763:40:12", + "nodeType": "YulBlock", + "src": "5763:40:12", + "statements": [ + { + "nativeSrc": "5774:22:12", + "nodeType": "YulAssignment", + "src": "5774:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5790:5:12", + "nodeType": "YulIdentifier", + "src": "5790:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5784:5:12", + "nodeType": "YulIdentifier", + "src": "5784:5:12" + }, + "nativeSrc": "5784:12:12", + "nodeType": "YulFunctionCall", + "src": "5784:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5774:6:12", + "nodeType": "YulIdentifier", + "src": "5774:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5704:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5746:5:12", + "nodeType": "YulTypedName", + "src": "5746:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5756:6:12", + "nodeType": "YulTypedName", + "src": "5756:6:12", + "type": "" + } + ], + "src": "5704:99:12" + }, + { + "body": { + "nativeSrc": "5837:152:12", + "nodeType": "YulBlock", + "src": "5837:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5854:1:12", + "nodeType": "YulLiteral", + "src": "5854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5857:77:12", + "nodeType": "YulLiteral", + "src": "5857:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5847:6:12", + "nodeType": "YulIdentifier", + "src": "5847:6:12" + }, + "nativeSrc": "5847:88:12", + "nodeType": "YulFunctionCall", + "src": "5847:88:12" + }, + "nativeSrc": "5847:88:12", + "nodeType": "YulExpressionStatement", + "src": "5847:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5951:1:12", + "nodeType": "YulLiteral", + "src": "5951:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5954:4:12", + "nodeType": "YulLiteral", + "src": "5954:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5944:6:12", + "nodeType": "YulIdentifier", + "src": "5944:6:12" + }, + "nativeSrc": "5944:15:12", + "nodeType": "YulFunctionCall", + "src": "5944:15:12" + }, + "nativeSrc": "5944:15:12", + "nodeType": "YulExpressionStatement", + "src": "5944:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5975:1:12", + "nodeType": "YulLiteral", + "src": "5975:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5978:4:12", + "nodeType": "YulLiteral", + "src": "5978:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5968:6:12", + "nodeType": "YulIdentifier", + "src": "5968:6:12" + }, + "nativeSrc": "5968:15:12", + "nodeType": "YulFunctionCall", + "src": "5968:15:12" + }, + "nativeSrc": "5968:15:12", + "nodeType": "YulExpressionStatement", + "src": "5968:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "5809:180:12", + "nodeType": "YulFunctionDefinition", + "src": "5809:180:12" + }, + { + "body": { + "nativeSrc": "6046:269:12", + "nodeType": "YulBlock", + "src": "6046:269:12", + "statements": [ + { + "nativeSrc": "6056:22:12", + "nodeType": "YulAssignment", + "src": "6056:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6070:4:12", + "nodeType": "YulIdentifier", + "src": "6070:4:12" + }, + { + "kind": "number", + "nativeSrc": "6076:1:12", + "nodeType": "YulLiteral", + "src": "6076:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6066:3:12", + "nodeType": "YulIdentifier", + "src": "6066:3:12" + }, + "nativeSrc": "6066:12:12", + "nodeType": "YulFunctionCall", + "src": "6066:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6056:6:12", + "nodeType": "YulIdentifier", + "src": "6056:6:12" + } + ] + }, + { + "nativeSrc": "6087:38:12", + "nodeType": "YulVariableDeclaration", + "src": "6087:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6117:4:12", + "nodeType": "YulIdentifier", + "src": "6117:4:12" + }, + { + "kind": "number", + "nativeSrc": "6123:1:12", + "nodeType": "YulLiteral", + "src": "6123:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6113:3:12", + "nodeType": "YulIdentifier", + "src": "6113:3:12" + }, + "nativeSrc": "6113:12:12", + "nodeType": "YulFunctionCall", + "src": "6113:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6091:18:12", + "nodeType": "YulTypedName", + "src": "6091:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6164:51:12", + "nodeType": "YulBlock", + "src": "6164:51:12", + "statements": [ + { + "nativeSrc": "6178:27:12", + "nodeType": "YulAssignment", + "src": "6178:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6192:6:12", + "nodeType": "YulIdentifier", + "src": "6192:6:12" + }, + { + "kind": "number", + "nativeSrc": "6200:4:12", + "nodeType": "YulLiteral", + "src": "6200:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6188:3:12", + "nodeType": "YulIdentifier", + "src": "6188:3:12" + }, + "nativeSrc": "6188:17:12", + "nodeType": "YulFunctionCall", + "src": "6188:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6178:6:12", + "nodeType": "YulIdentifier", + "src": "6178:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6144:18:12", + "nodeType": "YulIdentifier", + "src": "6144:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6137:6:12", + "nodeType": "YulIdentifier", + "src": "6137:6:12" + }, + "nativeSrc": "6137:26:12", + "nodeType": "YulFunctionCall", + "src": "6137:26:12" + }, + "nativeSrc": "6134:81:12", + "nodeType": "YulIf", + "src": "6134:81:12" + }, + { + "body": { + "nativeSrc": "6267:42:12", + "nodeType": "YulBlock", + "src": "6267:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "6281:16:12", + "nodeType": "YulIdentifier", + "src": "6281:16:12" + }, + "nativeSrc": "6281:18:12", + "nodeType": "YulFunctionCall", + "src": "6281:18:12" + }, + "nativeSrc": "6281:18:12", + "nodeType": "YulExpressionStatement", + "src": "6281:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6231:18:12", + "nodeType": "YulIdentifier", + "src": "6231:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6254:6:12", + "nodeType": "YulIdentifier", + "src": "6254:6:12" + }, + { + "kind": "number", + "nativeSrc": "6262:2:12", + "nodeType": "YulLiteral", + "src": "6262:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6251:2:12", + "nodeType": "YulIdentifier", + "src": "6251:2:12" + }, + "nativeSrc": "6251:14:12", + "nodeType": "YulFunctionCall", + "src": "6251:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6228:2:12", + "nodeType": "YulIdentifier", + "src": "6228:2:12" + }, + "nativeSrc": "6228:38:12", + "nodeType": "YulFunctionCall", + "src": "6228:38:12" + }, + "nativeSrc": "6225:84:12", + "nodeType": "YulIf", + "src": "6225:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "5995:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "6030:4:12", + "nodeType": "YulTypedName", + "src": "6030:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "6039:6:12", + "nodeType": "YulTypedName", + "src": "6039:6:12", + "type": "" + } + ], + "src": "5995:320:12" + }, + { + "body": { + "nativeSrc": "6375:87:12", + "nodeType": "YulBlock", + "src": "6375:87:12", + "statements": [ + { + "nativeSrc": "6385:11:12", + "nodeType": "YulAssignment", + "src": "6385:11:12", + "value": { + "name": "ptr", + "nativeSrc": "6393:3:12", + "nodeType": "YulIdentifier", + "src": "6393:3:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6385:4:12", + "nodeType": "YulIdentifier", + "src": "6385:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6413:1:12", + "nodeType": "YulLiteral", + "src": "6413:1:12", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "6416:3:12", + "nodeType": "YulIdentifier", + "src": "6416:3:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6406:6:12", + "nodeType": "YulIdentifier", + "src": "6406:6:12" + }, + "nativeSrc": "6406:14:12", + "nodeType": "YulFunctionCall", + "src": "6406:14:12" + }, + "nativeSrc": "6406:14:12", + "nodeType": "YulExpressionStatement", + "src": "6406:14:12" + }, + { + "nativeSrc": "6429:26:12", + "nodeType": "YulAssignment", + "src": "6429:26:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6447:1:12", + "nodeType": "YulLiteral", + "src": "6447:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6450:4:12", + "nodeType": "YulLiteral", + "src": "6450:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "6437:9:12", + "nodeType": "YulIdentifier", + "src": "6437:9:12" + }, + "nativeSrc": "6437:18:12", + "nodeType": "YulFunctionCall", + "src": "6437:18:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6429:4:12", + "nodeType": "YulIdentifier", + "src": "6429:4:12" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "6321:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "6362:3:12", + "nodeType": "YulTypedName", + "src": "6362:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "6370:4:12", + "nodeType": "YulTypedName", + "src": "6370:4:12", + "type": "" + } + ], + "src": "6321:141:12" + }, + { + "body": { + "nativeSrc": "6512:49:12", + "nodeType": "YulBlock", + "src": "6512:49:12", + "statements": [ + { + "nativeSrc": "6522:33:12", + "nodeType": "YulAssignment", + "src": "6522:33:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6540:5:12", + "nodeType": "YulIdentifier", + "src": "6540:5:12" + }, + { + "kind": "number", + "nativeSrc": "6547:2:12", + "nodeType": "YulLiteral", + "src": "6547:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6536:3:12", + "nodeType": "YulIdentifier", + "src": "6536:3:12" + }, + "nativeSrc": "6536:14:12", + "nodeType": "YulFunctionCall", + "src": "6536:14:12" + }, + { + "kind": "number", + "nativeSrc": "6552:2:12", + "nodeType": "YulLiteral", + "src": "6552:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6532:3:12", + "nodeType": "YulIdentifier", + "src": "6532:3:12" + }, + "nativeSrc": "6532:23:12", + "nodeType": "YulFunctionCall", + "src": "6532:23:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6522:6:12", + "nodeType": "YulIdentifier", + "src": "6522:6:12" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "6468:93:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6495:5:12", + "nodeType": "YulTypedName", + "src": "6495:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6505:6:12", + "nodeType": "YulTypedName", + "src": "6505:6:12", + "type": "" + } + ], + "src": "6468:93:12" + }, + { + "body": { + "nativeSrc": "6620:54:12", + "nodeType": "YulBlock", + "src": "6620:54:12", + "statements": [ + { + "nativeSrc": "6630:37:12", + "nodeType": "YulAssignment", + "src": "6630:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6655:4:12", + "nodeType": "YulIdentifier", + "src": "6655:4:12" + }, + { + "name": "value", + "nativeSrc": "6661:5:12", + "nodeType": "YulIdentifier", + "src": "6661:5:12" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6651:3:12", + "nodeType": "YulIdentifier", + "src": "6651:3:12" + }, + "nativeSrc": "6651:16:12", + "nodeType": "YulFunctionCall", + "src": "6651:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6630:8:12", + "nodeType": "YulIdentifier", + "src": "6630:8:12" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "6567:107:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6595:4:12", + "nodeType": "YulTypedName", + "src": "6595:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6601:5:12", + "nodeType": "YulTypedName", + "src": "6601:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6611:8:12", + "nodeType": "YulTypedName", + "src": "6611:8:12", + "type": "" + } + ], + "src": "6567:107:12" + }, + { + "body": { + "nativeSrc": "6756:317:12", + "nodeType": "YulBlock", + "src": "6756:317:12", + "statements": [ + { + "nativeSrc": "6766:35:12", + "nodeType": "YulVariableDeclaration", + "src": "6766:35:12", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "6787:10:12", + "nodeType": "YulIdentifier", + "src": "6787:10:12" + }, + { + "kind": "number", + "nativeSrc": "6799:1:12", + "nodeType": "YulLiteral", + "src": "6799:1:12", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6783:3:12", + "nodeType": "YulIdentifier", + "src": "6783:3:12" + }, + "nativeSrc": "6783:18:12", + "nodeType": "YulFunctionCall", + "src": "6783:18:12" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "6770:9:12", + "nodeType": "YulTypedName", + "src": "6770:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6810:109:12", + "nodeType": "YulVariableDeclaration", + "src": "6810:109:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6841:9:12", + "nodeType": "YulIdentifier", + "src": "6841:9:12" + }, + { + "kind": "number", + "nativeSrc": "6852:66:12", + "nodeType": "YulLiteral", + "src": "6852:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6822:18:12", + "nodeType": "YulIdentifier", + "src": "6822:18:12" + }, + "nativeSrc": "6822:97:12", + "nodeType": "YulFunctionCall", + "src": "6822:97:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6814:4:12", + "nodeType": "YulTypedName", + "src": "6814:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6928:51:12", + "nodeType": "YulAssignment", + "src": "6928:51:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6959:9:12", + "nodeType": "YulIdentifier", + "src": "6959:9:12" + }, + { + "name": "toInsert", + "nativeSrc": "6970:8:12", + "nodeType": "YulIdentifier", + "src": "6970:8:12" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6940:18:12", + "nodeType": "YulIdentifier", + "src": "6940:18:12" + }, + "nativeSrc": "6940:39:12", + "nodeType": "YulFunctionCall", + "src": "6940:39:12" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "6928:8:12", + "nodeType": "YulIdentifier", + "src": "6928:8:12" + } + ] + }, + { + "nativeSrc": "6988:30:12", + "nodeType": "YulAssignment", + "src": "6988:30:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7001:5:12", + "nodeType": "YulIdentifier", + "src": "7001:5:12" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "7012:4:12", + "nodeType": "YulIdentifier", + "src": "7012:4:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7008:3:12", + "nodeType": "YulIdentifier", + "src": "7008:3:12" + }, + "nativeSrc": "7008:9:12", + "nodeType": "YulFunctionCall", + "src": "7008:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6997:3:12", + "nodeType": "YulIdentifier", + "src": "6997:3:12" + }, + "nativeSrc": "6997:21:12", + "nodeType": "YulFunctionCall", + "src": "6997:21:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6988:5:12", + "nodeType": "YulIdentifier", + "src": "6988:5:12" + } + ] + }, + { + "nativeSrc": "7027:40:12", + "nodeType": "YulAssignment", + "src": "7027:40:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7040:5:12", + "nodeType": "YulIdentifier", + "src": "7040:5:12" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "7051:8:12", + "nodeType": "YulIdentifier", + "src": "7051:8:12" + }, + { + "name": "mask", + "nativeSrc": "7061:4:12", + "nodeType": "YulIdentifier", + "src": "7061:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7047:3:12", + "nodeType": "YulIdentifier", + "src": "7047:3:12" + }, + "nativeSrc": "7047:19:12", + "nodeType": "YulFunctionCall", + "src": "7047:19:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7037:2:12", + "nodeType": "YulIdentifier", + "src": "7037:2:12" + }, + "nativeSrc": "7037:30:12", + "nodeType": "YulFunctionCall", + "src": "7037:30:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "7027:6:12", + "nodeType": "YulIdentifier", + "src": "7027:6:12" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "6680:393:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6717:5:12", + "nodeType": "YulTypedName", + "src": "6717:5:12", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "6724:10:12", + "nodeType": "YulTypedName", + "src": "6724:10:12", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "6736:8:12", + "nodeType": "YulTypedName", + "src": "6736:8:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6749:6:12", + "nodeType": "YulTypedName", + "src": "6749:6:12", + "type": "" + } + ], + "src": "6680:393:12" + }, + { + "body": { + "nativeSrc": "7111:28:12", + "nodeType": "YulBlock", + "src": "7111:28:12", + "statements": [ + { + "nativeSrc": "7121:12:12", + "nodeType": "YulAssignment", + "src": "7121:12:12", + "value": { + "name": "value", + "nativeSrc": "7128:5:12", + "nodeType": "YulIdentifier", + "src": "7128:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7121:3:12", + "nodeType": "YulIdentifier", + "src": "7121:3:12" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "7079:60:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7097:5:12", + "nodeType": "YulTypedName", + "src": "7097:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7107:3:12", + "nodeType": "YulTypedName", + "src": "7107:3:12", + "type": "" + } + ], + "src": "7079:60:12" + }, + { + "body": { + "nativeSrc": "7205:82:12", + "nodeType": "YulBlock", + "src": "7205:82:12", + "statements": [ + { + "nativeSrc": "7215:66:12", + "nodeType": "YulAssignment", + "src": "7215:66:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7273:5:12", + "nodeType": "YulIdentifier", + "src": "7273:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7255:17:12", + "nodeType": "YulIdentifier", + "src": "7255:17:12" + }, + "nativeSrc": "7255:24:12", + "nodeType": "YulFunctionCall", + "src": "7255:24:12" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "7246:8:12", + "nodeType": "YulIdentifier", + "src": "7246:8:12" + }, + "nativeSrc": "7246:34:12", + "nodeType": "YulFunctionCall", + "src": "7246:34:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7228:17:12", + "nodeType": "YulIdentifier", + "src": "7228:17:12" + }, + "nativeSrc": "7228:53:12", + "nodeType": "YulFunctionCall", + "src": "7228:53:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7215:9:12", + "nodeType": "YulIdentifier", + "src": "7215:9:12" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7145:142:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7185:5:12", + "nodeType": "YulTypedName", + "src": "7185:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7195:9:12", + "nodeType": "YulTypedName", + "src": "7195:9:12", + "type": "" + } + ], + "src": "7145:142:12" + }, + { + "body": { + "nativeSrc": "7340:28:12", + "nodeType": "YulBlock", + "src": "7340:28:12", + "statements": [ + { + "nativeSrc": "7350:12:12", + "nodeType": "YulAssignment", + "src": "7350:12:12", + "value": { + "name": "value", + "nativeSrc": "7357:5:12", + "nodeType": "YulIdentifier", + "src": "7357:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7350:3:12", + "nodeType": "YulIdentifier", + "src": "7350:3:12" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "7293:75:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7326:5:12", + "nodeType": "YulTypedName", + "src": "7326:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7336:3:12", + "nodeType": "YulTypedName", + "src": "7336:3:12", + "type": "" + } + ], + "src": "7293:75:12" + }, + { + "body": { + "nativeSrc": "7450:193:12", + "nodeType": "YulBlock", + "src": "7450:193:12", + "statements": [ + { + "nativeSrc": "7460:63:12", + "nodeType": "YulVariableDeclaration", + "src": "7460:63:12", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "7515:7:12", + "nodeType": "YulIdentifier", + "src": "7515:7:12" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7484:30:12", + "nodeType": "YulIdentifier", + "src": "7484:30:12" + }, + "nativeSrc": "7484:39:12", + "nodeType": "YulFunctionCall", + "src": "7484:39:12" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "7464:16:12", + "nodeType": "YulTypedName", + "src": "7464:16:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7539:4:12", + "nodeType": "YulIdentifier", + "src": "7539:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7579:4:12", + "nodeType": "YulIdentifier", + "src": "7579:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7573:5:12", + "nodeType": "YulIdentifier", + "src": "7573:5:12" + }, + "nativeSrc": "7573:11:12", + "nodeType": "YulFunctionCall", + "src": "7573:11:12" + }, + { + "name": "offset", + "nativeSrc": "7586:6:12", + "nodeType": "YulIdentifier", + "src": "7586:6:12" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "7618:16:12", + "nodeType": "YulIdentifier", + "src": "7618:16:12" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "7594:23:12", + "nodeType": "YulIdentifier", + "src": "7594:23:12" + }, + "nativeSrc": "7594:41:12", + "nodeType": "YulFunctionCall", + "src": "7594:41:12" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "7545:27:12", + "nodeType": "YulIdentifier", + "src": "7545:27:12" + }, + "nativeSrc": "7545:91:12", + "nodeType": "YulFunctionCall", + "src": "7545:91:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7532:6:12", + "nodeType": "YulIdentifier", + "src": "7532:6:12" + }, + "nativeSrc": "7532:105:12", + "nodeType": "YulFunctionCall", + "src": "7532:105:12" + }, + "nativeSrc": "7532:105:12", + "nodeType": "YulExpressionStatement", + "src": "7532:105:12" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7374:269:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7427:4:12", + "nodeType": "YulTypedName", + "src": "7427:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7433:6:12", + "nodeType": "YulTypedName", + "src": "7433:6:12", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "7441:7:12", + "nodeType": "YulTypedName", + "src": "7441:7:12", + "type": "" + } + ], + "src": "7374:269:12" + }, + { + "body": { + "nativeSrc": "7698:24:12", + "nodeType": "YulBlock", + "src": "7698:24:12", + "statements": [ + { + "nativeSrc": "7708:8:12", + "nodeType": "YulAssignment", + "src": "7708:8:12", + "value": { + "kind": "number", + "nativeSrc": "7715:1:12", + "nodeType": "YulLiteral", + "src": "7715:1:12", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7708:3:12", + "nodeType": "YulIdentifier", + "src": "7708:3:12" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7649:73:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7694:3:12", + "nodeType": "YulTypedName", + "src": "7694:3:12", + "type": "" + } + ], + "src": "7649:73:12" + }, + { + "body": { + "nativeSrc": "7781:136:12", + "nodeType": "YulBlock", + "src": "7781:136:12", + "statements": [ + { + "nativeSrc": "7791:46:12", + "nodeType": "YulVariableDeclaration", + "src": "7791:46:12", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7805:30:12", + "nodeType": "YulIdentifier", + "src": "7805:30:12" + }, + "nativeSrc": "7805:32:12", + "nodeType": "YulFunctionCall", + "src": "7805:32:12" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "7795:6:12", + "nodeType": "YulTypedName", + "src": "7795:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7890:4:12", + "nodeType": "YulIdentifier", + "src": "7890:4:12" + }, + { + "name": "offset", + "nativeSrc": "7896:6:12", + "nodeType": "YulIdentifier", + "src": "7896:6:12" + }, + { + "name": "zero_0", + "nativeSrc": "7904:6:12", + "nodeType": "YulIdentifier", + "src": "7904:6:12" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7846:43:12", + "nodeType": "YulIdentifier", + "src": "7846:43:12" + }, + "nativeSrc": "7846:65:12", + "nodeType": "YulFunctionCall", + "src": "7846:65:12" + }, + "nativeSrc": "7846:65:12", + "nodeType": "YulExpressionStatement", + "src": "7846:65:12" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7728:189:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7767:4:12", + "nodeType": "YulTypedName", + "src": "7767:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7773:6:12", + "nodeType": "YulTypedName", + "src": "7773:6:12", + "type": "" + } + ], + "src": "7728:189:12" + }, + { + "body": { + "nativeSrc": "7973:136:12", + "nodeType": "YulBlock", + "src": "7973:136:12", + "statements": [ + { + "body": { + "nativeSrc": "8040:63:12", + "nodeType": "YulBlock", + "src": "8040:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8084:5:12", + "nodeType": "YulIdentifier", + "src": "8084:5:12" + }, + { + "kind": "number", + "nativeSrc": "8091:1:12", + "nodeType": "YulLiteral", + "src": "8091:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "8054:29:12", + "nodeType": "YulIdentifier", + "src": "8054:29:12" + }, + "nativeSrc": "8054:39:12", + "nodeType": "YulFunctionCall", + "src": "8054:39:12" + }, + "nativeSrc": "8054:39:12", + "nodeType": "YulExpressionStatement", + "src": "8054:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7993:5:12", + "nodeType": "YulIdentifier", + "src": "7993:5:12" + }, + { + "name": "end", + "nativeSrc": "8000:3:12", + "nodeType": "YulIdentifier", + "src": "8000:3:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7990:2:12", + "nodeType": "YulIdentifier", + "src": "7990:2:12" + }, + "nativeSrc": "7990:14:12", + "nodeType": "YulFunctionCall", + "src": "7990:14:12" + }, + "nativeSrc": "7983:120:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8005:26:12", + "nodeType": "YulBlock", + "src": "8005:26:12", + "statements": [ + { + "nativeSrc": "8007:22:12", + "nodeType": "YulAssignment", + "src": "8007:22:12", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8020:5:12", + "nodeType": "YulIdentifier", + "src": "8020:5:12" + }, + { + "kind": "number", + "nativeSrc": "8027:1:12", + "nodeType": "YulLiteral", + "src": "8027:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8016:3:12", + "nodeType": "YulIdentifier", + "src": "8016:3:12" + }, + "nativeSrc": "8016:13:12", + "nodeType": "YulFunctionCall", + "src": "8016:13:12" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "8007:5:12", + "nodeType": "YulIdentifier", + "src": "8007:5:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7987:2:12", + "nodeType": "YulBlock", + "src": "7987:2:12", + "statements": [] + }, + "src": "7983:120:12" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "7923:186:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "7961:5:12", + "nodeType": "YulTypedName", + "src": "7961:5:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "7968:3:12", + "nodeType": "YulTypedName", + "src": "7968:3:12", + "type": "" + } + ], + "src": "7923:186:12" + }, + { + "body": { + "nativeSrc": "8194:464:12", + "nodeType": "YulBlock", + "src": "8194:464:12", + "statements": [ + { + "body": { + "nativeSrc": "8220:431:12", + "nodeType": "YulBlock", + "src": "8220:431:12", + "statements": [ + { + "nativeSrc": "8234:54:12", + "nodeType": "YulVariableDeclaration", + "src": "8234:54:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8282:5:12", + "nodeType": "YulIdentifier", + "src": "8282:5:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "8250:31:12", + "nodeType": "YulIdentifier", + "src": "8250:31:12" + }, + "nativeSrc": "8250:38:12", + "nodeType": "YulFunctionCall", + "src": "8250:38:12" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "8238:8:12", + "nodeType": "YulTypedName", + "src": "8238:8:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8301:63:12", + "nodeType": "YulVariableDeclaration", + "src": "8301:63:12", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8324:8:12", + "nodeType": "YulIdentifier", + "src": "8324:8:12" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8352:10:12", + "nodeType": "YulIdentifier", + "src": "8352:10:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8334:17:12", + "nodeType": "YulIdentifier", + "src": "8334:17:12" + }, + "nativeSrc": "8334:29:12", + "nodeType": "YulFunctionCall", + "src": "8334:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8320:3:12", + "nodeType": "YulIdentifier", + "src": "8320:3:12" + }, + "nativeSrc": "8320:44:12", + "nodeType": "YulFunctionCall", + "src": "8320:44:12" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "8305:11:12", + "nodeType": "YulTypedName", + "src": "8305:11:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8521:27:12", + "nodeType": "YulBlock", + "src": "8521:27:12", + "statements": [ + { + "nativeSrc": "8523:23:12", + "nodeType": "YulAssignment", + "src": "8523:23:12", + "value": { + "name": "dataArea", + "nativeSrc": "8538:8:12", + "nodeType": "YulIdentifier", + "src": "8538:8:12" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "8523:11:12", + "nodeType": "YulIdentifier", + "src": "8523:11:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8505:10:12", + "nodeType": "YulIdentifier", + "src": "8505:10:12" + }, + { + "kind": "number", + "nativeSrc": "8517:2:12", + "nodeType": "YulLiteral", + "src": "8517:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8502:2:12", + "nodeType": "YulIdentifier", + "src": "8502:2:12" + }, + "nativeSrc": "8502:18:12", + "nodeType": "YulFunctionCall", + "src": "8502:18:12" + }, + "nativeSrc": "8499:49:12", + "nodeType": "YulIf", + "src": "8499:49:12" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "8590:11:12", + "nodeType": "YulIdentifier", + "src": "8590:11:12" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8607:8:12", + "nodeType": "YulIdentifier", + "src": "8607:8:12" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "8635:3:12", + "nodeType": "YulIdentifier", + "src": "8635:3:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8617:17:12", + "nodeType": "YulIdentifier", + "src": "8617:17:12" + }, + "nativeSrc": "8617:22:12", + "nodeType": "YulFunctionCall", + "src": "8617:22:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8603:3:12", + "nodeType": "YulIdentifier", + "src": "8603:3:12" + }, + "nativeSrc": "8603:37:12", + "nodeType": "YulFunctionCall", + "src": "8603:37:12" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8561:28:12", + "nodeType": "YulIdentifier", + "src": "8561:28:12" + }, + "nativeSrc": "8561:80:12", + "nodeType": "YulFunctionCall", + "src": "8561:80:12" + }, + "nativeSrc": "8561:80:12", + "nodeType": "YulExpressionStatement", + "src": "8561:80:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "8211:3:12", + "nodeType": "YulIdentifier", + "src": "8211:3:12" + }, + { + "kind": "number", + "nativeSrc": "8216:2:12", + "nodeType": "YulLiteral", + "src": "8216:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8208:2:12", + "nodeType": "YulIdentifier", + "src": "8208:2:12" + }, + "nativeSrc": "8208:11:12", + "nodeType": "YulFunctionCall", + "src": "8208:11:12" + }, + "nativeSrc": "8205:446:12", + "nodeType": "YulIf", + "src": "8205:446:12" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "8115:543:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "8170:5:12", + "nodeType": "YulTypedName", + "src": "8170:5:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "8177:3:12", + "nodeType": "YulTypedName", + "src": "8177:3:12", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "8182:10:12", + "nodeType": "YulTypedName", + "src": "8182:10:12", + "type": "" + } + ], + "src": "8115:543:12" + }, + { + "body": { + "nativeSrc": "8727:54:12", + "nodeType": "YulBlock", + "src": "8727:54:12", + "statements": [ + { + "nativeSrc": "8737:37:12", + "nodeType": "YulAssignment", + "src": "8737:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "8762:4:12", + "nodeType": "YulIdentifier", + "src": "8762:4:12" + }, + { + "name": "value", + "nativeSrc": "8768:5:12", + "nodeType": "YulIdentifier", + "src": "8768:5:12" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8758:3:12", + "nodeType": "YulIdentifier", + "src": "8758:3:12" + }, + "nativeSrc": "8758:16:12", + "nodeType": "YulFunctionCall", + "src": "8758:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "8737:8:12", + "nodeType": "YulIdentifier", + "src": "8737:8:12" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8664:117:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "8702:4:12", + "nodeType": "YulTypedName", + "src": "8702:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "8708:5:12", + "nodeType": "YulTypedName", + "src": "8708:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "8718:8:12", + "nodeType": "YulTypedName", + "src": "8718:8:12", + "type": "" + } + ], + "src": "8664:117:12" + }, + { + "body": { + "nativeSrc": "8838:118:12", + "nodeType": "YulBlock", + "src": "8838:118:12", + "statements": [ + { + "nativeSrc": "8848:68:12", + "nodeType": "YulVariableDeclaration", + "src": "8848:68:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8897:1:12", + "nodeType": "YulLiteral", + "src": "8897:1:12", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "8900:5:12", + "nodeType": "YulIdentifier", + "src": "8900:5:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8893:3:12", + "nodeType": "YulIdentifier", + "src": "8893:3:12" + }, + "nativeSrc": "8893:13:12", + "nodeType": "YulFunctionCall", + "src": "8893:13:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8912:1:12", + "nodeType": "YulLiteral", + "src": "8912:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8908:3:12", + "nodeType": "YulIdentifier", + "src": "8908:3:12" + }, + "nativeSrc": "8908:6:12", + "nodeType": "YulFunctionCall", + "src": "8908:6:12" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8864:28:12", + "nodeType": "YulIdentifier", + "src": "8864:28:12" + }, + "nativeSrc": "8864:51:12", + "nodeType": "YulFunctionCall", + "src": "8864:51:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8860:3:12", + "nodeType": "YulIdentifier", + "src": "8860:3:12" + }, + "nativeSrc": "8860:56:12", + "nodeType": "YulFunctionCall", + "src": "8860:56:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "8852:4:12", + "nodeType": "YulTypedName", + "src": "8852:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8925:25:12", + "nodeType": "YulAssignment", + "src": "8925:25:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8939:4:12", + "nodeType": "YulIdentifier", + "src": "8939:4:12" + }, + { + "name": "mask", + "nativeSrc": "8945:4:12", + "nodeType": "YulIdentifier", + "src": "8945:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8935:3:12", + "nodeType": "YulIdentifier", + "src": "8935:3:12" + }, + "nativeSrc": "8935:15:12", + "nodeType": "YulFunctionCall", + "src": "8935:15:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "8925:6:12", + "nodeType": "YulIdentifier", + "src": "8925:6:12" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "8787:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8815:4:12", + "nodeType": "YulTypedName", + "src": "8815:4:12", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "8821:5:12", + "nodeType": "YulTypedName", + "src": "8821:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8831:6:12", + "nodeType": "YulTypedName", + "src": "8831:6:12", + "type": "" + } + ], + "src": "8787:169:12" + }, + { + "body": { + "nativeSrc": "9042:214:12", + "nodeType": "YulBlock", + "src": "9042:214:12", + "statements": [ + { + "nativeSrc": "9175:37:12", + "nodeType": "YulAssignment", + "src": "9175:37:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9202:4:12", + "nodeType": "YulIdentifier", + "src": "9202:4:12" + }, + { + "name": "len", + "nativeSrc": "9208:3:12", + "nodeType": "YulIdentifier", + "src": "9208:3:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "9183:18:12", + "nodeType": "YulIdentifier", + "src": "9183:18:12" + }, + "nativeSrc": "9183:29:12", + "nodeType": "YulFunctionCall", + "src": "9183:29:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9175:4:12", + "nodeType": "YulIdentifier", + "src": "9175:4:12" + } + ] + }, + { + "nativeSrc": "9221:29:12", + "nodeType": "YulAssignment", + "src": "9221:29:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9232:4:12", + "nodeType": "YulIdentifier", + "src": "9232:4:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9242:1:12", + "nodeType": "YulLiteral", + "src": "9242:1:12", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "9245:3:12", + "nodeType": "YulIdentifier", + "src": "9245:3:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9238:3:12", + "nodeType": "YulIdentifier", + "src": "9238:3:12" + }, + "nativeSrc": "9238:11:12", + "nodeType": "YulFunctionCall", + "src": "9238:11:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "9229:2:12", + "nodeType": "YulIdentifier", + "src": "9229:2:12" + }, + "nativeSrc": "9229:21:12", + "nodeType": "YulFunctionCall", + "src": "9229:21:12" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "9221:4:12", + "nodeType": "YulIdentifier", + "src": "9221:4:12" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "8961:295:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "9023:4:12", + "nodeType": "YulTypedName", + "src": "9023:4:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "9029:3:12", + "nodeType": "YulTypedName", + "src": "9029:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "9037:4:12", + "nodeType": "YulTypedName", + "src": "9037:4:12", + "type": "" + } + ], + "src": "8961:295:12" + }, + { + "body": { + "nativeSrc": "9353:1303:12", + "nodeType": "YulBlock", + "src": "9353:1303:12", + "statements": [ + { + "nativeSrc": "9364:51:12", + "nodeType": "YulVariableDeclaration", + "src": "9364:51:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "9411:3:12", + "nodeType": "YulIdentifier", + "src": "9411:3:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "9378:32:12", + "nodeType": "YulIdentifier", + "src": "9378:32:12" + }, + "nativeSrc": "9378:37:12", + "nodeType": "YulFunctionCall", + "src": "9378:37:12" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "9368:6:12", + "nodeType": "YulTypedName", + "src": "9368:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9500:22:12", + "nodeType": "YulBlock", + "src": "9500:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9502:16:12", + "nodeType": "YulIdentifier", + "src": "9502:16:12" + }, + "nativeSrc": "9502:18:12", + "nodeType": "YulFunctionCall", + "src": "9502:18:12" + }, + "nativeSrc": "9502:18:12", + "nodeType": "YulExpressionStatement", + "src": "9502:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9472:6:12", + "nodeType": "YulIdentifier", + "src": "9472:6:12" + }, + { + "kind": "number", + "nativeSrc": "9480:18:12", + "nodeType": "YulLiteral", + "src": "9480:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9469:2:12", + "nodeType": "YulIdentifier", + "src": "9469:2:12" + }, + "nativeSrc": "9469:30:12", + "nodeType": "YulFunctionCall", + "src": "9469:30:12" + }, + "nativeSrc": "9466:56:12", + "nodeType": "YulIf", + "src": "9466:56:12" + }, + { + "nativeSrc": "9532:52:12", + "nodeType": "YulVariableDeclaration", + "src": "9532:52:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9578:4:12", + "nodeType": "YulIdentifier", + "src": "9578:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "9572:5:12", + "nodeType": "YulIdentifier", + "src": "9572:5:12" + }, + "nativeSrc": "9572:11:12", + "nodeType": "YulFunctionCall", + "src": "9572:11:12" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "9546:25:12", + "nodeType": "YulIdentifier", + "src": "9546:25:12" + }, + "nativeSrc": "9546:38:12", + "nodeType": "YulFunctionCall", + "src": "9546:38:12" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "9536:6:12", + "nodeType": "YulTypedName", + "src": "9536:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9677:4:12", + "nodeType": "YulIdentifier", + "src": "9677:4:12" + }, + { + "name": "oldLen", + "nativeSrc": "9683:6:12", + "nodeType": "YulIdentifier", + "src": "9683:6:12" + }, + { + "name": "newLen", + "nativeSrc": "9691:6:12", + "nodeType": "YulIdentifier", + "src": "9691:6:12" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "9631:45:12", + "nodeType": "YulIdentifier", + "src": "9631:45:12" + }, + "nativeSrc": "9631:67:12", + "nodeType": "YulFunctionCall", + "src": "9631:67:12" + }, + "nativeSrc": "9631:67:12", + "nodeType": "YulExpressionStatement", + "src": "9631:67:12" + }, + { + "nativeSrc": "9708:18:12", + "nodeType": "YulVariableDeclaration", + "src": "9708:18:12", + "value": { + "kind": "number", + "nativeSrc": "9725:1:12", + "nodeType": "YulLiteral", + "src": "9725:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "9712:9:12", + "nodeType": "YulTypedName", + "src": "9712:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9736:17:12", + "nodeType": "YulAssignment", + "src": "9736:17:12", + "value": { + "kind": "number", + "nativeSrc": "9749:4:12", + "nodeType": "YulLiteral", + "src": "9749:4:12", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9736:9:12", + "nodeType": "YulIdentifier", + "src": "9736:9:12" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "9800:611:12", + "nodeType": "YulBlock", + "src": "9800:611:12", + "statements": [ + { + "nativeSrc": "9814:37:12", + "nodeType": "YulVariableDeclaration", + "src": "9814:37:12", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9833:6:12", + "nodeType": "YulIdentifier", + "src": "9833:6:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9845:4:12", + "nodeType": "YulLiteral", + "src": "9845:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9841:3:12", + "nodeType": "YulIdentifier", + "src": "9841:3:12" + }, + "nativeSrc": "9841:9:12", + "nodeType": "YulFunctionCall", + "src": "9841:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9829:3:12", + "nodeType": "YulIdentifier", + "src": "9829:3:12" + }, + "nativeSrc": "9829:22:12", + "nodeType": "YulFunctionCall", + "src": "9829:22:12" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "9818:7:12", + "nodeType": "YulTypedName", + "src": "9818:7:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9865:51:12", + "nodeType": "YulVariableDeclaration", + "src": "9865:51:12", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9911:4:12", + "nodeType": "YulIdentifier", + "src": "9911:4:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "9879:31:12", + "nodeType": "YulIdentifier", + "src": "9879:31:12" + }, + "nativeSrc": "9879:37:12", + "nodeType": "YulFunctionCall", + "src": "9879:37:12" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "9869:6:12", + "nodeType": "YulTypedName", + "src": "9869:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9929:10:12", + "nodeType": "YulVariableDeclaration", + "src": "9929:10:12", + "value": { + "kind": "number", + "nativeSrc": "9938:1:12", + "nodeType": "YulLiteral", + "src": "9938:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "9933:1:12", + "nodeType": "YulTypedName", + "src": "9933:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9997:163:12", + "nodeType": "YulBlock", + "src": "9997:163:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10022:6:12", + "nodeType": "YulIdentifier", + "src": "10022:6:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10040:3:12", + "nodeType": "YulIdentifier", + "src": "10040:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10045:9:12", + "nodeType": "YulIdentifier", + "src": "10045:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10036:3:12", + "nodeType": "YulIdentifier", + "src": "10036:3:12" + }, + "nativeSrc": "10036:19:12", + "nodeType": "YulFunctionCall", + "src": "10036:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10030:5:12", + "nodeType": "YulIdentifier", + "src": "10030:5:12" + }, + "nativeSrc": "10030:26:12", + "nodeType": "YulFunctionCall", + "src": "10030:26:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10015:6:12", + "nodeType": "YulIdentifier", + "src": "10015:6:12" + }, + "nativeSrc": "10015:42:12", + "nodeType": "YulFunctionCall", + "src": "10015:42:12" + }, + "nativeSrc": "10015:42:12", + "nodeType": "YulExpressionStatement", + "src": "10015:42:12" + }, + { + "nativeSrc": "10074:24:12", + "nodeType": "YulAssignment", + "src": "10074:24:12", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10088:6:12", + "nodeType": "YulIdentifier", + "src": "10088:6:12" + }, + { + "kind": "number", + "nativeSrc": "10096:1:12", + "nodeType": "YulLiteral", + "src": "10096:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10084:3:12", + "nodeType": "YulIdentifier", + "src": "10084:3:12" + }, + "nativeSrc": "10084:14:12", + "nodeType": "YulFunctionCall", + "src": "10084:14:12" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "10074:6:12", + "nodeType": "YulIdentifier", + "src": "10074:6:12" + } + ] + }, + { + "nativeSrc": "10115:31:12", + "nodeType": "YulAssignment", + "src": "10115:31:12", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "10132:9:12", + "nodeType": "YulIdentifier", + "src": "10132:9:12" + }, + { + "kind": "number", + "nativeSrc": "10143:2:12", + "nodeType": "YulLiteral", + "src": "10143:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10128:3:12", + "nodeType": "YulIdentifier", + "src": "10128:3:12" + }, + "nativeSrc": "10128:18:12", + "nodeType": "YulFunctionCall", + "src": "10128:18:12" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "10115:9:12", + "nodeType": "YulIdentifier", + "src": "10115:9:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9963:1:12", + "nodeType": "YulIdentifier", + "src": "9963:1:12" + }, + { + "name": "loopEnd", + "nativeSrc": "9966:7:12", + "nodeType": "YulIdentifier", + "src": "9966:7:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9960:2:12", + "nodeType": "YulIdentifier", + "src": "9960:2:12" + }, + "nativeSrc": "9960:14:12", + "nodeType": "YulFunctionCall", + "src": "9960:14:12" + }, + "nativeSrc": "9952:208:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "9975:21:12", + "nodeType": "YulBlock", + "src": "9975:21:12", + "statements": [ + { + "nativeSrc": "9977:17:12", + "nodeType": "YulAssignment", + "src": "9977:17:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9986:1:12", + "nodeType": "YulIdentifier", + "src": "9986:1:12" + }, + { + "kind": "number", + "nativeSrc": "9989:4:12", + "nodeType": "YulLiteral", + "src": "9989:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9982:3:12", + "nodeType": "YulIdentifier", + "src": "9982:3:12" + }, + "nativeSrc": "9982:12:12", + "nodeType": "YulFunctionCall", + "src": "9982:12:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "9977:1:12", + "nodeType": "YulIdentifier", + "src": "9977:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "9956:3:12", + "nodeType": "YulBlock", + "src": "9956:3:12", + "statements": [] + }, + "src": "9952:208:12" + }, + { + "body": { + "nativeSrc": "10196:156:12", + "nodeType": "YulBlock", + "src": "10196:156:12", + "statements": [ + { + "nativeSrc": "10214:43:12", + "nodeType": "YulVariableDeclaration", + "src": "10214:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10241:3:12", + "nodeType": "YulIdentifier", + "src": "10241:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10246:9:12", + "nodeType": "YulIdentifier", + "src": "10246:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10237:3:12", + "nodeType": "YulIdentifier", + "src": "10237:3:12" + }, + "nativeSrc": "10237:19:12", + "nodeType": "YulFunctionCall", + "src": "10237:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10231:5:12", + "nodeType": "YulIdentifier", + "src": "10231:5:12" + }, + "nativeSrc": "10231:26:12", + "nodeType": "YulFunctionCall", + "src": "10231:26:12" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "10218:9:12", + "nodeType": "YulTypedName", + "src": "10218:9:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10281:6:12", + "nodeType": "YulIdentifier", + "src": "10281:6:12" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "10308:9:12", + "nodeType": "YulIdentifier", + "src": "10308:9:12" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10323:6:12", + "nodeType": "YulIdentifier", + "src": "10323:6:12" + }, + { + "kind": "number", + "nativeSrc": "10331:4:12", + "nodeType": "YulLiteral", + "src": "10331:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10319:3:12", + "nodeType": "YulIdentifier", + "src": "10319:3:12" + }, + "nativeSrc": "10319:17:12", + "nodeType": "YulFunctionCall", + "src": "10319:17:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "10289:18:12", + "nodeType": "YulIdentifier", + "src": "10289:18:12" + }, + "nativeSrc": "10289:48:12", + "nodeType": "YulFunctionCall", + "src": "10289:48:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10274:6:12", + "nodeType": "YulIdentifier", + "src": "10274:6:12" + }, + "nativeSrc": "10274:64:12", + "nodeType": "YulFunctionCall", + "src": "10274:64:12" + }, + "nativeSrc": "10274:64:12", + "nodeType": "YulExpressionStatement", + "src": "10274:64:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "10179:7:12", + "nodeType": "YulIdentifier", + "src": "10179:7:12" + }, + { + "name": "newLen", + "nativeSrc": "10188:6:12", + "nodeType": "YulIdentifier", + "src": "10188:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10176:2:12", + "nodeType": "YulIdentifier", + "src": "10176:2:12" + }, + "nativeSrc": "10176:19:12", + "nodeType": "YulFunctionCall", + "src": "10176:19:12" + }, + "nativeSrc": "10173:179:12", + "nodeType": "YulIf", + "src": "10173:179:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10372:4:12", + "nodeType": "YulIdentifier", + "src": "10372:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10386:6:12", + "nodeType": "YulIdentifier", + "src": "10386:6:12" + }, + { + "kind": "number", + "nativeSrc": "10394:1:12", + "nodeType": "YulLiteral", + "src": "10394:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10382:3:12", + "nodeType": "YulIdentifier", + "src": "10382:3:12" + }, + "nativeSrc": "10382:14:12", + "nodeType": "YulFunctionCall", + "src": "10382:14:12" + }, + { + "kind": "number", + "nativeSrc": "10398:1:12", + "nodeType": "YulLiteral", + "src": "10398:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10378:3:12", + "nodeType": "YulIdentifier", + "src": "10378:3:12" + }, + "nativeSrc": "10378:22:12", + "nodeType": "YulFunctionCall", + "src": "10378:22:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10365:6:12", + "nodeType": "YulIdentifier", + "src": "10365:6:12" + }, + "nativeSrc": "10365:36:12", + "nodeType": "YulFunctionCall", + "src": "10365:36:12" + }, + "nativeSrc": "10365:36:12", + "nodeType": "YulExpressionStatement", + "src": "10365:36:12" + } + ] + }, + "nativeSrc": "9793:618:12", + "nodeType": "YulCase", + "src": "9793:618:12", + "value": { + "kind": "number", + "nativeSrc": "9798:1:12", + "nodeType": "YulLiteral", + "src": "9798:1:12", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "10428:222:12", + "nodeType": "YulBlock", + "src": "10428:222:12", + "statements": [ + { + "nativeSrc": "10442:14:12", + "nodeType": "YulVariableDeclaration", + "src": "10442:14:12", + "value": { + "kind": "number", + "nativeSrc": "10455:1:12", + "nodeType": "YulLiteral", + "src": "10455:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "10446:5:12", + "nodeType": "YulTypedName", + "src": "10446:5:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10479:67:12", + "nodeType": "YulBlock", + "src": "10479:67:12", + "statements": [ + { + "nativeSrc": "10497:35:12", + "nodeType": "YulAssignment", + "src": "10497:35:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10516:3:12", + "nodeType": "YulIdentifier", + "src": "10516:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10521:9:12", + "nodeType": "YulIdentifier", + "src": "10521:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10512:3:12", + "nodeType": "YulIdentifier", + "src": "10512:3:12" + }, + "nativeSrc": "10512:19:12", + "nodeType": "YulFunctionCall", + "src": "10512:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10506:5:12", + "nodeType": "YulIdentifier", + "src": "10506:5:12" + }, + "nativeSrc": "10506:26:12", + "nodeType": "YulFunctionCall", + "src": "10506:26:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10497:5:12", + "nodeType": "YulIdentifier", + "src": "10497:5:12" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "10472:6:12", + "nodeType": "YulIdentifier", + "src": "10472:6:12" + }, + "nativeSrc": "10469:77:12", + "nodeType": "YulIf", + "src": "10469:77:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10566:4:12", + "nodeType": "YulIdentifier", + "src": "10566:4:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10625:5:12", + "nodeType": "YulIdentifier", + "src": "10625:5:12" + }, + { + "name": "newLen", + "nativeSrc": "10632:6:12", + "nodeType": "YulIdentifier", + "src": "10632:6:12" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "10572:52:12", + "nodeType": "YulIdentifier", + "src": "10572:52:12" + }, + "nativeSrc": "10572:67:12", + "nodeType": "YulFunctionCall", + "src": "10572:67:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10559:6:12", + "nodeType": "YulIdentifier", + "src": "10559:6:12" + }, + "nativeSrc": "10559:81:12", + "nodeType": "YulFunctionCall", + "src": "10559:81:12" + }, + "nativeSrc": "10559:81:12", + "nodeType": "YulExpressionStatement", + "src": "10559:81:12" + } + ] + }, + "nativeSrc": "10420:230:12", + "nodeType": "YulCase", + "src": "10420:230:12", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9773:6:12", + "nodeType": "YulIdentifier", + "src": "9773:6:12" + }, + { + "kind": "number", + "nativeSrc": "9781:2:12", + "nodeType": "YulLiteral", + "src": "9781:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9770:2:12", + "nodeType": "YulIdentifier", + "src": "9770:2:12" + }, + "nativeSrc": "9770:14:12", + "nodeType": "YulFunctionCall", + "src": "9770:14:12" + }, + "nativeSrc": "9763:887:12", + "nodeType": "YulSwitch", + "src": "9763:887:12" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "9261:1395:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "9342:4:12", + "nodeType": "YulTypedName", + "src": "9342:4:12", + "type": "" + }, + { + "name": "src", + "nativeSrc": "9348:3:12", + "nodeType": "YulTypedName", + "src": "9348:3:12", + "type": "" + } + ], + "src": "9261:1395:12" + }, + { + "body": { + "nativeSrc": "10690:152:12", + "nodeType": "YulBlock", + "src": "10690:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10707:1:12", + "nodeType": "YulLiteral", + "src": "10707:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10710:77:12", + "nodeType": "YulLiteral", + "src": "10710:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10700:6:12", + "nodeType": "YulIdentifier", + "src": "10700:6:12" + }, + "nativeSrc": "10700:88:12", + "nodeType": "YulFunctionCall", + "src": "10700:88:12" + }, + "nativeSrc": "10700:88:12", + "nodeType": "YulExpressionStatement", + "src": "10700:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10804:1:12", + "nodeType": "YulLiteral", + "src": "10804:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10807:4:12", + "nodeType": "YulLiteral", + "src": "10807:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10797:6:12", + "nodeType": "YulIdentifier", + "src": "10797:6:12" + }, + "nativeSrc": "10797:15:12", + "nodeType": "YulFunctionCall", + "src": "10797:15:12" + }, + "nativeSrc": "10797:15:12", + "nodeType": "YulExpressionStatement", + "src": "10797:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10828:1:12", + "nodeType": "YulLiteral", + "src": "10828:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10831:4:12", + "nodeType": "YulLiteral", + "src": "10831:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10821:6:12", + "nodeType": "YulIdentifier", + "src": "10821:6:12" + }, + "nativeSrc": "10821:15:12", + "nodeType": "YulFunctionCall", + "src": "10821:15:12" + }, + "nativeSrc": "10821:15:12", + "nodeType": "YulExpressionStatement", + "src": "10821:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "10662:180:12", + "nodeType": "YulFunctionDefinition", + "src": "10662:180:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function validator_revert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AirdropType_$3239_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_enum$_AirdropType_$3239_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_enum$_AirdropType_$3239_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220372f16de976df56b639eca3e408656bd4cd1ad8b78cd60f8ce05600d7ec32f5a64736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2003 CODESIZE SUB DUP1 PUSH3 0x2003 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x487 JUMP JUMPDEST DUP6 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x56A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP7 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7C8 JUMP JUMPDEST POP DUP4 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x156 JUMPI PUSH3 0x155 PUSH3 0x8AF JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP PUSH3 0x8DE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x46D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x481 DUP2 PUSH3 0x45F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x4A9 JUMPI PUSH3 0x4A8 PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4CA JUMPI PUSH3 0x4C9 PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4D8 DUP11 DUP3 DUP12 ADD PUSH3 0x38C JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x4EB DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x4FE DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x511 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x524 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x537 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x54A DUP11 DUP3 DUP12 ADD PUSH3 0x470 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x564 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x581 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5F0 JUMPI PUSH3 0x5EF PUSH3 0x592 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x65A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x61B JUMP JUMPDEST PUSH3 0x666 DUP7 DUP4 PUSH3 0x61B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6A9 PUSH3 0x6A3 PUSH3 0x69D DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x67E JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6C5 DUP4 PUSH3 0x688 JUMP JUMPDEST PUSH3 0x6DD PUSH3 0x6D4 DUP3 PUSH3 0x6B0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x628 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6F4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x701 DUP2 DUP5 DUP5 PUSH3 0x6BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x729 JUMPI PUSH3 0x71D PUSH1 0x0 DUP3 PUSH3 0x6EA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x778 JUMPI PUSH3 0x742 DUP2 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x74D DUP5 PUSH3 0x60B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x75D JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x775 PUSH3 0x76C DUP6 PUSH3 0x60B JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x706 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x77D JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7B8 DUP4 DUP4 PUSH3 0x78A JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7D3 DUP3 PUSH3 0x587 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7EF JUMPI PUSH3 0x7EE PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7FB DUP3 SLOAD PUSH3 0x5C1 JUMP JUMPDEST PUSH3 0x808 DUP3 DUP3 DUP6 PUSH3 0x72D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x840 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x82B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x837 DUP6 DUP3 PUSH3 0x7AA JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8A7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x850 DUP7 PUSH3 0x5F6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x87A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x853 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x89A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x896 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x78A JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1715 DUP1 PUSH3 0x8EE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0x2F AND 0xDE SWAP8 PUSH14 0xF56B639ECA3E408656BD4CD1AD8B PUSH25 0xCD60F8CE05600D7EC32F5A64736F6C63430008180033000000 ", + "sourceMap": "225:3603:9:-:0;;;779:558;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1026:12;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;1076:12:9::1;1050:14;;:39;;;;;;;;;;;;;;;;;;1114:11;1099:12;:26;;;;;;:::i;:::-;;1146:7;1135:8;:18;;;;1185;1163:19;:40;;;;1234:18;1213;:39;;;;1280:14;1262:15;:32;;;;1319:11;1304:12;;:26;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;779:558:::0;;;;;;;225:3603;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:126::-;2714:7;2754:42;2747:5;2743:54;2732:65;;2677:126;;;:::o;2809:96::-;2846:7;2875:24;2893:5;2875:24;:::i;:::-;2864:35;;2809:96;;;:::o;2911:122::-;2984:24;3002:5;2984:24;:::i;:::-;2977:5;2974:35;2964:63;;3023:1;3020;3013:12;2964:63;2911:122;:::o;3039:143::-;3096:5;3127:6;3121:13;3112:22;;3143:33;3170:5;3143:33;:::i;:::-;3039:143;;;;:::o;3188:77::-;3225:7;3254:5;3243:16;;3188:77;;;:::o;3271:122::-;3344:24;3362:5;3344:24;:::i;:::-;3337:5;3334:35;3324:63;;3383:1;3380;3373:12;3324:63;3271:122;:::o;3399:143::-;3456:5;3487:6;3481:13;3472:22;;3503:33;3530:5;3503:33;:::i;:::-;3399:143;;;;:::o;3548:115::-;3637:1;3630:5;3627:12;3617:40;;3653:1;3650;3643:12;3617:40;3548:115;:::o;3669:175::-;3742:5;3773:6;3767:13;3758:22;;3789:49;3832:5;3789:49;:::i;:::-;3669:175;;;;:::o;3850:1496::-;4000:6;4008;4016;4024;4032;4040;4048;4097:3;4085:9;4076:7;4072:23;4068:33;4065:120;;;4104:79;;:::i;:::-;4065:120;4245:1;4234:9;4230:17;4224:24;4275:18;4267:6;4264:30;4261:117;;;4297:79;;:::i;:::-;4261:117;4402:74;4468:7;4459:6;4448:9;4444:22;4402:74;:::i;:::-;4392:84;;4195:291;4525:2;4551:64;4607:7;4598:6;4587:9;4583:22;4551:64;:::i;:::-;4541:74;;4496:129;4664:2;4690:64;4746:7;4737:6;4726:9;4722:22;4690:64;:::i;:::-;4680:74;;4635:129;4803:2;4829:64;4885:7;4876:6;4865:9;4861:22;4829:64;:::i;:::-;4819:74;;4774:129;4942:3;4969:64;5025:7;5016:6;5005:9;5001:22;4969:64;:::i;:::-;4959:74;;4913:130;5082:3;5109:64;5165:7;5156:6;5145:9;5141:22;5109:64;:::i;:::-;5099:74;;5053:130;5222:3;5249:80;5321:7;5312:6;5301:9;5297:22;5249:80;:::i;:::-;5239:90;;5193:146;3850:1496;;;;;;;;;;:::o;5352:118::-;5439:24;5457:5;5439:24;:::i;:::-;5434:3;5427:37;5352:118;;:::o;5476:222::-;5569:4;5607:2;5596:9;5592:18;5584:26;;5620:71;5688:1;5677:9;5673:17;5664:6;5620:71;:::i;:::-;5476:222;;;;:::o;5704:99::-;5756:6;5790:5;5784:12;5774:22;;5704:99;;;:::o;5809:180::-;5857:77;5854:1;5847:88;5954:4;5951:1;5944:15;5978:4;5975:1;5968:15;5995:320;6039:6;6076:1;6070:4;6066:12;6056:22;;6123:1;6117:4;6113:12;6144:18;6134:81;;6200:4;6192:6;6188:17;6178:27;;6134:81;6262:2;6254:6;6251:14;6231:18;6228:38;6225:84;;6281:18;;:::i;:::-;6225:84;6046:269;5995:320;;;:::o;6321:141::-;6370:4;6393:3;6385:11;;6416:3;6413:1;6406:14;6450:4;6447:1;6437:18;6429:26;;6321:141;;;:::o;6468:93::-;6505:6;6552:2;6547;6540:5;6536:14;6532:23;6522:33;;6468:93;;;:::o;6567:107::-;6611:8;6661:5;6655:4;6651:16;6630:37;;6567:107;;;;:::o;6680:393::-;6749:6;6799:1;6787:10;6783:18;6822:97;6852:66;6841:9;6822:97;:::i;:::-;6940:39;6970:8;6959:9;6940:39;:::i;:::-;6928:51;;7012:4;7008:9;7001:5;6997:21;6988:30;;7061:4;7051:8;7047:19;7040:5;7037:30;7027:40;;6756:317;;6680:393;;;;;:::o;7079:60::-;7107:3;7128:5;7121:12;;7079:60;;;:::o;7145:142::-;7195:9;7228:53;7246:34;7255:24;7273:5;7255:24;:::i;:::-;7246:34;:::i;:::-;7228:53;:::i;:::-;7215:66;;7145:142;;;:::o;7293:75::-;7336:3;7357:5;7350:12;;7293:75;;;:::o;7374:269::-;7484:39;7515:7;7484:39;:::i;:::-;7545:91;7594:41;7618:16;7594:41;:::i;:::-;7586:6;7579:4;7573:11;7545:91;:::i;:::-;7539:4;7532:105;7450:193;7374:269;;;:::o;7649:73::-;7694:3;7649:73;:::o;7728:189::-;7805:32;;:::i;:::-;7846:65;7904:6;7896;7890:4;7846:65;:::i;:::-;7781:136;7728:189;;:::o;7923:186::-;7983:120;8000:3;7993:5;7990:14;7983:120;;;8054:39;8091:1;8084:5;8054:39;:::i;:::-;8027:1;8020:5;8016:13;8007:22;;7983:120;;;7923:186;;:::o;8115:543::-;8216:2;8211:3;8208:11;8205:446;;;8250:38;8282:5;8250:38;:::i;:::-;8334:29;8352:10;8334:29;:::i;:::-;8324:8;8320:44;8517:2;8505:10;8502:18;8499:49;;;8538:8;8523:23;;8499:49;8561:80;8617:22;8635:3;8617:22;:::i;:::-;8607:8;8603:37;8590:11;8561:80;:::i;:::-;8220:431;;8205:446;8115:543;;;:::o;8664:117::-;8718:8;8768:5;8762:4;8758:16;8737:37;;8664:117;;;;:::o;8787:169::-;8831:6;8864:51;8912:1;8908:6;8900:5;8897:1;8893:13;8864:51;:::i;:::-;8860:56;8945:4;8939;8935:15;8925:25;;8838:118;8787:169;;;;:::o;8961:295::-;9037:4;9183:29;9208:3;9202:4;9183:29;:::i;:::-;9175:37;;9245:3;9242:1;9238:11;9232:4;9229:21;9221:29;;8961:295;;;;:::o;9261:1395::-;9378:37;9411:3;9378:37;:::i;:::-;9480:18;9472:6;9469:30;9466:56;;;9502:18;;:::i;:::-;9466:56;9546:38;9578:4;9572:11;9546:38;:::i;:::-;9631:67;9691:6;9683;9677:4;9631:67;:::i;:::-;9725:1;9749:4;9736:17;;9781:2;9773:6;9770:14;9798:1;9793:618;;;;10455:1;10472:6;10469:77;;;10521:9;10516:3;10512:19;10506:26;10497:35;;10469:77;10572:67;10632:6;10625:5;10572:67;:::i;:::-;10566:4;10559:81;10428:222;9763:887;;9793:618;9845:4;9841:9;9833:6;9829:22;9879:37;9911:4;9879:37;:::i;:::-;9938:1;9952:208;9966:7;9963:1;9960:14;9952:208;;;10045:9;10040:3;10036:19;10030:26;10022:6;10015:42;10096:1;10088:6;10084:14;10074:24;;10143:2;10132:9;10128:18;10115:31;;9989:4;9986:1;9982:12;9977:17;;9952:208;;;10188:6;10179:7;10176:19;10173:179;;;10246:9;10241:3;10237:19;10231:26;10289:48;10331:4;10323:6;10319:17;10308:9;10289:48;:::i;:::-;10281:6;10274:64;10196:156;10173:179;10398:1;10394;10386:6;10382:14;10378:22;10372:4;10365:36;9800:611;;;9763:887;;9353:1303;;;9261:1395;;:::o;10662:180::-;10710:77;10707:1;10700:88;10807:4;10804:1;10797:15;10831:4;10828:1;10821:15;225:3603:9;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_buildLeaf_2818": { + "entryPoint": 2810, + "id": 2818, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_checkOwner_84": { + "entryPoint": 1787, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_claim_2794": { + "entryPoint": 1922, + "id": 2794, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_efficientKeccak256_216": { + "entryPoint": 3049, + "id": 216, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_msgSender_159": { + "entryPoint": 2802, + "id": 159, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 2606, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@claim_2710": { + "entryPoint": 1262, + "id": 2710, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@claimedLeaf_2627": { + "entryPoint": 1475, + "id": 2627, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@commutativeKeccak256_204": { + "entryPoint": 3006, + "id": 204, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAirdropAmountLeft_2896": { + "entryPoint": 1573, + "id": 2896, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getAirdropInfo_2839": { + "entryPoint": 976, + "id": 2839, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_2911": { + "entryPoint": 810, + "id": 2911, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getExpirationDate_2880": { + "entryPoint": 1359, + "id": 2880, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_2888": { + "entryPoint": 1288, + "id": 2888, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getUri_2942": { + "entryPoint": 1298, + "id": 2942, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBeenTotallyClaimed_2849": { + "entryPoint": 1560, + "id": 2849, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasClaimed_2861": { + "entryPoint": 1389, + "id": 2861, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasExpired_2872": { + "entryPoint": 1548, + "id": 2872, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@onERC1155Received_2934": { + "entryPoint": 1607, + "id": 2934, + "parameterSlots": 5, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 1507, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@processProofCalldata_431": { + "entryPoint": 2924, + "id": 431, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 1369, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@root_2615": { + "entryPoint": 1601, + "id": 2615, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@setRoot_2691": { + "entryPoint": 1583, + "id": 2691, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@transferOwnership_126": { + "entryPoint": 1653, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@verifyCalldata_390": { + "entryPoint": 2899, + "id": 390, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 4700, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 3836, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 3916, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bytes32": { + "entryPoint": 4358, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 4766, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 3880, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 5090, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 4226, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr": { + "entryPoint": 4812, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 4002, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_bytes32": { + "entryPoint": 4379, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 5111, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 3427, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 4424, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 4283, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 4466, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { + "entryPoint": 5758, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes4_to_t_bytes4_fromStack": { + "entryPoint": 5007, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 3561, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 3320, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4135, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5439, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5293, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 5526, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack": { + "entryPoint": 3576, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 3442, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 3191, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 5781, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 4439, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 5561, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 5049, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 4298, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 4481, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed": { + "entryPoint": 5022, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4192, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5474, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5328, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed": { + "entryPoint": 3759, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 3206, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 4609, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 3793, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 4636, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 3233, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 5506, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 3244, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 4118, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 5696, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 3409, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 4271, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 4325, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 4963, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$3239": { + "entryPoint": 3524, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 3377, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 3181, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 3543, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 4685, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 3261, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 5203, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4560, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "leftAlign_t_bytes32": { + "entryPoint": 5748, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 5649, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 3457, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 5156, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 5808, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 4513, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 3906, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 3901, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 3911, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 4508, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 3808, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 3803, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 3303, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3": { + "entryPoint": 5360, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a": { + "entryPoint": 5252, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470": { + "entryPoint": 5523, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$3239": { + "entryPoint": 3504, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 3813, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 4335, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 3857, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:20193:12", + "nodeType": "YulBlock", + "src": "0:20193:12", + "statements": [ + { + "body": { + "nativeSrc": "52:32:12", + "nodeType": "YulBlock", + "src": "52:32:12", + "statements": [ + { + "nativeSrc": "62:16:12", + "nodeType": "YulAssignment", + "src": "62:16:12", + "value": { + "name": "value", + "nativeSrc": "73:5:12", + "nodeType": "YulIdentifier", + "src": "73:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "62:7:12", + "nodeType": "YulIdentifier", + "src": "62:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "7:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "34:5:12", + "nodeType": "YulTypedName", + "src": "34:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "44:7:12", + "nodeType": "YulTypedName", + "src": "44:7:12", + "type": "" + } + ], + "src": "7:77:12" + }, + { + "body": { + "nativeSrc": "155:53:12", + "nodeType": "YulBlock", + "src": "155:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "172:3:12", + "nodeType": "YulIdentifier", + "src": "172:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "195:5:12", + "nodeType": "YulIdentifier", + "src": "195:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "177:17:12", + "nodeType": "YulIdentifier", + "src": "177:17:12" + }, + "nativeSrc": "177:24:12", + "nodeType": "YulFunctionCall", + "src": "177:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "165:6:12", + "nodeType": "YulIdentifier", + "src": "165:6:12" + }, + "nativeSrc": "165:37:12", + "nodeType": "YulFunctionCall", + "src": "165:37:12" + }, + "nativeSrc": "165:37:12", + "nodeType": "YulExpressionStatement", + "src": "165:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "90:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "143:5:12", + "nodeType": "YulTypedName", + "src": "143:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "150:3:12", + "nodeType": "YulTypedName", + "src": "150:3:12", + "type": "" + } + ], + "src": "90:118:12" + }, + { + "body": { + "nativeSrc": "312:124:12", + "nodeType": "YulBlock", + "src": "312:124:12", + "statements": [ + { + "nativeSrc": "322:26:12", + "nodeType": "YulAssignment", + "src": "322:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "334:9:12", + "nodeType": "YulIdentifier", + "src": "334:9:12" + }, + { + "kind": "number", + "nativeSrc": "345:2:12", + "nodeType": "YulLiteral", + "src": "345:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "330:3:12", + "nodeType": "YulIdentifier", + "src": "330:3:12" + }, + "nativeSrc": "330:18:12", + "nodeType": "YulFunctionCall", + "src": "330:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "322:4:12", + "nodeType": "YulIdentifier", + "src": "322:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "402:6:12", + "nodeType": "YulIdentifier", + "src": "402:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "415:9:12", + "nodeType": "YulIdentifier", + "src": "415:9:12" + }, + { + "kind": "number", + "nativeSrc": "426:1:12", + "nodeType": "YulLiteral", + "src": "426:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "411:3:12", + "nodeType": "YulIdentifier", + "src": "411:3:12" + }, + "nativeSrc": "411:17:12", + "nodeType": "YulFunctionCall", + "src": "411:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "358:43:12", + "nodeType": "YulIdentifier", + "src": "358:43:12" + }, + "nativeSrc": "358:71:12", + "nodeType": "YulFunctionCall", + "src": "358:71:12" + }, + "nativeSrc": "358:71:12", + "nodeType": "YulExpressionStatement", + "src": "358:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "214:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "284:9:12", + "nodeType": "YulTypedName", + "src": "284:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "296:6:12", + "nodeType": "YulTypedName", + "src": "296:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "307:4:12", + "nodeType": "YulTypedName", + "src": "307:4:12", + "type": "" + } + ], + "src": "214:222:12" + }, + { + "body": { + "nativeSrc": "501:40:12", + "nodeType": "YulBlock", + "src": "501:40:12", + "statements": [ + { + "nativeSrc": "512:22:12", + "nodeType": "YulAssignment", + "src": "512:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "528:5:12", + "nodeType": "YulIdentifier", + "src": "528:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "522:5:12", + "nodeType": "YulIdentifier", + "src": "522:5:12" + }, + "nativeSrc": "522:12:12", + "nodeType": "YulFunctionCall", + "src": "522:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "512:6:12", + "nodeType": "YulIdentifier", + "src": "512:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "442:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "484:5:12", + "nodeType": "YulTypedName", + "src": "484:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "494:6:12", + "nodeType": "YulTypedName", + "src": "494:6:12", + "type": "" + } + ], + "src": "442:99:12" + }, + { + "body": { + "nativeSrc": "633:73:12", + "nodeType": "YulBlock", + "src": "633:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "650:3:12", + "nodeType": "YulIdentifier", + "src": "650:3:12" + }, + { + "name": "length", + "nativeSrc": "655:6:12", + "nodeType": "YulIdentifier", + "src": "655:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "643:6:12", + "nodeType": "YulIdentifier", + "src": "643:6:12" + }, + "nativeSrc": "643:19:12", + "nodeType": "YulFunctionCall", + "src": "643:19:12" + }, + "nativeSrc": "643:19:12", + "nodeType": "YulExpressionStatement", + "src": "643:19:12" + }, + { + "nativeSrc": "671:29:12", + "nodeType": "YulAssignment", + "src": "671:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "690:3:12", + "nodeType": "YulIdentifier", + "src": "690:3:12" + }, + { + "kind": "number", + "nativeSrc": "695:4:12", + "nodeType": "YulLiteral", + "src": "695:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "686:3:12", + "nodeType": "YulIdentifier", + "src": "686:3:12" + }, + "nativeSrc": "686:14:12", + "nodeType": "YulFunctionCall", + "src": "686:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "671:11:12", + "nodeType": "YulIdentifier", + "src": "671:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "547:159:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "605:3:12", + "nodeType": "YulTypedName", + "src": "605:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "610:6:12", + "nodeType": "YulTypedName", + "src": "610:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "621:11:12", + "nodeType": "YulTypedName", + "src": "621:11:12", + "type": "" + } + ], + "src": "547:159:12" + }, + { + "body": { + "nativeSrc": "774:184:12", + "nodeType": "YulBlock", + "src": "774:184:12", + "statements": [ + { + "nativeSrc": "784:10:12", + "nodeType": "YulVariableDeclaration", + "src": "784:10:12", + "value": { + "kind": "number", + "nativeSrc": "793:1:12", + "nodeType": "YulLiteral", + "src": "793:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "788:1:12", + "nodeType": "YulTypedName", + "src": "788:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "853:63:12", + "nodeType": "YulBlock", + "src": "853:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "878:3:12", + "nodeType": "YulIdentifier", + "src": "878:3:12" + }, + { + "name": "i", + "nativeSrc": "883:1:12", + "nodeType": "YulIdentifier", + "src": "883:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "874:3:12", + "nodeType": "YulIdentifier", + "src": "874:3:12" + }, + "nativeSrc": "874:11:12", + "nodeType": "YulFunctionCall", + "src": "874:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "897:3:12", + "nodeType": "YulIdentifier", + "src": "897:3:12" + }, + { + "name": "i", + "nativeSrc": "902:1:12", + "nodeType": "YulIdentifier", + "src": "902:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "893:3:12", + "nodeType": "YulIdentifier", + "src": "893:3:12" + }, + "nativeSrc": "893:11:12", + "nodeType": "YulFunctionCall", + "src": "893:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "887:5:12", + "nodeType": "YulIdentifier", + "src": "887:5:12" + }, + "nativeSrc": "887:18:12", + "nodeType": "YulFunctionCall", + "src": "887:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "867:6:12", + "nodeType": "YulIdentifier", + "src": "867:6:12" + }, + "nativeSrc": "867:39:12", + "nodeType": "YulFunctionCall", + "src": "867:39:12" + }, + "nativeSrc": "867:39:12", + "nodeType": "YulExpressionStatement", + "src": "867:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "814:1:12", + "nodeType": "YulIdentifier", + "src": "814:1:12" + }, + { + "name": "length", + "nativeSrc": "817:6:12", + "nodeType": "YulIdentifier", + "src": "817:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "811:2:12", + "nodeType": "YulIdentifier", + "src": "811:2:12" + }, + "nativeSrc": "811:13:12", + "nodeType": "YulFunctionCall", + "src": "811:13:12" + }, + "nativeSrc": "803:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "825:19:12", + "nodeType": "YulBlock", + "src": "825:19:12", + "statements": [ + { + "nativeSrc": "827:15:12", + "nodeType": "YulAssignment", + "src": "827:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "836:1:12", + "nodeType": "YulIdentifier", + "src": "836:1:12" + }, + { + "kind": "number", + "nativeSrc": "839:2:12", + "nodeType": "YulLiteral", + "src": "839:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "832:3:12", + "nodeType": "YulIdentifier", + "src": "832:3:12" + }, + "nativeSrc": "832:10:12", + "nodeType": "YulFunctionCall", + "src": "832:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "827:1:12", + "nodeType": "YulIdentifier", + "src": "827:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "807:3:12", + "nodeType": "YulBlock", + "src": "807:3:12", + "statements": [] + }, + "src": "803:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "936:3:12", + "nodeType": "YulIdentifier", + "src": "936:3:12" + }, + { + "name": "length", + "nativeSrc": "941:6:12", + "nodeType": "YulIdentifier", + "src": "941:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "932:3:12", + "nodeType": "YulIdentifier", + "src": "932:3:12" + }, + "nativeSrc": "932:16:12", + "nodeType": "YulFunctionCall", + "src": "932:16:12" + }, + { + "kind": "number", + "nativeSrc": "950:1:12", + "nodeType": "YulLiteral", + "src": "950:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "925:6:12", + "nodeType": "YulIdentifier", + "src": "925:6:12" + }, + "nativeSrc": "925:27:12", + "nodeType": "YulFunctionCall", + "src": "925:27:12" + }, + "nativeSrc": "925:27:12", + "nodeType": "YulExpressionStatement", + "src": "925:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "712:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "756:3:12", + "nodeType": "YulTypedName", + "src": "756:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "761:3:12", + "nodeType": "YulTypedName", + "src": "761:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "766:6:12", + "nodeType": "YulTypedName", + "src": "766:6:12", + "type": "" + } + ], + "src": "712:246:12" + }, + { + "body": { + "nativeSrc": "1012:54:12", + "nodeType": "YulBlock", + "src": "1012:54:12", + "statements": [ + { + "nativeSrc": "1022:38:12", + "nodeType": "YulAssignment", + "src": "1022:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1040:5:12", + "nodeType": "YulIdentifier", + "src": "1040:5:12" + }, + { + "kind": "number", + "nativeSrc": "1047:2:12", + "nodeType": "YulLiteral", + "src": "1047:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1036:3:12", + "nodeType": "YulIdentifier", + "src": "1036:3:12" + }, + "nativeSrc": "1036:14:12", + "nodeType": "YulFunctionCall", + "src": "1036:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1056:2:12", + "nodeType": "YulLiteral", + "src": "1056:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1052:3:12", + "nodeType": "YulIdentifier", + "src": "1052:3:12" + }, + "nativeSrc": "1052:7:12", + "nodeType": "YulFunctionCall", + "src": "1052:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1032:3:12", + "nodeType": "YulIdentifier", + "src": "1032:3:12" + }, + "nativeSrc": "1032:28:12", + "nodeType": "YulFunctionCall", + "src": "1032:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1022:6:12", + "nodeType": "YulIdentifier", + "src": "1022:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "964:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "995:5:12", + "nodeType": "YulTypedName", + "src": "995:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1005:6:12", + "nodeType": "YulTypedName", + "src": "1005:6:12", + "type": "" + } + ], + "src": "964:102:12" + }, + { + "body": { + "nativeSrc": "1154:275:12", + "nodeType": "YulBlock", + "src": "1154:275:12", + "statements": [ + { + "nativeSrc": "1164:53:12", + "nodeType": "YulVariableDeclaration", + "src": "1164:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1211:5:12", + "nodeType": "YulIdentifier", + "src": "1211:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1178:32:12", + "nodeType": "YulIdentifier", + "src": "1178:32:12" + }, + "nativeSrc": "1178:39:12", + "nodeType": "YulFunctionCall", + "src": "1178:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "1168:6:12", + "nodeType": "YulTypedName", + "src": "1168:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1226:68:12", + "nodeType": "YulAssignment", + "src": "1226:68:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1282:3:12", + "nodeType": "YulIdentifier", + "src": "1282:3:12" + }, + { + "name": "length", + "nativeSrc": "1287:6:12", + "nodeType": "YulIdentifier", + "src": "1287:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "1233:48:12", + "nodeType": "YulIdentifier", + "src": "1233:48:12" + }, + "nativeSrc": "1233:61:12", + "nodeType": "YulFunctionCall", + "src": "1233:61:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "1226:3:12", + "nodeType": "YulIdentifier", + "src": "1226:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1342:5:12", + "nodeType": "YulIdentifier", + "src": "1342:5:12" + }, + { + "kind": "number", + "nativeSrc": "1349:4:12", + "nodeType": "YulLiteral", + "src": "1349:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1338:3:12", + "nodeType": "YulIdentifier", + "src": "1338:3:12" + }, + "nativeSrc": "1338:16:12", + "nodeType": "YulFunctionCall", + "src": "1338:16:12" + }, + { + "name": "pos", + "nativeSrc": "1356:3:12", + "nodeType": "YulIdentifier", + "src": "1356:3:12" + }, + { + "name": "length", + "nativeSrc": "1361:6:12", + "nodeType": "YulIdentifier", + "src": "1361:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1303:34:12", + "nodeType": "YulIdentifier", + "src": "1303:34:12" + }, + "nativeSrc": "1303:65:12", + "nodeType": "YulFunctionCall", + "src": "1303:65:12" + }, + "nativeSrc": "1303:65:12", + "nodeType": "YulExpressionStatement", + "src": "1303:65:12" + }, + { + "nativeSrc": "1377:46:12", + "nodeType": "YulAssignment", + "src": "1377:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1388:3:12", + "nodeType": "YulIdentifier", + "src": "1388:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1415:6:12", + "nodeType": "YulIdentifier", + "src": "1415:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1393:21:12", + "nodeType": "YulIdentifier", + "src": "1393:21:12" + }, + "nativeSrc": "1393:29:12", + "nodeType": "YulFunctionCall", + "src": "1393:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1384:3:12", + "nodeType": "YulIdentifier", + "src": "1384:3:12" + }, + "nativeSrc": "1384:39:12", + "nodeType": "YulFunctionCall", + "src": "1384:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "1377:3:12", + "nodeType": "YulIdentifier", + "src": "1377:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "1072:357:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1135:5:12", + "nodeType": "YulTypedName", + "src": "1135:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1142:3:12", + "nodeType": "YulTypedName", + "src": "1142:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "1150:3:12", + "nodeType": "YulTypedName", + "src": "1150:3:12", + "type": "" + } + ], + "src": "1072:357:12" + }, + { + "body": { + "nativeSrc": "1480:81:12", + "nodeType": "YulBlock", + "src": "1480:81:12", + "statements": [ + { + "nativeSrc": "1490:65:12", + "nodeType": "YulAssignment", + "src": "1490:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1505:5:12", + "nodeType": "YulIdentifier", + "src": "1505:5:12" + }, + { + "kind": "number", + "nativeSrc": "1512:42:12", + "nodeType": "YulLiteral", + "src": "1512:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1501:3:12", + "nodeType": "YulIdentifier", + "src": "1501:3:12" + }, + "nativeSrc": "1501:54:12", + "nodeType": "YulFunctionCall", + "src": "1501:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1490:7:12", + "nodeType": "YulIdentifier", + "src": "1490:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1435:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1462:5:12", + "nodeType": "YulTypedName", + "src": "1462:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1472:7:12", + "nodeType": "YulTypedName", + "src": "1472:7:12", + "type": "" + } + ], + "src": "1435:126:12" + }, + { + "body": { + "nativeSrc": "1612:51:12", + "nodeType": "YulBlock", + "src": "1612:51:12", + "statements": [ + { + "nativeSrc": "1622:35:12", + "nodeType": "YulAssignment", + "src": "1622:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1651:5:12", + "nodeType": "YulIdentifier", + "src": "1651:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1633:17:12", + "nodeType": "YulIdentifier", + "src": "1633:17:12" + }, + "nativeSrc": "1633:24:12", + "nodeType": "YulFunctionCall", + "src": "1633:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1622:7:12", + "nodeType": "YulIdentifier", + "src": "1622:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1567:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1594:5:12", + "nodeType": "YulTypedName", + "src": "1594:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1604:7:12", + "nodeType": "YulTypedName", + "src": "1604:7:12", + "type": "" + } + ], + "src": "1567:96:12" + }, + { + "body": { + "nativeSrc": "1724:53:12", + "nodeType": "YulBlock", + "src": "1724:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1741:3:12", + "nodeType": "YulIdentifier", + "src": "1741:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1764:5:12", + "nodeType": "YulIdentifier", + "src": "1764:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1746:17:12", + "nodeType": "YulIdentifier", + "src": "1746:17:12" + }, + "nativeSrc": "1746:24:12", + "nodeType": "YulFunctionCall", + "src": "1746:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1734:6:12", + "nodeType": "YulIdentifier", + "src": "1734:6:12" + }, + "nativeSrc": "1734:37:12", + "nodeType": "YulFunctionCall", + "src": "1734:37:12" + }, + "nativeSrc": "1734:37:12", + "nodeType": "YulExpressionStatement", + "src": "1734:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "1669:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1712:5:12", + "nodeType": "YulTypedName", + "src": "1712:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1719:3:12", + "nodeType": "YulTypedName", + "src": "1719:3:12", + "type": "" + } + ], + "src": "1669:108:12" + }, + { + "body": { + "nativeSrc": "1838:53:12", + "nodeType": "YulBlock", + "src": "1838:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1855:3:12", + "nodeType": "YulIdentifier", + "src": "1855:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1878:5:12", + "nodeType": "YulIdentifier", + "src": "1878:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1860:17:12", + "nodeType": "YulIdentifier", + "src": "1860:17:12" + }, + "nativeSrc": "1860:24:12", + "nodeType": "YulFunctionCall", + "src": "1860:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1848:6:12", + "nodeType": "YulIdentifier", + "src": "1848:6:12" + }, + "nativeSrc": "1848:37:12", + "nodeType": "YulFunctionCall", + "src": "1848:37:12" + }, + "nativeSrc": "1848:37:12", + "nodeType": "YulExpressionStatement", + "src": "1848:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "1783:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1826:5:12", + "nodeType": "YulTypedName", + "src": "1826:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1833:3:12", + "nodeType": "YulTypedName", + "src": "1833:3:12", + "type": "" + } + ], + "src": "1783:108:12" + }, + { + "body": { + "nativeSrc": "1925:152:12", + "nodeType": "YulBlock", + "src": "1925:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1942:1:12", + "nodeType": "YulLiteral", + "src": "1942:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1945:77:12", + "nodeType": "YulLiteral", + "src": "1945:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1935:6:12", + "nodeType": "YulIdentifier", + "src": "1935:6:12" + }, + "nativeSrc": "1935:88:12", + "nodeType": "YulFunctionCall", + "src": "1935:88:12" + }, + "nativeSrc": "1935:88:12", + "nodeType": "YulExpressionStatement", + "src": "1935:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2039:1:12", + "nodeType": "YulLiteral", + "src": "2039:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2042:4:12", + "nodeType": "YulLiteral", + "src": "2042:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2032:6:12", + "nodeType": "YulIdentifier", + "src": "2032:6:12" + }, + "nativeSrc": "2032:15:12", + "nodeType": "YulFunctionCall", + "src": "2032:15:12" + }, + "nativeSrc": "2032:15:12", + "nodeType": "YulExpressionStatement", + "src": "2032:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2063:1:12", + "nodeType": "YulLiteral", + "src": "2063:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2066:4:12", + "nodeType": "YulLiteral", + "src": "2066:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2056:6:12", + "nodeType": "YulIdentifier", + "src": "2056:6:12" + }, + "nativeSrc": "2056:15:12", + "nodeType": "YulFunctionCall", + "src": "2056:15:12" + }, + "nativeSrc": "2056:15:12", + "nodeType": "YulExpressionStatement", + "src": "2056:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "1897:180:12", + "nodeType": "YulFunctionDefinition", + "src": "1897:180:12" + }, + { + "body": { + "nativeSrc": "2142:62:12", + "nodeType": "YulBlock", + "src": "2142:62:12", + "statements": [ + { + "body": { + "nativeSrc": "2176:22:12", + "nodeType": "YulBlock", + "src": "2176:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "2178:16:12", + "nodeType": "YulIdentifier", + "src": "2178:16:12" + }, + "nativeSrc": "2178:18:12", + "nodeType": "YulFunctionCall", + "src": "2178:18:12" + }, + "nativeSrc": "2178:18:12", + "nodeType": "YulExpressionStatement", + "src": "2178:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2165:5:12", + "nodeType": "YulIdentifier", + "src": "2165:5:12" + }, + { + "kind": "number", + "nativeSrc": "2172:1:12", + "nodeType": "YulLiteral", + "src": "2172:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2162:2:12", + "nodeType": "YulIdentifier", + "src": "2162:2:12" + }, + "nativeSrc": "2162:12:12", + "nodeType": "YulFunctionCall", + "src": "2162:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2155:6:12", + "nodeType": "YulIdentifier", + "src": "2155:6:12" + }, + "nativeSrc": "2155:20:12", + "nodeType": "YulFunctionCall", + "src": "2155:20:12" + }, + "nativeSrc": "2152:46:12", + "nodeType": "YulIf", + "src": "2152:46:12" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "2083:121:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2135:5:12", + "nodeType": "YulTypedName", + "src": "2135:5:12", + "type": "" + } + ], + "src": "2083:121:12" + }, + { + "body": { + "nativeSrc": "2271:82:12", + "nodeType": "YulBlock", + "src": "2271:82:12", + "statements": [ + { + "nativeSrc": "2281:16:12", + "nodeType": "YulAssignment", + "src": "2281:16:12", + "value": { + "name": "value", + "nativeSrc": "2292:5:12", + "nodeType": "YulIdentifier", + "src": "2292:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2281:7:12", + "nodeType": "YulIdentifier", + "src": "2281:7:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2341:5:12", + "nodeType": "YulIdentifier", + "src": "2341:5:12" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "2298:42:12", + "nodeType": "YulIdentifier", + "src": "2298:42:12" + }, + "nativeSrc": "2298:49:12", + "nodeType": "YulFunctionCall", + "src": "2298:49:12" + }, + "nativeSrc": "2298:49:12", + "nodeType": "YulExpressionStatement", + "src": "2298:49:12" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "2210:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2253:5:12", + "nodeType": "YulTypedName", + "src": "2253:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2263:7:12", + "nodeType": "YulTypedName", + "src": "2263:7:12", + "type": "" + } + ], + "src": "2210:143:12" + }, + { + "body": { + "nativeSrc": "2433:69:12", + "nodeType": "YulBlock", + "src": "2433:69:12", + "statements": [ + { + "nativeSrc": "2443:53:12", + "nodeType": "YulAssignment", + "src": "2443:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2490:5:12", + "nodeType": "YulIdentifier", + "src": "2490:5:12" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "2456:33:12", + "nodeType": "YulIdentifier", + "src": "2456:33:12" + }, + "nativeSrc": "2456:40:12", + "nodeType": "YulFunctionCall", + "src": "2456:40:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "2443:9:12", + "nodeType": "YulIdentifier", + "src": "2443:9:12" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "2359:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2413:5:12", + "nodeType": "YulTypedName", + "src": "2413:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "2423:9:12", + "nodeType": "YulTypedName", + "src": "2423:9:12", + "type": "" + } + ], + "src": "2359:143:12" + }, + { + "body": { + "nativeSrc": "2577:80:12", + "nodeType": "YulBlock", + "src": "2577:80:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2594:3:12", + "nodeType": "YulIdentifier", + "src": "2594:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2644:5:12", + "nodeType": "YulIdentifier", + "src": "2644:5:12" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "2599:44:12", + "nodeType": "YulIdentifier", + "src": "2599:44:12" + }, + "nativeSrc": "2599:51:12", + "nodeType": "YulFunctionCall", + "src": "2599:51:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2587:6:12", + "nodeType": "YulIdentifier", + "src": "2587:6:12" + }, + "nativeSrc": "2587:64:12", + "nodeType": "YulFunctionCall", + "src": "2587:64:12" + }, + "nativeSrc": "2587:64:12", + "nodeType": "YulExpressionStatement", + "src": "2587:64:12" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "2508:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2565:5:12", + "nodeType": "YulTypedName", + "src": "2565:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2572:3:12", + "nodeType": "YulTypedName", + "src": "2572:3:12", + "type": "" + } + ], + "src": "2508:149:12" + }, + { + "body": { + "nativeSrc": "2843:1680:12", + "nodeType": "YulBlock", + "src": "2843:1680:12", + "statements": [ + { + "nativeSrc": "2853:28:12", + "nodeType": "YulVariableDeclaration", + "src": "2853:28:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2869:3:12", + "nodeType": "YulIdentifier", + "src": "2869:3:12" + }, + { + "kind": "number", + "nativeSrc": "2874:6:12", + "nodeType": "YulLiteral", + "src": "2874:6:12", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2865:3:12", + "nodeType": "YulIdentifier", + "src": "2865:3:12" + }, + "nativeSrc": "2865:16:12", + "nodeType": "YulFunctionCall", + "src": "2865:16:12" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "2857:4:12", + "nodeType": "YulTypedName", + "src": "2857:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2891:242:12", + "nodeType": "YulBlock", + "src": "2891:242:12", + "statements": [ + { + "nativeSrc": "2933:43:12", + "nodeType": "YulVariableDeclaration", + "src": "2933:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2963:5:12", + "nodeType": "YulIdentifier", + "src": "2963:5:12" + }, + { + "kind": "number", + "nativeSrc": "2970:4:12", + "nodeType": "YulLiteral", + "src": "2970:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2959:3:12", + "nodeType": "YulIdentifier", + "src": "2959:3:12" + }, + "nativeSrc": "2959:16:12", + "nodeType": "YulFunctionCall", + "src": "2959:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2953:5:12", + "nodeType": "YulIdentifier", + "src": "2953:5:12" + }, + "nativeSrc": "2953:23:12", + "nodeType": "YulFunctionCall", + "src": "2953:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "2937:12:12", + "nodeType": "YulTypedName", + "src": "2937:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3001:3:12", + "nodeType": "YulIdentifier", + "src": "3001:3:12" + }, + { + "kind": "number", + "nativeSrc": "3006:4:12", + "nodeType": "YulLiteral", + "src": "3006:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2997:3:12", + "nodeType": "YulIdentifier", + "src": "2997:3:12" + }, + "nativeSrc": "2997:14:12", + "nodeType": "YulFunctionCall", + "src": "2997:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "3017:4:12", + "nodeType": "YulIdentifier", + "src": "3017:4:12" + }, + { + "name": "pos", + "nativeSrc": "3023:3:12", + "nodeType": "YulIdentifier", + "src": "3023:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3013:3:12", + "nodeType": "YulIdentifier", + "src": "3013:3:12" + }, + "nativeSrc": "3013:14:12", + "nodeType": "YulFunctionCall", + "src": "3013:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2990:6:12", + "nodeType": "YulIdentifier", + "src": "2990:6:12" + }, + "nativeSrc": "2990:38:12", + "nodeType": "YulFunctionCall", + "src": "2990:38:12" + }, + "nativeSrc": "2990:38:12", + "nodeType": "YulExpressionStatement", + "src": "2990:38:12" + }, + { + "nativeSrc": "3041:81:12", + "nodeType": "YulAssignment", + "src": "3041:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3103:12:12", + "nodeType": "YulIdentifier", + "src": "3103:12:12" + }, + { + "name": "tail", + "nativeSrc": "3117:4:12", + "nodeType": "YulIdentifier", + "src": "3117:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "3049:53:12", + "nodeType": "YulIdentifier", + "src": "3049:53:12" + }, + "nativeSrc": "3049:73:12", + "nodeType": "YulFunctionCall", + "src": "3049:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3041:4:12", + "nodeType": "YulIdentifier", + "src": "3041:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "3143:174:12", + "nodeType": "YulBlock", + "src": "3143:174:12", + "statements": [ + { + "nativeSrc": "3188:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3188:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3218:5:12", + "nodeType": "YulIdentifier", + "src": "3218:5:12" + }, + { + "kind": "number", + "nativeSrc": "3225:4:12", + "nodeType": "YulLiteral", + "src": "3225:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3214:3:12", + "nodeType": "YulIdentifier", + "src": "3214:3:12" + }, + "nativeSrc": "3214:16:12", + "nodeType": "YulFunctionCall", + "src": "3214:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3208:5:12", + "nodeType": "YulIdentifier", + "src": "3208:5:12" + }, + "nativeSrc": "3208:23:12", + "nodeType": "YulFunctionCall", + "src": "3208:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3192:12:12", + "nodeType": "YulTypedName", + "src": "3192:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3278:12:12", + "nodeType": "YulIdentifier", + "src": "3278:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3296:3:12", + "nodeType": "YulIdentifier", + "src": "3296:3:12" + }, + { + "kind": "number", + "nativeSrc": "3301:4:12", + "nodeType": "YulLiteral", + "src": "3301:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3292:3:12", + "nodeType": "YulIdentifier", + "src": "3292:3:12" + }, + "nativeSrc": "3292:14:12", + "nodeType": "YulFunctionCall", + "src": "3292:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "3244:33:12", + "nodeType": "YulIdentifier", + "src": "3244:33:12" + }, + "nativeSrc": "3244:63:12", + "nodeType": "YulFunctionCall", + "src": "3244:63:12" + }, + "nativeSrc": "3244:63:12", + "nodeType": "YulExpressionStatement", + "src": "3244:63:12" + } + ] + }, + { + "nativeSrc": "3327:178:12", + "nodeType": "YulBlock", + "src": "3327:178:12", + "statements": [ + { + "nativeSrc": "3376:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3376:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3406:5:12", + "nodeType": "YulIdentifier", + "src": "3406:5:12" + }, + { + "kind": "number", + "nativeSrc": "3413:4:12", + "nodeType": "YulLiteral", + "src": "3413:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3402:3:12", + "nodeType": "YulIdentifier", + "src": "3402:3:12" + }, + "nativeSrc": "3402:16:12", + "nodeType": "YulFunctionCall", + "src": "3402:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3396:5:12", + "nodeType": "YulIdentifier", + "src": "3396:5:12" + }, + "nativeSrc": "3396:23:12", + "nodeType": "YulFunctionCall", + "src": "3396:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3380:12:12", + "nodeType": "YulTypedName", + "src": "3380:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3466:12:12", + "nodeType": "YulIdentifier", + "src": "3466:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3484:3:12", + "nodeType": "YulIdentifier", + "src": "3484:3:12" + }, + { + "kind": "number", + "nativeSrc": "3489:4:12", + "nodeType": "YulLiteral", + "src": "3489:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3480:3:12", + "nodeType": "YulIdentifier", + "src": "3480:3:12" + }, + "nativeSrc": "3480:14:12", + "nodeType": "YulFunctionCall", + "src": "3480:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3432:33:12", + "nodeType": "YulIdentifier", + "src": "3432:33:12" + }, + "nativeSrc": "3432:63:12", + "nodeType": "YulFunctionCall", + "src": "3432:63:12" + }, + "nativeSrc": "3432:63:12", + "nodeType": "YulExpressionStatement", + "src": "3432:63:12" + } + ] + }, + { + "nativeSrc": "3515:177:12", + "nodeType": "YulBlock", + "src": "3515:177:12", + "statements": [ + { + "nativeSrc": "3563:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3563:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3593:5:12", + "nodeType": "YulIdentifier", + "src": "3593:5:12" + }, + { + "kind": "number", + "nativeSrc": "3600:4:12", + "nodeType": "YulLiteral", + "src": "3600:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3589:3:12", + "nodeType": "YulIdentifier", + "src": "3589:3:12" + }, + "nativeSrc": "3589:16:12", + "nodeType": "YulFunctionCall", + "src": "3589:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3583:5:12", + "nodeType": "YulIdentifier", + "src": "3583:5:12" + }, + "nativeSrc": "3583:23:12", + "nodeType": "YulFunctionCall", + "src": "3583:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3567:12:12", + "nodeType": "YulTypedName", + "src": "3567:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3653:12:12", + "nodeType": "YulIdentifier", + "src": "3653:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3671:3:12", + "nodeType": "YulIdentifier", + "src": "3671:3:12" + }, + { + "kind": "number", + "nativeSrc": "3676:4:12", + "nodeType": "YulLiteral", + "src": "3676:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3667:3:12", + "nodeType": "YulIdentifier", + "src": "3667:3:12" + }, + "nativeSrc": "3667:14:12", + "nodeType": "YulFunctionCall", + "src": "3667:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3619:33:12", + "nodeType": "YulIdentifier", + "src": "3619:33:12" + }, + "nativeSrc": "3619:63:12", + "nodeType": "YulFunctionCall", + "src": "3619:63:12" + }, + "nativeSrc": "3619:63:12", + "nodeType": "YulExpressionStatement", + "src": "3619:63:12" + } + ] + }, + { + "nativeSrc": "3702:171:12", + "nodeType": "YulBlock", + "src": "3702:171:12", + "statements": [ + { + "nativeSrc": "3744:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3744:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3774:5:12", + "nodeType": "YulIdentifier", + "src": "3774:5:12" + }, + { + "kind": "number", + "nativeSrc": "3781:4:12", + "nodeType": "YulLiteral", + "src": "3781:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3770:3:12", + "nodeType": "YulIdentifier", + "src": "3770:3:12" + }, + "nativeSrc": "3770:16:12", + "nodeType": "YulFunctionCall", + "src": "3770:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3764:5:12", + "nodeType": "YulIdentifier", + "src": "3764:5:12" + }, + "nativeSrc": "3764:23:12", + "nodeType": "YulFunctionCall", + "src": "3764:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3748:12:12", + "nodeType": "YulTypedName", + "src": "3748:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3834:12:12", + "nodeType": "YulIdentifier", + "src": "3834:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3852:3:12", + "nodeType": "YulIdentifier", + "src": "3852:3:12" + }, + { + "kind": "number", + "nativeSrc": "3857:4:12", + "nodeType": "YulLiteral", + "src": "3857:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3848:3:12", + "nodeType": "YulIdentifier", + "src": "3848:3:12" + }, + "nativeSrc": "3848:14:12", + "nodeType": "YulFunctionCall", + "src": "3848:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3800:33:12", + "nodeType": "YulIdentifier", + "src": "3800:33:12" + }, + "nativeSrc": "3800:63:12", + "nodeType": "YulFunctionCall", + "src": "3800:63:12" + }, + "nativeSrc": "3800:63:12", + "nodeType": "YulExpressionStatement", + "src": "3800:63:12" + } + ] + }, + { + "nativeSrc": "3883:174:12", + "nodeType": "YulBlock", + "src": "3883:174:12", + "statements": [ + { + "nativeSrc": "3928:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3928:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3958:5:12", + "nodeType": "YulIdentifier", + "src": "3958:5:12" + }, + { + "kind": "number", + "nativeSrc": "3965:4:12", + "nodeType": "YulLiteral", + "src": "3965:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3954:3:12", + "nodeType": "YulIdentifier", + "src": "3954:3:12" + }, + "nativeSrc": "3954:16:12", + "nodeType": "YulFunctionCall", + "src": "3954:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3948:5:12", + "nodeType": "YulIdentifier", + "src": "3948:5:12" + }, + "nativeSrc": "3948:23:12", + "nodeType": "YulFunctionCall", + "src": "3948:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3932:12:12", + "nodeType": "YulTypedName", + "src": "3932:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4018:12:12", + "nodeType": "YulIdentifier", + "src": "4018:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4036:3:12", + "nodeType": "YulIdentifier", + "src": "4036:3:12" + }, + { + "kind": "number", + "nativeSrc": "4041:4:12", + "nodeType": "YulLiteral", + "src": "4041:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4032:3:12", + "nodeType": "YulIdentifier", + "src": "4032:3:12" + }, + "nativeSrc": "4032:14:12", + "nodeType": "YulFunctionCall", + "src": "4032:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3984:33:12", + "nodeType": "YulIdentifier", + "src": "3984:33:12" + }, + "nativeSrc": "3984:63:12", + "nodeType": "YulFunctionCall", + "src": "3984:63:12" + }, + "nativeSrc": "3984:63:12", + "nodeType": "YulExpressionStatement", + "src": "3984:63:12" + } + ] + }, + { + "nativeSrc": "4067:185:12", + "nodeType": "YulBlock", + "src": "4067:185:12", + "statements": [ + { + "nativeSrc": "4109:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4109:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4139:5:12", + "nodeType": "YulIdentifier", + "src": "4139:5:12" + }, + { + "kind": "number", + "nativeSrc": "4146:4:12", + "nodeType": "YulLiteral", + "src": "4146:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4135:3:12", + "nodeType": "YulIdentifier", + "src": "4135:3:12" + }, + "nativeSrc": "4135:16:12", + "nodeType": "YulFunctionCall", + "src": "4135:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4129:5:12", + "nodeType": "YulIdentifier", + "src": "4129:5:12" + }, + "nativeSrc": "4129:23:12", + "nodeType": "YulFunctionCall", + "src": "4129:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4113:12:12", + "nodeType": "YulTypedName", + "src": "4113:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4213:12:12", + "nodeType": "YulIdentifier", + "src": "4213:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4231:3:12", + "nodeType": "YulIdentifier", + "src": "4231:3:12" + }, + { + "kind": "number", + "nativeSrc": "4236:4:12", + "nodeType": "YulLiteral", + "src": "4236:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4227:3:12", + "nodeType": "YulIdentifier", + "src": "4227:3:12" + }, + "nativeSrc": "4227:14:12", + "nodeType": "YulFunctionCall", + "src": "4227:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "4165:47:12", + "nodeType": "YulIdentifier", + "src": "4165:47:12" + }, + "nativeSrc": "4165:77:12", + "nodeType": "YulFunctionCall", + "src": "4165:77:12" + }, + "nativeSrc": "4165:77:12", + "nodeType": "YulExpressionStatement", + "src": "4165:77:12" + } + ] + }, + { + "nativeSrc": "4262:234:12", + "nodeType": "YulBlock", + "src": "4262:234:12", + "statements": [ + { + "nativeSrc": "4296:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4296:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4326:5:12", + "nodeType": "YulIdentifier", + "src": "4326:5:12" + }, + { + "kind": "number", + "nativeSrc": "4333:4:12", + "nodeType": "YulLiteral", + "src": "4333:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4322:3:12", + "nodeType": "YulIdentifier", + "src": "4322:3:12" + }, + "nativeSrc": "4322:16:12", + "nodeType": "YulFunctionCall", + "src": "4322:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4316:5:12", + "nodeType": "YulIdentifier", + "src": "4316:5:12" + }, + "nativeSrc": "4316:23:12", + "nodeType": "YulFunctionCall", + "src": "4316:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4300:12:12", + "nodeType": "YulTypedName", + "src": "4300:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4364:3:12", + "nodeType": "YulIdentifier", + "src": "4364:3:12" + }, + { + "kind": "number", + "nativeSrc": "4369:4:12", + "nodeType": "YulLiteral", + "src": "4369:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4360:3:12", + "nodeType": "YulIdentifier", + "src": "4360:3:12" + }, + "nativeSrc": "4360:14:12", + "nodeType": "YulFunctionCall", + "src": "4360:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4380:4:12", + "nodeType": "YulIdentifier", + "src": "4380:4:12" + }, + { + "name": "pos", + "nativeSrc": "4386:3:12", + "nodeType": "YulIdentifier", + "src": "4386:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4376:3:12", + "nodeType": "YulIdentifier", + "src": "4376:3:12" + }, + "nativeSrc": "4376:14:12", + "nodeType": "YulFunctionCall", + "src": "4376:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4353:6:12", + "nodeType": "YulIdentifier", + "src": "4353:6:12" + }, + "nativeSrc": "4353:38:12", + "nodeType": "YulFunctionCall", + "src": "4353:38:12" + }, + "nativeSrc": "4353:38:12", + "nodeType": "YulExpressionStatement", + "src": "4353:38:12" + }, + { + "nativeSrc": "4404:81:12", + "nodeType": "YulAssignment", + "src": "4404:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4466:12:12", + "nodeType": "YulIdentifier", + "src": "4466:12:12" + }, + { + "name": "tail", + "nativeSrc": "4480:4:12", + "nodeType": "YulIdentifier", + "src": "4480:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "4412:53:12", + "nodeType": "YulIdentifier", + "src": "4412:53:12" + }, + "nativeSrc": "4412:73:12", + "nodeType": "YulFunctionCall", + "src": "4412:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4404:4:12", + "nodeType": "YulIdentifier", + "src": "4404:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "4506:11:12", + "nodeType": "YulAssignment", + "src": "4506:11:12", + "value": { + "name": "tail", + "nativeSrc": "4513:4:12", + "nodeType": "YulIdentifier", + "src": "4513:4:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4506:3:12", + "nodeType": "YulIdentifier", + "src": "4506:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "2711:1812:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2822:5:12", + "nodeType": "YulTypedName", + "src": "2822:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2829:3:12", + "nodeType": "YulTypedName", + "src": "2829:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2838:3:12", + "nodeType": "YulTypedName", + "src": "2838:3:12", + "type": "" + } + ], + "src": "2711:1812:12" + }, + { + "body": { + "nativeSrc": "4685:233:12", + "nodeType": "YulBlock", + "src": "4685:233:12", + "statements": [ + { + "nativeSrc": "4695:26:12", + "nodeType": "YulAssignment", + "src": "4695:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4707:9:12", + "nodeType": "YulIdentifier", + "src": "4707:9:12" + }, + { + "kind": "number", + "nativeSrc": "4718:2:12", + "nodeType": "YulLiteral", + "src": "4718:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4703:3:12", + "nodeType": "YulIdentifier", + "src": "4703:3:12" + }, + "nativeSrc": "4703:18:12", + "nodeType": "YulFunctionCall", + "src": "4703:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4695:4:12", + "nodeType": "YulIdentifier", + "src": "4695:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4742:9:12", + "nodeType": "YulIdentifier", + "src": "4742:9:12" + }, + { + "kind": "number", + "nativeSrc": "4753:1:12", + "nodeType": "YulLiteral", + "src": "4753:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4738:3:12", + "nodeType": "YulIdentifier", + "src": "4738:3:12" + }, + "nativeSrc": "4738:17:12", + "nodeType": "YulFunctionCall", + "src": "4738:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4761:4:12", + "nodeType": "YulIdentifier", + "src": "4761:4:12" + }, + { + "name": "headStart", + "nativeSrc": "4767:9:12", + "nodeType": "YulIdentifier", + "src": "4767:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4757:3:12", + "nodeType": "YulIdentifier", + "src": "4757:3:12" + }, + "nativeSrc": "4757:20:12", + "nodeType": "YulFunctionCall", + "src": "4757:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4731:6:12", + "nodeType": "YulIdentifier", + "src": "4731:6:12" + }, + "nativeSrc": "4731:47:12", + "nodeType": "YulFunctionCall", + "src": "4731:47:12" + }, + "nativeSrc": "4731:47:12", + "nodeType": "YulExpressionStatement", + "src": "4731:47:12" + }, + { + "nativeSrc": "4787:124:12", + "nodeType": "YulAssignment", + "src": "4787:124:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4897:6:12", + "nodeType": "YulIdentifier", + "src": "4897:6:12" + }, + { + "name": "tail", + "nativeSrc": "4906:4:12", + "nodeType": "YulIdentifier", + "src": "4906:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "4795:101:12", + "nodeType": "YulIdentifier", + "src": "4795:101:12" + }, + "nativeSrc": "4795:116:12", + "nodeType": "YulFunctionCall", + "src": "4795:116:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4787:4:12", + "nodeType": "YulIdentifier", + "src": "4787:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed", + "nativeSrc": "4529:389:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4657:9:12", + "nodeType": "YulTypedName", + "src": "4657:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4669:6:12", + "nodeType": "YulTypedName", + "src": "4669:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4680:4:12", + "nodeType": "YulTypedName", + "src": "4680:4:12", + "type": "" + } + ], + "src": "4529:389:12" + }, + { + "body": { + "nativeSrc": "4964:35:12", + "nodeType": "YulBlock", + "src": "4964:35:12", + "statements": [ + { + "nativeSrc": "4974:19:12", + "nodeType": "YulAssignment", + "src": "4974:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4990:2:12", + "nodeType": "YulLiteral", + "src": "4990:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4984:5:12", + "nodeType": "YulIdentifier", + "src": "4984:5:12" + }, + "nativeSrc": "4984:9:12", + "nodeType": "YulFunctionCall", + "src": "4984:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "4974:6:12", + "nodeType": "YulIdentifier", + "src": "4974:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "4924:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "4957:6:12", + "nodeType": "YulTypedName", + "src": "4957:6:12", + "type": "" + } + ], + "src": "4924:75:12" + }, + { + "body": { + "nativeSrc": "5094:28:12", + "nodeType": "YulBlock", + "src": "5094:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5111:1:12", + "nodeType": "YulLiteral", + "src": "5111:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5114:1:12", + "nodeType": "YulLiteral", + "src": "5114:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5104:6:12", + "nodeType": "YulIdentifier", + "src": "5104:6:12" + }, + "nativeSrc": "5104:12:12", + "nodeType": "YulFunctionCall", + "src": "5104:12:12" + }, + "nativeSrc": "5104:12:12", + "nodeType": "YulExpressionStatement", + "src": "5104:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5005:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5005:117:12" + }, + { + "body": { + "nativeSrc": "5217:28:12", + "nodeType": "YulBlock", + "src": "5217:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5234:1:12", + "nodeType": "YulLiteral", + "src": "5234:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5237:1:12", + "nodeType": "YulLiteral", + "src": "5237:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5227:6:12", + "nodeType": "YulIdentifier", + "src": "5227:6:12" + }, + "nativeSrc": "5227:12:12", + "nodeType": "YulFunctionCall", + "src": "5227:12:12" + }, + "nativeSrc": "5227:12:12", + "nodeType": "YulExpressionStatement", + "src": "5227:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5128:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5128:117:12" + }, + { + "body": { + "nativeSrc": "5294:79:12", + "nodeType": "YulBlock", + "src": "5294:79:12", + "statements": [ + { + "body": { + "nativeSrc": "5351:16:12", + "nodeType": "YulBlock", + "src": "5351:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5360:1:12", + "nodeType": "YulLiteral", + "src": "5360:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5363:1:12", + "nodeType": "YulLiteral", + "src": "5363:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5353:6:12", + "nodeType": "YulIdentifier", + "src": "5353:6:12" + }, + "nativeSrc": "5353:12:12", + "nodeType": "YulFunctionCall", + "src": "5353:12:12" + }, + "nativeSrc": "5353:12:12", + "nodeType": "YulExpressionStatement", + "src": "5353:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5317:5:12", + "nodeType": "YulIdentifier", + "src": "5317:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5342:5:12", + "nodeType": "YulIdentifier", + "src": "5342:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5324:17:12", + "nodeType": "YulIdentifier", + "src": "5324:17:12" + }, + "nativeSrc": "5324:24:12", + "nodeType": "YulFunctionCall", + "src": "5324:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5314:2:12", + "nodeType": "YulIdentifier", + "src": "5314:2:12" + }, + "nativeSrc": "5314:35:12", + "nodeType": "YulFunctionCall", + "src": "5314:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5307:6:12", + "nodeType": "YulIdentifier", + "src": "5307:6:12" + }, + "nativeSrc": "5307:43:12", + "nodeType": "YulFunctionCall", + "src": "5307:43:12" + }, + "nativeSrc": "5304:63:12", + "nodeType": "YulIf", + "src": "5304:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "5251:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5287:5:12", + "nodeType": "YulTypedName", + "src": "5287:5:12", + "type": "" + } + ], + "src": "5251:122:12" + }, + { + "body": { + "nativeSrc": "5431:87:12", + "nodeType": "YulBlock", + "src": "5431:87:12", + "statements": [ + { + "nativeSrc": "5441:29:12", + "nodeType": "YulAssignment", + "src": "5441:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5463:6:12", + "nodeType": "YulIdentifier", + "src": "5463:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5450:12:12", + "nodeType": "YulIdentifier", + "src": "5450:12:12" + }, + "nativeSrc": "5450:20:12", + "nodeType": "YulFunctionCall", + "src": "5450:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5441:5:12", + "nodeType": "YulIdentifier", + "src": "5441:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5506:5:12", + "nodeType": "YulIdentifier", + "src": "5506:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "5479:26:12", + "nodeType": "YulIdentifier", + "src": "5479:26:12" + }, + "nativeSrc": "5479:33:12", + "nodeType": "YulFunctionCall", + "src": "5479:33:12" + }, + "nativeSrc": "5479:33:12", + "nodeType": "YulExpressionStatement", + "src": "5479:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "5379:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5409:6:12", + "nodeType": "YulTypedName", + "src": "5409:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5417:3:12", + "nodeType": "YulTypedName", + "src": "5417:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "5425:5:12", + "nodeType": "YulTypedName", + "src": "5425:5:12", + "type": "" + } + ], + "src": "5379:139:12" + }, + { + "body": { + "nativeSrc": "5567:79:12", + "nodeType": "YulBlock", + "src": "5567:79:12", + "statements": [ + { + "body": { + "nativeSrc": "5624:16:12", + "nodeType": "YulBlock", + "src": "5624:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5633:1:12", + "nodeType": "YulLiteral", + "src": "5633:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5636:1:12", + "nodeType": "YulLiteral", + "src": "5636:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5626:6:12", + "nodeType": "YulIdentifier", + "src": "5626:6:12" + }, + "nativeSrc": "5626:12:12", + "nodeType": "YulFunctionCall", + "src": "5626:12:12" + }, + "nativeSrc": "5626:12:12", + "nodeType": "YulExpressionStatement", + "src": "5626:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5590:5:12", + "nodeType": "YulIdentifier", + "src": "5590:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5615:5:12", + "nodeType": "YulIdentifier", + "src": "5615:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5597:17:12", + "nodeType": "YulIdentifier", + "src": "5597:17:12" + }, + "nativeSrc": "5597:24:12", + "nodeType": "YulFunctionCall", + "src": "5597:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5587:2:12", + "nodeType": "YulIdentifier", + "src": "5587:2:12" + }, + "nativeSrc": "5587:35:12", + "nodeType": "YulFunctionCall", + "src": "5587:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5580:6:12", + "nodeType": "YulIdentifier", + "src": "5580:6:12" + }, + "nativeSrc": "5580:43:12", + "nodeType": "YulFunctionCall", + "src": "5580:43:12" + }, + "nativeSrc": "5577:63:12", + "nodeType": "YulIf", + "src": "5577:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "5524:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5560:5:12", + "nodeType": "YulTypedName", + "src": "5560:5:12", + "type": "" + } + ], + "src": "5524:122:12" + }, + { + "body": { + "nativeSrc": "5704:87:12", + "nodeType": "YulBlock", + "src": "5704:87:12", + "statements": [ + { + "nativeSrc": "5714:29:12", + "nodeType": "YulAssignment", + "src": "5714:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5736:6:12", + "nodeType": "YulIdentifier", + "src": "5736:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5723:12:12", + "nodeType": "YulIdentifier", + "src": "5723:12:12" + }, + "nativeSrc": "5723:20:12", + "nodeType": "YulFunctionCall", + "src": "5723:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5714:5:12", + "nodeType": "YulIdentifier", + "src": "5714:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5779:5:12", + "nodeType": "YulIdentifier", + "src": "5779:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "5752:26:12", + "nodeType": "YulIdentifier", + "src": "5752:26:12" + }, + "nativeSrc": "5752:33:12", + "nodeType": "YulFunctionCall", + "src": "5752:33:12" + }, + "nativeSrc": "5752:33:12", + "nodeType": "YulExpressionStatement", + "src": "5752:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "5652:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5682:6:12", + "nodeType": "YulTypedName", + "src": "5682:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5690:3:12", + "nodeType": "YulTypedName", + "src": "5690:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "5698:5:12", + "nodeType": "YulTypedName", + "src": "5698:5:12", + "type": "" + } + ], + "src": "5652:139:12" + }, + { + "body": { + "nativeSrc": "5886:28:12", + "nodeType": "YulBlock", + "src": "5886:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5903:1:12", + "nodeType": "YulLiteral", + "src": "5903:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5906:1:12", + "nodeType": "YulLiteral", + "src": "5906:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5896:6:12", + "nodeType": "YulIdentifier", + "src": "5896:6:12" + }, + "nativeSrc": "5896:12:12", + "nodeType": "YulFunctionCall", + "src": "5896:12:12" + }, + "nativeSrc": "5896:12:12", + "nodeType": "YulExpressionStatement", + "src": "5896:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "5797:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5797:117:12" + }, + { + "body": { + "nativeSrc": "6009:28:12", + "nodeType": "YulBlock", + "src": "6009:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6026:1:12", + "nodeType": "YulLiteral", + "src": "6026:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6029:1:12", + "nodeType": "YulLiteral", + "src": "6029:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6019:6:12", + "nodeType": "YulIdentifier", + "src": "6019:6:12" + }, + "nativeSrc": "6019:12:12", + "nodeType": "YulFunctionCall", + "src": "6019:12:12" + }, + "nativeSrc": "6019:12:12", + "nodeType": "YulExpressionStatement", + "src": "6019:12:12" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "5920:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5920:117:12" + }, + { + "body": { + "nativeSrc": "6132:28:12", + "nodeType": "YulBlock", + "src": "6132:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6149:1:12", + "nodeType": "YulLiteral", + "src": "6149:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6152:1:12", + "nodeType": "YulLiteral", + "src": "6152:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6142:6:12", + "nodeType": "YulIdentifier", + "src": "6142:6:12" + }, + "nativeSrc": "6142:12:12", + "nodeType": "YulFunctionCall", + "src": "6142:12:12" + }, + "nativeSrc": "6142:12:12", + "nodeType": "YulExpressionStatement", + "src": "6142:12:12" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "6043:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6043:117:12" + }, + { + "body": { + "nativeSrc": "6273:478:12", + "nodeType": "YulBlock", + "src": "6273:478:12", + "statements": [ + { + "body": { + "nativeSrc": "6322:83:12", + "nodeType": "YulBlock", + "src": "6322:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6324:77:12", + "nodeType": "YulIdentifier", + "src": "6324:77:12" + }, + "nativeSrc": "6324:79:12", + "nodeType": "YulFunctionCall", + "src": "6324:79:12" + }, + "nativeSrc": "6324:79:12", + "nodeType": "YulExpressionStatement", + "src": "6324:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6301:6:12", + "nodeType": "YulIdentifier", + "src": "6301:6:12" + }, + { + "kind": "number", + "nativeSrc": "6309:4:12", + "nodeType": "YulLiteral", + "src": "6309:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6297:3:12", + "nodeType": "YulIdentifier", + "src": "6297:3:12" + }, + "nativeSrc": "6297:17:12", + "nodeType": "YulFunctionCall", + "src": "6297:17:12" + }, + { + "name": "end", + "nativeSrc": "6316:3:12", + "nodeType": "YulIdentifier", + "src": "6316:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6293:3:12", + "nodeType": "YulIdentifier", + "src": "6293:3:12" + }, + "nativeSrc": "6293:27:12", + "nodeType": "YulFunctionCall", + "src": "6293:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6286:6:12", + "nodeType": "YulIdentifier", + "src": "6286:6:12" + }, + "nativeSrc": "6286:35:12", + "nodeType": "YulFunctionCall", + "src": "6286:35:12" + }, + "nativeSrc": "6283:122:12", + "nodeType": "YulIf", + "src": "6283:122:12" + }, + { + "nativeSrc": "6414:30:12", + "nodeType": "YulAssignment", + "src": "6414:30:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6437:6:12", + "nodeType": "YulIdentifier", + "src": "6437:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6424:12:12", + "nodeType": "YulIdentifier", + "src": "6424:12:12" + }, + "nativeSrc": "6424:20:12", + "nodeType": "YulFunctionCall", + "src": "6424:20:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6414:6:12", + "nodeType": "YulIdentifier", + "src": "6414:6:12" + } + ] + }, + { + "body": { + "nativeSrc": "6487:83:12", + "nodeType": "YulBlock", + "src": "6487:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "6489:77:12", + "nodeType": "YulIdentifier", + "src": "6489:77:12" + }, + "nativeSrc": "6489:79:12", + "nodeType": "YulFunctionCall", + "src": "6489:79:12" + }, + "nativeSrc": "6489:79:12", + "nodeType": "YulExpressionStatement", + "src": "6489:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6459:6:12", + "nodeType": "YulIdentifier", + "src": "6459:6:12" + }, + { + "kind": "number", + "nativeSrc": "6467:18:12", + "nodeType": "YulLiteral", + "src": "6467:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6456:2:12", + "nodeType": "YulIdentifier", + "src": "6456:2:12" + }, + "nativeSrc": "6456:30:12", + "nodeType": "YulFunctionCall", + "src": "6456:30:12" + }, + "nativeSrc": "6453:117:12", + "nodeType": "YulIf", + "src": "6453:117:12" + }, + { + "nativeSrc": "6579:29:12", + "nodeType": "YulAssignment", + "src": "6579:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6595:6:12", + "nodeType": "YulIdentifier", + "src": "6595:6:12" + }, + { + "kind": "number", + "nativeSrc": "6603:4:12", + "nodeType": "YulLiteral", + "src": "6603:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6591:3:12", + "nodeType": "YulIdentifier", + "src": "6591:3:12" + }, + "nativeSrc": "6591:17:12", + "nodeType": "YulFunctionCall", + "src": "6591:17:12" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "6579:8:12", + "nodeType": "YulIdentifier", + "src": "6579:8:12" + } + ] + }, + { + "body": { + "nativeSrc": "6662:83:12", + "nodeType": "YulBlock", + "src": "6662:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "6664:77:12", + "nodeType": "YulIdentifier", + "src": "6664:77:12" + }, + "nativeSrc": "6664:79:12", + "nodeType": "YulFunctionCall", + "src": "6664:79:12" + }, + "nativeSrc": "6664:79:12", + "nodeType": "YulExpressionStatement", + "src": "6664:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "6627:8:12", + "nodeType": "YulIdentifier", + "src": "6627:8:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6641:6:12", + "nodeType": "YulIdentifier", + "src": "6641:6:12" + }, + { + "kind": "number", + "nativeSrc": "6649:4:12", + "nodeType": "YulLiteral", + "src": "6649:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6637:3:12", + "nodeType": "YulIdentifier", + "src": "6637:3:12" + }, + "nativeSrc": "6637:17:12", + "nodeType": "YulFunctionCall", + "src": "6637:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6623:3:12", + "nodeType": "YulIdentifier", + "src": "6623:3:12" + }, + "nativeSrc": "6623:32:12", + "nodeType": "YulFunctionCall", + "src": "6623:32:12" + }, + { + "name": "end", + "nativeSrc": "6657:3:12", + "nodeType": "YulIdentifier", + "src": "6657:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6620:2:12", + "nodeType": "YulIdentifier", + "src": "6620:2:12" + }, + "nativeSrc": "6620:41:12", + "nodeType": "YulFunctionCall", + "src": "6620:41:12" + }, + "nativeSrc": "6617:128:12", + "nodeType": "YulIf", + "src": "6617:128:12" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "6183:568:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6240:6:12", + "nodeType": "YulTypedName", + "src": "6240:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6248:3:12", + "nodeType": "YulTypedName", + "src": "6248:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "6256:8:12", + "nodeType": "YulTypedName", + "src": "6256:8:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6266:6:12", + "nodeType": "YulTypedName", + "src": "6266:6:12", + "type": "" + } + ], + "src": "6183:568:12" + }, + { + "body": { + "nativeSrc": "6892:714:12", + "nodeType": "YulBlock", + "src": "6892:714:12", + "statements": [ + { + "body": { + "nativeSrc": "6938:83:12", + "nodeType": "YulBlock", + "src": "6938:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6940:77:12", + "nodeType": "YulIdentifier", + "src": "6940:77:12" + }, + "nativeSrc": "6940:79:12", + "nodeType": "YulFunctionCall", + "src": "6940:79:12" + }, + "nativeSrc": "6940:79:12", + "nodeType": "YulExpressionStatement", + "src": "6940:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6913:7:12", + "nodeType": "YulIdentifier", + "src": "6913:7:12" + }, + { + "name": "headStart", + "nativeSrc": "6922:9:12", + "nodeType": "YulIdentifier", + "src": "6922:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6909:3:12", + "nodeType": "YulIdentifier", + "src": "6909:3:12" + }, + "nativeSrc": "6909:23:12", + "nodeType": "YulFunctionCall", + "src": "6909:23:12" + }, + { + "kind": "number", + "nativeSrc": "6934:2:12", + "nodeType": "YulLiteral", + "src": "6934:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6905:3:12", + "nodeType": "YulIdentifier", + "src": "6905:3:12" + }, + "nativeSrc": "6905:32:12", + "nodeType": "YulFunctionCall", + "src": "6905:32:12" + }, + "nativeSrc": "6902:119:12", + "nodeType": "YulIf", + "src": "6902:119:12" + }, + { + "nativeSrc": "7031:117:12", + "nodeType": "YulBlock", + "src": "7031:117:12", + "statements": [ + { + "nativeSrc": "7046:15:12", + "nodeType": "YulVariableDeclaration", + "src": "7046:15:12", + "value": { + "kind": "number", + "nativeSrc": "7060:1:12", + "nodeType": "YulLiteral", + "src": "7060:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7050:6:12", + "nodeType": "YulTypedName", + "src": "7050:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7075:63:12", + "nodeType": "YulAssignment", + "src": "7075:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7110:9:12", + "nodeType": "YulIdentifier", + "src": "7110:9:12" + }, + { + "name": "offset", + "nativeSrc": "7121:6:12", + "nodeType": "YulIdentifier", + "src": "7121:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7106:3:12", + "nodeType": "YulIdentifier", + "src": "7106:3:12" + }, + "nativeSrc": "7106:22:12", + "nodeType": "YulFunctionCall", + "src": "7106:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7130:7:12", + "nodeType": "YulIdentifier", + "src": "7130:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "7085:20:12", + "nodeType": "YulIdentifier", + "src": "7085:20:12" + }, + "nativeSrc": "7085:53:12", + "nodeType": "YulFunctionCall", + "src": "7085:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7075:6:12", + "nodeType": "YulIdentifier", + "src": "7075:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "7158:118:12", + "nodeType": "YulBlock", + "src": "7158:118:12", + "statements": [ + { + "nativeSrc": "7173:16:12", + "nodeType": "YulVariableDeclaration", + "src": "7173:16:12", + "value": { + "kind": "number", + "nativeSrc": "7187:2:12", + "nodeType": "YulLiteral", + "src": "7187:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7177:6:12", + "nodeType": "YulTypedName", + "src": "7177:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7203:63:12", + "nodeType": "YulAssignment", + "src": "7203:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7238:9:12", + "nodeType": "YulIdentifier", + "src": "7238:9:12" + }, + { + "name": "offset", + "nativeSrc": "7249:6:12", + "nodeType": "YulIdentifier", + "src": "7249:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7234:3:12", + "nodeType": "YulIdentifier", + "src": "7234:3:12" + }, + "nativeSrc": "7234:22:12", + "nodeType": "YulFunctionCall", + "src": "7234:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7258:7:12", + "nodeType": "YulIdentifier", + "src": "7258:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "7213:20:12", + "nodeType": "YulIdentifier", + "src": "7213:20:12" + }, + "nativeSrc": "7213:53:12", + "nodeType": "YulFunctionCall", + "src": "7213:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7203:6:12", + "nodeType": "YulIdentifier", + "src": "7203:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "7286:313:12", + "nodeType": "YulBlock", + "src": "7286:313:12", + "statements": [ + { + "nativeSrc": "7301:46:12", + "nodeType": "YulVariableDeclaration", + "src": "7301:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7332:9:12", + "nodeType": "YulIdentifier", + "src": "7332:9:12" + }, + { + "kind": "number", + "nativeSrc": "7343:2:12", + "nodeType": "YulLiteral", + "src": "7343:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7328:3:12", + "nodeType": "YulIdentifier", + "src": "7328:3:12" + }, + "nativeSrc": "7328:18:12", + "nodeType": "YulFunctionCall", + "src": "7328:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7315:12:12", + "nodeType": "YulIdentifier", + "src": "7315:12:12" + }, + "nativeSrc": "7315:32:12", + "nodeType": "YulFunctionCall", + "src": "7315:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7305:6:12", + "nodeType": "YulTypedName", + "src": "7305:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7394:83:12", + "nodeType": "YulBlock", + "src": "7394:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "7396:77:12", + "nodeType": "YulIdentifier", + "src": "7396:77:12" + }, + "nativeSrc": "7396:79:12", + "nodeType": "YulFunctionCall", + "src": "7396:79:12" + }, + "nativeSrc": "7396:79:12", + "nodeType": "YulExpressionStatement", + "src": "7396:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7366:6:12", + "nodeType": "YulIdentifier", + "src": "7366:6:12" + }, + { + "kind": "number", + "nativeSrc": "7374:18:12", + "nodeType": "YulLiteral", + "src": "7374:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7363:2:12", + "nodeType": "YulIdentifier", + "src": "7363:2:12" + }, + "nativeSrc": "7363:30:12", + "nodeType": "YulFunctionCall", + "src": "7363:30:12" + }, + "nativeSrc": "7360:117:12", + "nodeType": "YulIf", + "src": "7360:117:12" + }, + { + "nativeSrc": "7491:98:12", + "nodeType": "YulAssignment", + "src": "7491:98:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7561:9:12", + "nodeType": "YulIdentifier", + "src": "7561:9:12" + }, + { + "name": "offset", + "nativeSrc": "7572:6:12", + "nodeType": "YulIdentifier", + "src": "7572:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7557:3:12", + "nodeType": "YulIdentifier", + "src": "7557:3:12" + }, + "nativeSrc": "7557:22:12", + "nodeType": "YulFunctionCall", + "src": "7557:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7581:7:12", + "nodeType": "YulIdentifier", + "src": "7581:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "7509:47:12", + "nodeType": "YulIdentifier", + "src": "7509:47:12" + }, + "nativeSrc": "7509:80:12", + "nodeType": "YulFunctionCall", + "src": "7509:80:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "7491:6:12", + "nodeType": "YulIdentifier", + "src": "7491:6:12" + }, + { + "name": "value3", + "nativeSrc": "7499:6:12", + "nodeType": "YulIdentifier", + "src": "7499:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "6757:849:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6838:9:12", + "nodeType": "YulTypedName", + "src": "6838:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6849:7:12", + "nodeType": "YulTypedName", + "src": "6849:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6861:6:12", + "nodeType": "YulTypedName", + "src": "6861:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6869:6:12", + "nodeType": "YulTypedName", + "src": "6869:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "6877:6:12", + "nodeType": "YulTypedName", + "src": "6877:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "6885:6:12", + "nodeType": "YulTypedName", + "src": "6885:6:12", + "type": "" + } + ], + "src": "6757:849:12" + }, + { + "body": { + "nativeSrc": "7708:73:12", + "nodeType": "YulBlock", + "src": "7708:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7725:3:12", + "nodeType": "YulIdentifier", + "src": "7725:3:12" + }, + { + "name": "length", + "nativeSrc": "7730:6:12", + "nodeType": "YulIdentifier", + "src": "7730:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7718:6:12", + "nodeType": "YulIdentifier", + "src": "7718:6:12" + }, + "nativeSrc": "7718:19:12", + "nodeType": "YulFunctionCall", + "src": "7718:19:12" + }, + "nativeSrc": "7718:19:12", + "nodeType": "YulExpressionStatement", + "src": "7718:19:12" + }, + { + "nativeSrc": "7746:29:12", + "nodeType": "YulAssignment", + "src": "7746:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7765:3:12", + "nodeType": "YulIdentifier", + "src": "7765:3:12" + }, + { + "kind": "number", + "nativeSrc": "7770:4:12", + "nodeType": "YulLiteral", + "src": "7770:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7761:3:12", + "nodeType": "YulIdentifier", + "src": "7761:3:12" + }, + "nativeSrc": "7761:14:12", + "nodeType": "YulFunctionCall", + "src": "7761:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "7746:11:12", + "nodeType": "YulIdentifier", + "src": "7746:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7612:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7680:3:12", + "nodeType": "YulTypedName", + "src": "7680:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "7685:6:12", + "nodeType": "YulTypedName", + "src": "7685:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "7696:11:12", + "nodeType": "YulTypedName", + "src": "7696:11:12", + "type": "" + } + ], + "src": "7612:169:12" + }, + { + "body": { + "nativeSrc": "7879:285:12", + "nodeType": "YulBlock", + "src": "7879:285:12", + "statements": [ + { + "nativeSrc": "7889:53:12", + "nodeType": "YulVariableDeclaration", + "src": "7889:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7936:5:12", + "nodeType": "YulIdentifier", + "src": "7936:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7903:32:12", + "nodeType": "YulIdentifier", + "src": "7903:32:12" + }, + "nativeSrc": "7903:39:12", + "nodeType": "YulFunctionCall", + "src": "7903:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "7893:6:12", + "nodeType": "YulTypedName", + "src": "7893:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7951:78:12", + "nodeType": "YulAssignment", + "src": "7951:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8017:3:12", + "nodeType": "YulIdentifier", + "src": "8017:3:12" + }, + { + "name": "length", + "nativeSrc": "8022:6:12", + "nodeType": "YulIdentifier", + "src": "8022:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7958:58:12", + "nodeType": "YulIdentifier", + "src": "7958:58:12" + }, + "nativeSrc": "7958:71:12", + "nodeType": "YulFunctionCall", + "src": "7958:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7951:3:12", + "nodeType": "YulIdentifier", + "src": "7951:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8077:5:12", + "nodeType": "YulIdentifier", + "src": "8077:5:12" + }, + { + "kind": "number", + "nativeSrc": "8084:4:12", + "nodeType": "YulLiteral", + "src": "8084:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8073:3:12", + "nodeType": "YulIdentifier", + "src": "8073:3:12" + }, + "nativeSrc": "8073:16:12", + "nodeType": "YulFunctionCall", + "src": "8073:16:12" + }, + { + "name": "pos", + "nativeSrc": "8091:3:12", + "nodeType": "YulIdentifier", + "src": "8091:3:12" + }, + { + "name": "length", + "nativeSrc": "8096:6:12", + "nodeType": "YulIdentifier", + "src": "8096:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "8038:34:12", + "nodeType": "YulIdentifier", + "src": "8038:34:12" + }, + "nativeSrc": "8038:65:12", + "nodeType": "YulFunctionCall", + "src": "8038:65:12" + }, + "nativeSrc": "8038:65:12", + "nodeType": "YulExpressionStatement", + "src": "8038:65:12" + }, + { + "nativeSrc": "8112:46:12", + "nodeType": "YulAssignment", + "src": "8112:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8123:3:12", + "nodeType": "YulIdentifier", + "src": "8123:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8150:6:12", + "nodeType": "YulIdentifier", + "src": "8150:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "8128:21:12", + "nodeType": "YulIdentifier", + "src": "8128:21:12" + }, + "nativeSrc": "8128:29:12", + "nodeType": "YulFunctionCall", + "src": "8128:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8119:3:12", + "nodeType": "YulIdentifier", + "src": "8119:3:12" + }, + "nativeSrc": "8119:39:12", + "nodeType": "YulFunctionCall", + "src": "8119:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "8112:3:12", + "nodeType": "YulIdentifier", + "src": "8112:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7787:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7860:5:12", + "nodeType": "YulTypedName", + "src": "7860:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7867:3:12", + "nodeType": "YulTypedName", + "src": "7867:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7875:3:12", + "nodeType": "YulTypedName", + "src": "7875:3:12", + "type": "" + } + ], + "src": "7787:377:12" + }, + { + "body": { + "nativeSrc": "8288:195:12", + "nodeType": "YulBlock", + "src": "8288:195:12", + "statements": [ + { + "nativeSrc": "8298:26:12", + "nodeType": "YulAssignment", + "src": "8298:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8310:9:12", + "nodeType": "YulIdentifier", + "src": "8310:9:12" + }, + { + "kind": "number", + "nativeSrc": "8321:2:12", + "nodeType": "YulLiteral", + "src": "8321:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8306:3:12", + "nodeType": "YulIdentifier", + "src": "8306:3:12" + }, + "nativeSrc": "8306:18:12", + "nodeType": "YulFunctionCall", + "src": "8306:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8298:4:12", + "nodeType": "YulIdentifier", + "src": "8298:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8345:9:12", + "nodeType": "YulIdentifier", + "src": "8345:9:12" + }, + { + "kind": "number", + "nativeSrc": "8356:1:12", + "nodeType": "YulLiteral", + "src": "8356:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8341:3:12", + "nodeType": "YulIdentifier", + "src": "8341:3:12" + }, + "nativeSrc": "8341:17:12", + "nodeType": "YulFunctionCall", + "src": "8341:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8364:4:12", + "nodeType": "YulIdentifier", + "src": "8364:4:12" + }, + { + "name": "headStart", + "nativeSrc": "8370:9:12", + "nodeType": "YulIdentifier", + "src": "8370:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8360:3:12", + "nodeType": "YulIdentifier", + "src": "8360:3:12" + }, + "nativeSrc": "8360:20:12", + "nodeType": "YulFunctionCall", + "src": "8360:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8334:6:12", + "nodeType": "YulIdentifier", + "src": "8334:6:12" + }, + "nativeSrc": "8334:47:12", + "nodeType": "YulFunctionCall", + "src": "8334:47:12" + }, + "nativeSrc": "8334:47:12", + "nodeType": "YulExpressionStatement", + "src": "8334:47:12" + }, + { + "nativeSrc": "8390:86:12", + "nodeType": "YulAssignment", + "src": "8390:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8462:6:12", + "nodeType": "YulIdentifier", + "src": "8462:6:12" + }, + { + "name": "tail", + "nativeSrc": "8471:4:12", + "nodeType": "YulIdentifier", + "src": "8471:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8398:63:12", + "nodeType": "YulIdentifier", + "src": "8398:63:12" + }, + "nativeSrc": "8398:78:12", + "nodeType": "YulFunctionCall", + "src": "8398:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8390:4:12", + "nodeType": "YulIdentifier", + "src": "8390:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "8170:313:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8260:9:12", + "nodeType": "YulTypedName", + "src": "8260:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8272:6:12", + "nodeType": "YulTypedName", + "src": "8272:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8283:4:12", + "nodeType": "YulTypedName", + "src": "8283:4:12", + "type": "" + } + ], + "src": "8170:313:12" + }, + { + "body": { + "nativeSrc": "8555:263:12", + "nodeType": "YulBlock", + "src": "8555:263:12", + "statements": [ + { + "body": { + "nativeSrc": "8601:83:12", + "nodeType": "YulBlock", + "src": "8601:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8603:77:12", + "nodeType": "YulIdentifier", + "src": "8603:77:12" + }, + "nativeSrc": "8603:79:12", + "nodeType": "YulFunctionCall", + "src": "8603:79:12" + }, + "nativeSrc": "8603:79:12", + "nodeType": "YulExpressionStatement", + "src": "8603:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8576:7:12", + "nodeType": "YulIdentifier", + "src": "8576:7:12" + }, + { + "name": "headStart", + "nativeSrc": "8585:9:12", + "nodeType": "YulIdentifier", + "src": "8585:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8572:3:12", + "nodeType": "YulIdentifier", + "src": "8572:3:12" + }, + "nativeSrc": "8572:23:12", + "nodeType": "YulFunctionCall", + "src": "8572:23:12" + }, + { + "kind": "number", + "nativeSrc": "8597:2:12", + "nodeType": "YulLiteral", + "src": "8597:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8568:3:12", + "nodeType": "YulIdentifier", + "src": "8568:3:12" + }, + "nativeSrc": "8568:32:12", + "nodeType": "YulFunctionCall", + "src": "8568:32:12" + }, + "nativeSrc": "8565:119:12", + "nodeType": "YulIf", + "src": "8565:119:12" + }, + { + "nativeSrc": "8694:117:12", + "nodeType": "YulBlock", + "src": "8694:117:12", + "statements": [ + { + "nativeSrc": "8709:15:12", + "nodeType": "YulVariableDeclaration", + "src": "8709:15:12", + "value": { + "kind": "number", + "nativeSrc": "8723:1:12", + "nodeType": "YulLiteral", + "src": "8723:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8713:6:12", + "nodeType": "YulTypedName", + "src": "8713:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8738:63:12", + "nodeType": "YulAssignment", + "src": "8738:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8773:9:12", + "nodeType": "YulIdentifier", + "src": "8773:9:12" + }, + { + "name": "offset", + "nativeSrc": "8784:6:12", + "nodeType": "YulIdentifier", + "src": "8784:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8769:3:12", + "nodeType": "YulIdentifier", + "src": "8769:3:12" + }, + "nativeSrc": "8769:22:12", + "nodeType": "YulFunctionCall", + "src": "8769:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "8793:7:12", + "nodeType": "YulIdentifier", + "src": "8793:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8748:20:12", + "nodeType": "YulIdentifier", + "src": "8748:20:12" + }, + "nativeSrc": "8748:53:12", + "nodeType": "YulFunctionCall", + "src": "8748:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8738:6:12", + "nodeType": "YulIdentifier", + "src": "8738:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "8489:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8525:9:12", + "nodeType": "YulTypedName", + "src": "8525:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8536:7:12", + "nodeType": "YulTypedName", + "src": "8536:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8548:6:12", + "nodeType": "YulTypedName", + "src": "8548:6:12", + "type": "" + } + ], + "src": "8489:329:12" + }, + { + "body": { + "nativeSrc": "8866:48:12", + "nodeType": "YulBlock", + "src": "8866:48:12", + "statements": [ + { + "nativeSrc": "8876:32:12", + "nodeType": "YulAssignment", + "src": "8876:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8901:5:12", + "nodeType": "YulIdentifier", + "src": "8901:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8894:6:12", + "nodeType": "YulIdentifier", + "src": "8894:6:12" + }, + "nativeSrc": "8894:13:12", + "nodeType": "YulFunctionCall", + "src": "8894:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8887:6:12", + "nodeType": "YulIdentifier", + "src": "8887:6:12" + }, + "nativeSrc": "8887:21:12", + "nodeType": "YulFunctionCall", + "src": "8887:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "8876:7:12", + "nodeType": "YulIdentifier", + "src": "8876:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "8824:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8848:5:12", + "nodeType": "YulTypedName", + "src": "8848:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "8858:7:12", + "nodeType": "YulTypedName", + "src": "8858:7:12", + "type": "" + } + ], + "src": "8824:90:12" + }, + { + "body": { + "nativeSrc": "8979:50:12", + "nodeType": "YulBlock", + "src": "8979:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8996:3:12", + "nodeType": "YulIdentifier", + "src": "8996:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9016:5:12", + "nodeType": "YulIdentifier", + "src": "9016:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "9001:14:12", + "nodeType": "YulIdentifier", + "src": "9001:14:12" + }, + "nativeSrc": "9001:21:12", + "nodeType": "YulFunctionCall", + "src": "9001:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8989:6:12", + "nodeType": "YulIdentifier", + "src": "8989:6:12" + }, + "nativeSrc": "8989:34:12", + "nodeType": "YulFunctionCall", + "src": "8989:34:12" + }, + "nativeSrc": "8989:34:12", + "nodeType": "YulExpressionStatement", + "src": "8989:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "8920:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8967:5:12", + "nodeType": "YulTypedName", + "src": "8967:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8974:3:12", + "nodeType": "YulTypedName", + "src": "8974:3:12", + "type": "" + } + ], + "src": "8920:109:12" + }, + { + "body": { + "nativeSrc": "9127:118:12", + "nodeType": "YulBlock", + "src": "9127:118:12", + "statements": [ + { + "nativeSrc": "9137:26:12", + "nodeType": "YulAssignment", + "src": "9137:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9149:9:12", + "nodeType": "YulIdentifier", + "src": "9149:9:12" + }, + { + "kind": "number", + "nativeSrc": "9160:2:12", + "nodeType": "YulLiteral", + "src": "9160:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9145:3:12", + "nodeType": "YulIdentifier", + "src": "9145:3:12" + }, + "nativeSrc": "9145:18:12", + "nodeType": "YulFunctionCall", + "src": "9145:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9137:4:12", + "nodeType": "YulIdentifier", + "src": "9137:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9211:6:12", + "nodeType": "YulIdentifier", + "src": "9211:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9224:9:12", + "nodeType": "YulIdentifier", + "src": "9224:9:12" + }, + { + "kind": "number", + "nativeSrc": "9235:1:12", + "nodeType": "YulLiteral", + "src": "9235:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9220:3:12", + "nodeType": "YulIdentifier", + "src": "9220:3:12" + }, + "nativeSrc": "9220:17:12", + "nodeType": "YulFunctionCall", + "src": "9220:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "9173:37:12", + "nodeType": "YulIdentifier", + "src": "9173:37:12" + }, + "nativeSrc": "9173:65:12", + "nodeType": "YulFunctionCall", + "src": "9173:65:12" + }, + "nativeSrc": "9173:65:12", + "nodeType": "YulExpressionStatement", + "src": "9173:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "9035:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9099:9:12", + "nodeType": "YulTypedName", + "src": "9099:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "9111:6:12", + "nodeType": "YulTypedName", + "src": "9111:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9122:4:12", + "nodeType": "YulTypedName", + "src": "9122:4:12", + "type": "" + } + ], + "src": "9035:210:12" + }, + { + "body": { + "nativeSrc": "9296:32:12", + "nodeType": "YulBlock", + "src": "9296:32:12", + "statements": [ + { + "nativeSrc": "9306:16:12", + "nodeType": "YulAssignment", + "src": "9306:16:12", + "value": { + "name": "value", + "nativeSrc": "9317:5:12", + "nodeType": "YulIdentifier", + "src": "9317:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "9306:7:12", + "nodeType": "YulIdentifier", + "src": "9306:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "9251:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9278:5:12", + "nodeType": "YulTypedName", + "src": "9278:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "9288:7:12", + "nodeType": "YulTypedName", + "src": "9288:7:12", + "type": "" + } + ], + "src": "9251:77:12" + }, + { + "body": { + "nativeSrc": "9377:79:12", + "nodeType": "YulBlock", + "src": "9377:79:12", + "statements": [ + { + "body": { + "nativeSrc": "9434:16:12", + "nodeType": "YulBlock", + "src": "9434:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9443:1:12", + "nodeType": "YulLiteral", + "src": "9443:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9446:1:12", + "nodeType": "YulLiteral", + "src": "9446:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9436:6:12", + "nodeType": "YulIdentifier", + "src": "9436:6:12" + }, + "nativeSrc": "9436:12:12", + "nodeType": "YulFunctionCall", + "src": "9436:12:12" + }, + "nativeSrc": "9436:12:12", + "nodeType": "YulExpressionStatement", + "src": "9436:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9400:5:12", + "nodeType": "YulIdentifier", + "src": "9400:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9425:5:12", + "nodeType": "YulIdentifier", + "src": "9425:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "9407:17:12", + "nodeType": "YulIdentifier", + "src": "9407:17:12" + }, + "nativeSrc": "9407:24:12", + "nodeType": "YulFunctionCall", + "src": "9407:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9397:2:12", + "nodeType": "YulIdentifier", + "src": "9397:2:12" + }, + "nativeSrc": "9397:35:12", + "nodeType": "YulFunctionCall", + "src": "9397:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9390:6:12", + "nodeType": "YulIdentifier", + "src": "9390:6:12" + }, + "nativeSrc": "9390:43:12", + "nodeType": "YulFunctionCall", + "src": "9390:43:12" + }, + "nativeSrc": "9387:63:12", + "nodeType": "YulIf", + "src": "9387:63:12" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "9334:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9370:5:12", + "nodeType": "YulTypedName", + "src": "9370:5:12", + "type": "" + } + ], + "src": "9334:122:12" + }, + { + "body": { + "nativeSrc": "9514:87:12", + "nodeType": "YulBlock", + "src": "9514:87:12", + "statements": [ + { + "nativeSrc": "9524:29:12", + "nodeType": "YulAssignment", + "src": "9524:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9546:6:12", + "nodeType": "YulIdentifier", + "src": "9546:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9533:12:12", + "nodeType": "YulIdentifier", + "src": "9533:12:12" + }, + "nativeSrc": "9533:20:12", + "nodeType": "YulFunctionCall", + "src": "9533:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9524:5:12", + "nodeType": "YulIdentifier", + "src": "9524:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9589:5:12", + "nodeType": "YulIdentifier", + "src": "9589:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "9562:26:12", + "nodeType": "YulIdentifier", + "src": "9562:26:12" + }, + "nativeSrc": "9562:33:12", + "nodeType": "YulFunctionCall", + "src": "9562:33:12" + }, + "nativeSrc": "9562:33:12", + "nodeType": "YulExpressionStatement", + "src": "9562:33:12" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "9462:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9492:6:12", + "nodeType": "YulTypedName", + "src": "9492:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9500:3:12", + "nodeType": "YulTypedName", + "src": "9500:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9508:5:12", + "nodeType": "YulTypedName", + "src": "9508:5:12", + "type": "" + } + ], + "src": "9462:139:12" + }, + { + "body": { + "nativeSrc": "9673:263:12", + "nodeType": "YulBlock", + "src": "9673:263:12", + "statements": [ + { + "body": { + "nativeSrc": "9719:83:12", + "nodeType": "YulBlock", + "src": "9719:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9721:77:12", + "nodeType": "YulIdentifier", + "src": "9721:77:12" + }, + "nativeSrc": "9721:79:12", + "nodeType": "YulFunctionCall", + "src": "9721:79:12" + }, + "nativeSrc": "9721:79:12", + "nodeType": "YulExpressionStatement", + "src": "9721:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9694:7:12", + "nodeType": "YulIdentifier", + "src": "9694:7:12" + }, + { + "name": "headStart", + "nativeSrc": "9703:9:12", + "nodeType": "YulIdentifier", + "src": "9703:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9690:3:12", + "nodeType": "YulIdentifier", + "src": "9690:3:12" + }, + "nativeSrc": "9690:23:12", + "nodeType": "YulFunctionCall", + "src": "9690:23:12" + }, + { + "kind": "number", + "nativeSrc": "9715:2:12", + "nodeType": "YulLiteral", + "src": "9715:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9686:3:12", + "nodeType": "YulIdentifier", + "src": "9686:3:12" + }, + "nativeSrc": "9686:32:12", + "nodeType": "YulFunctionCall", + "src": "9686:32:12" + }, + "nativeSrc": "9683:119:12", + "nodeType": "YulIf", + "src": "9683:119:12" + }, + { + "nativeSrc": "9812:117:12", + "nodeType": "YulBlock", + "src": "9812:117:12", + "statements": [ + { + "nativeSrc": "9827:15:12", + "nodeType": "YulVariableDeclaration", + "src": "9827:15:12", + "value": { + "kind": "number", + "nativeSrc": "9841:1:12", + "nodeType": "YulLiteral", + "src": "9841:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9831:6:12", + "nodeType": "YulTypedName", + "src": "9831:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9856:63:12", + "nodeType": "YulAssignment", + "src": "9856:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9891:9:12", + "nodeType": "YulIdentifier", + "src": "9891:9:12" + }, + { + "name": "offset", + "nativeSrc": "9902:6:12", + "nodeType": "YulIdentifier", + "src": "9902:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9887:3:12", + "nodeType": "YulIdentifier", + "src": "9887:3:12" + }, + "nativeSrc": "9887:22:12", + "nodeType": "YulFunctionCall", + "src": "9887:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9911:7:12", + "nodeType": "YulIdentifier", + "src": "9911:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "9866:20:12", + "nodeType": "YulIdentifier", + "src": "9866:20:12" + }, + "nativeSrc": "9866:53:12", + "nodeType": "YulFunctionCall", + "src": "9866:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9856:6:12", + "nodeType": "YulIdentifier", + "src": "9856:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nativeSrc": "9607:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9643:9:12", + "nodeType": "YulTypedName", + "src": "9643:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9654:7:12", + "nodeType": "YulTypedName", + "src": "9654:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9666:6:12", + "nodeType": "YulTypedName", + "src": "9666:6:12", + "type": "" + } + ], + "src": "9607:329:12" + }, + { + "body": { + "nativeSrc": "10007:53:12", + "nodeType": "YulBlock", + "src": "10007:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10024:3:12", + "nodeType": "YulIdentifier", + "src": "10024:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10047:5:12", + "nodeType": "YulIdentifier", + "src": "10047:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "10029:17:12", + "nodeType": "YulIdentifier", + "src": "10029:17:12" + }, + "nativeSrc": "10029:24:12", + "nodeType": "YulFunctionCall", + "src": "10029:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10017:6:12", + "nodeType": "YulIdentifier", + "src": "10017:6:12" + }, + "nativeSrc": "10017:37:12", + "nodeType": "YulFunctionCall", + "src": "10017:37:12" + }, + "nativeSrc": "10017:37:12", + "nodeType": "YulExpressionStatement", + "src": "10017:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "9942:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9995:5:12", + "nodeType": "YulTypedName", + "src": "9995:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "10002:3:12", + "nodeType": "YulTypedName", + "src": "10002:3:12", + "type": "" + } + ], + "src": "9942:118:12" + }, + { + "body": { + "nativeSrc": "10164:124:12", + "nodeType": "YulBlock", + "src": "10164:124:12", + "statements": [ + { + "nativeSrc": "10174:26:12", + "nodeType": "YulAssignment", + "src": "10174:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10186:9:12", + "nodeType": "YulIdentifier", + "src": "10186:9:12" + }, + { + "kind": "number", + "nativeSrc": "10197:2:12", + "nodeType": "YulLiteral", + "src": "10197:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10182:3:12", + "nodeType": "YulIdentifier", + "src": "10182:3:12" + }, + "nativeSrc": "10182:18:12", + "nodeType": "YulFunctionCall", + "src": "10182:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10174:4:12", + "nodeType": "YulIdentifier", + "src": "10174:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10254:6:12", + "nodeType": "YulIdentifier", + "src": "10254:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10267:9:12", + "nodeType": "YulIdentifier", + "src": "10267:9:12" + }, + { + "kind": "number", + "nativeSrc": "10278:1:12", + "nodeType": "YulLiteral", + "src": "10278:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10263:3:12", + "nodeType": "YulIdentifier", + "src": "10263:3:12" + }, + "nativeSrc": "10263:17:12", + "nodeType": "YulFunctionCall", + "src": "10263:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "10210:43:12", + "nodeType": "YulIdentifier", + "src": "10210:43:12" + }, + "nativeSrc": "10210:71:12", + "nodeType": "YulFunctionCall", + "src": "10210:71:12" + }, + "nativeSrc": "10210:71:12", + "nodeType": "YulExpressionStatement", + "src": "10210:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "10066:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10136:9:12", + "nodeType": "YulTypedName", + "src": "10136:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10148:6:12", + "nodeType": "YulTypedName", + "src": "10148:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10159:4:12", + "nodeType": "YulTypedName", + "src": "10159:4:12", + "type": "" + } + ], + "src": "10066:222:12" + }, + { + "body": { + "nativeSrc": "10359:53:12", + "nodeType": "YulBlock", + "src": "10359:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10376:3:12", + "nodeType": "YulIdentifier", + "src": "10376:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10399:5:12", + "nodeType": "YulIdentifier", + "src": "10399:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "10381:17:12", + "nodeType": "YulIdentifier", + "src": "10381:17:12" + }, + "nativeSrc": "10381:24:12", + "nodeType": "YulFunctionCall", + "src": "10381:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10369:6:12", + "nodeType": "YulIdentifier", + "src": "10369:6:12" + }, + "nativeSrc": "10369:37:12", + "nodeType": "YulFunctionCall", + "src": "10369:37:12" + }, + "nativeSrc": "10369:37:12", + "nodeType": "YulExpressionStatement", + "src": "10369:37:12" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "10294:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10347:5:12", + "nodeType": "YulTypedName", + "src": "10347:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "10354:3:12", + "nodeType": "YulTypedName", + "src": "10354:3:12", + "type": "" + } + ], + "src": "10294:118:12" + }, + { + "body": { + "nativeSrc": "10516:124:12", + "nodeType": "YulBlock", + "src": "10516:124:12", + "statements": [ + { + "nativeSrc": "10526:26:12", + "nodeType": "YulAssignment", + "src": "10526:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10538:9:12", + "nodeType": "YulIdentifier", + "src": "10538:9:12" + }, + { + "kind": "number", + "nativeSrc": "10549:2:12", + "nodeType": "YulLiteral", + "src": "10549:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10534:3:12", + "nodeType": "YulIdentifier", + "src": "10534:3:12" + }, + "nativeSrc": "10534:18:12", + "nodeType": "YulFunctionCall", + "src": "10534:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10526:4:12", + "nodeType": "YulIdentifier", + "src": "10526:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10606:6:12", + "nodeType": "YulIdentifier", + "src": "10606:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10619:9:12", + "nodeType": "YulIdentifier", + "src": "10619:9:12" + }, + { + "kind": "number", + "nativeSrc": "10630:1:12", + "nodeType": "YulLiteral", + "src": "10630:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10615:3:12", + "nodeType": "YulIdentifier", + "src": "10615:3:12" + }, + "nativeSrc": "10615:17:12", + "nodeType": "YulFunctionCall", + "src": "10615:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "10562:43:12", + "nodeType": "YulIdentifier", + "src": "10562:43:12" + }, + "nativeSrc": "10562:71:12", + "nodeType": "YulFunctionCall", + "src": "10562:71:12" + }, + "nativeSrc": "10562:71:12", + "nodeType": "YulExpressionStatement", + "src": "10562:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "10418:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10488:9:12", + "nodeType": "YulTypedName", + "src": "10488:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10500:6:12", + "nodeType": "YulTypedName", + "src": "10500:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10511:4:12", + "nodeType": "YulTypedName", + "src": "10511:4:12", + "type": "" + } + ], + "src": "10418:222:12" + }, + { + "body": { + "nativeSrc": "10735:28:12", + "nodeType": "YulBlock", + "src": "10735:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10752:1:12", + "nodeType": "YulLiteral", + "src": "10752:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10755:1:12", + "nodeType": "YulLiteral", + "src": "10755:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10745:6:12", + "nodeType": "YulIdentifier", + "src": "10745:6:12" + }, + "nativeSrc": "10745:12:12", + "nodeType": "YulFunctionCall", + "src": "10745:12:12" + }, + "nativeSrc": "10745:12:12", + "nodeType": "YulExpressionStatement", + "src": "10745:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "10646:117:12", + "nodeType": "YulFunctionDefinition", + "src": "10646:117:12" + }, + { + "body": { + "nativeSrc": "10797:152:12", + "nodeType": "YulBlock", + "src": "10797:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10814:1:12", + "nodeType": "YulLiteral", + "src": "10814:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10817:77:12", + "nodeType": "YulLiteral", + "src": "10817:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10807:6:12", + "nodeType": "YulIdentifier", + "src": "10807:6:12" + }, + "nativeSrc": "10807:88:12", + "nodeType": "YulFunctionCall", + "src": "10807:88:12" + }, + "nativeSrc": "10807:88:12", + "nodeType": "YulExpressionStatement", + "src": "10807:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10911:1:12", + "nodeType": "YulLiteral", + "src": "10911:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10914:4:12", + "nodeType": "YulLiteral", + "src": "10914:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10904:6:12", + "nodeType": "YulIdentifier", + "src": "10904:6:12" + }, + "nativeSrc": "10904:15:12", + "nodeType": "YulFunctionCall", + "src": "10904:15:12" + }, + "nativeSrc": "10904:15:12", + "nodeType": "YulExpressionStatement", + "src": "10904:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10935:1:12", + "nodeType": "YulLiteral", + "src": "10935:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10938:4:12", + "nodeType": "YulLiteral", + "src": "10938:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10928:6:12", + "nodeType": "YulIdentifier", + "src": "10928:6:12" + }, + "nativeSrc": "10928:15:12", + "nodeType": "YulFunctionCall", + "src": "10928:15:12" + }, + "nativeSrc": "10928:15:12", + "nodeType": "YulExpressionStatement", + "src": "10928:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "10769:180:12", + "nodeType": "YulFunctionDefinition", + "src": "10769:180:12" + }, + { + "body": { + "nativeSrc": "10998:238:12", + "nodeType": "YulBlock", + "src": "10998:238:12", + "statements": [ + { + "nativeSrc": "11008:58:12", + "nodeType": "YulVariableDeclaration", + "src": "11008:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11030:6:12", + "nodeType": "YulIdentifier", + "src": "11030:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "11060:4:12", + "nodeType": "YulIdentifier", + "src": "11060:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11038:21:12", + "nodeType": "YulIdentifier", + "src": "11038:21:12" + }, + "nativeSrc": "11038:27:12", + "nodeType": "YulFunctionCall", + "src": "11038:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11026:3:12", + "nodeType": "YulIdentifier", + "src": "11026:3:12" + }, + "nativeSrc": "11026:40:12", + "nodeType": "YulFunctionCall", + "src": "11026:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "11012:10:12", + "nodeType": "YulTypedName", + "src": "11012:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11177:22:12", + "nodeType": "YulBlock", + "src": "11177:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "11179:16:12", + "nodeType": "YulIdentifier", + "src": "11179:16:12" + }, + "nativeSrc": "11179:18:12", + "nodeType": "YulFunctionCall", + "src": "11179:18:12" + }, + "nativeSrc": "11179:18:12", + "nodeType": "YulExpressionStatement", + "src": "11179:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "11120:10:12", + "nodeType": "YulIdentifier", + "src": "11120:10:12" + }, + { + "kind": "number", + "nativeSrc": "11132:18:12", + "nodeType": "YulLiteral", + "src": "11132:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11117:2:12", + "nodeType": "YulIdentifier", + "src": "11117:2:12" + }, + "nativeSrc": "11117:34:12", + "nodeType": "YulFunctionCall", + "src": "11117:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "11156:10:12", + "nodeType": "YulIdentifier", + "src": "11156:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "11168:6:12", + "nodeType": "YulIdentifier", + "src": "11168:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11153:2:12", + "nodeType": "YulIdentifier", + "src": "11153:2:12" + }, + "nativeSrc": "11153:22:12", + "nodeType": "YulFunctionCall", + "src": "11153:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "11114:2:12", + "nodeType": "YulIdentifier", + "src": "11114:2:12" + }, + "nativeSrc": "11114:62:12", + "nodeType": "YulFunctionCall", + "src": "11114:62:12" + }, + "nativeSrc": "11111:88:12", + "nodeType": "YulIf", + "src": "11111:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11215:2:12", + "nodeType": "YulLiteral", + "src": "11215:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "11219:10:12", + "nodeType": "YulIdentifier", + "src": "11219:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11208:6:12", + "nodeType": "YulIdentifier", + "src": "11208:6:12" + }, + "nativeSrc": "11208:22:12", + "nodeType": "YulFunctionCall", + "src": "11208:22:12" + }, + "nativeSrc": "11208:22:12", + "nodeType": "YulExpressionStatement", + "src": "11208:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "10955:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "10984:6:12", + "nodeType": "YulTypedName", + "src": "10984:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "10992:4:12", + "nodeType": "YulTypedName", + "src": "10992:4:12", + "type": "" + } + ], + "src": "10955:281:12" + }, + { + "body": { + "nativeSrc": "11283:88:12", + "nodeType": "YulBlock", + "src": "11283:88:12", + "statements": [ + { + "nativeSrc": "11293:30:12", + "nodeType": "YulAssignment", + "src": "11293:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "11303:18:12", + "nodeType": "YulIdentifier", + "src": "11303:18:12" + }, + "nativeSrc": "11303:20:12", + "nodeType": "YulFunctionCall", + "src": "11303:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "11293:6:12", + "nodeType": "YulIdentifier", + "src": "11293:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11352:6:12", + "nodeType": "YulIdentifier", + "src": "11352:6:12" + }, + { + "name": "size", + "nativeSrc": "11360:4:12", + "nodeType": "YulIdentifier", + "src": "11360:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "11332:19:12", + "nodeType": "YulIdentifier", + "src": "11332:19:12" + }, + "nativeSrc": "11332:33:12", + "nodeType": "YulFunctionCall", + "src": "11332:33:12" + }, + "nativeSrc": "11332:33:12", + "nodeType": "YulExpressionStatement", + "src": "11332:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "11242:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "11267:4:12", + "nodeType": "YulTypedName", + "src": "11267:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "11276:6:12", + "nodeType": "YulTypedName", + "src": "11276:6:12", + "type": "" + } + ], + "src": "11242:129:12" + }, + { + "body": { + "nativeSrc": "11443:241:12", + "nodeType": "YulBlock", + "src": "11443:241:12", + "statements": [ + { + "body": { + "nativeSrc": "11548:22:12", + "nodeType": "YulBlock", + "src": "11548:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "11550:16:12", + "nodeType": "YulIdentifier", + "src": "11550:16:12" + }, + "nativeSrc": "11550:18:12", + "nodeType": "YulFunctionCall", + "src": "11550:18:12" + }, + "nativeSrc": "11550:18:12", + "nodeType": "YulExpressionStatement", + "src": "11550:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "11520:6:12", + "nodeType": "YulIdentifier", + "src": "11520:6:12" + }, + { + "kind": "number", + "nativeSrc": "11528:18:12", + "nodeType": "YulLiteral", + "src": "11528:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11517:2:12", + "nodeType": "YulIdentifier", + "src": "11517:2:12" + }, + "nativeSrc": "11517:30:12", + "nodeType": "YulFunctionCall", + "src": "11517:30:12" + }, + "nativeSrc": "11514:56:12", + "nodeType": "YulIf", + "src": "11514:56:12" + }, + { + "nativeSrc": "11580:37:12", + "nodeType": "YulAssignment", + "src": "11580:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "11610:6:12", + "nodeType": "YulIdentifier", + "src": "11610:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11588:21:12", + "nodeType": "YulIdentifier", + "src": "11588:21:12" + }, + "nativeSrc": "11588:29:12", + "nodeType": "YulFunctionCall", + "src": "11588:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "11580:4:12", + "nodeType": "YulIdentifier", + "src": "11580:4:12" + } + ] + }, + { + "nativeSrc": "11654:23:12", + "nodeType": "YulAssignment", + "src": "11654:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "11666:4:12", + "nodeType": "YulIdentifier", + "src": "11666:4:12" + }, + { + "kind": "number", + "nativeSrc": "11672:4:12", + "nodeType": "YulLiteral", + "src": "11672:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11662:3:12", + "nodeType": "YulIdentifier", + "src": "11662:3:12" + }, + "nativeSrc": "11662:15:12", + "nodeType": "YulFunctionCall", + "src": "11662:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "11654:4:12", + "nodeType": "YulIdentifier", + "src": "11654:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "11377:307:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "11427:6:12", + "nodeType": "YulTypedName", + "src": "11427:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "11438:4:12", + "nodeType": "YulTypedName", + "src": "11438:4:12", + "type": "" + } + ], + "src": "11377:307:12" + }, + { + "body": { + "nativeSrc": "11754:82:12", + "nodeType": "YulBlock", + "src": "11754:82:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11777:3:12", + "nodeType": "YulIdentifier", + "src": "11777:3:12" + }, + { + "name": "src", + "nativeSrc": "11782:3:12", + "nodeType": "YulIdentifier", + "src": "11782:3:12" + }, + { + "name": "length", + "nativeSrc": "11787:6:12", + "nodeType": "YulIdentifier", + "src": "11787:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "11764:12:12", + "nodeType": "YulIdentifier", + "src": "11764:12:12" + }, + "nativeSrc": "11764:30:12", + "nodeType": "YulFunctionCall", + "src": "11764:30:12" + }, + "nativeSrc": "11764:30:12", + "nodeType": "YulExpressionStatement", + "src": "11764:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11814:3:12", + "nodeType": "YulIdentifier", + "src": "11814:3:12" + }, + { + "name": "length", + "nativeSrc": "11819:6:12", + "nodeType": "YulIdentifier", + "src": "11819:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11810:3:12", + "nodeType": "YulIdentifier", + "src": "11810:3:12" + }, + "nativeSrc": "11810:16:12", + "nodeType": "YulFunctionCall", + "src": "11810:16:12" + }, + { + "kind": "number", + "nativeSrc": "11828:1:12", + "nodeType": "YulLiteral", + "src": "11828:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11803:6:12", + "nodeType": "YulIdentifier", + "src": "11803:6:12" + }, + "nativeSrc": "11803:27:12", + "nodeType": "YulFunctionCall", + "src": "11803:27:12" + }, + "nativeSrc": "11803:27:12", + "nodeType": "YulExpressionStatement", + "src": "11803:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "11690:146:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "11736:3:12", + "nodeType": "YulTypedName", + "src": "11736:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "11741:3:12", + "nodeType": "YulTypedName", + "src": "11741:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11746:6:12", + "nodeType": "YulTypedName", + "src": "11746:6:12", + "type": "" + } + ], + "src": "11690:146:12" + }, + { + "body": { + "nativeSrc": "11925:340:12", + "nodeType": "YulBlock", + "src": "11925:340:12", + "statements": [ + { + "nativeSrc": "11935:74:12", + "nodeType": "YulAssignment", + "src": "11935:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12001:6:12", + "nodeType": "YulIdentifier", + "src": "12001:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "11960:40:12", + "nodeType": "YulIdentifier", + "src": "11960:40:12" + }, + "nativeSrc": "11960:48:12", + "nodeType": "YulFunctionCall", + "src": "11960:48:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "11944:15:12", + "nodeType": "YulIdentifier", + "src": "11944:15:12" + }, + "nativeSrc": "11944:65:12", + "nodeType": "YulFunctionCall", + "src": "11944:65:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "11935:5:12", + "nodeType": "YulIdentifier", + "src": "11935:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "12025:5:12", + "nodeType": "YulIdentifier", + "src": "12025:5:12" + }, + { + "name": "length", + "nativeSrc": "12032:6:12", + "nodeType": "YulIdentifier", + "src": "12032:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12018:6:12", + "nodeType": "YulIdentifier", + "src": "12018:6:12" + }, + "nativeSrc": "12018:21:12", + "nodeType": "YulFunctionCall", + "src": "12018:21:12" + }, + "nativeSrc": "12018:21:12", + "nodeType": "YulExpressionStatement", + "src": "12018:21:12" + }, + { + "nativeSrc": "12048:27:12", + "nodeType": "YulVariableDeclaration", + "src": "12048:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "12063:5:12", + "nodeType": "YulIdentifier", + "src": "12063:5:12" + }, + { + "kind": "number", + "nativeSrc": "12070:4:12", + "nodeType": "YulLiteral", + "src": "12070:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12059:3:12", + "nodeType": "YulIdentifier", + "src": "12059:3:12" + }, + "nativeSrc": "12059:16:12", + "nodeType": "YulFunctionCall", + "src": "12059:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "12052:3:12", + "nodeType": "YulTypedName", + "src": "12052:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12113:83:12", + "nodeType": "YulBlock", + "src": "12113:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "12115:77:12", + "nodeType": "YulIdentifier", + "src": "12115:77:12" + }, + "nativeSrc": "12115:79:12", + "nodeType": "YulFunctionCall", + "src": "12115:79:12" + }, + "nativeSrc": "12115:79:12", + "nodeType": "YulExpressionStatement", + "src": "12115:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "12094:3:12", + "nodeType": "YulIdentifier", + "src": "12094:3:12" + }, + { + "name": "length", + "nativeSrc": "12099:6:12", + "nodeType": "YulIdentifier", + "src": "12099:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12090:3:12", + "nodeType": "YulIdentifier", + "src": "12090:3:12" + }, + "nativeSrc": "12090:16:12", + "nodeType": "YulFunctionCall", + "src": "12090:16:12" + }, + { + "name": "end", + "nativeSrc": "12108:3:12", + "nodeType": "YulIdentifier", + "src": "12108:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12087:2:12", + "nodeType": "YulIdentifier", + "src": "12087:2:12" + }, + "nativeSrc": "12087:25:12", + "nodeType": "YulFunctionCall", + "src": "12087:25:12" + }, + "nativeSrc": "12084:112:12", + "nodeType": "YulIf", + "src": "12084:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "12242:3:12", + "nodeType": "YulIdentifier", + "src": "12242:3:12" + }, + { + "name": "dst", + "nativeSrc": "12247:3:12", + "nodeType": "YulIdentifier", + "src": "12247:3:12" + }, + { + "name": "length", + "nativeSrc": "12252:6:12", + "nodeType": "YulIdentifier", + "src": "12252:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "12205:36:12", + "nodeType": "YulIdentifier", + "src": "12205:36:12" + }, + "nativeSrc": "12205:54:12", + "nodeType": "YulFunctionCall", + "src": "12205:54:12" + }, + "nativeSrc": "12205:54:12", + "nodeType": "YulExpressionStatement", + "src": "12205:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "11842:423:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "11898:3:12", + "nodeType": "YulTypedName", + "src": "11898:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11903:6:12", + "nodeType": "YulTypedName", + "src": "11903:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "11911:3:12", + "nodeType": "YulTypedName", + "src": "11911:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "11919:5:12", + "nodeType": "YulTypedName", + "src": "11919:5:12", + "type": "" + } + ], + "src": "11842:423:12" + }, + { + "body": { + "nativeSrc": "12345:277:12", + "nodeType": "YulBlock", + "src": "12345:277:12", + "statements": [ + { + "body": { + "nativeSrc": "12394:83:12", + "nodeType": "YulBlock", + "src": "12394:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "12396:77:12", + "nodeType": "YulIdentifier", + "src": "12396:77:12" + }, + "nativeSrc": "12396:79:12", + "nodeType": "YulFunctionCall", + "src": "12396:79:12" + }, + "nativeSrc": "12396:79:12", + "nodeType": "YulExpressionStatement", + "src": "12396:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12373:6:12", + "nodeType": "YulIdentifier", + "src": "12373:6:12" + }, + { + "kind": "number", + "nativeSrc": "12381:4:12", + "nodeType": "YulLiteral", + "src": "12381:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12369:3:12", + "nodeType": "YulIdentifier", + "src": "12369:3:12" + }, + "nativeSrc": "12369:17:12", + "nodeType": "YulFunctionCall", + "src": "12369:17:12" + }, + { + "name": "end", + "nativeSrc": "12388:3:12", + "nodeType": "YulIdentifier", + "src": "12388:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12365:3:12", + "nodeType": "YulIdentifier", + "src": "12365:3:12" + }, + "nativeSrc": "12365:27:12", + "nodeType": "YulFunctionCall", + "src": "12365:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12358:6:12", + "nodeType": "YulIdentifier", + "src": "12358:6:12" + }, + "nativeSrc": "12358:35:12", + "nodeType": "YulFunctionCall", + "src": "12358:35:12" + }, + "nativeSrc": "12355:122:12", + "nodeType": "YulIf", + "src": "12355:122:12" + }, + { + "nativeSrc": "12486:34:12", + "nodeType": "YulVariableDeclaration", + "src": "12486:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12513:6:12", + "nodeType": "YulIdentifier", + "src": "12513:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12500:12:12", + "nodeType": "YulIdentifier", + "src": "12500:12:12" + }, + "nativeSrc": "12500:20:12", + "nodeType": "YulFunctionCall", + "src": "12500:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "12490:6:12", + "nodeType": "YulTypedName", + "src": "12490:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "12529:87:12", + "nodeType": "YulAssignment", + "src": "12529:87:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12589:6:12", + "nodeType": "YulIdentifier", + "src": "12589:6:12" + }, + { + "kind": "number", + "nativeSrc": "12597:4:12", + "nodeType": "YulLiteral", + "src": "12597:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12585:3:12", + "nodeType": "YulIdentifier", + "src": "12585:3:12" + }, + "nativeSrc": "12585:17:12", + "nodeType": "YulFunctionCall", + "src": "12585:17:12" + }, + { + "name": "length", + "nativeSrc": "12604:6:12", + "nodeType": "YulIdentifier", + "src": "12604:6:12" + }, + { + "name": "end", + "nativeSrc": "12612:3:12", + "nodeType": "YulIdentifier", + "src": "12612:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "12538:46:12", + "nodeType": "YulIdentifier", + "src": "12538:46:12" + }, + "nativeSrc": "12538:78:12", + "nodeType": "YulFunctionCall", + "src": "12538:78:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "12529:5:12", + "nodeType": "YulIdentifier", + "src": "12529:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "12284:338:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "12323:6:12", + "nodeType": "YulTypedName", + "src": "12323:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "12331:3:12", + "nodeType": "YulTypedName", + "src": "12331:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "12339:5:12", + "nodeType": "YulTypedName", + "src": "12339:5:12", + "type": "" + } + ], + "src": "12284:338:12" + }, + { + "body": { + "nativeSrc": "12771:946:12", + "nodeType": "YulBlock", + "src": "12771:946:12", + "statements": [ + { + "body": { + "nativeSrc": "12818:83:12", + "nodeType": "YulBlock", + "src": "12818:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "12820:77:12", + "nodeType": "YulIdentifier", + "src": "12820:77:12" + }, + "nativeSrc": "12820:79:12", + "nodeType": "YulFunctionCall", + "src": "12820:79:12" + }, + "nativeSrc": "12820:79:12", + "nodeType": "YulExpressionStatement", + "src": "12820:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "12792:7:12", + "nodeType": "YulIdentifier", + "src": "12792:7:12" + }, + { + "name": "headStart", + "nativeSrc": "12801:9:12", + "nodeType": "YulIdentifier", + "src": "12801:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12788:3:12", + "nodeType": "YulIdentifier", + "src": "12788:3:12" + }, + "nativeSrc": "12788:23:12", + "nodeType": "YulFunctionCall", + "src": "12788:23:12" + }, + { + "kind": "number", + "nativeSrc": "12813:3:12", + "nodeType": "YulLiteral", + "src": "12813:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12784:3:12", + "nodeType": "YulIdentifier", + "src": "12784:3:12" + }, + "nativeSrc": "12784:33:12", + "nodeType": "YulFunctionCall", + "src": "12784:33:12" + }, + "nativeSrc": "12781:120:12", + "nodeType": "YulIf", + "src": "12781:120:12" + }, + { + "nativeSrc": "12911:117:12", + "nodeType": "YulBlock", + "src": "12911:117:12", + "statements": [ + { + "nativeSrc": "12926:15:12", + "nodeType": "YulVariableDeclaration", + "src": "12926:15:12", + "value": { + "kind": "number", + "nativeSrc": "12940:1:12", + "nodeType": "YulLiteral", + "src": "12940:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12930:6:12", + "nodeType": "YulTypedName", + "src": "12930:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "12955:63:12", + "nodeType": "YulAssignment", + "src": "12955:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12990:9:12", + "nodeType": "YulIdentifier", + "src": "12990:9:12" + }, + { + "name": "offset", + "nativeSrc": "13001:6:12", + "nodeType": "YulIdentifier", + "src": "13001:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12986:3:12", + "nodeType": "YulIdentifier", + "src": "12986:3:12" + }, + "nativeSrc": "12986:22:12", + "nodeType": "YulFunctionCall", + "src": "12986:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "13010:7:12", + "nodeType": "YulIdentifier", + "src": "13010:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "12965:20:12", + "nodeType": "YulIdentifier", + "src": "12965:20:12" + }, + "nativeSrc": "12965:53:12", + "nodeType": "YulFunctionCall", + "src": "12965:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "12955:6:12", + "nodeType": "YulIdentifier", + "src": "12955:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "13038:118:12", + "nodeType": "YulBlock", + "src": "13038:118:12", + "statements": [ + { + "nativeSrc": "13053:16:12", + "nodeType": "YulVariableDeclaration", + "src": "13053:16:12", + "value": { + "kind": "number", + "nativeSrc": "13067:2:12", + "nodeType": "YulLiteral", + "src": "13067:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13057:6:12", + "nodeType": "YulTypedName", + "src": "13057:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "13083:63:12", + "nodeType": "YulAssignment", + "src": "13083:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13118:9:12", + "nodeType": "YulIdentifier", + "src": "13118:9:12" + }, + { + "name": "offset", + "nativeSrc": "13129:6:12", + "nodeType": "YulIdentifier", + "src": "13129:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13114:3:12", + "nodeType": "YulIdentifier", + "src": "13114:3:12" + }, + "nativeSrc": "13114:22:12", + "nodeType": "YulFunctionCall", + "src": "13114:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "13138:7:12", + "nodeType": "YulIdentifier", + "src": "13138:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "13093:20:12", + "nodeType": "YulIdentifier", + "src": "13093:20:12" + }, + "nativeSrc": "13093:53:12", + "nodeType": "YulFunctionCall", + "src": "13093:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "13083:6:12", + "nodeType": "YulIdentifier", + "src": "13083:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "13166:118:12", + "nodeType": "YulBlock", + "src": "13166:118:12", + "statements": [ + { + "nativeSrc": "13181:16:12", + "nodeType": "YulVariableDeclaration", + "src": "13181:16:12", + "value": { + "kind": "number", + "nativeSrc": "13195:2:12", + "nodeType": "YulLiteral", + "src": "13195:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13185:6:12", + "nodeType": "YulTypedName", + "src": "13185:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "13211:63:12", + "nodeType": "YulAssignment", + "src": "13211:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13246:9:12", + "nodeType": "YulIdentifier", + "src": "13246:9:12" + }, + { + "name": "offset", + "nativeSrc": "13257:6:12", + "nodeType": "YulIdentifier", + "src": "13257:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13242:3:12", + "nodeType": "YulIdentifier", + "src": "13242:3:12" + }, + "nativeSrc": "13242:22:12", + "nodeType": "YulFunctionCall", + "src": "13242:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "13266:7:12", + "nodeType": "YulIdentifier", + "src": "13266:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "13221:20:12", + "nodeType": "YulIdentifier", + "src": "13221:20:12" + }, + "nativeSrc": "13221:53:12", + "nodeType": "YulFunctionCall", + "src": "13221:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "13211:6:12", + "nodeType": "YulIdentifier", + "src": "13211:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "13294:118:12", + "nodeType": "YulBlock", + "src": "13294:118:12", + "statements": [ + { + "nativeSrc": "13309:16:12", + "nodeType": "YulVariableDeclaration", + "src": "13309:16:12", + "value": { + "kind": "number", + "nativeSrc": "13323:2:12", + "nodeType": "YulLiteral", + "src": "13323:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13313:6:12", + "nodeType": "YulTypedName", + "src": "13313:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "13339:63:12", + "nodeType": "YulAssignment", + "src": "13339:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13374:9:12", + "nodeType": "YulIdentifier", + "src": "13374:9:12" + }, + { + "name": "offset", + "nativeSrc": "13385:6:12", + "nodeType": "YulIdentifier", + "src": "13385:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13370:3:12", + "nodeType": "YulIdentifier", + "src": "13370:3:12" + }, + "nativeSrc": "13370:22:12", + "nodeType": "YulFunctionCall", + "src": "13370:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "13394:7:12", + "nodeType": "YulIdentifier", + "src": "13394:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "13349:20:12", + "nodeType": "YulIdentifier", + "src": "13349:20:12" + }, + "nativeSrc": "13349:53:12", + "nodeType": "YulFunctionCall", + "src": "13349:53:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "13339:6:12", + "nodeType": "YulIdentifier", + "src": "13339:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "13422:288:12", + "nodeType": "YulBlock", + "src": "13422:288:12", + "statements": [ + { + "nativeSrc": "13437:47:12", + "nodeType": "YulVariableDeclaration", + "src": "13437:47:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13468:9:12", + "nodeType": "YulIdentifier", + "src": "13468:9:12" + }, + { + "kind": "number", + "nativeSrc": "13479:3:12", + "nodeType": "YulLiteral", + "src": "13479:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13464:3:12", + "nodeType": "YulIdentifier", + "src": "13464:3:12" + }, + "nativeSrc": "13464:19:12", + "nodeType": "YulFunctionCall", + "src": "13464:19:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "13451:12:12", + "nodeType": "YulIdentifier", + "src": "13451:12:12" + }, + "nativeSrc": "13451:33:12", + "nodeType": "YulFunctionCall", + "src": "13451:33:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13441:6:12", + "nodeType": "YulTypedName", + "src": "13441:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13531:83:12", + "nodeType": "YulBlock", + "src": "13531:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "13533:77:12", + "nodeType": "YulIdentifier", + "src": "13533:77:12" + }, + "nativeSrc": "13533:79:12", + "nodeType": "YulFunctionCall", + "src": "13533:79:12" + }, + "nativeSrc": "13533:79:12", + "nodeType": "YulExpressionStatement", + "src": "13533:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13503:6:12", + "nodeType": "YulIdentifier", + "src": "13503:6:12" + }, + { + "kind": "number", + "nativeSrc": "13511:18:12", + "nodeType": "YulLiteral", + "src": "13511:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13500:2:12", + "nodeType": "YulIdentifier", + "src": "13500:2:12" + }, + "nativeSrc": "13500:30:12", + "nodeType": "YulFunctionCall", + "src": "13500:30:12" + }, + "nativeSrc": "13497:117:12", + "nodeType": "YulIf", + "src": "13497:117:12" + }, + { + "nativeSrc": "13628:72:12", + "nodeType": "YulAssignment", + "src": "13628:72:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13672:9:12", + "nodeType": "YulIdentifier", + "src": "13672:9:12" + }, + { + "name": "offset", + "nativeSrc": "13683:6:12", + "nodeType": "YulIdentifier", + "src": "13683:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13668:3:12", + "nodeType": "YulIdentifier", + "src": "13668:3:12" + }, + "nativeSrc": "13668:22:12", + "nodeType": "YulFunctionCall", + "src": "13668:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "13692:7:12", + "nodeType": "YulIdentifier", + "src": "13692:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "13638:29:12", + "nodeType": "YulIdentifier", + "src": "13638:29:12" + }, + "nativeSrc": "13638:62:12", + "nodeType": "YulFunctionCall", + "src": "13638:62:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "13628:6:12", + "nodeType": "YulIdentifier", + "src": "13628:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr", + "nativeSrc": "12628:1089:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12709:9:12", + "nodeType": "YulTypedName", + "src": "12709:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "12720:7:12", + "nodeType": "YulTypedName", + "src": "12720:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "12732:6:12", + "nodeType": "YulTypedName", + "src": "12732:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "12740:6:12", + "nodeType": "YulTypedName", + "src": "12740:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "12748:6:12", + "nodeType": "YulTypedName", + "src": "12748:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "12756:6:12", + "nodeType": "YulTypedName", + "src": "12756:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "12764:6:12", + "nodeType": "YulTypedName", + "src": "12764:6:12", + "type": "" + } + ], + "src": "12628:1089:12" + }, + { + "body": { + "nativeSrc": "13767:105:12", + "nodeType": "YulBlock", + "src": "13767:105:12", + "statements": [ + { + "nativeSrc": "13777:89:12", + "nodeType": "YulAssignment", + "src": "13777:89:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "13792:5:12", + "nodeType": "YulIdentifier", + "src": "13792:5:12" + }, + { + "kind": "number", + "nativeSrc": "13799:66:12", + "nodeType": "YulLiteral", + "src": "13799:66:12", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "13788:3:12", + "nodeType": "YulIdentifier", + "src": "13788:3:12" + }, + "nativeSrc": "13788:78:12", + "nodeType": "YulFunctionCall", + "src": "13788:78:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "13777:7:12", + "nodeType": "YulIdentifier", + "src": "13777:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "13723:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "13749:5:12", + "nodeType": "YulTypedName", + "src": "13749:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "13759:7:12", + "nodeType": "YulTypedName", + "src": "13759:7:12", + "type": "" + } + ], + "src": "13723:149:12" + }, + { + "body": { + "nativeSrc": "13941:52:12", + "nodeType": "YulBlock", + "src": "13941:52:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13958:3:12", + "nodeType": "YulIdentifier", + "src": "13958:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13980:5:12", + "nodeType": "YulIdentifier", + "src": "13980:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "13963:16:12", + "nodeType": "YulIdentifier", + "src": "13963:16:12" + }, + "nativeSrc": "13963:23:12", + "nodeType": "YulFunctionCall", + "src": "13963:23:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13951:6:12", + "nodeType": "YulIdentifier", + "src": "13951:6:12" + }, + "nativeSrc": "13951:36:12", + "nodeType": "YulFunctionCall", + "src": "13951:36:12" + }, + "nativeSrc": "13951:36:12", + "nodeType": "YulExpressionStatement", + "src": "13951:36:12" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "13878:115:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "13929:5:12", + "nodeType": "YulTypedName", + "src": "13929:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "13936:3:12", + "nodeType": "YulTypedName", + "src": "13936:3:12", + "type": "" + } + ], + "src": "13878:115:12" + }, + { + "body": { + "nativeSrc": "14095:122:12", + "nodeType": "YulBlock", + "src": "14095:122:12", + "statements": [ + { + "nativeSrc": "14105:26:12", + "nodeType": "YulAssignment", + "src": "14105:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14117:9:12", + "nodeType": "YulIdentifier", + "src": "14117:9:12" + }, + { + "kind": "number", + "nativeSrc": "14128:2:12", + "nodeType": "YulLiteral", + "src": "14128:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14113:3:12", + "nodeType": "YulIdentifier", + "src": "14113:3:12" + }, + "nativeSrc": "14113:18:12", + "nodeType": "YulFunctionCall", + "src": "14113:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14105:4:12", + "nodeType": "YulIdentifier", + "src": "14105:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14183:6:12", + "nodeType": "YulIdentifier", + "src": "14183:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14196:9:12", + "nodeType": "YulIdentifier", + "src": "14196:9:12" + }, + { + "kind": "number", + "nativeSrc": "14207:1:12", + "nodeType": "YulLiteral", + "src": "14207:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14192:3:12", + "nodeType": "YulIdentifier", + "src": "14192:3:12" + }, + "nativeSrc": "14192:17:12", + "nodeType": "YulFunctionCall", + "src": "14192:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "14141:41:12", + "nodeType": "YulIdentifier", + "src": "14141:41:12" + }, + "nativeSrc": "14141:69:12", + "nodeType": "YulFunctionCall", + "src": "14141:69:12" + }, + "nativeSrc": "14141:69:12", + "nodeType": "YulExpressionStatement", + "src": "14141:69:12" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nativeSrc": "13999:218:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14067:9:12", + "nodeType": "YulTypedName", + "src": "14067:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14079:6:12", + "nodeType": "YulTypedName", + "src": "14079:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14090:4:12", + "nodeType": "YulTypedName", + "src": "14090:4:12", + "type": "" + } + ], + "src": "13999:218:12" + }, + { + "body": { + "nativeSrc": "14349:206:12", + "nodeType": "YulBlock", + "src": "14349:206:12", + "statements": [ + { + "nativeSrc": "14359:26:12", + "nodeType": "YulAssignment", + "src": "14359:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14371:9:12", + "nodeType": "YulIdentifier", + "src": "14371:9:12" + }, + { + "kind": "number", + "nativeSrc": "14382:2:12", + "nodeType": "YulLiteral", + "src": "14382:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14367:3:12", + "nodeType": "YulIdentifier", + "src": "14367:3:12" + }, + "nativeSrc": "14367:18:12", + "nodeType": "YulFunctionCall", + "src": "14367:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14359:4:12", + "nodeType": "YulIdentifier", + "src": "14359:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14439:6:12", + "nodeType": "YulIdentifier", + "src": "14439:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14452:9:12", + "nodeType": "YulIdentifier", + "src": "14452:9:12" + }, + { + "kind": "number", + "nativeSrc": "14463:1:12", + "nodeType": "YulLiteral", + "src": "14463:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14448:3:12", + "nodeType": "YulIdentifier", + "src": "14448:3:12" + }, + "nativeSrc": "14448:17:12", + "nodeType": "YulFunctionCall", + "src": "14448:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "14395:43:12", + "nodeType": "YulIdentifier", + "src": "14395:43:12" + }, + "nativeSrc": "14395:71:12", + "nodeType": "YulFunctionCall", + "src": "14395:71:12" + }, + "nativeSrc": "14395:71:12", + "nodeType": "YulExpressionStatement", + "src": "14395:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "14520:6:12", + "nodeType": "YulIdentifier", + "src": "14520:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14533:9:12", + "nodeType": "YulIdentifier", + "src": "14533:9:12" + }, + { + "kind": "number", + "nativeSrc": "14544:2:12", + "nodeType": "YulLiteral", + "src": "14544:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14529:3:12", + "nodeType": "YulIdentifier", + "src": "14529:3:12" + }, + "nativeSrc": "14529:18:12", + "nodeType": "YulFunctionCall", + "src": "14529:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "14476:43:12", + "nodeType": "YulIdentifier", + "src": "14476:43:12" + }, + "nativeSrc": "14476:72:12", + "nodeType": "YulFunctionCall", + "src": "14476:72:12" + }, + "nativeSrc": "14476:72:12", + "nodeType": "YulExpressionStatement", + "src": "14476:72:12" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "14223:332:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14313:9:12", + "nodeType": "YulTypedName", + "src": "14313:9:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14325:6:12", + "nodeType": "YulTypedName", + "src": "14325:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14333:6:12", + "nodeType": "YulTypedName", + "src": "14333:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14344:4:12", + "nodeType": "YulTypedName", + "src": "14344:4:12", + "type": "" + } + ], + "src": "14223:332:12" + }, + { + "body": { + "nativeSrc": "14624:80:12", + "nodeType": "YulBlock", + "src": "14624:80:12", + "statements": [ + { + "nativeSrc": "14634:22:12", + "nodeType": "YulAssignment", + "src": "14634:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14649:6:12", + "nodeType": "YulIdentifier", + "src": "14649:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14643:5:12", + "nodeType": "YulIdentifier", + "src": "14643:5:12" + }, + "nativeSrc": "14643:13:12", + "nodeType": "YulFunctionCall", + "src": "14643:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "14634:5:12", + "nodeType": "YulIdentifier", + "src": "14634:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "14692:5:12", + "nodeType": "YulIdentifier", + "src": "14692:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "14665:26:12", + "nodeType": "YulIdentifier", + "src": "14665:26:12" + }, + "nativeSrc": "14665:33:12", + "nodeType": "YulFunctionCall", + "src": "14665:33:12" + }, + "nativeSrc": "14665:33:12", + "nodeType": "YulExpressionStatement", + "src": "14665:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "14561:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "14602:6:12", + "nodeType": "YulTypedName", + "src": "14602:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "14610:3:12", + "nodeType": "YulTypedName", + "src": "14610:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "14618:5:12", + "nodeType": "YulTypedName", + "src": "14618:5:12", + "type": "" + } + ], + "src": "14561:143:12" + }, + { + "body": { + "nativeSrc": "14787:274:12", + "nodeType": "YulBlock", + "src": "14787:274:12", + "statements": [ + { + "body": { + "nativeSrc": "14833:83:12", + "nodeType": "YulBlock", + "src": "14833:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "14835:77:12", + "nodeType": "YulIdentifier", + "src": "14835:77:12" + }, + "nativeSrc": "14835:79:12", + "nodeType": "YulFunctionCall", + "src": "14835:79:12" + }, + "nativeSrc": "14835:79:12", + "nodeType": "YulExpressionStatement", + "src": "14835:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14808:7:12", + "nodeType": "YulIdentifier", + "src": "14808:7:12" + }, + { + "name": "headStart", + "nativeSrc": "14817:9:12", + "nodeType": "YulIdentifier", + "src": "14817:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14804:3:12", + "nodeType": "YulIdentifier", + "src": "14804:3:12" + }, + "nativeSrc": "14804:23:12", + "nodeType": "YulFunctionCall", + "src": "14804:23:12" + }, + { + "kind": "number", + "nativeSrc": "14829:2:12", + "nodeType": "YulLiteral", + "src": "14829:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14800:3:12", + "nodeType": "YulIdentifier", + "src": "14800:3:12" + }, + "nativeSrc": "14800:32:12", + "nodeType": "YulFunctionCall", + "src": "14800:32:12" + }, + "nativeSrc": "14797:119:12", + "nodeType": "YulIf", + "src": "14797:119:12" + }, + { + "nativeSrc": "14926:128:12", + "nodeType": "YulBlock", + "src": "14926:128:12", + "statements": [ + { + "nativeSrc": "14941:15:12", + "nodeType": "YulVariableDeclaration", + "src": "14941:15:12", + "value": { + "kind": "number", + "nativeSrc": "14955:1:12", + "nodeType": "YulLiteral", + "src": "14955:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14945:6:12", + "nodeType": "YulTypedName", + "src": "14945:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "14970:74:12", + "nodeType": "YulAssignment", + "src": "14970:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15016:9:12", + "nodeType": "YulIdentifier", + "src": "15016:9:12" + }, + { + "name": "offset", + "nativeSrc": "15027:6:12", + "nodeType": "YulIdentifier", + "src": "15027:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15012:3:12", + "nodeType": "YulIdentifier", + "src": "15012:3:12" + }, + "nativeSrc": "15012:22:12", + "nodeType": "YulFunctionCall", + "src": "15012:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "15036:7:12", + "nodeType": "YulIdentifier", + "src": "15036:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "14980:31:12", + "nodeType": "YulIdentifier", + "src": "14980:31:12" + }, + "nativeSrc": "14980:64:12", + "nodeType": "YulFunctionCall", + "src": "14980:64:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "14970:6:12", + "nodeType": "YulIdentifier", + "src": "14970:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "14710:351:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14757:9:12", + "nodeType": "YulTypedName", + "src": "14757:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "14768:7:12", + "nodeType": "YulTypedName", + "src": "14768:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "14780:6:12", + "nodeType": "YulTypedName", + "src": "14780:6:12", + "type": "" + } + ], + "src": "14710:351:12" + }, + { + "body": { + "nativeSrc": "15095:152:12", + "nodeType": "YulBlock", + "src": "15095:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15112:1:12", + "nodeType": "YulLiteral", + "src": "15112:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15115:77:12", + "nodeType": "YulLiteral", + "src": "15115:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15105:6:12", + "nodeType": "YulIdentifier", + "src": "15105:6:12" + }, + "nativeSrc": "15105:88:12", + "nodeType": "YulFunctionCall", + "src": "15105:88:12" + }, + "nativeSrc": "15105:88:12", + "nodeType": "YulExpressionStatement", + "src": "15105:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15209:1:12", + "nodeType": "YulLiteral", + "src": "15209:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "15212:4:12", + "nodeType": "YulLiteral", + "src": "15212:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15202:6:12", + "nodeType": "YulIdentifier", + "src": "15202:6:12" + }, + "nativeSrc": "15202:15:12", + "nodeType": "YulFunctionCall", + "src": "15202:15:12" + }, + "nativeSrc": "15202:15:12", + "nodeType": "YulExpressionStatement", + "src": "15202:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15233:1:12", + "nodeType": "YulLiteral", + "src": "15233:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15236:4:12", + "nodeType": "YulLiteral", + "src": "15236:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "15226:6:12", + "nodeType": "YulIdentifier", + "src": "15226:6:12" + }, + "nativeSrc": "15226:15:12", + "nodeType": "YulFunctionCall", + "src": "15226:15:12" + }, + "nativeSrc": "15226:15:12", + "nodeType": "YulExpressionStatement", + "src": "15226:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "15067:180:12", + "nodeType": "YulFunctionDefinition", + "src": "15067:180:12" + }, + { + "body": { + "nativeSrc": "15304:269:12", + "nodeType": "YulBlock", + "src": "15304:269:12", + "statements": [ + { + "nativeSrc": "15314:22:12", + "nodeType": "YulAssignment", + "src": "15314:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "15328:4:12", + "nodeType": "YulIdentifier", + "src": "15328:4:12" + }, + { + "kind": "number", + "nativeSrc": "15334:1:12", + "nodeType": "YulLiteral", + "src": "15334:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "15324:3:12", + "nodeType": "YulIdentifier", + "src": "15324:3:12" + }, + "nativeSrc": "15324:12:12", + "nodeType": "YulFunctionCall", + "src": "15324:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "15314:6:12", + "nodeType": "YulIdentifier", + "src": "15314:6:12" + } + ] + }, + { + "nativeSrc": "15345:38:12", + "nodeType": "YulVariableDeclaration", + "src": "15345:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "15375:4:12", + "nodeType": "YulIdentifier", + "src": "15375:4:12" + }, + { + "kind": "number", + "nativeSrc": "15381:1:12", + "nodeType": "YulLiteral", + "src": "15381:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "15371:3:12", + "nodeType": "YulIdentifier", + "src": "15371:3:12" + }, + "nativeSrc": "15371:12:12", + "nodeType": "YulFunctionCall", + "src": "15371:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "15349:18:12", + "nodeType": "YulTypedName", + "src": "15349:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15422:51:12", + "nodeType": "YulBlock", + "src": "15422:51:12", + "statements": [ + { + "nativeSrc": "15436:27:12", + "nodeType": "YulAssignment", + "src": "15436:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "15450:6:12", + "nodeType": "YulIdentifier", + "src": "15450:6:12" + }, + { + "kind": "number", + "nativeSrc": "15458:4:12", + "nodeType": "YulLiteral", + "src": "15458:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "15446:3:12", + "nodeType": "YulIdentifier", + "src": "15446:3:12" + }, + "nativeSrc": "15446:17:12", + "nodeType": "YulFunctionCall", + "src": "15446:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "15436:6:12", + "nodeType": "YulIdentifier", + "src": "15436:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "15402:18:12", + "nodeType": "YulIdentifier", + "src": "15402:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "15395:6:12", + "nodeType": "YulIdentifier", + "src": "15395:6:12" + }, + "nativeSrc": "15395:26:12", + "nodeType": "YulFunctionCall", + "src": "15395:26:12" + }, + "nativeSrc": "15392:81:12", + "nodeType": "YulIf", + "src": "15392:81:12" + }, + { + "body": { + "nativeSrc": "15525:42:12", + "nodeType": "YulBlock", + "src": "15525:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "15539:16:12", + "nodeType": "YulIdentifier", + "src": "15539:16:12" + }, + "nativeSrc": "15539:18:12", + "nodeType": "YulFunctionCall", + "src": "15539:18:12" + }, + "nativeSrc": "15539:18:12", + "nodeType": "YulExpressionStatement", + "src": "15539:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "15489:18:12", + "nodeType": "YulIdentifier", + "src": "15489:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "15512:6:12", + "nodeType": "YulIdentifier", + "src": "15512:6:12" + }, + { + "kind": "number", + "nativeSrc": "15520:2:12", + "nodeType": "YulLiteral", + "src": "15520:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "15509:2:12", + "nodeType": "YulIdentifier", + "src": "15509:2:12" + }, + "nativeSrc": "15509:14:12", + "nodeType": "YulFunctionCall", + "src": "15509:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "15486:2:12", + "nodeType": "YulIdentifier", + "src": "15486:2:12" + }, + "nativeSrc": "15486:38:12", + "nodeType": "YulFunctionCall", + "src": "15486:38:12" + }, + "nativeSrc": "15483:84:12", + "nodeType": "YulIf", + "src": "15483:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "15253:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "15288:4:12", + "nodeType": "YulTypedName", + "src": "15288:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "15297:6:12", + "nodeType": "YulTypedName", + "src": "15297:6:12", + "type": "" + } + ], + "src": "15253:320:12" + }, + { + "body": { + "nativeSrc": "15685:68:12", + "nodeType": "YulBlock", + "src": "15685:68:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15707:6:12", + "nodeType": "YulIdentifier", + "src": "15707:6:12" + }, + { + "kind": "number", + "nativeSrc": "15715:1:12", + "nodeType": "YulLiteral", + "src": "15715:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15703:3:12", + "nodeType": "YulIdentifier", + "src": "15703:3:12" + }, + "nativeSrc": "15703:14:12", + "nodeType": "YulFunctionCall", + "src": "15703:14:12" + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "kind": "string", + "nativeSrc": "15719:26:12", + "nodeType": "YulLiteral", + "src": "15719:26:12", + "type": "", + "value": "Airdrop already expired." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15696:6:12", + "nodeType": "YulIdentifier", + "src": "15696:6:12" + }, + "nativeSrc": "15696:50:12", + "nodeType": "YulFunctionCall", + "src": "15696:50:12" + }, + "nativeSrc": "15696:50:12", + "nodeType": "YulExpressionStatement", + "src": "15696:50:12" + } + ] + }, + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "15579:174:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "15677:6:12", + "nodeType": "YulTypedName", + "src": "15677:6:12", + "type": "" + } + ], + "src": "15579:174:12" + }, + { + "body": { + "nativeSrc": "15905:220:12", + "nodeType": "YulBlock", + "src": "15905:220:12", + "statements": [ + { + "nativeSrc": "15915:74:12", + "nodeType": "YulAssignment", + "src": "15915:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15981:3:12", + "nodeType": "YulIdentifier", + "src": "15981:3:12" + }, + { + "kind": "number", + "nativeSrc": "15986:2:12", + "nodeType": "YulLiteral", + "src": "15986:2:12", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "15922:58:12", + "nodeType": "YulIdentifier", + "src": "15922:58:12" + }, + "nativeSrc": "15922:67:12", + "nodeType": "YulFunctionCall", + "src": "15922:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15915:3:12", + "nodeType": "YulIdentifier", + "src": "15915:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16087:3:12", + "nodeType": "YulIdentifier", + "src": "16087:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "15998:88:12", + "nodeType": "YulIdentifier", + "src": "15998:88:12" + }, + "nativeSrc": "15998:93:12", + "nodeType": "YulFunctionCall", + "src": "15998:93:12" + }, + "nativeSrc": "15998:93:12", + "nodeType": "YulExpressionStatement", + "src": "15998:93:12" + }, + { + "nativeSrc": "16100:19:12", + "nodeType": "YulAssignment", + "src": "16100:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16111:3:12", + "nodeType": "YulIdentifier", + "src": "16111:3:12" + }, + { + "kind": "number", + "nativeSrc": "16116:2:12", + "nodeType": "YulLiteral", + "src": "16116:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16107:3:12", + "nodeType": "YulIdentifier", + "src": "16107:3:12" + }, + "nativeSrc": "16107:12:12", + "nodeType": "YulFunctionCall", + "src": "16107:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "16100:3:12", + "nodeType": "YulIdentifier", + "src": "16100:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15759:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15893:3:12", + "nodeType": "YulTypedName", + "src": "15893:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15901:3:12", + "nodeType": "YulTypedName", + "src": "15901:3:12", + "type": "" + } + ], + "src": "15759:366:12" + }, + { + "body": { + "nativeSrc": "16302:248:12", + "nodeType": "YulBlock", + "src": "16302:248:12", + "statements": [ + { + "nativeSrc": "16312:26:12", + "nodeType": "YulAssignment", + "src": "16312:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16324:9:12", + "nodeType": "YulIdentifier", + "src": "16324:9:12" + }, + { + "kind": "number", + "nativeSrc": "16335:2:12", + "nodeType": "YulLiteral", + "src": "16335:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16320:3:12", + "nodeType": "YulIdentifier", + "src": "16320:3:12" + }, + "nativeSrc": "16320:18:12", + "nodeType": "YulFunctionCall", + "src": "16320:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16312:4:12", + "nodeType": "YulIdentifier", + "src": "16312:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16359:9:12", + "nodeType": "YulIdentifier", + "src": "16359:9:12" + }, + { + "kind": "number", + "nativeSrc": "16370:1:12", + "nodeType": "YulLiteral", + "src": "16370:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16355:3:12", + "nodeType": "YulIdentifier", + "src": "16355:3:12" + }, + "nativeSrc": "16355:17:12", + "nodeType": "YulFunctionCall", + "src": "16355:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16378:4:12", + "nodeType": "YulIdentifier", + "src": "16378:4:12" + }, + { + "name": "headStart", + "nativeSrc": "16384:9:12", + "nodeType": "YulIdentifier", + "src": "16384:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16374:3:12", + "nodeType": "YulIdentifier", + "src": "16374:3:12" + }, + "nativeSrc": "16374:20:12", + "nodeType": "YulFunctionCall", + "src": "16374:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16348:6:12", + "nodeType": "YulIdentifier", + "src": "16348:6:12" + }, + "nativeSrc": "16348:47:12", + "nodeType": "YulFunctionCall", + "src": "16348:47:12" + }, + "nativeSrc": "16348:47:12", + "nodeType": "YulExpressionStatement", + "src": "16348:47:12" + }, + { + "nativeSrc": "16404:139:12", + "nodeType": "YulAssignment", + "src": "16404:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16538:4:12", + "nodeType": "YulIdentifier", + "src": "16538:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16412:124:12", + "nodeType": "YulIdentifier", + "src": "16412:124:12" + }, + "nativeSrc": "16412:131:12", + "nodeType": "YulFunctionCall", + "src": "16412:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16404:4:12", + "nodeType": "YulIdentifier", + "src": "16404:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "16131:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16282:9:12", + "nodeType": "YulTypedName", + "src": "16282:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16297:4:12", + "nodeType": "YulTypedName", + "src": "16297:4:12", + "type": "" + } + ], + "src": "16131:419:12" + }, + { + "body": { + "nativeSrc": "16662:122:12", + "nodeType": "YulBlock", + "src": "16662:122:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16684:6:12", + "nodeType": "YulIdentifier", + "src": "16684:6:12" + }, + { + "kind": "number", + "nativeSrc": "16692:1:12", + "nodeType": "YulLiteral", + "src": "16692:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16680:3:12", + "nodeType": "YulIdentifier", + "src": "16680:3:12" + }, + "nativeSrc": "16680:14:12", + "nodeType": "YulFunctionCall", + "src": "16680:14:12" + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d6564", + "kind": "string", + "nativeSrc": "16696:34:12", + "nodeType": "YulLiteral", + "src": "16696:34:12", + "type": "", + "value": "Airdrop has been totally claimed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16673:6:12", + "nodeType": "YulIdentifier", + "src": "16673:6:12" + }, + "nativeSrc": "16673:58:12", + "nodeType": "YulFunctionCall", + "src": "16673:58:12" + }, + "nativeSrc": "16673:58:12", + "nodeType": "YulExpressionStatement", + "src": "16673:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16752:6:12", + "nodeType": "YulIdentifier", + "src": "16752:6:12" + }, + { + "kind": "number", + "nativeSrc": "16760:2:12", + "nodeType": "YulLiteral", + "src": "16760:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16748:3:12", + "nodeType": "YulIdentifier", + "src": "16748:3:12" + }, + "nativeSrc": "16748:15:12", + "nodeType": "YulFunctionCall", + "src": "16748:15:12" + }, + { + "hexValue": "20616c72656164792e", + "kind": "string", + "nativeSrc": "16765:11:12", + "nodeType": "YulLiteral", + "src": "16765:11:12", + "type": "", + "value": " already." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16741:6:12", + "nodeType": "YulIdentifier", + "src": "16741:6:12" + }, + "nativeSrc": "16741:36:12", + "nodeType": "YulFunctionCall", + "src": "16741:36:12" + }, + "nativeSrc": "16741:36:12", + "nodeType": "YulExpressionStatement", + "src": "16741:36:12" + } + ] + }, + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "16556:228:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "16654:6:12", + "nodeType": "YulTypedName", + "src": "16654:6:12", + "type": "" + } + ], + "src": "16556:228:12" + }, + { + "body": { + "nativeSrc": "16936:220:12", + "nodeType": "YulBlock", + "src": "16936:220:12", + "statements": [ + { + "nativeSrc": "16946:74:12", + "nodeType": "YulAssignment", + "src": "16946:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17012:3:12", + "nodeType": "YulIdentifier", + "src": "17012:3:12" + }, + { + "kind": "number", + "nativeSrc": "17017:2:12", + "nodeType": "YulLiteral", + "src": "17017:2:12", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "16953:58:12", + "nodeType": "YulIdentifier", + "src": "16953:58:12" + }, + "nativeSrc": "16953:67:12", + "nodeType": "YulFunctionCall", + "src": "16953:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16946:3:12", + "nodeType": "YulIdentifier", + "src": "16946:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17118:3:12", + "nodeType": "YulIdentifier", + "src": "17118:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "17029:88:12", + "nodeType": "YulIdentifier", + "src": "17029:88:12" + }, + "nativeSrc": "17029:93:12", + "nodeType": "YulFunctionCall", + "src": "17029:93:12" + }, + "nativeSrc": "17029:93:12", + "nodeType": "YulExpressionStatement", + "src": "17029:93:12" + }, + { + "nativeSrc": "17131:19:12", + "nodeType": "YulAssignment", + "src": "17131:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17142:3:12", + "nodeType": "YulIdentifier", + "src": "17142:3:12" + }, + { + "kind": "number", + "nativeSrc": "17147:2:12", + "nodeType": "YulLiteral", + "src": "17147:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17138:3:12", + "nodeType": "YulIdentifier", + "src": "17138:3:12" + }, + "nativeSrc": "17138:12:12", + "nodeType": "YulFunctionCall", + "src": "17138:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17131:3:12", + "nodeType": "YulIdentifier", + "src": "17131:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16790:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "16924:3:12", + "nodeType": "YulTypedName", + "src": "16924:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "16932:3:12", + "nodeType": "YulTypedName", + "src": "16932:3:12", + "type": "" + } + ], + "src": "16790:366:12" + }, + { + "body": { + "nativeSrc": "17333:248:12", + "nodeType": "YulBlock", + "src": "17333:248:12", + "statements": [ + { + "nativeSrc": "17343:26:12", + "nodeType": "YulAssignment", + "src": "17343:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17355:9:12", + "nodeType": "YulIdentifier", + "src": "17355:9:12" + }, + { + "kind": "number", + "nativeSrc": "17366:2:12", + "nodeType": "YulLiteral", + "src": "17366:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17351:3:12", + "nodeType": "YulIdentifier", + "src": "17351:3:12" + }, + "nativeSrc": "17351:18:12", + "nodeType": "YulFunctionCall", + "src": "17351:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17343:4:12", + "nodeType": "YulIdentifier", + "src": "17343:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17390:9:12", + "nodeType": "YulIdentifier", + "src": "17390:9:12" + }, + { + "kind": "number", + "nativeSrc": "17401:1:12", + "nodeType": "YulLiteral", + "src": "17401:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17386:3:12", + "nodeType": "YulIdentifier", + "src": "17386:3:12" + }, + "nativeSrc": "17386:17:12", + "nodeType": "YulFunctionCall", + "src": "17386:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17409:4:12", + "nodeType": "YulIdentifier", + "src": "17409:4:12" + }, + { + "name": "headStart", + "nativeSrc": "17415:9:12", + "nodeType": "YulIdentifier", + "src": "17415:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17405:3:12", + "nodeType": "YulIdentifier", + "src": "17405:3:12" + }, + "nativeSrc": "17405:20:12", + "nodeType": "YulFunctionCall", + "src": "17405:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17379:6:12", + "nodeType": "YulIdentifier", + "src": "17379:6:12" + }, + "nativeSrc": "17379:47:12", + "nodeType": "YulFunctionCall", + "src": "17379:47:12" + }, + "nativeSrc": "17379:47:12", + "nodeType": "YulExpressionStatement", + "src": "17379:47:12" + }, + { + "nativeSrc": "17435:139:12", + "nodeType": "YulAssignment", + "src": "17435:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17569:4:12", + "nodeType": "YulIdentifier", + "src": "17569:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17443:124:12", + "nodeType": "YulIdentifier", + "src": "17443:124:12" + }, + "nativeSrc": "17443:131:12", + "nodeType": "YulFunctionCall", + "src": "17443:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17435:4:12", + "nodeType": "YulIdentifier", + "src": "17435:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17162:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17313:9:12", + "nodeType": "YulTypedName", + "src": "17313:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17328:4:12", + "nodeType": "YulTypedName", + "src": "17328:4:12", + "type": "" + } + ], + "src": "17162:419:12" + }, + { + "body": { + "nativeSrc": "17682:73:12", + "nodeType": "YulBlock", + "src": "17682:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17699:3:12", + "nodeType": "YulIdentifier", + "src": "17699:3:12" + }, + { + "name": "length", + "nativeSrc": "17704:6:12", + "nodeType": "YulIdentifier", + "src": "17704:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17692:6:12", + "nodeType": "YulIdentifier", + "src": "17692:6:12" + }, + "nativeSrc": "17692:19:12", + "nodeType": "YulFunctionCall", + "src": "17692:19:12" + }, + "nativeSrc": "17692:19:12", + "nodeType": "YulExpressionStatement", + "src": "17692:19:12" + }, + { + "nativeSrc": "17720:29:12", + "nodeType": "YulAssignment", + "src": "17720:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17739:3:12", + "nodeType": "YulIdentifier", + "src": "17739:3:12" + }, + { + "kind": "number", + "nativeSrc": "17744:4:12", + "nodeType": "YulLiteral", + "src": "17744:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17735:3:12", + "nodeType": "YulIdentifier", + "src": "17735:3:12" + }, + "nativeSrc": "17735:14:12", + "nodeType": "YulFunctionCall", + "src": "17735:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "17720:11:12", + "nodeType": "YulIdentifier", + "src": "17720:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "17587:168:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17654:3:12", + "nodeType": "YulTypedName", + "src": "17654:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "17659:6:12", + "nodeType": "YulTypedName", + "src": "17659:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "17670:11:12", + "nodeType": "YulTypedName", + "src": "17670:11:12", + "type": "" + } + ], + "src": "17587:168:12" + }, + { + "body": { + "nativeSrc": "17867:8:12", + "nodeType": "YulBlock", + "src": "17867:8:12", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "17761:114:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "17859:6:12", + "nodeType": "YulTypedName", + "src": "17859:6:12", + "type": "" + } + ], + "src": "17761:114:12" + }, + { + "body": { + "nativeSrc": "18026:217:12", + "nodeType": "YulBlock", + "src": "18026:217:12", + "statements": [ + { + "nativeSrc": "18036:72:12", + "nodeType": "YulAssignment", + "src": "18036:72:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18101:3:12", + "nodeType": "YulIdentifier", + "src": "18101:3:12" + }, + { + "kind": "number", + "nativeSrc": "18106:1:12", + "nodeType": "YulLiteral", + "src": "18106:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "18043:57:12", + "nodeType": "YulIdentifier", + "src": "18043:57:12" + }, + "nativeSrc": "18043:65:12", + "nodeType": "YulFunctionCall", + "src": "18043:65:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18036:3:12", + "nodeType": "YulIdentifier", + "src": "18036:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18206:3:12", + "nodeType": "YulIdentifier", + "src": "18206:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "18117:88:12", + "nodeType": "YulIdentifier", + "src": "18117:88:12" + }, + "nativeSrc": "18117:93:12", + "nodeType": "YulFunctionCall", + "src": "18117:93:12" + }, + "nativeSrc": "18117:93:12", + "nodeType": "YulExpressionStatement", + "src": "18117:93:12" + }, + { + "nativeSrc": "18219:18:12", + "nodeType": "YulAssignment", + "src": "18219:18:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18230:3:12", + "nodeType": "YulIdentifier", + "src": "18230:3:12" + }, + { + "kind": "number", + "nativeSrc": "18235:1:12", + "nodeType": "YulLiteral", + "src": "18235:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18226:3:12", + "nodeType": "YulIdentifier", + "src": "18226:3:12" + }, + "nativeSrc": "18226:11:12", + "nodeType": "YulFunctionCall", + "src": "18226:11:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18219:3:12", + "nodeType": "YulIdentifier", + "src": "18219:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "17881:362:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18014:3:12", + "nodeType": "YulTypedName", + "src": "18014:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18022:3:12", + "nodeType": "YulTypedName", + "src": "18022:3:12", + "type": "" + } + ], + "src": "17881:362:12" + }, + { + "body": { + "nativeSrc": "18531:577:12", + "nodeType": "YulBlock", + "src": "18531:577:12", + "statements": [ + { + "nativeSrc": "18541:27:12", + "nodeType": "YulAssignment", + "src": "18541:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18553:9:12", + "nodeType": "YulIdentifier", + "src": "18553:9:12" + }, + { + "kind": "number", + "nativeSrc": "18564:3:12", + "nodeType": "YulLiteral", + "src": "18564:3:12", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18549:3:12", + "nodeType": "YulIdentifier", + "src": "18549:3:12" + }, + "nativeSrc": "18549:19:12", + "nodeType": "YulFunctionCall", + "src": "18549:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18541:4:12", + "nodeType": "YulIdentifier", + "src": "18541:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "18622:6:12", + "nodeType": "YulIdentifier", + "src": "18622:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18635:9:12", + "nodeType": "YulIdentifier", + "src": "18635:9:12" + }, + { + "kind": "number", + "nativeSrc": "18646:1:12", + "nodeType": "YulLiteral", + "src": "18646:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18631:3:12", + "nodeType": "YulIdentifier", + "src": "18631:3:12" + }, + "nativeSrc": "18631:17:12", + "nodeType": "YulFunctionCall", + "src": "18631:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "18578:43:12", + "nodeType": "YulIdentifier", + "src": "18578:43:12" + }, + "nativeSrc": "18578:71:12", + "nodeType": "YulFunctionCall", + "src": "18578:71:12" + }, + "nativeSrc": "18578:71:12", + "nodeType": "YulExpressionStatement", + "src": "18578:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "18703:6:12", + "nodeType": "YulIdentifier", + "src": "18703:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18716:9:12", + "nodeType": "YulIdentifier", + "src": "18716:9:12" + }, + { + "kind": "number", + "nativeSrc": "18727:2:12", + "nodeType": "YulLiteral", + "src": "18727:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18712:3:12", + "nodeType": "YulIdentifier", + "src": "18712:3:12" + }, + "nativeSrc": "18712:18:12", + "nodeType": "YulFunctionCall", + "src": "18712:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "18659:43:12", + "nodeType": "YulIdentifier", + "src": "18659:43:12" + }, + "nativeSrc": "18659:72:12", + "nodeType": "YulFunctionCall", + "src": "18659:72:12" + }, + "nativeSrc": "18659:72:12", + "nodeType": "YulExpressionStatement", + "src": "18659:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "18785:6:12", + "nodeType": "YulIdentifier", + "src": "18785:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18798:9:12", + "nodeType": "YulIdentifier", + "src": "18798:9:12" + }, + { + "kind": "number", + "nativeSrc": "18809:2:12", + "nodeType": "YulLiteral", + "src": "18809:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18794:3:12", + "nodeType": "YulIdentifier", + "src": "18794:3:12" + }, + "nativeSrc": "18794:18:12", + "nodeType": "YulFunctionCall", + "src": "18794:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "18741:43:12", + "nodeType": "YulIdentifier", + "src": "18741:43:12" + }, + "nativeSrc": "18741:72:12", + "nodeType": "YulFunctionCall", + "src": "18741:72:12" + }, + "nativeSrc": "18741:72:12", + "nodeType": "YulExpressionStatement", + "src": "18741:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "18867:6:12", + "nodeType": "YulIdentifier", + "src": "18867:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18880:9:12", + "nodeType": "YulIdentifier", + "src": "18880:9:12" + }, + { + "kind": "number", + "nativeSrc": "18891:2:12", + "nodeType": "YulLiteral", + "src": "18891:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18876:3:12", + "nodeType": "YulIdentifier", + "src": "18876:3:12" + }, + "nativeSrc": "18876:18:12", + "nodeType": "YulFunctionCall", + "src": "18876:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "18823:43:12", + "nodeType": "YulIdentifier", + "src": "18823:43:12" + }, + "nativeSrc": "18823:72:12", + "nodeType": "YulFunctionCall", + "src": "18823:72:12" + }, + "nativeSrc": "18823:72:12", + "nodeType": "YulExpressionStatement", + "src": "18823:72:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18916:9:12", + "nodeType": "YulIdentifier", + "src": "18916:9:12" + }, + { + "kind": "number", + "nativeSrc": "18927:3:12", + "nodeType": "YulLiteral", + "src": "18927:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18912:3:12", + "nodeType": "YulIdentifier", + "src": "18912:3:12" + }, + "nativeSrc": "18912:19:12", + "nodeType": "YulFunctionCall", + "src": "18912:19:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18937:4:12", + "nodeType": "YulIdentifier", + "src": "18937:4:12" + }, + { + "name": "headStart", + "nativeSrc": "18943:9:12", + "nodeType": "YulIdentifier", + "src": "18943:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18933:3:12", + "nodeType": "YulIdentifier", + "src": "18933:3:12" + }, + "nativeSrc": "18933:20:12", + "nodeType": "YulFunctionCall", + "src": "18933:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18905:6:12", + "nodeType": "YulIdentifier", + "src": "18905:6:12" + }, + "nativeSrc": "18905:49:12", + "nodeType": "YulFunctionCall", + "src": "18905:49:12" + }, + "nativeSrc": "18905:49:12", + "nodeType": "YulExpressionStatement", + "src": "18905:49:12" + }, + { + "nativeSrc": "18963:138:12", + "nodeType": "YulAssignment", + "src": "18963:138:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19096:4:12", + "nodeType": "YulIdentifier", + "src": "19096:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "18971:123:12", + "nodeType": "YulIdentifier", + "src": "18971:123:12" + }, + "nativeSrc": "18971:130:12", + "nodeType": "YulFunctionCall", + "src": "18971:130:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18963:4:12", + "nodeType": "YulIdentifier", + "src": "18963:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "18249:859:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18479:9:12", + "nodeType": "YulTypedName", + "src": "18479:9:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "18491:6:12", + "nodeType": "YulTypedName", + "src": "18491:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "18499:6:12", + "nodeType": "YulTypedName", + "src": "18499:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "18507:6:12", + "nodeType": "YulTypedName", + "src": "18507:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18515:6:12", + "nodeType": "YulTypedName", + "src": "18515:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18526:4:12", + "nodeType": "YulTypedName", + "src": "18526:4:12", + "type": "" + } + ], + "src": "18249:859:12" + }, + { + "body": { + "nativeSrc": "19142:152:12", + "nodeType": "YulBlock", + "src": "19142:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19159:1:12", + "nodeType": "YulLiteral", + "src": "19159:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "19162:77:12", + "nodeType": "YulLiteral", + "src": "19162:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19152:6:12", + "nodeType": "YulIdentifier", + "src": "19152:6:12" + }, + "nativeSrc": "19152:88:12", + "nodeType": "YulFunctionCall", + "src": "19152:88:12" + }, + "nativeSrc": "19152:88:12", + "nodeType": "YulExpressionStatement", + "src": "19152:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19256:1:12", + "nodeType": "YulLiteral", + "src": "19256:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "19259:4:12", + "nodeType": "YulLiteral", + "src": "19259:4:12", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19249:6:12", + "nodeType": "YulIdentifier", + "src": "19249:6:12" + }, + "nativeSrc": "19249:15:12", + "nodeType": "YulFunctionCall", + "src": "19249:15:12" + }, + "nativeSrc": "19249:15:12", + "nodeType": "YulExpressionStatement", + "src": "19249:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19280:1:12", + "nodeType": "YulLiteral", + "src": "19280:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "19283:4:12", + "nodeType": "YulLiteral", + "src": "19283:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "19273:6:12", + "nodeType": "YulIdentifier", + "src": "19273:6:12" + }, + "nativeSrc": "19273:15:12", + "nodeType": "YulFunctionCall", + "src": "19273:15:12" + }, + "nativeSrc": "19273:15:12", + "nodeType": "YulExpressionStatement", + "src": "19273:15:12" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "19114:180:12", + "nodeType": "YulFunctionDefinition", + "src": "19114:180:12" + }, + { + "body": { + "nativeSrc": "19345:149:12", + "nodeType": "YulBlock", + "src": "19345:149:12", + "statements": [ + { + "nativeSrc": "19355:25:12", + "nodeType": "YulAssignment", + "src": "19355:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "19378:1:12", + "nodeType": "YulIdentifier", + "src": "19378:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "19360:17:12", + "nodeType": "YulIdentifier", + "src": "19360:17:12" + }, + "nativeSrc": "19360:20:12", + "nodeType": "YulFunctionCall", + "src": "19360:20:12" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "19355:1:12", + "nodeType": "YulIdentifier", + "src": "19355:1:12" + } + ] + }, + { + "nativeSrc": "19389:25:12", + "nodeType": "YulAssignment", + "src": "19389:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "19412:1:12", + "nodeType": "YulIdentifier", + "src": "19412:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "19394:17:12", + "nodeType": "YulIdentifier", + "src": "19394:17:12" + }, + "nativeSrc": "19394:20:12", + "nodeType": "YulFunctionCall", + "src": "19394:20:12" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "19389:1:12", + "nodeType": "YulIdentifier", + "src": "19389:1:12" + } + ] + }, + { + "nativeSrc": "19423:17:12", + "nodeType": "YulAssignment", + "src": "19423:17:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "19435:1:12", + "nodeType": "YulIdentifier", + "src": "19435:1:12" + }, + { + "name": "y", + "nativeSrc": "19438:1:12", + "nodeType": "YulIdentifier", + "src": "19438:1:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19431:3:12", + "nodeType": "YulIdentifier", + "src": "19431:3:12" + }, + "nativeSrc": "19431:9:12", + "nodeType": "YulFunctionCall", + "src": "19431:9:12" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "19423:4:12", + "nodeType": "YulIdentifier", + "src": "19423:4:12" + } + ] + }, + { + "body": { + "nativeSrc": "19465:22:12", + "nodeType": "YulBlock", + "src": "19465:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "19467:16:12", + "nodeType": "YulIdentifier", + "src": "19467:16:12" + }, + "nativeSrc": "19467:18:12", + "nodeType": "YulFunctionCall", + "src": "19467:18:12" + }, + "nativeSrc": "19467:18:12", + "nodeType": "YulExpressionStatement", + "src": "19467:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "19456:4:12", + "nodeType": "YulIdentifier", + "src": "19456:4:12" + }, + { + "name": "x", + "nativeSrc": "19462:1:12", + "nodeType": "YulIdentifier", + "src": "19462:1:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "19453:2:12", + "nodeType": "YulIdentifier", + "src": "19453:2:12" + }, + "nativeSrc": "19453:11:12", + "nodeType": "YulFunctionCall", + "src": "19453:11:12" + }, + "nativeSrc": "19450:37:12", + "nodeType": "YulIf", + "src": "19450:37:12" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "19300:194:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "19331:1:12", + "nodeType": "YulTypedName", + "src": "19331:1:12", + "type": "" + }, + { + "name": "y", + "nativeSrc": "19334:1:12", + "nodeType": "YulTypedName", + "src": "19334:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "19340:4:12", + "nodeType": "YulTypedName", + "src": "19340:4:12", + "type": "" + } + ], + "src": "19300:194:12" + }, + { + "body": { + "nativeSrc": "19547:32:12", + "nodeType": "YulBlock", + "src": "19547:32:12", + "statements": [ + { + "nativeSrc": "19557:16:12", + "nodeType": "YulAssignment", + "src": "19557:16:12", + "value": { + "name": "value", + "nativeSrc": "19568:5:12", + "nodeType": "YulIdentifier", + "src": "19568:5:12" + }, + "variableNames": [ + { + "name": "aligned", + "nativeSrc": "19557:7:12", + "nodeType": "YulIdentifier", + "src": "19557:7:12" + } + ] + } + ] + }, + "name": "leftAlign_t_bytes32", + "nativeSrc": "19500:79:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "19529:5:12", + "nodeType": "YulTypedName", + "src": "19529:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nativeSrc": "19539:7:12", + "nodeType": "YulTypedName", + "src": "19539:7:12", + "type": "" + } + ], + "src": "19500:79:12" + }, + { + "body": { + "nativeSrc": "19668:74:12", + "nodeType": "YulBlock", + "src": "19668:74:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19685:3:12", + "nodeType": "YulIdentifier", + "src": "19685:3:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "19728:5:12", + "nodeType": "YulIdentifier", + "src": "19728:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "19710:17:12", + "nodeType": "YulIdentifier", + "src": "19710:17:12" + }, + "nativeSrc": "19710:24:12", + "nodeType": "YulFunctionCall", + "src": "19710:24:12" + } + ], + "functionName": { + "name": "leftAlign_t_bytes32", + "nativeSrc": "19690:19:12", + "nodeType": "YulIdentifier", + "src": "19690:19:12" + }, + "nativeSrc": "19690:45:12", + "nodeType": "YulFunctionCall", + "src": "19690:45:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19678:6:12", + "nodeType": "YulIdentifier", + "src": "19678:6:12" + }, + "nativeSrc": "19678:58:12", + "nodeType": "YulFunctionCall", + "src": "19678:58:12" + }, + "nativeSrc": "19678:58:12", + "nodeType": "YulExpressionStatement", + "src": "19678:58:12" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "19585:157:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "19656:5:12", + "nodeType": "YulTypedName", + "src": "19656:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "19663:3:12", + "nodeType": "YulTypedName", + "src": "19663:3:12", + "type": "" + } + ], + "src": "19585:157:12" + }, + { + "body": { + "nativeSrc": "19864:140:12", + "nodeType": "YulBlock", + "src": "19864:140:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "19937:6:12", + "nodeType": "YulIdentifier", + "src": "19937:6:12" + }, + { + "name": "pos", + "nativeSrc": "19946:3:12", + "nodeType": "YulIdentifier", + "src": "19946:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "19875:61:12", + "nodeType": "YulIdentifier", + "src": "19875:61:12" + }, + "nativeSrc": "19875:75:12", + "nodeType": "YulFunctionCall", + "src": "19875:75:12" + }, + "nativeSrc": "19875:75:12", + "nodeType": "YulExpressionStatement", + "src": "19875:75:12" + }, + { + "nativeSrc": "19959:19:12", + "nodeType": "YulAssignment", + "src": "19959:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19970:3:12", + "nodeType": "YulIdentifier", + "src": "19970:3:12" + }, + { + "kind": "number", + "nativeSrc": "19975:2:12", + "nodeType": "YulLiteral", + "src": "19975:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19966:3:12", + "nodeType": "YulIdentifier", + "src": "19966:3:12" + }, + "nativeSrc": "19966:12:12", + "nodeType": "YulFunctionCall", + "src": "19966:12:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19959:3:12", + "nodeType": "YulIdentifier", + "src": "19959:3:12" + } + ] + }, + { + "nativeSrc": "19988:10:12", + "nodeType": "YulAssignment", + "src": "19988:10:12", + "value": { + "name": "pos", + "nativeSrc": "19995:3:12", + "nodeType": "YulIdentifier", + "src": "19995:3:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19988:3:12", + "nodeType": "YulIdentifier", + "src": "19988:3:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "19748:256:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19843:3:12", + "nodeType": "YulTypedName", + "src": "19843:3:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "19849:6:12", + "nodeType": "YulTypedName", + "src": "19849:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19860:3:12", + "nodeType": "YulTypedName", + "src": "19860:3:12", + "type": "" + } + ], + "src": "19748:256:12" + }, + { + "body": { + "nativeSrc": "20038:152:12", + "nodeType": "YulBlock", + "src": "20038:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20055:1:12", + "nodeType": "YulLiteral", + "src": "20055:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "20058:77:12", + "nodeType": "YulLiteral", + "src": "20058:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20048:6:12", + "nodeType": "YulIdentifier", + "src": "20048:6:12" + }, + "nativeSrc": "20048:88:12", + "nodeType": "YulFunctionCall", + "src": "20048:88:12" + }, + "nativeSrc": "20048:88:12", + "nodeType": "YulExpressionStatement", + "src": "20048:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20152:1:12", + "nodeType": "YulLiteral", + "src": "20152:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "20155:4:12", + "nodeType": "YulLiteral", + "src": "20155:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20145:6:12", + "nodeType": "YulIdentifier", + "src": "20145:6:12" + }, + "nativeSrc": "20145:15:12", + "nodeType": "YulFunctionCall", + "src": "20145:15:12" + }, + "nativeSrc": "20145:15:12", + "nodeType": "YulExpressionStatement", + "src": "20145:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20176:1:12", + "nodeType": "YulLiteral", + "src": "20176:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "20179:4:12", + "nodeType": "YulLiteral", + "src": "20179:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "20169:6:12", + "nodeType": "YulIdentifier", + "src": "20169:6:12" + }, + "nativeSrc": "20169:15:12", + "nodeType": "YulFunctionCall", + "src": "20169:15:12" + }, + "nativeSrc": "20169:15:12", + "nodeType": "YulExpressionStatement", + "src": "20169:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "20010:180:12", + "nodeType": "YulFunctionDefinition", + "src": "20010:180:12" + } + ] + }, + "contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$3239(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$3239(value)\n }\n\n function convert_t_enum$_AirdropType_$3239_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$3239_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\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_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already expired.\")\n\n }\n\n function abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__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_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop has been totally claimed\")\n\n mstore(add(memPtr, 32), \" already.\")\n\n }\n\n function abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__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_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220372f16de976df56b639eca3e408656bd4cd1ad8b78cd60f8ce05600d7ec32f5a64736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0x2F AND 0xDE SWAP8 PUSH14 0xF56B639ECA3E408656BD4CD1AD8B PUSH25 0xCD60F8CE05600D7EC32F5A64736F6C63430008180033000000 ", + "sourceMap": "225:3603:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3328:124;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2436:209;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1427:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3108:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3701:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3005:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;2762:126:9;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;729:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2894:105:9;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2651;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3219:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1343:78;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;596:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3458:237;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3328:124:9;3370:7;3396:14;;;;;;;;;;;:24;;;3429:4;3436:8;;3396:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:56;;3328:124;:::o;2436:209::-;2482:18;;:::i;:::-;2519:119;;;;;;;;2531:12;2519:119;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2553:4;2519:119;;;;;;2560:19;;2519:119;;;;2581:18;;2519:119;;;;2601:1;2519:119;;;;2604:15;;2519:119;;;;2621:12;;;;;;;;;;;2519:119;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2512:126;;2436:209;:::o;1427:133::-;1531:13:0;:11;:13::i;:::-;1526:27:9::1;1533:4;1539:6;1547:5;;1526:6;:27::i;:::-;1427:133:::0;;;;:::o;3108:105::-;3161:7;3187:19;;3180:26;;3108:105;:::o;3701:125::-;3740:13;3795:24;;;;;;;;;;;;;;;;;;;3701:125;:::o;3005:97::-;3054:7;3080:15;;3073:22;;3005:97;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2762:126:9:-;2820:4;2843:28;:38;2872:8;2843:38;;;;;;;;;;;;;;;;;;;;;;;;;2836:45;;2762:126;;;:::o;729:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;2894:105:9:-;2936:4;2977:15;2959;;:33;2952:40;;2894:105;:::o;2651:::-;2704:4;2748:1;2727:18;;:22;2720:29;;2651:105;:::o;3219:103::-;3271:7;3297:18;;3290:25;;3219:103;:::o;1343:78::-;1531:13:0;:11;:13::i;:::-;1409:5:9::1;1402:4;:12;;;;1343:78:::0;:::o;596:19::-;;;;:::o;3458:237::-;3586:6;3618:69;3604:84;;3458:237;;;;;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;1566:684:9:-;1662:12;1677:28;1688:7;1697;1677:10;:28::i;:::-;1662:43;;1721:46;1748:6;;1756:4;;1762;1721:26;:46::i;:::-;1716:74;;1776:14;;;;;;;;;;;;;;1716:74;1804:11;:17;1816:4;1804:17;;;;;;;;;;;;;;;;;;;;;1800:40;;;1830:10;;;;;;;;;;;;;;1800:40;1870:4;1850:11;:17;1862:4;1850:17;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;1893:12;:10;:12::i;:::-;1892:13;1884:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1953:23;:21;:23::i;:::-;1952:24;1944:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2033:14;;;;;;;;;;;:31;;;2073:4;2080:7;2089:8;;2099:7;2033:78;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2143:7;2121:18;;:29;;;;;;;:::i;:::-;;;;;;;;2200:4;2160:28;:37;2189:7;2160:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;2220:23;2226:7;2235;2220:23;;;;;;;:::i;:::-;;;;;;;;1652:598;1566:684;;;;:::o;2912:187:0:-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:1:-;709:7;735:10;728:17;;656:96;:::o;2256:174:9:-;2333:7;2403;2412;2392:28;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2382:39;;;;;;2369:53;;;;;;;;:::i;:::-;;;;;;;;;;;;;2359:64;;;;;;2352:71;;2256:174;;;;:::o;4637:172:3:-;4738:4;4798;4761:33;4782:5;;4789:4;4761:20;:33::i;:::-;:41;4754:48;;4637:172;;;;;;:::o;5212:318::-;5305:7;5324:20;5347:4;5324:27;;5366:9;5361:134;5385:5;;:12;;5381:1;:16;5361:134;;;5433:51;5461:12;5475:5;;5481:1;5475:8;;;;;;;:::i;:::-;;;;;;;;5433:27;:51::i;:::-;5418:66;;5399:3;;;;;;;5361:134;;;;5511:12;5504:19;;;5212:318;;;;;:::o;504:169:2:-;579:7;609:1;605;:5;:61;;641:25;661:1;664;641:19;:25::i;:::-;605:61;;;613:25;633:1;636;613:19;:25::i;:::-;605:61;598:68;;504:169;;;;:::o;793:239::-;866:13;943:1;937:4;930:15;971:1;965:4;958:15;1011:4;1005;995:21;986:30;;793:239;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:77:12:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:159::-;621:11;655:6;650:3;643:19;695:4;690:3;686:14;671:29;;547:159;;;;:::o;712:246::-;793:1;803:113;817:6;814:1;811:13;803:113;;;902:1;897:3;893:11;887:18;883:1;878:3;874:11;867:39;839:2;836:1;832:10;827:15;;803:113;;;950:1;941:6;936:3;932:16;925:27;774:184;712:246;;;:::o;964:102::-;1005:6;1056:2;1052:7;1047:2;1040:5;1036:14;1032:28;1022:38;;964:102;;;:::o;1072:357::-;1150:3;1178:39;1211:5;1178:39;:::i;:::-;1233:61;1287:6;1282:3;1233:61;:::i;:::-;1226:68;;1303:65;1361:6;1356:3;1349:4;1342:5;1338:16;1303:65;:::i;:::-;1393:29;1415:6;1393:29;:::i;:::-;1388:3;1384:39;1377:46;;1154:275;1072:357;;;;:::o;1435:126::-;1472:7;1512:42;1505:5;1501:54;1490:65;;1435:126;;;:::o;1567:96::-;1604:7;1633:24;1651:5;1633:24;:::i;:::-;1622:35;;1567:96;;;:::o;1669:108::-;1746:24;1764:5;1746:24;:::i;:::-;1741:3;1734:37;1669:108;;:::o;1783:::-;1860:24;1878:5;1860:24;:::i;:::-;1855:3;1848:37;1783:108;;:::o;1897:180::-;1945:77;1942:1;1935:88;2042:4;2039:1;2032:15;2066:4;2063:1;2056:15;2083:121;2172:1;2165:5;2162:12;2152:46;;2178:18;;:::i;:::-;2152:46;2083:121;:::o;2210:143::-;2263:7;2292:5;2281:16;;2298:49;2341:5;2298:49;:::i;:::-;2210:143;;;:::o;2359:::-;2423:9;2456:40;2490:5;2456:40;:::i;:::-;2443:53;;2359:143;;;:::o;2508:149::-;2599:51;2644:5;2599:51;:::i;:::-;2594:3;2587:64;2508:149;;:::o;2711:1812::-;2838:3;2874:6;2869:3;2865:16;2970:4;2963:5;2959:16;2953:23;3023:3;3017:4;3013:14;3006:4;3001:3;2997:14;2990:38;3049:73;3117:4;3103:12;3049:73;:::i;:::-;3041:81;;2891:242;3225:4;3218:5;3214:16;3208:23;3244:63;3301:4;3296:3;3292:14;3278:12;3244:63;:::i;:::-;3143:174;3413:4;3406:5;3402:16;3396:23;3432:63;3489:4;3484:3;3480:14;3466:12;3432:63;:::i;:::-;3327:178;3600:4;3593:5;3589:16;3583:23;3619:63;3676:4;3671:3;3667:14;3653:12;3619:63;:::i;:::-;3515:177;3781:4;3774:5;3770:16;3764:23;3800:63;3857:4;3852:3;3848:14;3834:12;3800:63;:::i;:::-;3702:171;3965:4;3958:5;3954:16;3948:23;3984:63;4041:4;4036:3;4032:14;4018:12;3984:63;:::i;:::-;3883:174;4146:4;4139:5;4135:16;4129:23;4165:77;4236:4;4231:3;4227:14;4213:12;4165:77;:::i;:::-;4067:185;4333:4;4326:5;4322:16;4316:23;4386:3;4380:4;4376:14;4369:4;4364:3;4360:14;4353:38;4412:73;4480:4;4466:12;4412:73;:::i;:::-;4404:81;;4262:234;4513:4;4506:11;;2843:1680;2711:1812;;;;:::o;4529:389::-;4680:4;4718:2;4707:9;4703:18;4695:26;;4767:9;4761:4;4757:20;4753:1;4742:9;4738:17;4731:47;4795:116;4906:4;4897:6;4795:116;:::i;:::-;4787:124;;4529:389;;;;:::o;4924:75::-;4957:6;4990:2;4984:9;4974:19;;4924:75;:::o;5005:117::-;5114:1;5111;5104:12;5128:117;5237:1;5234;5227:12;5251:122;5324:24;5342:5;5324:24;:::i;:::-;5317:5;5314:35;5304:63;;5363:1;5360;5353:12;5304:63;5251:122;:::o;5379:139::-;5425:5;5463:6;5450:20;5441:29;;5479:33;5506:5;5479:33;:::i;:::-;5379:139;;;;:::o;5524:122::-;5597:24;5615:5;5597:24;:::i;:::-;5590:5;5587:35;5577:63;;5636:1;5633;5626:12;5577:63;5524:122;:::o;5652:139::-;5698:5;5736:6;5723:20;5714:29;;5752:33;5779:5;5752:33;:::i;:::-;5652:139;;;;:::o;5797:117::-;5906:1;5903;5896:12;5920:117;6029:1;6026;6019:12;6043:117;6152:1;6149;6142:12;6183:568;6256:8;6266:6;6316:3;6309:4;6301:6;6297:17;6293:27;6283:122;;6324:79;;:::i;:::-;6283:122;6437:6;6424:20;6414:30;;6467:18;6459:6;6456:30;6453:117;;;6489:79;;:::i;:::-;6453:117;6603:4;6595:6;6591:17;6579:29;;6657:3;6649:4;6641:6;6637:17;6627:8;6623:32;6620:41;6617:128;;;6664:79;;:::i;:::-;6617:128;6183:568;;;;;:::o;6757:849::-;6861:6;6869;6877;6885;6934:2;6922:9;6913:7;6909:23;6905:32;6902:119;;;6940:79;;:::i;:::-;6902:119;7060:1;7085:53;7130:7;7121:6;7110:9;7106:22;7085:53;:::i;:::-;7075:63;;7031:117;7187:2;7213:53;7258:7;7249:6;7238:9;7234:22;7213:53;:::i;:::-;7203:63;;7158:118;7343:2;7332:9;7328:18;7315:32;7374:18;7366:6;7363:30;7360:117;;;7396:79;;:::i;:::-;7360:117;7509:80;7581:7;7572:6;7561:9;7557:22;7509:80;:::i;:::-;7491:98;;;;7286:313;6757:849;;;;;;;:::o;7612:169::-;7696:11;7730:6;7725:3;7718:19;7770:4;7765:3;7761:14;7746:29;;7612:169;;;;:::o;7787:377::-;7875:3;7903:39;7936:5;7903:39;:::i;:::-;7958:71;8022:6;8017:3;7958:71;:::i;:::-;7951:78;;8038:65;8096:6;8091:3;8084:4;8077:5;8073:16;8038:65;:::i;:::-;8128:29;8150:6;8128:29;:::i;:::-;8123:3;8119:39;8112:46;;7879:285;7787:377;;;;:::o;8170:313::-;8283:4;8321:2;8310:9;8306:18;8298:26;;8370:9;8364:4;8360:20;8356:1;8345:9;8341:17;8334:47;8398:78;8471:4;8462:6;8398:78;:::i;:::-;8390:86;;8170:313;;;;:::o;8489:329::-;8548:6;8597:2;8585:9;8576:7;8572:23;8568:32;8565:119;;;8603:79;;:::i;:::-;8565:119;8723:1;8748:53;8793:7;8784:6;8773:9;8769:22;8748:53;:::i;:::-;8738:63;;8694:117;8489:329;;;;:::o;8824:90::-;8858:7;8901:5;8894:13;8887:21;8876:32;;8824:90;;;:::o;8920:109::-;9001:21;9016:5;9001:21;:::i;:::-;8996:3;8989:34;8920:109;;:::o;9035:210::-;9122:4;9160:2;9149:9;9145:18;9137:26;;9173:65;9235:1;9224:9;9220:17;9211:6;9173:65;:::i;:::-;9035:210;;;;:::o;9251:77::-;9288:7;9317:5;9306:16;;9251:77;;;:::o;9334:122::-;9407:24;9425:5;9407:24;:::i;:::-;9400:5;9397:35;9387:63;;9446:1;9443;9436:12;9387:63;9334:122;:::o;9462:139::-;9508:5;9546:6;9533:20;9524:29;;9562:33;9589:5;9562:33;:::i;:::-;9462:139;;;;:::o;9607:329::-;9666:6;9715:2;9703:9;9694:7;9690:23;9686:32;9683:119;;;9721:79;;:::i;:::-;9683:119;9841:1;9866:53;9911:7;9902:6;9891:9;9887:22;9866:53;:::i;:::-;9856:63;;9812:117;9607:329;;;;:::o;9942:118::-;10029:24;10047:5;10029:24;:::i;:::-;10024:3;10017:37;9942:118;;:::o;10066:222::-;10159:4;10197:2;10186:9;10182:18;10174:26;;10210:71;10278:1;10267:9;10263:17;10254:6;10210:71;:::i;:::-;10066:222;;;;:::o;10294:118::-;10381:24;10399:5;10381:24;:::i;:::-;10376:3;10369:37;10294:118;;:::o;10418:222::-;10511:4;10549:2;10538:9;10534:18;10526:26;;10562:71;10630:1;10619:9;10615:17;10606:6;10562:71;:::i;:::-;10418:222;;;;:::o;10646:117::-;10755:1;10752;10745:12;10769:180;10817:77;10814:1;10807:88;10914:4;10911:1;10904:15;10938:4;10935:1;10928:15;10955:281;11038:27;11060:4;11038:27;:::i;:::-;11030:6;11026:40;11168:6;11156:10;11153:22;11132:18;11120:10;11117:34;11114:62;11111:88;;;11179:18;;:::i;:::-;11111:88;11219:10;11215:2;11208:22;10998:238;10955:281;;:::o;11242:129::-;11276:6;11303:20;;:::i;:::-;11293:30;;11332:33;11360:4;11352:6;11332:33;:::i;:::-;11242:129;;;:::o;11377:307::-;11438:4;11528:18;11520:6;11517:30;11514:56;;;11550:18;;:::i;:::-;11514:56;11588:29;11610:6;11588:29;:::i;:::-;11580:37;;11672:4;11666;11662:15;11654:23;;11377:307;;;:::o;11690:146::-;11787:6;11782:3;11777;11764:30;11828:1;11819:6;11814:3;11810:16;11803:27;11690:146;;;:::o;11842:423::-;11919:5;11944:65;11960:48;12001:6;11960:48;:::i;:::-;11944:65;:::i;:::-;11935:74;;12032:6;12025:5;12018:21;12070:4;12063:5;12059:16;12108:3;12099:6;12094:3;12090:16;12087:25;12084:112;;;12115:79;;:::i;:::-;12084:112;12205:54;12252:6;12247:3;12242;12205:54;:::i;:::-;11925:340;11842:423;;;;;:::o;12284:338::-;12339:5;12388:3;12381:4;12373:6;12369:17;12365:27;12355:122;;12396:79;;:::i;:::-;12355:122;12513:6;12500:20;12538:78;12612:3;12604:6;12597:4;12589:6;12585:17;12538:78;:::i;:::-;12529:87;;12345:277;12284:338;;;;:::o;12628:1089::-;12732:6;12740;12748;12756;12764;12813:3;12801:9;12792:7;12788:23;12784:33;12781:120;;;12820:79;;:::i;:::-;12781:120;12940:1;12965:53;13010:7;13001:6;12990:9;12986:22;12965:53;:::i;:::-;12955:63;;12911:117;13067:2;13093:53;13138:7;13129:6;13118:9;13114:22;13093:53;:::i;:::-;13083:63;;13038:118;13195:2;13221:53;13266:7;13257:6;13246:9;13242:22;13221:53;:::i;:::-;13211:63;;13166:118;13323:2;13349:53;13394:7;13385:6;13374:9;13370:22;13349:53;:::i;:::-;13339:63;;13294:118;13479:3;13468:9;13464:19;13451:33;13511:18;13503:6;13500:30;13497:117;;;13533:79;;:::i;:::-;13497:117;13638:62;13692:7;13683:6;13672:9;13668:22;13638:62;:::i;:::-;13628:72;;13422:288;12628:1089;;;;;;;;:::o;13723:149::-;13759:7;13799:66;13792:5;13788:78;13777:89;;13723:149;;;:::o;13878:115::-;13963:23;13980:5;13963:23;:::i;:::-;13958:3;13951:36;13878:115;;:::o;13999:218::-;14090:4;14128:2;14117:9;14113:18;14105:26;;14141:69;14207:1;14196:9;14192:17;14183:6;14141:69;:::i;:::-;13999:218;;;;:::o;14223:332::-;14344:4;14382:2;14371:9;14367:18;14359:26;;14395:71;14463:1;14452:9;14448:17;14439:6;14395:71;:::i;:::-;14476:72;14544:2;14533:9;14529:18;14520:6;14476:72;:::i;:::-;14223:332;;;;;:::o;14561:143::-;14618:5;14649:6;14643:13;14634:22;;14665:33;14692:5;14665:33;:::i;:::-;14561:143;;;;:::o;14710:351::-;14780:6;14829:2;14817:9;14808:7;14804:23;14800:32;14797:119;;;14835:79;;:::i;:::-;14797:119;14955:1;14980:64;15036:7;15027:6;15016:9;15012:22;14980:64;:::i;:::-;14970:74;;14926:128;14710:351;;;;:::o;15067:180::-;15115:77;15112:1;15105:88;15212:4;15209:1;15202:15;15236:4;15233:1;15226:15;15253:320;15297:6;15334:1;15328:4;15324:12;15314:22;;15381:1;15375:4;15371:12;15402:18;15392:81;;15458:4;15450:6;15446:17;15436:27;;15392:81;15520:2;15512:6;15509:14;15489:18;15486:38;15483:84;;15539:18;;:::i;:::-;15483:84;15304:269;15253:320;;;:::o;15579:174::-;15719:26;15715:1;15707:6;15703:14;15696:50;15579:174;:::o;15759:366::-;15901:3;15922:67;15986:2;15981:3;15922:67;:::i;:::-;15915:74;;15998:93;16087:3;15998:93;:::i;:::-;16116:2;16111:3;16107:12;16100:19;;15759:366;;;:::o;16131:419::-;16297:4;16335:2;16324:9;16320:18;16312:26;;16384:9;16378:4;16374:20;16370:1;16359:9;16355:17;16348:47;16412:131;16538:4;16412:131;:::i;:::-;16404:139;;16131:419;;;:::o;16556:228::-;16696:34;16692:1;16684:6;16680:14;16673:58;16765:11;16760:2;16752:6;16748:15;16741:36;16556:228;:::o;16790:366::-;16932:3;16953:67;17017:2;17012:3;16953:67;:::i;:::-;16946:74;;17029:93;17118:3;17029:93;:::i;:::-;17147:2;17142:3;17138:12;17131:19;;16790:366;;;:::o;17162:419::-;17328:4;17366:2;17355:9;17351:18;17343:26;;17415:9;17409:4;17405:20;17401:1;17390:9;17386:17;17379:47;17443:131;17569:4;17443:131;:::i;:::-;17435:139;;17162:419;;;:::o;17587:168::-;17670:11;17704:6;17699:3;17692:19;17744:4;17739:3;17735:14;17720:29;;17587:168;;;;:::o;17761:114::-;;:::o;17881:362::-;18022:3;18043:65;18106:1;18101:3;18043:65;:::i;:::-;18036:72;;18117:93;18206:3;18117:93;:::i;:::-;18235:1;18230:3;18226:11;18219:18;;17881:362;;;:::o;18249:859::-;18526:4;18564:3;18553:9;18549:19;18541:27;;18578:71;18646:1;18635:9;18631:17;18622:6;18578:71;:::i;:::-;18659:72;18727:2;18716:9;18712:18;18703:6;18659:72;:::i;:::-;18741;18809:2;18798:9;18794:18;18785:6;18741:72;:::i;:::-;18823;18891:2;18880:9;18876:18;18867:6;18823:72;:::i;:::-;18943:9;18937:4;18933:20;18927:3;18916:9;18912:19;18905:49;18971:130;19096:4;18971:130;:::i;:::-;18963:138;;18249:859;;;;;;;:::o;19114:180::-;19162:77;19159:1;19152:88;19259:4;19256:1;19249:15;19283:4;19280:1;19273:15;19300:194;19340:4;19360:20;19378:1;19360:20;:::i;:::-;19355:25;;19394:20;19412:1;19394:20;:::i;:::-;19389:25;;19438:1;19435;19431:9;19423:17;;19462:1;19456:4;19453:11;19450:37;;;19467:18;;:::i;:::-;19450:37;19300:194;;;;:::o;19500:79::-;19539:7;19568:5;19557:16;;19500:79;;;:::o;19585:157::-;19690:45;19710:24;19728:5;19710:24;:::i;:::-;19690:45;:::i;:::-;19685:3;19678:58;19585:157;;:::o;19748:256::-;19860:3;19875:75;19946:3;19937:6;19875:75;:::i;:::-;19975:2;19970:3;19966:12;19959:19;;19995:3;19988:10;;19748:256;;;;:::o;20010:180::-;20058:77;20055:1;20048:88;20155:4;20152:1;20145:15;20179:4;20176:1;20169:15" + }, + "methodIdentifiers": { + "claim(address,uint256,bytes32[])": "3d13f874", + "claimedLeaf(bytes32)": "80bdc421", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "getUri()": "4e16fc8b", + "hasBeenTotallyClaimed()": "9592a2cd", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "root()": "ebf0c717", + "setRoot(bytes32)": "dab5f340", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UsedLeaf\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"claimedLeaf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBeenTotallyClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"root\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/CustomAirdrop1155Merkle.sol\":\"CustomAirdrop1155Merkle\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]},\"contracts/CustomAirdrop1155Merkle.sol\":{\"keccak256\":\"0x812379e19ede26fcca8f9d802295c9044900466fe3f39c34c82b9a8b68dd6be3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d371bcc9730a102cad7147b9f769faf68652e967fad14f017e8137e5d95314\",\"dweb:/ipfs/QmborPgXUzdTW3vuqCaXHXjNdPCBpvSwrKLQpJ3cQ1EsJ5\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/OpenAirdropERC20.sol": { + "OpenAirdropERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "allowedAddress", + "type": "address" + } + ], + "name": "AddressAllowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "disallowedAddress", + "type": "address" + } + ], + "name": "AddressDisallowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBalanceToClaim", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBeenTotallyClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_3037": { + "entryPoint": null, + "id": 3037, + "parameterSlots": 6, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 360, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 833, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1037, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 908, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 1096, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256_fromMemory": { + "entryPoint": 1119, + "id": null, + "parameterSlots": 2, + "returnSlots": 6 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1306, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1323, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 704, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 556, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 735, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1463, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1352, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1774, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 991, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 959, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1060, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1735, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1609, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1929, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 789, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1484, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1410, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1899, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 650, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 1599, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1867, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 2160, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 1363, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 603, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1649, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 576, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 581, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 571, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 566, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 586, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1500, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1854, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1707, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1513, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1659, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1011, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 1070, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1702, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:10354:12", + "nodeType": "YulBlock", + "src": "0:10354:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1672:184:12", + "nodeType": "YulBlock", + "src": "1672:184:12", + "statements": [ + { + "nativeSrc": "1682:10:12", + "nodeType": "YulVariableDeclaration", + "src": "1682:10:12", + "value": { + "kind": "number", + "nativeSrc": "1691:1:12", + "nodeType": "YulLiteral", + "src": "1691:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1686:1:12", + "nodeType": "YulTypedName", + "src": "1686:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1751:63:12", + "nodeType": "YulBlock", + "src": "1751:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1776:3:12", + "nodeType": "YulIdentifier", + "src": "1776:3:12" + }, + { + "name": "i", + "nativeSrc": "1781:1:12", + "nodeType": "YulIdentifier", + "src": "1781:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:12", + "nodeType": "YulIdentifier", + "src": "1772:3:12" + }, + "nativeSrc": "1772:11:12", + "nodeType": "YulFunctionCall", + "src": "1772:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1795:3:12", + "nodeType": "YulIdentifier", + "src": "1795:3:12" + }, + { + "name": "i", + "nativeSrc": "1800:1:12", + "nodeType": "YulIdentifier", + "src": "1800:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1791:3:12", + "nodeType": "YulIdentifier", + "src": "1791:3:12" + }, + "nativeSrc": "1791:11:12", + "nodeType": "YulFunctionCall", + "src": "1791:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1785:5:12", + "nodeType": "YulIdentifier", + "src": "1785:5:12" + }, + "nativeSrc": "1785:18:12", + "nodeType": "YulFunctionCall", + "src": "1785:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1765:6:12", + "nodeType": "YulIdentifier", + "src": "1765:6:12" + }, + "nativeSrc": "1765:39:12", + "nodeType": "YulFunctionCall", + "src": "1765:39:12" + }, + "nativeSrc": "1765:39:12", + "nodeType": "YulExpressionStatement", + "src": "1765:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1712:1:12", + "nodeType": "YulIdentifier", + "src": "1712:1:12" + }, + { + "name": "length", + "nativeSrc": "1715:6:12", + "nodeType": "YulIdentifier", + "src": "1715:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1709:2:12", + "nodeType": "YulIdentifier", + "src": "1709:2:12" + }, + "nativeSrc": "1709:13:12", + "nodeType": "YulFunctionCall", + "src": "1709:13:12" + }, + "nativeSrc": "1701:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1723:19:12", + "nodeType": "YulBlock", + "src": "1723:19:12", + "statements": [ + { + "nativeSrc": "1725:15:12", + "nodeType": "YulAssignment", + "src": "1725:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1734:1:12", + "nodeType": "YulIdentifier", + "src": "1734:1:12" + }, + { + "kind": "number", + "nativeSrc": "1737:2:12", + "nodeType": "YulLiteral", + "src": "1737:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:12", + "nodeType": "YulIdentifier", + "src": "1730:3:12" + }, + "nativeSrc": "1730:10:12", + "nodeType": "YulFunctionCall", + "src": "1730:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1725:1:12", + "nodeType": "YulIdentifier", + "src": "1725:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1705:3:12", + "nodeType": "YulBlock", + "src": "1705:3:12", + "statements": [] + }, + "src": "1701:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1834:3:12", + "nodeType": "YulIdentifier", + "src": "1834:3:12" + }, + { + "name": "length", + "nativeSrc": "1839:6:12", + "nodeType": "YulIdentifier", + "src": "1839:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1830:3:12", + "nodeType": "YulIdentifier", + "src": "1830:3:12" + }, + "nativeSrc": "1830:16:12", + "nodeType": "YulFunctionCall", + "src": "1830:16:12" + }, + { + "kind": "number", + "nativeSrc": "1848:1:12", + "nodeType": "YulLiteral", + "src": "1848:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1823:6:12", + "nodeType": "YulIdentifier", + "src": "1823:6:12" + }, + "nativeSrc": "1823:27:12", + "nodeType": "YulFunctionCall", + "src": "1823:27:12" + }, + "nativeSrc": "1823:27:12", + "nodeType": "YulExpressionStatement", + "src": "1823:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:12", + "nodeType": "YulTypedName", + "src": "1654:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:12", + "nodeType": "YulTypedName", + "src": "1659:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:12", + "nodeType": "YulTypedName", + "src": "1664:6:12", + "type": "" + } + ], + "src": "1610:246:12" + }, + { + "body": { + "nativeSrc": "1957:339:12", + "nodeType": "YulBlock", + "src": "1957:339:12", + "statements": [ + { + "nativeSrc": "1967:75:12", + "nodeType": "YulAssignment", + "src": "1967:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2034:6:12", + "nodeType": "YulIdentifier", + "src": "2034:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1992:41:12", + "nodeType": "YulIdentifier", + "src": "1992:41:12" + }, + "nativeSrc": "1992:49:12", + "nodeType": "YulFunctionCall", + "src": "1992:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1976:15:12", + "nodeType": "YulIdentifier", + "src": "1976:15:12" + }, + "nativeSrc": "1976:66:12", + "nodeType": "YulFunctionCall", + "src": "1976:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1967:5:12", + "nodeType": "YulIdentifier", + "src": "1967:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2058:5:12", + "nodeType": "YulIdentifier", + "src": "2058:5:12" + }, + { + "name": "length", + "nativeSrc": "2065:6:12", + "nodeType": "YulIdentifier", + "src": "2065:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2051:6:12", + "nodeType": "YulIdentifier", + "src": "2051:6:12" + }, + "nativeSrc": "2051:21:12", + "nodeType": "YulFunctionCall", + "src": "2051:21:12" + }, + "nativeSrc": "2051:21:12", + "nodeType": "YulExpressionStatement", + "src": "2051:21:12" + }, + { + "nativeSrc": "2081:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2081:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2096:5:12", + "nodeType": "YulIdentifier", + "src": "2096:5:12" + }, + { + "kind": "number", + "nativeSrc": "2103:4:12", + "nodeType": "YulLiteral", + "src": "2103:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2092:3:12", + "nodeType": "YulIdentifier", + "src": "2092:3:12" + }, + "nativeSrc": "2092:16:12", + "nodeType": "YulFunctionCall", + "src": "2092:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2085:3:12", + "nodeType": "YulTypedName", + "src": "2085:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2146:83:12", + "nodeType": "YulBlock", + "src": "2146:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2148:77:12", + "nodeType": "YulIdentifier", + "src": "2148:77:12" + }, + "nativeSrc": "2148:79:12", + "nodeType": "YulFunctionCall", + "src": "2148:79:12" + }, + "nativeSrc": "2148:79:12", + "nodeType": "YulExpressionStatement", + "src": "2148:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2127:3:12", + "nodeType": "YulIdentifier", + "src": "2127:3:12" + }, + { + "name": "length", + "nativeSrc": "2132:6:12", + "nodeType": "YulIdentifier", + "src": "2132:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2123:3:12", + "nodeType": "YulIdentifier", + "src": "2123:3:12" + }, + "nativeSrc": "2123:16:12", + "nodeType": "YulFunctionCall", + "src": "2123:16:12" + }, + { + "name": "end", + "nativeSrc": "2141:3:12", + "nodeType": "YulIdentifier", + "src": "2141:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2120:2:12", + "nodeType": "YulIdentifier", + "src": "2120:2:12" + }, + "nativeSrc": "2120:25:12", + "nodeType": "YulFunctionCall", + "src": "2120:25:12" + }, + "nativeSrc": "2117:112:12", + "nodeType": "YulIf", + "src": "2117:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2273:3:12", + "nodeType": "YulIdentifier", + "src": "2273:3:12" + }, + { + "name": "dst", + "nativeSrc": "2278:3:12", + "nodeType": "YulIdentifier", + "src": "2278:3:12" + }, + { + "name": "length", + "nativeSrc": "2283:6:12", + "nodeType": "YulIdentifier", + "src": "2283:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2238:34:12", + "nodeType": "YulIdentifier", + "src": "2238:34:12" + }, + "nativeSrc": "2238:52:12", + "nodeType": "YulFunctionCall", + "src": "2238:52:12" + }, + "nativeSrc": "2238:52:12", + "nodeType": "YulExpressionStatement", + "src": "2238:52:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1862:434:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1930:3:12", + "nodeType": "YulTypedName", + "src": "1930:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1935:6:12", + "nodeType": "YulTypedName", + "src": "1935:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1943:3:12", + "nodeType": "YulTypedName", + "src": "1943:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1951:5:12", + "nodeType": "YulTypedName", + "src": "1951:5:12", + "type": "" + } + ], + "src": "1862:434:12" + }, + { + "body": { + "nativeSrc": "2389:282:12", + "nodeType": "YulBlock", + "src": "2389:282:12", + "statements": [ + { + "body": { + "nativeSrc": "2438:83:12", + "nodeType": "YulBlock", + "src": "2438:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2440:77:12", + "nodeType": "YulIdentifier", + "src": "2440:77:12" + }, + "nativeSrc": "2440:79:12", + "nodeType": "YulFunctionCall", + "src": "2440:79:12" + }, + "nativeSrc": "2440:79:12", + "nodeType": "YulExpressionStatement", + "src": "2440:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2417:6:12", + "nodeType": "YulIdentifier", + "src": "2417:6:12" + }, + { + "kind": "number", + "nativeSrc": "2425:4:12", + "nodeType": "YulLiteral", + "src": "2425:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2413:3:12", + "nodeType": "YulIdentifier", + "src": "2413:3:12" + }, + "nativeSrc": "2413:17:12", + "nodeType": "YulFunctionCall", + "src": "2413:17:12" + }, + { + "name": "end", + "nativeSrc": "2432:3:12", + "nodeType": "YulIdentifier", + "src": "2432:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2409:3:12", + "nodeType": "YulIdentifier", + "src": "2409:3:12" + }, + "nativeSrc": "2409:27:12", + "nodeType": "YulFunctionCall", + "src": "2409:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2402:6:12", + "nodeType": "YulIdentifier", + "src": "2402:6:12" + }, + "nativeSrc": "2402:35:12", + "nodeType": "YulFunctionCall", + "src": "2402:35:12" + }, + "nativeSrc": "2399:122:12", + "nodeType": "YulIf", + "src": "2399:122:12" + }, + { + "nativeSrc": "2530:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2530:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2550:6:12", + "nodeType": "YulIdentifier", + "src": "2550:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2544:5:12", + "nodeType": "YulIdentifier", + "src": "2544:5:12" + }, + "nativeSrc": "2544:13:12", + "nodeType": "YulFunctionCall", + "src": "2544:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2534:6:12", + "nodeType": "YulTypedName", + "src": "2534:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2566:99:12", + "nodeType": "YulAssignment", + "src": "2566:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2638:6:12", + "nodeType": "YulIdentifier", + "src": "2638:6:12" + }, + { + "kind": "number", + "nativeSrc": "2646:4:12", + "nodeType": "YulLiteral", + "src": "2646:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2634:3:12", + "nodeType": "YulIdentifier", + "src": "2634:3:12" + }, + "nativeSrc": "2634:17:12", + "nodeType": "YulFunctionCall", + "src": "2634:17:12" + }, + { + "name": "length", + "nativeSrc": "2653:6:12", + "nodeType": "YulIdentifier", + "src": "2653:6:12" + }, + { + "name": "end", + "nativeSrc": "2661:3:12", + "nodeType": "YulIdentifier", + "src": "2661:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2575:58:12", + "nodeType": "YulIdentifier", + "src": "2575:58:12" + }, + "nativeSrc": "2575:90:12", + "nodeType": "YulFunctionCall", + "src": "2575:90:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2566:5:12", + "nodeType": "YulIdentifier", + "src": "2566:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2316:355:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2367:6:12", + "nodeType": "YulTypedName", + "src": "2367:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2375:3:12", + "nodeType": "YulTypedName", + "src": "2375:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2383:5:12", + "nodeType": "YulTypedName", + "src": "2383:5:12", + "type": "" + } + ], + "src": "2316:355:12" + }, + { + "body": { + "nativeSrc": "2722:81:12", + "nodeType": "YulBlock", + "src": "2722:81:12", + "statements": [ + { + "nativeSrc": "2732:65:12", + "nodeType": "YulAssignment", + "src": "2732:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2747:5:12", + "nodeType": "YulIdentifier", + "src": "2747:5:12" + }, + { + "kind": "number", + "nativeSrc": "2754:42:12", + "nodeType": "YulLiteral", + "src": "2754:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2743:3:12", + "nodeType": "YulIdentifier", + "src": "2743:3:12" + }, + "nativeSrc": "2743:54:12", + "nodeType": "YulFunctionCall", + "src": "2743:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2732:7:12", + "nodeType": "YulIdentifier", + "src": "2732:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2677:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2704:5:12", + "nodeType": "YulTypedName", + "src": "2704:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2714:7:12", + "nodeType": "YulTypedName", + "src": "2714:7:12", + "type": "" + } + ], + "src": "2677:126:12" + }, + { + "body": { + "nativeSrc": "2854:51:12", + "nodeType": "YulBlock", + "src": "2854:51:12", + "statements": [ + { + "nativeSrc": "2864:35:12", + "nodeType": "YulAssignment", + "src": "2864:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2893:5:12", + "nodeType": "YulIdentifier", + "src": "2893:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2875:17:12", + "nodeType": "YulIdentifier", + "src": "2875:17:12" + }, + "nativeSrc": "2875:24:12", + "nodeType": "YulFunctionCall", + "src": "2875:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2864:7:12", + "nodeType": "YulIdentifier", + "src": "2864:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2809:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2836:5:12", + "nodeType": "YulTypedName", + "src": "2836:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2846:7:12", + "nodeType": "YulTypedName", + "src": "2846:7:12", + "type": "" + } + ], + "src": "2809:96:12" + }, + { + "body": { + "nativeSrc": "2954:79:12", + "nodeType": "YulBlock", + "src": "2954:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3011:16:12", + "nodeType": "YulBlock", + "src": "3011:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3020:1:12", + "nodeType": "YulLiteral", + "src": "3020:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3023:1:12", + "nodeType": "YulLiteral", + "src": "3023:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3013:6:12", + "nodeType": "YulIdentifier", + "src": "3013:6:12" + }, + "nativeSrc": "3013:12:12", + "nodeType": "YulFunctionCall", + "src": "3013:12:12" + }, + "nativeSrc": "3013:12:12", + "nodeType": "YulExpressionStatement", + "src": "3013:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2977:5:12", + "nodeType": "YulIdentifier", + "src": "2977:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3002:5:12", + "nodeType": "YulIdentifier", + "src": "3002:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2984:17:12", + "nodeType": "YulIdentifier", + "src": "2984:17:12" + }, + "nativeSrc": "2984:24:12", + "nodeType": "YulFunctionCall", + "src": "2984:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2974:2:12", + "nodeType": "YulIdentifier", + "src": "2974:2:12" + }, + "nativeSrc": "2974:35:12", + "nodeType": "YulFunctionCall", + "src": "2974:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2967:6:12", + "nodeType": "YulIdentifier", + "src": "2967:6:12" + }, + "nativeSrc": "2967:43:12", + "nodeType": "YulFunctionCall", + "src": "2967:43:12" + }, + "nativeSrc": "2964:63:12", + "nodeType": "YulIf", + "src": "2964:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2911:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2947:5:12", + "nodeType": "YulTypedName", + "src": "2947:5:12", + "type": "" + } + ], + "src": "2911:122:12" + }, + { + "body": { + "nativeSrc": "3102:80:12", + "nodeType": "YulBlock", + "src": "3102:80:12", + "statements": [ + { + "nativeSrc": "3112:22:12", + "nodeType": "YulAssignment", + "src": "3112:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3127:6:12", + "nodeType": "YulIdentifier", + "src": "3127:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3121:5:12", + "nodeType": "YulIdentifier", + "src": "3121:5:12" + }, + "nativeSrc": "3121:13:12", + "nodeType": "YulFunctionCall", + "src": "3121:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3112:5:12", + "nodeType": "YulIdentifier", + "src": "3112:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3170:5:12", + "nodeType": "YulIdentifier", + "src": "3170:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3143:26:12", + "nodeType": "YulIdentifier", + "src": "3143:26:12" + }, + "nativeSrc": "3143:33:12", + "nodeType": "YulFunctionCall", + "src": "3143:33:12" + }, + "nativeSrc": "3143:33:12", + "nodeType": "YulExpressionStatement", + "src": "3143:33:12" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3039:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3080:6:12", + "nodeType": "YulTypedName", + "src": "3080:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3088:3:12", + "nodeType": "YulTypedName", + "src": "3088:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3096:5:12", + "nodeType": "YulTypedName", + "src": "3096:5:12", + "type": "" + } + ], + "src": "3039:143:12" + }, + { + "body": { + "nativeSrc": "3233:32:12", + "nodeType": "YulBlock", + "src": "3233:32:12", + "statements": [ + { + "nativeSrc": "3243:16:12", + "nodeType": "YulAssignment", + "src": "3243:16:12", + "value": { + "name": "value", + "nativeSrc": "3254:5:12", + "nodeType": "YulIdentifier", + "src": "3254:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3243:7:12", + "nodeType": "YulIdentifier", + "src": "3243:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3188:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3215:5:12", + "nodeType": "YulTypedName", + "src": "3215:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3225:7:12", + "nodeType": "YulTypedName", + "src": "3225:7:12", + "type": "" + } + ], + "src": "3188:77:12" + }, + { + "body": { + "nativeSrc": "3314:79:12", + "nodeType": "YulBlock", + "src": "3314:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3371:16:12", + "nodeType": "YulBlock", + "src": "3371:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3380:1:12", + "nodeType": "YulLiteral", + "src": "3380:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3383:1:12", + "nodeType": "YulLiteral", + "src": "3383:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3373:6:12", + "nodeType": "YulIdentifier", + "src": "3373:6:12" + }, + "nativeSrc": "3373:12:12", + "nodeType": "YulFunctionCall", + "src": "3373:12:12" + }, + "nativeSrc": "3373:12:12", + "nodeType": "YulExpressionStatement", + "src": "3373:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3337:5:12", + "nodeType": "YulIdentifier", + "src": "3337:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3362:5:12", + "nodeType": "YulIdentifier", + "src": "3362:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3344:17:12", + "nodeType": "YulIdentifier", + "src": "3344:17:12" + }, + "nativeSrc": "3344:24:12", + "nodeType": "YulFunctionCall", + "src": "3344:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3334:2:12", + "nodeType": "YulIdentifier", + "src": "3334:2:12" + }, + "nativeSrc": "3334:35:12", + "nodeType": "YulFunctionCall", + "src": "3334:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3327:6:12", + "nodeType": "YulIdentifier", + "src": "3327:6:12" + }, + "nativeSrc": "3327:43:12", + "nodeType": "YulFunctionCall", + "src": "3327:43:12" + }, + "nativeSrc": "3324:63:12", + "nodeType": "YulIf", + "src": "3324:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3271:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3307:5:12", + "nodeType": "YulTypedName", + "src": "3307:5:12", + "type": "" + } + ], + "src": "3271:122:12" + }, + { + "body": { + "nativeSrc": "3462:80:12", + "nodeType": "YulBlock", + "src": "3462:80:12", + "statements": [ + { + "nativeSrc": "3472:22:12", + "nodeType": "YulAssignment", + "src": "3472:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3487:6:12", + "nodeType": "YulIdentifier", + "src": "3487:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3481:5:12", + "nodeType": "YulIdentifier", + "src": "3481:5:12" + }, + "nativeSrc": "3481:13:12", + "nodeType": "YulFunctionCall", + "src": "3481:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3472:5:12", + "nodeType": "YulIdentifier", + "src": "3472:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3530:5:12", + "nodeType": "YulIdentifier", + "src": "3530:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3503:26:12", + "nodeType": "YulIdentifier", + "src": "3503:26:12" + }, + "nativeSrc": "3503:33:12", + "nodeType": "YulFunctionCall", + "src": "3503:33:12" + }, + "nativeSrc": "3503:33:12", + "nodeType": "YulExpressionStatement", + "src": "3503:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3399:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3440:6:12", + "nodeType": "YulTypedName", + "src": "3440:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3448:3:12", + "nodeType": "YulTypedName", + "src": "3448:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3456:5:12", + "nodeType": "YulTypedName", + "src": "3456:5:12", + "type": "" + } + ], + "src": "3399:143:12" + }, + { + "body": { + "nativeSrc": "3720:1135:12", + "nodeType": "YulBlock", + "src": "3720:1135:12", + "statements": [ + { + "body": { + "nativeSrc": "3767:83:12", + "nodeType": "YulBlock", + "src": "3767:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3769:77:12", + "nodeType": "YulIdentifier", + "src": "3769:77:12" + }, + "nativeSrc": "3769:79:12", + "nodeType": "YulFunctionCall", + "src": "3769:79:12" + }, + "nativeSrc": "3769:79:12", + "nodeType": "YulExpressionStatement", + "src": "3769:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3741:7:12", + "nodeType": "YulIdentifier", + "src": "3741:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3750:9:12", + "nodeType": "YulIdentifier", + "src": "3750:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3737:3:12", + "nodeType": "YulIdentifier", + "src": "3737:3:12" + }, + "nativeSrc": "3737:23:12", + "nodeType": "YulFunctionCall", + "src": "3737:23:12" + }, + { + "kind": "number", + "nativeSrc": "3762:3:12", + "nodeType": "YulLiteral", + "src": "3762:3:12", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3733:3:12", + "nodeType": "YulIdentifier", + "src": "3733:3:12" + }, + "nativeSrc": "3733:33:12", + "nodeType": "YulFunctionCall", + "src": "3733:33:12" + }, + "nativeSrc": "3730:120:12", + "nodeType": "YulIf", + "src": "3730:120:12" + }, + { + "nativeSrc": "3860:291:12", + "nodeType": "YulBlock", + "src": "3860:291:12", + "statements": [ + { + "nativeSrc": "3875:38:12", + "nodeType": "YulVariableDeclaration", + "src": "3875:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3899:9:12", + "nodeType": "YulIdentifier", + "src": "3899:9:12" + }, + { + "kind": "number", + "nativeSrc": "3910:1:12", + "nodeType": "YulLiteral", + "src": "3910:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3895:3:12", + "nodeType": "YulIdentifier", + "src": "3895:3:12" + }, + "nativeSrc": "3895:17:12", + "nodeType": "YulFunctionCall", + "src": "3895:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3889:5:12", + "nodeType": "YulIdentifier", + "src": "3889:5:12" + }, + "nativeSrc": "3889:24:12", + "nodeType": "YulFunctionCall", + "src": "3889:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3879:6:12", + "nodeType": "YulTypedName", + "src": "3879:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3960:83:12", + "nodeType": "YulBlock", + "src": "3960:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3962:77:12", + "nodeType": "YulIdentifier", + "src": "3962:77:12" + }, + "nativeSrc": "3962:79:12", + "nodeType": "YulFunctionCall", + "src": "3962:79:12" + }, + "nativeSrc": "3962:79:12", + "nodeType": "YulExpressionStatement", + "src": "3962:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3932:6:12", + "nodeType": "YulIdentifier", + "src": "3932:6:12" + }, + { + "kind": "number", + "nativeSrc": "3940:18:12", + "nodeType": "YulLiteral", + "src": "3940:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3929:2:12", + "nodeType": "YulIdentifier", + "src": "3929:2:12" + }, + "nativeSrc": "3929:30:12", + "nodeType": "YulFunctionCall", + "src": "3929:30:12" + }, + "nativeSrc": "3926:117:12", + "nodeType": "YulIf", + "src": "3926:117:12" + }, + { + "nativeSrc": "4057:84:12", + "nodeType": "YulAssignment", + "src": "4057:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4113:9:12", + "nodeType": "YulIdentifier", + "src": "4113:9:12" + }, + { + "name": "offset", + "nativeSrc": "4124:6:12", + "nodeType": "YulIdentifier", + "src": "4124:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4109:3:12", + "nodeType": "YulIdentifier", + "src": "4109:3:12" + }, + "nativeSrc": "4109:22:12", + "nodeType": "YulFunctionCall", + "src": "4109:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4133:7:12", + "nodeType": "YulIdentifier", + "src": "4133:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "4067:41:12", + "nodeType": "YulIdentifier", + "src": "4067:41:12" + }, + "nativeSrc": "4067:74:12", + "nodeType": "YulFunctionCall", + "src": "4067:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4057:6:12", + "nodeType": "YulIdentifier", + "src": "4057:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4161:129:12", + "nodeType": "YulBlock", + "src": "4161:129:12", + "statements": [ + { + "nativeSrc": "4176:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4176:16:12", + "value": { + "kind": "number", + "nativeSrc": "4190:2:12", + "nodeType": "YulLiteral", + "src": "4190:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4180:6:12", + "nodeType": "YulTypedName", + "src": "4180:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4206:74:12", + "nodeType": "YulAssignment", + "src": "4206:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4252:9:12", + "nodeType": "YulIdentifier", + "src": "4252:9:12" + }, + { + "name": "offset", + "nativeSrc": "4263:6:12", + "nodeType": "YulIdentifier", + "src": "4263:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4248:3:12", + "nodeType": "YulIdentifier", + "src": "4248:3:12" + }, + "nativeSrc": "4248:22:12", + "nodeType": "YulFunctionCall", + "src": "4248:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4272:7:12", + "nodeType": "YulIdentifier", + "src": "4272:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4216:31:12", + "nodeType": "YulIdentifier", + "src": "4216:31:12" + }, + "nativeSrc": "4216:64:12", + "nodeType": "YulFunctionCall", + "src": "4216:64:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4206:6:12", + "nodeType": "YulIdentifier", + "src": "4206:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4300:129:12", + "nodeType": "YulBlock", + "src": "4300:129:12", + "statements": [ + { + "nativeSrc": "4315:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4315:16:12", + "value": { + "kind": "number", + "nativeSrc": "4329:2:12", + "nodeType": "YulLiteral", + "src": "4329:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4319:6:12", + "nodeType": "YulTypedName", + "src": "4319:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4345:74:12", + "nodeType": "YulAssignment", + "src": "4345:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4391:9:12", + "nodeType": "YulIdentifier", + "src": "4391:9:12" + }, + { + "name": "offset", + "nativeSrc": "4402:6:12", + "nodeType": "YulIdentifier", + "src": "4402:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4387:3:12", + "nodeType": "YulIdentifier", + "src": "4387:3:12" + }, + "nativeSrc": "4387:22:12", + "nodeType": "YulFunctionCall", + "src": "4387:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4411:7:12", + "nodeType": "YulIdentifier", + "src": "4411:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4355:31:12", + "nodeType": "YulIdentifier", + "src": "4355:31:12" + }, + "nativeSrc": "4355:64:12", + "nodeType": "YulFunctionCall", + "src": "4355:64:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4345:6:12", + "nodeType": "YulIdentifier", + "src": "4345:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4439:129:12", + "nodeType": "YulBlock", + "src": "4439:129:12", + "statements": [ + { + "nativeSrc": "4454:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4454:16:12", + "value": { + "kind": "number", + "nativeSrc": "4468:2:12", + "nodeType": "YulLiteral", + "src": "4468:2:12", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4458:6:12", + "nodeType": "YulTypedName", + "src": "4458:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4484:74:12", + "nodeType": "YulAssignment", + "src": "4484:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4530:9:12", + "nodeType": "YulIdentifier", + "src": "4530:9:12" + }, + { + "name": "offset", + "nativeSrc": "4541:6:12", + "nodeType": "YulIdentifier", + "src": "4541:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4526:3:12", + "nodeType": "YulIdentifier", + "src": "4526:3:12" + }, + "nativeSrc": "4526:22:12", + "nodeType": "YulFunctionCall", + "src": "4526:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4550:7:12", + "nodeType": "YulIdentifier", + "src": "4550:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4494:31:12", + "nodeType": "YulIdentifier", + "src": "4494:31:12" + }, + "nativeSrc": "4494:64:12", + "nodeType": "YulFunctionCall", + "src": "4494:64:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4484:6:12", + "nodeType": "YulIdentifier", + "src": "4484:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4578:130:12", + "nodeType": "YulBlock", + "src": "4578:130:12", + "statements": [ + { + "nativeSrc": "4593:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4593:17:12", + "value": { + "kind": "number", + "nativeSrc": "4607:3:12", + "nodeType": "YulLiteral", + "src": "4607:3:12", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4597:6:12", + "nodeType": "YulTypedName", + "src": "4597:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4624:74:12", + "nodeType": "YulAssignment", + "src": "4624:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4670:9:12", + "nodeType": "YulIdentifier", + "src": "4670:9:12" + }, + { + "name": "offset", + "nativeSrc": "4681:6:12", + "nodeType": "YulIdentifier", + "src": "4681:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4666:3:12", + "nodeType": "YulIdentifier", + "src": "4666:3:12" + }, + "nativeSrc": "4666:22:12", + "nodeType": "YulFunctionCall", + "src": "4666:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4690:7:12", + "nodeType": "YulIdentifier", + "src": "4690:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4634:31:12", + "nodeType": "YulIdentifier", + "src": "4634:31:12" + }, + "nativeSrc": "4634:64:12", + "nodeType": "YulFunctionCall", + "src": "4634:64:12" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4624:6:12", + "nodeType": "YulIdentifier", + "src": "4624:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4718:130:12", + "nodeType": "YulBlock", + "src": "4718:130:12", + "statements": [ + { + "nativeSrc": "4733:17:12", + "nodeType": "YulVariableDeclaration", + "src": "4733:17:12", + "value": { + "kind": "number", + "nativeSrc": "4747:3:12", + "nodeType": "YulLiteral", + "src": "4747:3:12", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4737:6:12", + "nodeType": "YulTypedName", + "src": "4737:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4764:74:12", + "nodeType": "YulAssignment", + "src": "4764:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4810:9:12", + "nodeType": "YulIdentifier", + "src": "4810:9:12" + }, + { + "name": "offset", + "nativeSrc": "4821:6:12", + "nodeType": "YulIdentifier", + "src": "4821:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4806:3:12", + "nodeType": "YulIdentifier", + "src": "4806:3:12" + }, + "nativeSrc": "4806:22:12", + "nodeType": "YulFunctionCall", + "src": "4806:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4830:7:12", + "nodeType": "YulIdentifier", + "src": "4830:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4774:31:12", + "nodeType": "YulIdentifier", + "src": "4774:31:12" + }, + "nativeSrc": "4774:64:12", + "nodeType": "YulFunctionCall", + "src": "4774:64:12" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "4764:6:12", + "nodeType": "YulIdentifier", + "src": "4764:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256_fromMemory", + "nativeSrc": "3548:1307:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3650:9:12", + "nodeType": "YulTypedName", + "src": "3650:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3661:7:12", + "nodeType": "YulTypedName", + "src": "3661:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3673:6:12", + "nodeType": "YulTypedName", + "src": "3673:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3681:6:12", + "nodeType": "YulTypedName", + "src": "3681:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3689:6:12", + "nodeType": "YulTypedName", + "src": "3689:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3697:6:12", + "nodeType": "YulTypedName", + "src": "3697:6:12", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3705:6:12", + "nodeType": "YulTypedName", + "src": "3705:6:12", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "3713:6:12", + "nodeType": "YulTypedName", + "src": "3713:6:12", + "type": "" + } + ], + "src": "3548:1307:12" + }, + { + "body": { + "nativeSrc": "4926:53:12", + "nodeType": "YulBlock", + "src": "4926:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4943:3:12", + "nodeType": "YulIdentifier", + "src": "4943:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4966:5:12", + "nodeType": "YulIdentifier", + "src": "4966:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4948:17:12", + "nodeType": "YulIdentifier", + "src": "4948:17:12" + }, + "nativeSrc": "4948:24:12", + "nodeType": "YulFunctionCall", + "src": "4948:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4936:6:12", + "nodeType": "YulIdentifier", + "src": "4936:6:12" + }, + "nativeSrc": "4936:37:12", + "nodeType": "YulFunctionCall", + "src": "4936:37:12" + }, + "nativeSrc": "4936:37:12", + "nodeType": "YulExpressionStatement", + "src": "4936:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4861:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4914:5:12", + "nodeType": "YulTypedName", + "src": "4914:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4921:3:12", + "nodeType": "YulTypedName", + "src": "4921:3:12", + "type": "" + } + ], + "src": "4861:118:12" + }, + { + "body": { + "nativeSrc": "5083:124:12", + "nodeType": "YulBlock", + "src": "5083:124:12", + "statements": [ + { + "nativeSrc": "5093:26:12", + "nodeType": "YulAssignment", + "src": "5093:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5105:9:12", + "nodeType": "YulIdentifier", + "src": "5105:9:12" + }, + { + "kind": "number", + "nativeSrc": "5116:2:12", + "nodeType": "YulLiteral", + "src": "5116:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5101:3:12", + "nodeType": "YulIdentifier", + "src": "5101:3:12" + }, + "nativeSrc": "5101:18:12", + "nodeType": "YulFunctionCall", + "src": "5101:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5093:4:12", + "nodeType": "YulIdentifier", + "src": "5093:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5173:6:12", + "nodeType": "YulIdentifier", + "src": "5173:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5186:9:12", + "nodeType": "YulIdentifier", + "src": "5186:9:12" + }, + { + "kind": "number", + "nativeSrc": "5197:1:12", + "nodeType": "YulLiteral", + "src": "5197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5182:3:12", + "nodeType": "YulIdentifier", + "src": "5182:3:12" + }, + "nativeSrc": "5182:17:12", + "nodeType": "YulFunctionCall", + "src": "5182:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5129:43:12", + "nodeType": "YulIdentifier", + "src": "5129:43:12" + }, + "nativeSrc": "5129:71:12", + "nodeType": "YulFunctionCall", + "src": "5129:71:12" + }, + "nativeSrc": "5129:71:12", + "nodeType": "YulExpressionStatement", + "src": "5129:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4985:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5055:9:12", + "nodeType": "YulTypedName", + "src": "5055:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5067:6:12", + "nodeType": "YulTypedName", + "src": "5067:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5078:4:12", + "nodeType": "YulTypedName", + "src": "5078:4:12", + "type": "" + } + ], + "src": "4985:222:12" + }, + { + "body": { + "nativeSrc": "5272:40:12", + "nodeType": "YulBlock", + "src": "5272:40:12", + "statements": [ + { + "nativeSrc": "5283:22:12", + "nodeType": "YulAssignment", + "src": "5283:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5299:5:12", + "nodeType": "YulIdentifier", + "src": "5299:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5293:5:12", + "nodeType": "YulIdentifier", + "src": "5293:5:12" + }, + "nativeSrc": "5293:12:12", + "nodeType": "YulFunctionCall", + "src": "5293:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5283:6:12", + "nodeType": "YulIdentifier", + "src": "5283:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5213:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5255:5:12", + "nodeType": "YulTypedName", + "src": "5255:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5265:6:12", + "nodeType": "YulTypedName", + "src": "5265:6:12", + "type": "" + } + ], + "src": "5213:99:12" + }, + { + "body": { + "nativeSrc": "5346:152:12", + "nodeType": "YulBlock", + "src": "5346:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5363:1:12", + "nodeType": "YulLiteral", + "src": "5363:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5366:77:12", + "nodeType": "YulLiteral", + "src": "5366:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5356:6:12", + "nodeType": "YulIdentifier", + "src": "5356:6:12" + }, + "nativeSrc": "5356:88:12", + "nodeType": "YulFunctionCall", + "src": "5356:88:12" + }, + "nativeSrc": "5356:88:12", + "nodeType": "YulExpressionStatement", + "src": "5356:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5460:1:12", + "nodeType": "YulLiteral", + "src": "5460:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5463:4:12", + "nodeType": "YulLiteral", + "src": "5463:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5453:6:12", + "nodeType": "YulIdentifier", + "src": "5453:6:12" + }, + "nativeSrc": "5453:15:12", + "nodeType": "YulFunctionCall", + "src": "5453:15:12" + }, + "nativeSrc": "5453:15:12", + "nodeType": "YulExpressionStatement", + "src": "5453:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5484:1:12", + "nodeType": "YulLiteral", + "src": "5484:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5487:4:12", + "nodeType": "YulLiteral", + "src": "5487:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5477:6:12", + "nodeType": "YulIdentifier", + "src": "5477:6:12" + }, + "nativeSrc": "5477:15:12", + "nodeType": "YulFunctionCall", + "src": "5477:15:12" + }, + "nativeSrc": "5477:15:12", + "nodeType": "YulExpressionStatement", + "src": "5477:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "5318:180:12", + "nodeType": "YulFunctionDefinition", + "src": "5318:180:12" + }, + { + "body": { + "nativeSrc": "5555:269:12", + "nodeType": "YulBlock", + "src": "5555:269:12", + "statements": [ + { + "nativeSrc": "5565:22:12", + "nodeType": "YulAssignment", + "src": "5565:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "5579:4:12", + "nodeType": "YulIdentifier", + "src": "5579:4:12" + }, + { + "kind": "number", + "nativeSrc": "5585:1:12", + "nodeType": "YulLiteral", + "src": "5585:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "5575:3:12", + "nodeType": "YulIdentifier", + "src": "5575:3:12" + }, + "nativeSrc": "5575:12:12", + "nodeType": "YulFunctionCall", + "src": "5575:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5565:6:12", + "nodeType": "YulIdentifier", + "src": "5565:6:12" + } + ] + }, + { + "nativeSrc": "5596:38:12", + "nodeType": "YulVariableDeclaration", + "src": "5596:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "5626:4:12", + "nodeType": "YulIdentifier", + "src": "5626:4:12" + }, + { + "kind": "number", + "nativeSrc": "5632:1:12", + "nodeType": "YulLiteral", + "src": "5632:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5622:3:12", + "nodeType": "YulIdentifier", + "src": "5622:3:12" + }, + "nativeSrc": "5622:12:12", + "nodeType": "YulFunctionCall", + "src": "5622:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5600:18:12", + "nodeType": "YulTypedName", + "src": "5600:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5673:51:12", + "nodeType": "YulBlock", + "src": "5673:51:12", + "statements": [ + { + "nativeSrc": "5687:27:12", + "nodeType": "YulAssignment", + "src": "5687:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5701:6:12", + "nodeType": "YulIdentifier", + "src": "5701:6:12" + }, + { + "kind": "number", + "nativeSrc": "5709:4:12", + "nodeType": "YulLiteral", + "src": "5709:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5697:3:12", + "nodeType": "YulIdentifier", + "src": "5697:3:12" + }, + "nativeSrc": "5697:17:12", + "nodeType": "YulFunctionCall", + "src": "5697:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5687:6:12", + "nodeType": "YulIdentifier", + "src": "5687:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5653:18:12", + "nodeType": "YulIdentifier", + "src": "5653:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5646:6:12", + "nodeType": "YulIdentifier", + "src": "5646:6:12" + }, + "nativeSrc": "5646:26:12", + "nodeType": "YulFunctionCall", + "src": "5646:26:12" + }, + "nativeSrc": "5643:81:12", + "nodeType": "YulIf", + "src": "5643:81:12" + }, + { + "body": { + "nativeSrc": "5776:42:12", + "nodeType": "YulBlock", + "src": "5776:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "5790:16:12", + "nodeType": "YulIdentifier", + "src": "5790:16:12" + }, + "nativeSrc": "5790:18:12", + "nodeType": "YulFunctionCall", + "src": "5790:18:12" + }, + "nativeSrc": "5790:18:12", + "nodeType": "YulExpressionStatement", + "src": "5790:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5740:18:12", + "nodeType": "YulIdentifier", + "src": "5740:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5763:6:12", + "nodeType": "YulIdentifier", + "src": "5763:6:12" + }, + { + "kind": "number", + "nativeSrc": "5771:2:12", + "nodeType": "YulLiteral", + "src": "5771:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5760:2:12", + "nodeType": "YulIdentifier", + "src": "5760:2:12" + }, + "nativeSrc": "5760:14:12", + "nodeType": "YulFunctionCall", + "src": "5760:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5737:2:12", + "nodeType": "YulIdentifier", + "src": "5737:2:12" + }, + "nativeSrc": "5737:38:12", + "nodeType": "YulFunctionCall", + "src": "5737:38:12" + }, + "nativeSrc": "5734:84:12", + "nodeType": "YulIf", + "src": "5734:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "5504:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "5539:4:12", + "nodeType": "YulTypedName", + "src": "5539:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5548:6:12", + "nodeType": "YulTypedName", + "src": "5548:6:12", + "type": "" + } + ], + "src": "5504:320:12" + }, + { + "body": { + "nativeSrc": "5884:87:12", + "nodeType": "YulBlock", + "src": "5884:87:12", + "statements": [ + { + "nativeSrc": "5894:11:12", + "nodeType": "YulAssignment", + "src": "5894:11:12", + "value": { + "name": "ptr", + "nativeSrc": "5902:3:12", + "nodeType": "YulIdentifier", + "src": "5902:3:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "5894:4:12", + "nodeType": "YulIdentifier", + "src": "5894:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5922:1:12", + "nodeType": "YulLiteral", + "src": "5922:1:12", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "5925:3:12", + "nodeType": "YulIdentifier", + "src": "5925:3:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5915:6:12", + "nodeType": "YulIdentifier", + "src": "5915:6:12" + }, + "nativeSrc": "5915:14:12", + "nodeType": "YulFunctionCall", + "src": "5915:14:12" + }, + "nativeSrc": "5915:14:12", + "nodeType": "YulExpressionStatement", + "src": "5915:14:12" + }, + { + "nativeSrc": "5938:26:12", + "nodeType": "YulAssignment", + "src": "5938:26:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5956:1:12", + "nodeType": "YulLiteral", + "src": "5956:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5959:4:12", + "nodeType": "YulLiteral", + "src": "5959:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "5946:9:12", + "nodeType": "YulIdentifier", + "src": "5946:9:12" + }, + "nativeSrc": "5946:18:12", + "nodeType": "YulFunctionCall", + "src": "5946:18:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "5938:4:12", + "nodeType": "YulIdentifier", + "src": "5938:4:12" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "5830:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "5871:3:12", + "nodeType": "YulTypedName", + "src": "5871:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "5879:4:12", + "nodeType": "YulTypedName", + "src": "5879:4:12", + "type": "" + } + ], + "src": "5830:141:12" + }, + { + "body": { + "nativeSrc": "6021:49:12", + "nodeType": "YulBlock", + "src": "6021:49:12", + "statements": [ + { + "nativeSrc": "6031:33:12", + "nodeType": "YulAssignment", + "src": "6031:33:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6049:5:12", + "nodeType": "YulIdentifier", + "src": "6049:5:12" + }, + { + "kind": "number", + "nativeSrc": "6056:2:12", + "nodeType": "YulLiteral", + "src": "6056:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6045:3:12", + "nodeType": "YulIdentifier", + "src": "6045:3:12" + }, + "nativeSrc": "6045:14:12", + "nodeType": "YulFunctionCall", + "src": "6045:14:12" + }, + { + "kind": "number", + "nativeSrc": "6061:2:12", + "nodeType": "YulLiteral", + "src": "6061:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6041:3:12", + "nodeType": "YulIdentifier", + "src": "6041:3:12" + }, + "nativeSrc": "6041:23:12", + "nodeType": "YulFunctionCall", + "src": "6041:23:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6031:6:12", + "nodeType": "YulIdentifier", + "src": "6031:6:12" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "5977:93:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6004:5:12", + "nodeType": "YulTypedName", + "src": "6004:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6014:6:12", + "nodeType": "YulTypedName", + "src": "6014:6:12", + "type": "" + } + ], + "src": "5977:93:12" + }, + { + "body": { + "nativeSrc": "6129:54:12", + "nodeType": "YulBlock", + "src": "6129:54:12", + "statements": [ + { + "nativeSrc": "6139:37:12", + "nodeType": "YulAssignment", + "src": "6139:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6164:4:12", + "nodeType": "YulIdentifier", + "src": "6164:4:12" + }, + { + "name": "value", + "nativeSrc": "6170:5:12", + "nodeType": "YulIdentifier", + "src": "6170:5:12" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6160:3:12", + "nodeType": "YulIdentifier", + "src": "6160:3:12" + }, + "nativeSrc": "6160:16:12", + "nodeType": "YulFunctionCall", + "src": "6160:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6139:8:12", + "nodeType": "YulIdentifier", + "src": "6139:8:12" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "6076:107:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6104:4:12", + "nodeType": "YulTypedName", + "src": "6104:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6110:5:12", + "nodeType": "YulTypedName", + "src": "6110:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6120:8:12", + "nodeType": "YulTypedName", + "src": "6120:8:12", + "type": "" + } + ], + "src": "6076:107:12" + }, + { + "body": { + "nativeSrc": "6265:317:12", + "nodeType": "YulBlock", + "src": "6265:317:12", + "statements": [ + { + "nativeSrc": "6275:35:12", + "nodeType": "YulVariableDeclaration", + "src": "6275:35:12", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "6296:10:12", + "nodeType": "YulIdentifier", + "src": "6296:10:12" + }, + { + "kind": "number", + "nativeSrc": "6308:1:12", + "nodeType": "YulLiteral", + "src": "6308:1:12", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6292:3:12", + "nodeType": "YulIdentifier", + "src": "6292:3:12" + }, + "nativeSrc": "6292:18:12", + "nodeType": "YulFunctionCall", + "src": "6292:18:12" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "6279:9:12", + "nodeType": "YulTypedName", + "src": "6279:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6319:109:12", + "nodeType": "YulVariableDeclaration", + "src": "6319:109:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6350:9:12", + "nodeType": "YulIdentifier", + "src": "6350:9:12" + }, + { + "kind": "number", + "nativeSrc": "6361:66:12", + "nodeType": "YulLiteral", + "src": "6361:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6331:18:12", + "nodeType": "YulIdentifier", + "src": "6331:18:12" + }, + "nativeSrc": "6331:97:12", + "nodeType": "YulFunctionCall", + "src": "6331:97:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6323:4:12", + "nodeType": "YulTypedName", + "src": "6323:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6437:51:12", + "nodeType": "YulAssignment", + "src": "6437:51:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6468:9:12", + "nodeType": "YulIdentifier", + "src": "6468:9:12" + }, + { + "name": "toInsert", + "nativeSrc": "6479:8:12", + "nodeType": "YulIdentifier", + "src": "6479:8:12" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6449:18:12", + "nodeType": "YulIdentifier", + "src": "6449:18:12" + }, + "nativeSrc": "6449:39:12", + "nodeType": "YulFunctionCall", + "src": "6449:39:12" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "6437:8:12", + "nodeType": "YulIdentifier", + "src": "6437:8:12" + } + ] + }, + { + "nativeSrc": "6497:30:12", + "nodeType": "YulAssignment", + "src": "6497:30:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6510:5:12", + "nodeType": "YulIdentifier", + "src": "6510:5:12" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "6521:4:12", + "nodeType": "YulIdentifier", + "src": "6521:4:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "6517:3:12", + "nodeType": "YulIdentifier", + "src": "6517:3:12" + }, + "nativeSrc": "6517:9:12", + "nodeType": "YulFunctionCall", + "src": "6517:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6506:3:12", + "nodeType": "YulIdentifier", + "src": "6506:3:12" + }, + "nativeSrc": "6506:21:12", + "nodeType": "YulFunctionCall", + "src": "6506:21:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6497:5:12", + "nodeType": "YulIdentifier", + "src": "6497:5:12" + } + ] + }, + { + "nativeSrc": "6536:40:12", + "nodeType": "YulAssignment", + "src": "6536:40:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6549:5:12", + "nodeType": "YulIdentifier", + "src": "6549:5:12" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "6560:8:12", + "nodeType": "YulIdentifier", + "src": "6560:8:12" + }, + { + "name": "mask", + "nativeSrc": "6570:4:12", + "nodeType": "YulIdentifier", + "src": "6570:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6556:3:12", + "nodeType": "YulIdentifier", + "src": "6556:3:12" + }, + "nativeSrc": "6556:19:12", + "nodeType": "YulFunctionCall", + "src": "6556:19:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "6546:2:12", + "nodeType": "YulIdentifier", + "src": "6546:2:12" + }, + "nativeSrc": "6546:30:12", + "nodeType": "YulFunctionCall", + "src": "6546:30:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6536:6:12", + "nodeType": "YulIdentifier", + "src": "6536:6:12" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "6189:393:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6226:5:12", + "nodeType": "YulTypedName", + "src": "6226:5:12", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "6233:10:12", + "nodeType": "YulTypedName", + "src": "6233:10:12", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "6245:8:12", + "nodeType": "YulTypedName", + "src": "6245:8:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6258:6:12", + "nodeType": "YulTypedName", + "src": "6258:6:12", + "type": "" + } + ], + "src": "6189:393:12" + }, + { + "body": { + "nativeSrc": "6620:28:12", + "nodeType": "YulBlock", + "src": "6620:28:12", + "statements": [ + { + "nativeSrc": "6630:12:12", + "nodeType": "YulAssignment", + "src": "6630:12:12", + "value": { + "name": "value", + "nativeSrc": "6637:5:12", + "nodeType": "YulIdentifier", + "src": "6637:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "6630:3:12", + "nodeType": "YulIdentifier", + "src": "6630:3:12" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "6588:60:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6606:5:12", + "nodeType": "YulTypedName", + "src": "6606:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "6616:3:12", + "nodeType": "YulTypedName", + "src": "6616:3:12", + "type": "" + } + ], + "src": "6588:60:12" + }, + { + "body": { + "nativeSrc": "6714:82:12", + "nodeType": "YulBlock", + "src": "6714:82:12", + "statements": [ + { + "nativeSrc": "6724:66:12", + "nodeType": "YulAssignment", + "src": "6724:66:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6782:5:12", + "nodeType": "YulIdentifier", + "src": "6782:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6764:17:12", + "nodeType": "YulIdentifier", + "src": "6764:17:12" + }, + "nativeSrc": "6764:24:12", + "nodeType": "YulFunctionCall", + "src": "6764:24:12" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "6755:8:12", + "nodeType": "YulIdentifier", + "src": "6755:8:12" + }, + "nativeSrc": "6755:34:12", + "nodeType": "YulFunctionCall", + "src": "6755:34:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6737:17:12", + "nodeType": "YulIdentifier", + "src": "6737:17:12" + }, + "nativeSrc": "6737:53:12", + "nodeType": "YulFunctionCall", + "src": "6737:53:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "6724:9:12", + "nodeType": "YulIdentifier", + "src": "6724:9:12" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "6654:142:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6694:5:12", + "nodeType": "YulTypedName", + "src": "6694:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "6704:9:12", + "nodeType": "YulTypedName", + "src": "6704:9:12", + "type": "" + } + ], + "src": "6654:142:12" + }, + { + "body": { + "nativeSrc": "6849:28:12", + "nodeType": "YulBlock", + "src": "6849:28:12", + "statements": [ + { + "nativeSrc": "6859:12:12", + "nodeType": "YulAssignment", + "src": "6859:12:12", + "value": { + "name": "value", + "nativeSrc": "6866:5:12", + "nodeType": "YulIdentifier", + "src": "6866:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "6859:3:12", + "nodeType": "YulIdentifier", + "src": "6859:3:12" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "6802:75:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6835:5:12", + "nodeType": "YulTypedName", + "src": "6835:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "6845:3:12", + "nodeType": "YulTypedName", + "src": "6845:3:12", + "type": "" + } + ], + "src": "6802:75:12" + }, + { + "body": { + "nativeSrc": "6959:193:12", + "nodeType": "YulBlock", + "src": "6959:193:12", + "statements": [ + { + "nativeSrc": "6969:63:12", + "nodeType": "YulVariableDeclaration", + "src": "6969:63:12", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "7024:7:12", + "nodeType": "YulIdentifier", + "src": "7024:7:12" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "6993:30:12", + "nodeType": "YulIdentifier", + "src": "6993:30:12" + }, + "nativeSrc": "6993:39:12", + "nodeType": "YulFunctionCall", + "src": "6993:39:12" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "6973:16:12", + "nodeType": "YulTypedName", + "src": "6973:16:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7048:4:12", + "nodeType": "YulIdentifier", + "src": "7048:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7088:4:12", + "nodeType": "YulIdentifier", + "src": "7088:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7082:5:12", + "nodeType": "YulIdentifier", + "src": "7082:5:12" + }, + "nativeSrc": "7082:11:12", + "nodeType": "YulFunctionCall", + "src": "7082:11:12" + }, + { + "name": "offset", + "nativeSrc": "7095:6:12", + "nodeType": "YulIdentifier", + "src": "7095:6:12" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "7127:16:12", + "nodeType": "YulIdentifier", + "src": "7127:16:12" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "7103:23:12", + "nodeType": "YulIdentifier", + "src": "7103:23:12" + }, + "nativeSrc": "7103:41:12", + "nodeType": "YulFunctionCall", + "src": "7103:41:12" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "7054:27:12", + "nodeType": "YulIdentifier", + "src": "7054:27:12" + }, + "nativeSrc": "7054:91:12", + "nodeType": "YulFunctionCall", + "src": "7054:91:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7041:6:12", + "nodeType": "YulIdentifier", + "src": "7041:6:12" + }, + "nativeSrc": "7041:105:12", + "nodeType": "YulFunctionCall", + "src": "7041:105:12" + }, + "nativeSrc": "7041:105:12", + "nodeType": "YulExpressionStatement", + "src": "7041:105:12" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "6883:269:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "6936:4:12", + "nodeType": "YulTypedName", + "src": "6936:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "6942:6:12", + "nodeType": "YulTypedName", + "src": "6942:6:12", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "6950:7:12", + "nodeType": "YulTypedName", + "src": "6950:7:12", + "type": "" + } + ], + "src": "6883:269:12" + }, + { + "body": { + "nativeSrc": "7207:24:12", + "nodeType": "YulBlock", + "src": "7207:24:12", + "statements": [ + { + "nativeSrc": "7217:8:12", + "nodeType": "YulAssignment", + "src": "7217:8:12", + "value": { + "kind": "number", + "nativeSrc": "7224:1:12", + "nodeType": "YulLiteral", + "src": "7224:1:12", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7217:3:12", + "nodeType": "YulIdentifier", + "src": "7217:3:12" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7158:73:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7203:3:12", + "nodeType": "YulTypedName", + "src": "7203:3:12", + "type": "" + } + ], + "src": "7158:73:12" + }, + { + "body": { + "nativeSrc": "7290:136:12", + "nodeType": "YulBlock", + "src": "7290:136:12", + "statements": [ + { + "nativeSrc": "7300:46:12", + "nodeType": "YulVariableDeclaration", + "src": "7300:46:12", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7314:30:12", + "nodeType": "YulIdentifier", + "src": "7314:30:12" + }, + "nativeSrc": "7314:32:12", + "nodeType": "YulFunctionCall", + "src": "7314:32:12" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "7304:6:12", + "nodeType": "YulTypedName", + "src": "7304:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7399:4:12", + "nodeType": "YulIdentifier", + "src": "7399:4:12" + }, + { + "name": "offset", + "nativeSrc": "7405:6:12", + "nodeType": "YulIdentifier", + "src": "7405:6:12" + }, + { + "name": "zero_0", + "nativeSrc": "7413:6:12", + "nodeType": "YulIdentifier", + "src": "7413:6:12" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7355:43:12", + "nodeType": "YulIdentifier", + "src": "7355:43:12" + }, + "nativeSrc": "7355:65:12", + "nodeType": "YulFunctionCall", + "src": "7355:65:12" + }, + "nativeSrc": "7355:65:12", + "nodeType": "YulExpressionStatement", + "src": "7355:65:12" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7237:189:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7276:4:12", + "nodeType": "YulTypedName", + "src": "7276:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7282:6:12", + "nodeType": "YulTypedName", + "src": "7282:6:12", + "type": "" + } + ], + "src": "7237:189:12" + }, + { + "body": { + "nativeSrc": "7482:136:12", + "nodeType": "YulBlock", + "src": "7482:136:12", + "statements": [ + { + "body": { + "nativeSrc": "7549:63:12", + "nodeType": "YulBlock", + "src": "7549:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7593:5:12", + "nodeType": "YulIdentifier", + "src": "7593:5:12" + }, + { + "kind": "number", + "nativeSrc": "7600:1:12", + "nodeType": "YulLiteral", + "src": "7600:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7563:29:12", + "nodeType": "YulIdentifier", + "src": "7563:29:12" + }, + "nativeSrc": "7563:39:12", + "nodeType": "YulFunctionCall", + "src": "7563:39:12" + }, + "nativeSrc": "7563:39:12", + "nodeType": "YulExpressionStatement", + "src": "7563:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7502:5:12", + "nodeType": "YulIdentifier", + "src": "7502:5:12" + }, + { + "name": "end", + "nativeSrc": "7509:3:12", + "nodeType": "YulIdentifier", + "src": "7509:3:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7499:2:12", + "nodeType": "YulIdentifier", + "src": "7499:2:12" + }, + "nativeSrc": "7499:14:12", + "nodeType": "YulFunctionCall", + "src": "7499:14:12" + }, + "nativeSrc": "7492:120:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "7514:26:12", + "nodeType": "YulBlock", + "src": "7514:26:12", + "statements": [ + { + "nativeSrc": "7516:22:12", + "nodeType": "YulAssignment", + "src": "7516:22:12", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7529:5:12", + "nodeType": "YulIdentifier", + "src": "7529:5:12" + }, + { + "kind": "number", + "nativeSrc": "7536:1:12", + "nodeType": "YulLiteral", + "src": "7536:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7525:3:12", + "nodeType": "YulIdentifier", + "src": "7525:3:12" + }, + "nativeSrc": "7525:13:12", + "nodeType": "YulFunctionCall", + "src": "7525:13:12" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "7516:5:12", + "nodeType": "YulIdentifier", + "src": "7516:5:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7496:2:12", + "nodeType": "YulBlock", + "src": "7496:2:12", + "statements": [] + }, + "src": "7492:120:12" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "7432:186:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "7470:5:12", + "nodeType": "YulTypedName", + "src": "7470:5:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "7477:3:12", + "nodeType": "YulTypedName", + "src": "7477:3:12", + "type": "" + } + ], + "src": "7432:186:12" + }, + { + "body": { + "nativeSrc": "7703:464:12", + "nodeType": "YulBlock", + "src": "7703:464:12", + "statements": [ + { + "body": { + "nativeSrc": "7729:431:12", + "nodeType": "YulBlock", + "src": "7729:431:12", + "statements": [ + { + "nativeSrc": "7743:54:12", + "nodeType": "YulVariableDeclaration", + "src": "7743:54:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "7791:5:12", + "nodeType": "YulIdentifier", + "src": "7791:5:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "7759:31:12", + "nodeType": "YulIdentifier", + "src": "7759:31:12" + }, + "nativeSrc": "7759:38:12", + "nodeType": "YulFunctionCall", + "src": "7759:38:12" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "7747:8:12", + "nodeType": "YulTypedName", + "src": "7747:8:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7810:63:12", + "nodeType": "YulVariableDeclaration", + "src": "7810:63:12", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "7833:8:12", + "nodeType": "YulIdentifier", + "src": "7833:8:12" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "7861:10:12", + "nodeType": "YulIdentifier", + "src": "7861:10:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "7843:17:12", + "nodeType": "YulIdentifier", + "src": "7843:17:12" + }, + "nativeSrc": "7843:29:12", + "nodeType": "YulFunctionCall", + "src": "7843:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7829:3:12", + "nodeType": "YulIdentifier", + "src": "7829:3:12" + }, + "nativeSrc": "7829:44:12", + "nodeType": "YulFunctionCall", + "src": "7829:44:12" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "7814:11:12", + "nodeType": "YulTypedName", + "src": "7814:11:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8030:27:12", + "nodeType": "YulBlock", + "src": "8030:27:12", + "statements": [ + { + "nativeSrc": "8032:23:12", + "nodeType": "YulAssignment", + "src": "8032:23:12", + "value": { + "name": "dataArea", + "nativeSrc": "8047:8:12", + "nodeType": "YulIdentifier", + "src": "8047:8:12" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "8032:11:12", + "nodeType": "YulIdentifier", + "src": "8032:11:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8014:10:12", + "nodeType": "YulIdentifier", + "src": "8014:10:12" + }, + { + "kind": "number", + "nativeSrc": "8026:2:12", + "nodeType": "YulLiteral", + "src": "8026:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8011:2:12", + "nodeType": "YulIdentifier", + "src": "8011:2:12" + }, + "nativeSrc": "8011:18:12", + "nodeType": "YulFunctionCall", + "src": "8011:18:12" + }, + "nativeSrc": "8008:49:12", + "nodeType": "YulIf", + "src": "8008:49:12" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "8099:11:12", + "nodeType": "YulIdentifier", + "src": "8099:11:12" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8116:8:12", + "nodeType": "YulIdentifier", + "src": "8116:8:12" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "8144:3:12", + "nodeType": "YulIdentifier", + "src": "8144:3:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8126:17:12", + "nodeType": "YulIdentifier", + "src": "8126:17:12" + }, + "nativeSrc": "8126:22:12", + "nodeType": "YulFunctionCall", + "src": "8126:22:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8112:3:12", + "nodeType": "YulIdentifier", + "src": "8112:3:12" + }, + "nativeSrc": "8112:37:12", + "nodeType": "YulFunctionCall", + "src": "8112:37:12" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8070:28:12", + "nodeType": "YulIdentifier", + "src": "8070:28:12" + }, + "nativeSrc": "8070:80:12", + "nodeType": "YulFunctionCall", + "src": "8070:80:12" + }, + "nativeSrc": "8070:80:12", + "nodeType": "YulExpressionStatement", + "src": "8070:80:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "7720:3:12", + "nodeType": "YulIdentifier", + "src": "7720:3:12" + }, + { + "kind": "number", + "nativeSrc": "7725:2:12", + "nodeType": "YulLiteral", + "src": "7725:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7717:2:12", + "nodeType": "YulIdentifier", + "src": "7717:2:12" + }, + "nativeSrc": "7717:11:12", + "nodeType": "YulFunctionCall", + "src": "7717:11:12" + }, + "nativeSrc": "7714:446:12", + "nodeType": "YulIf", + "src": "7714:446:12" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "7624:543:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "7679:5:12", + "nodeType": "YulTypedName", + "src": "7679:5:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "7686:3:12", + "nodeType": "YulTypedName", + "src": "7686:3:12", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "7691:10:12", + "nodeType": "YulTypedName", + "src": "7691:10:12", + "type": "" + } + ], + "src": "7624:543:12" + }, + { + "body": { + "nativeSrc": "8236:54:12", + "nodeType": "YulBlock", + "src": "8236:54:12", + "statements": [ + { + "nativeSrc": "8246:37:12", + "nodeType": "YulAssignment", + "src": "8246:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "8271:4:12", + "nodeType": "YulIdentifier", + "src": "8271:4:12" + }, + { + "name": "value", + "nativeSrc": "8277:5:12", + "nodeType": "YulIdentifier", + "src": "8277:5:12" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8267:3:12", + "nodeType": "YulIdentifier", + "src": "8267:3:12" + }, + "nativeSrc": "8267:16:12", + "nodeType": "YulFunctionCall", + "src": "8267:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "8246:8:12", + "nodeType": "YulIdentifier", + "src": "8246:8:12" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8173:117:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "8211:4:12", + "nodeType": "YulTypedName", + "src": "8211:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "8217:5:12", + "nodeType": "YulTypedName", + "src": "8217:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "8227:8:12", + "nodeType": "YulTypedName", + "src": "8227:8:12", + "type": "" + } + ], + "src": "8173:117:12" + }, + { + "body": { + "nativeSrc": "8347:118:12", + "nodeType": "YulBlock", + "src": "8347:118:12", + "statements": [ + { + "nativeSrc": "8357:68:12", + "nodeType": "YulVariableDeclaration", + "src": "8357:68:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8406:1:12", + "nodeType": "YulLiteral", + "src": "8406:1:12", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "8409:5:12", + "nodeType": "YulIdentifier", + "src": "8409:5:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8402:3:12", + "nodeType": "YulIdentifier", + "src": "8402:3:12" + }, + "nativeSrc": "8402:13:12", + "nodeType": "YulFunctionCall", + "src": "8402:13:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8421:1:12", + "nodeType": "YulLiteral", + "src": "8421:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8417:3:12", + "nodeType": "YulIdentifier", + "src": "8417:3:12" + }, + "nativeSrc": "8417:6:12", + "nodeType": "YulFunctionCall", + "src": "8417:6:12" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8373:28:12", + "nodeType": "YulIdentifier", + "src": "8373:28:12" + }, + "nativeSrc": "8373:51:12", + "nodeType": "YulFunctionCall", + "src": "8373:51:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8369:3:12", + "nodeType": "YulIdentifier", + "src": "8369:3:12" + }, + "nativeSrc": "8369:56:12", + "nodeType": "YulFunctionCall", + "src": "8369:56:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "8361:4:12", + "nodeType": "YulTypedName", + "src": "8361:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8434:25:12", + "nodeType": "YulAssignment", + "src": "8434:25:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8448:4:12", + "nodeType": "YulIdentifier", + "src": "8448:4:12" + }, + { + "name": "mask", + "nativeSrc": "8454:4:12", + "nodeType": "YulIdentifier", + "src": "8454:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8444:3:12", + "nodeType": "YulIdentifier", + "src": "8444:3:12" + }, + "nativeSrc": "8444:15:12", + "nodeType": "YulFunctionCall", + "src": "8444:15:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "8434:6:12", + "nodeType": "YulIdentifier", + "src": "8434:6:12" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "8296:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8324:4:12", + "nodeType": "YulTypedName", + "src": "8324:4:12", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "8330:5:12", + "nodeType": "YulTypedName", + "src": "8330:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8340:6:12", + "nodeType": "YulTypedName", + "src": "8340:6:12", + "type": "" + } + ], + "src": "8296:169:12" + }, + { + "body": { + "nativeSrc": "8551:214:12", + "nodeType": "YulBlock", + "src": "8551:214:12", + "statements": [ + { + "nativeSrc": "8684:37:12", + "nodeType": "YulAssignment", + "src": "8684:37:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8711:4:12", + "nodeType": "YulIdentifier", + "src": "8711:4:12" + }, + { + "name": "len", + "nativeSrc": "8717:3:12", + "nodeType": "YulIdentifier", + "src": "8717:3:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "8692:18:12", + "nodeType": "YulIdentifier", + "src": "8692:18:12" + }, + "nativeSrc": "8692:29:12", + "nodeType": "YulFunctionCall", + "src": "8692:29:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "8684:4:12", + "nodeType": "YulIdentifier", + "src": "8684:4:12" + } + ] + }, + { + "nativeSrc": "8730:29:12", + "nodeType": "YulAssignment", + "src": "8730:29:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8741:4:12", + "nodeType": "YulIdentifier", + "src": "8741:4:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8751:1:12", + "nodeType": "YulLiteral", + "src": "8751:1:12", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "8754:3:12", + "nodeType": "YulIdentifier", + "src": "8754:3:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8747:3:12", + "nodeType": "YulIdentifier", + "src": "8747:3:12" + }, + "nativeSrc": "8747:11:12", + "nodeType": "YulFunctionCall", + "src": "8747:11:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "8738:2:12", + "nodeType": "YulIdentifier", + "src": "8738:2:12" + }, + "nativeSrc": "8738:21:12", + "nodeType": "YulFunctionCall", + "src": "8738:21:12" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "8730:4:12", + "nodeType": "YulIdentifier", + "src": "8730:4:12" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "8470:295:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8532:4:12", + "nodeType": "YulTypedName", + "src": "8532:4:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "8538:3:12", + "nodeType": "YulTypedName", + "src": "8538:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "8546:4:12", + "nodeType": "YulTypedName", + "src": "8546:4:12", + "type": "" + } + ], + "src": "8470:295:12" + }, + { + "body": { + "nativeSrc": "8862:1303:12", + "nodeType": "YulBlock", + "src": "8862:1303:12", + "statements": [ + { + "nativeSrc": "8873:51:12", + "nodeType": "YulVariableDeclaration", + "src": "8873:51:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8920:3:12", + "nodeType": "YulIdentifier", + "src": "8920:3:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "8887:32:12", + "nodeType": "YulIdentifier", + "src": "8887:32:12" + }, + "nativeSrc": "8887:37:12", + "nodeType": "YulFunctionCall", + "src": "8887:37:12" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "8877:6:12", + "nodeType": "YulTypedName", + "src": "8877:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9009:22:12", + "nodeType": "YulBlock", + "src": "9009:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9011:16:12", + "nodeType": "YulIdentifier", + "src": "9011:16:12" + }, + "nativeSrc": "9011:18:12", + "nodeType": "YulFunctionCall", + "src": "9011:18:12" + }, + "nativeSrc": "9011:18:12", + "nodeType": "YulExpressionStatement", + "src": "9011:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8981:6:12", + "nodeType": "YulIdentifier", + "src": "8981:6:12" + }, + { + "kind": "number", + "nativeSrc": "8989:18:12", + "nodeType": "YulLiteral", + "src": "8989:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8978:2:12", + "nodeType": "YulIdentifier", + "src": "8978:2:12" + }, + "nativeSrc": "8978:30:12", + "nodeType": "YulFunctionCall", + "src": "8978:30:12" + }, + "nativeSrc": "8975:56:12", + "nodeType": "YulIf", + "src": "8975:56:12" + }, + { + "nativeSrc": "9041:52:12", + "nodeType": "YulVariableDeclaration", + "src": "9041:52:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9087:4:12", + "nodeType": "YulIdentifier", + "src": "9087:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "9081:5:12", + "nodeType": "YulIdentifier", + "src": "9081:5:12" + }, + "nativeSrc": "9081:11:12", + "nodeType": "YulFunctionCall", + "src": "9081:11:12" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "9055:25:12", + "nodeType": "YulIdentifier", + "src": "9055:25:12" + }, + "nativeSrc": "9055:38:12", + "nodeType": "YulFunctionCall", + "src": "9055:38:12" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "9045:6:12", + "nodeType": "YulTypedName", + "src": "9045:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9186:4:12", + "nodeType": "YulIdentifier", + "src": "9186:4:12" + }, + { + "name": "oldLen", + "nativeSrc": "9192:6:12", + "nodeType": "YulIdentifier", + "src": "9192:6:12" + }, + { + "name": "newLen", + "nativeSrc": "9200:6:12", + "nodeType": "YulIdentifier", + "src": "9200:6:12" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "9140:45:12", + "nodeType": "YulIdentifier", + "src": "9140:45:12" + }, + "nativeSrc": "9140:67:12", + "nodeType": "YulFunctionCall", + "src": "9140:67:12" + }, + "nativeSrc": "9140:67:12", + "nodeType": "YulExpressionStatement", + "src": "9140:67:12" + }, + { + "nativeSrc": "9217:18:12", + "nodeType": "YulVariableDeclaration", + "src": "9217:18:12", + "value": { + "kind": "number", + "nativeSrc": "9234:1:12", + "nodeType": "YulLiteral", + "src": "9234:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "9221:9:12", + "nodeType": "YulTypedName", + "src": "9221:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9245:17:12", + "nodeType": "YulAssignment", + "src": "9245:17:12", + "value": { + "kind": "number", + "nativeSrc": "9258:4:12", + "nodeType": "YulLiteral", + "src": "9258:4:12", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9245:9:12", + "nodeType": "YulIdentifier", + "src": "9245:9:12" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "9309:611:12", + "nodeType": "YulBlock", + "src": "9309:611:12", + "statements": [ + { + "nativeSrc": "9323:37:12", + "nodeType": "YulVariableDeclaration", + "src": "9323:37:12", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9342:6:12", + "nodeType": "YulIdentifier", + "src": "9342:6:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9354:4:12", + "nodeType": "YulLiteral", + "src": "9354:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9350:3:12", + "nodeType": "YulIdentifier", + "src": "9350:3:12" + }, + "nativeSrc": "9350:9:12", + "nodeType": "YulFunctionCall", + "src": "9350:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9338:3:12", + "nodeType": "YulIdentifier", + "src": "9338:3:12" + }, + "nativeSrc": "9338:22:12", + "nodeType": "YulFunctionCall", + "src": "9338:22:12" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "9327:7:12", + "nodeType": "YulTypedName", + "src": "9327:7:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9374:51:12", + "nodeType": "YulVariableDeclaration", + "src": "9374:51:12", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9420:4:12", + "nodeType": "YulIdentifier", + "src": "9420:4:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "9388:31:12", + "nodeType": "YulIdentifier", + "src": "9388:31:12" + }, + "nativeSrc": "9388:37:12", + "nodeType": "YulFunctionCall", + "src": "9388:37:12" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "9378:6:12", + "nodeType": "YulTypedName", + "src": "9378:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9438:10:12", + "nodeType": "YulVariableDeclaration", + "src": "9438:10:12", + "value": { + "kind": "number", + "nativeSrc": "9447:1:12", + "nodeType": "YulLiteral", + "src": "9447:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "9442:1:12", + "nodeType": "YulTypedName", + "src": "9442:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9506:163:12", + "nodeType": "YulBlock", + "src": "9506:163:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "9531:6:12", + "nodeType": "YulIdentifier", + "src": "9531:6:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9549:3:12", + "nodeType": "YulIdentifier", + "src": "9549:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "9554:9:12", + "nodeType": "YulIdentifier", + "src": "9554:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9545:3:12", + "nodeType": "YulIdentifier", + "src": "9545:3:12" + }, + "nativeSrc": "9545:19:12", + "nodeType": "YulFunctionCall", + "src": "9545:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9539:5:12", + "nodeType": "YulIdentifier", + "src": "9539:5:12" + }, + "nativeSrc": "9539:26:12", + "nodeType": "YulFunctionCall", + "src": "9539:26:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9524:6:12", + "nodeType": "YulIdentifier", + "src": "9524:6:12" + }, + "nativeSrc": "9524:42:12", + "nodeType": "YulFunctionCall", + "src": "9524:42:12" + }, + "nativeSrc": "9524:42:12", + "nodeType": "YulExpressionStatement", + "src": "9524:42:12" + }, + { + "nativeSrc": "9583:24:12", + "nodeType": "YulAssignment", + "src": "9583:24:12", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "9597:6:12", + "nodeType": "YulIdentifier", + "src": "9597:6:12" + }, + { + "kind": "number", + "nativeSrc": "9605:1:12", + "nodeType": "YulLiteral", + "src": "9605:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9593:3:12", + "nodeType": "YulIdentifier", + "src": "9593:3:12" + }, + "nativeSrc": "9593:14:12", + "nodeType": "YulFunctionCall", + "src": "9593:14:12" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "9583:6:12", + "nodeType": "YulIdentifier", + "src": "9583:6:12" + } + ] + }, + { + "nativeSrc": "9624:31:12", + "nodeType": "YulAssignment", + "src": "9624:31:12", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "9641:9:12", + "nodeType": "YulIdentifier", + "src": "9641:9:12" + }, + { + "kind": "number", + "nativeSrc": "9652:2:12", + "nodeType": "YulLiteral", + "src": "9652:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9637:3:12", + "nodeType": "YulIdentifier", + "src": "9637:3:12" + }, + "nativeSrc": "9637:18:12", + "nodeType": "YulFunctionCall", + "src": "9637:18:12" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9624:9:12", + "nodeType": "YulIdentifier", + "src": "9624:9:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9472:1:12", + "nodeType": "YulIdentifier", + "src": "9472:1:12" + }, + { + "name": "loopEnd", + "nativeSrc": "9475:7:12", + "nodeType": "YulIdentifier", + "src": "9475:7:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9469:2:12", + "nodeType": "YulIdentifier", + "src": "9469:2:12" + }, + "nativeSrc": "9469:14:12", + "nodeType": "YulFunctionCall", + "src": "9469:14:12" + }, + "nativeSrc": "9461:208:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "9484:21:12", + "nodeType": "YulBlock", + "src": "9484:21:12", + "statements": [ + { + "nativeSrc": "9486:17:12", + "nodeType": "YulAssignment", + "src": "9486:17:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9495:1:12", + "nodeType": "YulIdentifier", + "src": "9495:1:12" + }, + { + "kind": "number", + "nativeSrc": "9498:4:12", + "nodeType": "YulLiteral", + "src": "9498:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9491:3:12", + "nodeType": "YulIdentifier", + "src": "9491:3:12" + }, + "nativeSrc": "9491:12:12", + "nodeType": "YulFunctionCall", + "src": "9491:12:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "9486:1:12", + "nodeType": "YulIdentifier", + "src": "9486:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "9465:3:12", + "nodeType": "YulBlock", + "src": "9465:3:12", + "statements": [] + }, + "src": "9461:208:12" + }, + { + "body": { + "nativeSrc": "9705:156:12", + "nodeType": "YulBlock", + "src": "9705:156:12", + "statements": [ + { + "nativeSrc": "9723:43:12", + "nodeType": "YulVariableDeclaration", + "src": "9723:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9750:3:12", + "nodeType": "YulIdentifier", + "src": "9750:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "9755:9:12", + "nodeType": "YulIdentifier", + "src": "9755:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9746:3:12", + "nodeType": "YulIdentifier", + "src": "9746:3:12" + }, + "nativeSrc": "9746:19:12", + "nodeType": "YulFunctionCall", + "src": "9746:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9740:5:12", + "nodeType": "YulIdentifier", + "src": "9740:5:12" + }, + "nativeSrc": "9740:26:12", + "nodeType": "YulFunctionCall", + "src": "9740:26:12" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "9727:9:12", + "nodeType": "YulTypedName", + "src": "9727:9:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "9790:6:12", + "nodeType": "YulIdentifier", + "src": "9790:6:12" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "9817:9:12", + "nodeType": "YulIdentifier", + "src": "9817:9:12" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9832:6:12", + "nodeType": "YulIdentifier", + "src": "9832:6:12" + }, + { + "kind": "number", + "nativeSrc": "9840:4:12", + "nodeType": "YulLiteral", + "src": "9840:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9828:3:12", + "nodeType": "YulIdentifier", + "src": "9828:3:12" + }, + "nativeSrc": "9828:17:12", + "nodeType": "YulFunctionCall", + "src": "9828:17:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "9798:18:12", + "nodeType": "YulIdentifier", + "src": "9798:18:12" + }, + "nativeSrc": "9798:48:12", + "nodeType": "YulFunctionCall", + "src": "9798:48:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9783:6:12", + "nodeType": "YulIdentifier", + "src": "9783:6:12" + }, + "nativeSrc": "9783:64:12", + "nodeType": "YulFunctionCall", + "src": "9783:64:12" + }, + "nativeSrc": "9783:64:12", + "nodeType": "YulExpressionStatement", + "src": "9783:64:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "9688:7:12", + "nodeType": "YulIdentifier", + "src": "9688:7:12" + }, + { + "name": "newLen", + "nativeSrc": "9697:6:12", + "nodeType": "YulIdentifier", + "src": "9697:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9685:2:12", + "nodeType": "YulIdentifier", + "src": "9685:2:12" + }, + "nativeSrc": "9685:19:12", + "nodeType": "YulFunctionCall", + "src": "9685:19:12" + }, + "nativeSrc": "9682:179:12", + "nodeType": "YulIf", + "src": "9682:179:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9881:4:12", + "nodeType": "YulIdentifier", + "src": "9881:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9895:6:12", + "nodeType": "YulIdentifier", + "src": "9895:6:12" + }, + { + "kind": "number", + "nativeSrc": "9903:1:12", + "nodeType": "YulLiteral", + "src": "9903:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9891:3:12", + "nodeType": "YulIdentifier", + "src": "9891:3:12" + }, + "nativeSrc": "9891:14:12", + "nodeType": "YulFunctionCall", + "src": "9891:14:12" + }, + { + "kind": "number", + "nativeSrc": "9907:1:12", + "nodeType": "YulLiteral", + "src": "9907:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9887:3:12", + "nodeType": "YulIdentifier", + "src": "9887:3:12" + }, + "nativeSrc": "9887:22:12", + "nodeType": "YulFunctionCall", + "src": "9887:22:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9874:6:12", + "nodeType": "YulIdentifier", + "src": "9874:6:12" + }, + "nativeSrc": "9874:36:12", + "nodeType": "YulFunctionCall", + "src": "9874:36:12" + }, + "nativeSrc": "9874:36:12", + "nodeType": "YulExpressionStatement", + "src": "9874:36:12" + } + ] + }, + "nativeSrc": "9302:618:12", + "nodeType": "YulCase", + "src": "9302:618:12", + "value": { + "kind": "number", + "nativeSrc": "9307:1:12", + "nodeType": "YulLiteral", + "src": "9307:1:12", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "9937:222:12", + "nodeType": "YulBlock", + "src": "9937:222:12", + "statements": [ + { + "nativeSrc": "9951:14:12", + "nodeType": "YulVariableDeclaration", + "src": "9951:14:12", + "value": { + "kind": "number", + "nativeSrc": "9964:1:12", + "nodeType": "YulLiteral", + "src": "9964:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "9955:5:12", + "nodeType": "YulTypedName", + "src": "9955:5:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9988:67:12", + "nodeType": "YulBlock", + "src": "9988:67:12", + "statements": [ + { + "nativeSrc": "10006:35:12", + "nodeType": "YulAssignment", + "src": "10006:35:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10025:3:12", + "nodeType": "YulIdentifier", + "src": "10025:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "10030:9:12", + "nodeType": "YulIdentifier", + "src": "10030:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10021:3:12", + "nodeType": "YulIdentifier", + "src": "10021:3:12" + }, + "nativeSrc": "10021:19:12", + "nodeType": "YulFunctionCall", + "src": "10021:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10015:5:12", + "nodeType": "YulIdentifier", + "src": "10015:5:12" + }, + "nativeSrc": "10015:26:12", + "nodeType": "YulFunctionCall", + "src": "10015:26:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10006:5:12", + "nodeType": "YulIdentifier", + "src": "10006:5:12" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "9981:6:12", + "nodeType": "YulIdentifier", + "src": "9981:6:12" + }, + "nativeSrc": "9978:77:12", + "nodeType": "YulIf", + "src": "9978:77:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10075:4:12", + "nodeType": "YulIdentifier", + "src": "10075:4:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10134:5:12", + "nodeType": "YulIdentifier", + "src": "10134:5:12" + }, + { + "name": "newLen", + "nativeSrc": "10141:6:12", + "nodeType": "YulIdentifier", + "src": "10141:6:12" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "10081:52:12", + "nodeType": "YulIdentifier", + "src": "10081:52:12" + }, + "nativeSrc": "10081:67:12", + "nodeType": "YulFunctionCall", + "src": "10081:67:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10068:6:12", + "nodeType": "YulIdentifier", + "src": "10068:6:12" + }, + "nativeSrc": "10068:81:12", + "nodeType": "YulFunctionCall", + "src": "10068:81:12" + }, + "nativeSrc": "10068:81:12", + "nodeType": "YulExpressionStatement", + "src": "10068:81:12" + } + ] + }, + "nativeSrc": "9929:230:12", + "nodeType": "YulCase", + "src": "9929:230:12", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9282:6:12", + "nodeType": "YulIdentifier", + "src": "9282:6:12" + }, + { + "kind": "number", + "nativeSrc": "9290:2:12", + "nodeType": "YulLiteral", + "src": "9290:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9279:2:12", + "nodeType": "YulIdentifier", + "src": "9279:2:12" + }, + "nativeSrc": "9279:14:12", + "nodeType": "YulFunctionCall", + "src": "9279:14:12" + }, + "nativeSrc": "9272:887:12", + "nodeType": "YulSwitch", + "src": "9272:887:12" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "8770:1395:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "8851:4:12", + "nodeType": "YulTypedName", + "src": "8851:4:12", + "type": "" + }, + { + "name": "src", + "nativeSrc": "8857:3:12", + "nodeType": "YulTypedName", + "src": "8857:3:12", + "type": "" + } + ], + "src": "8770:1395:12" + }, + { + "body": { + "nativeSrc": "10199:152:12", + "nodeType": "YulBlock", + "src": "10199:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10216:1:12", + "nodeType": "YulLiteral", + "src": "10216:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10219:77:12", + "nodeType": "YulLiteral", + "src": "10219:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10209:6:12", + "nodeType": "YulIdentifier", + "src": "10209:6:12" + }, + "nativeSrc": "10209:88:12", + "nodeType": "YulFunctionCall", + "src": "10209:88:12" + }, + "nativeSrc": "10209:88:12", + "nodeType": "YulExpressionStatement", + "src": "10209:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10313:1:12", + "nodeType": "YulLiteral", + "src": "10313:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10316:4:12", + "nodeType": "YulLiteral", + "src": "10316:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10306:6:12", + "nodeType": "YulIdentifier", + "src": "10306:6:12" + }, + "nativeSrc": "10306:15:12", + "nodeType": "YulFunctionCall", + "src": "10306:15:12" + }, + "nativeSrc": "10306:15:12", + "nodeType": "YulExpressionStatement", + "src": "10306:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10337:1:12", + "nodeType": "YulLiteral", + "src": "10337:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10340:4:12", + "nodeType": "YulLiteral", + "src": "10340:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10330:6:12", + "nodeType": "YulIdentifier", + "src": "10330:6:12" + }, + "nativeSrc": "10330:15:12", + "nodeType": "YulFunctionCall", + "src": "10330:15:12" + }, + "nativeSrc": "10330:15:12", + "nodeType": "YulExpressionStatement", + "src": "10330:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "10171:180:12", + "nodeType": "YulFunctionDefinition", + "src": "10171:180:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea2646970667358221220dc7478e0f77c19ad5b5cce42402c417ece1788d5fc13eab8340b1e173ba67c1764736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D37 CODESIZE SUB DUP1 PUSH3 0x1D37 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x45F JUMP JUMPDEST DUP5 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 PUSH1 0x6 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x789 JUMP JUMPDEST POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x157 JUMPI PUSH3 0x156 PUSH3 0x870 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP PUSH3 0x89F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x47F JUMPI PUSH3 0x47E PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4AE DUP10 DUP3 DUP11 ADD PUSH3 0x38C JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH3 0x4C1 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH3 0x4D4 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH3 0x4E7 DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH3 0x4FA DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 PUSH3 0x50D DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH3 0x525 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x542 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x51A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5B1 JUMPI PUSH3 0x5B0 PUSH3 0x553 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x61B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5DC JUMP JUMPDEST PUSH3 0x627 DUP7 DUP4 PUSH3 0x5DC JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x66A PUSH3 0x664 PUSH3 0x65E DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x63F JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x686 DUP4 PUSH3 0x649 JUMP JUMPDEST PUSH3 0x69E PUSH3 0x695 DUP3 PUSH3 0x671 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5E9 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6B5 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6C2 DUP2 DUP5 DUP5 PUSH3 0x67B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6EA JUMPI PUSH3 0x6DE PUSH1 0x0 DUP3 PUSH3 0x6AB JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6C8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x739 JUMPI PUSH3 0x703 DUP2 PUSH3 0x5B7 JUMP JUMPDEST PUSH3 0x70E DUP5 PUSH3 0x5CC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x71E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x736 PUSH3 0x72D DUP6 PUSH3 0x5CC JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6C7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x75E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x73E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x779 DUP4 DUP4 PUSH3 0x74B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x794 DUP3 PUSH3 0x548 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7B0 JUMPI PUSH3 0x7AF PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7BC DUP3 SLOAD PUSH3 0x582 JUMP JUMPDEST PUSH3 0x7C9 DUP3 DUP3 DUP6 PUSH3 0x6EE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x801 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7EC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7F8 DUP6 DUP3 PUSH3 0x76B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x868 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x811 DUP7 PUSH3 0x5B7 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x83B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x814 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x85B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x857 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x74B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1488 DUP1 PUSH3 0x8AF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC PUSH21 0x78E0F77C19AD5B5CCE42402C417ECE1788D5FC13EA 0xB8 CALLVALUE SIGNEXTEND 0x1E OR EXTCODESIZE 0xA6 PUSH29 0x1764736F6C634300081800330000000000000000000000000000000000 ", + "sourceMap": "134:3198:10:-:0;;;647:544;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;865:12;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;913:12:10::1;889:14;;:37;;;;;;;;;;;;;;;;;;951:11;936:12;:26;;;;;;:::i;:::-;;994:18;972:19;:40;;;;1043:18;1022;:39;;;;1086:11;1071:12;:26;;;;1125:14;1107:15;:32;;;;1164:20;1149:12;;:35;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;647:544:::0;;;;;;134:3198;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:126::-;2714:7;2754:42;2747:5;2743:54;2732:65;;2677:126;;;:::o;2809:96::-;2846:7;2875:24;2893:5;2875:24;:::i;:::-;2864:35;;2809:96;;;:::o;2911:122::-;2984:24;3002:5;2984:24;:::i;:::-;2977:5;2974:35;2964:63;;3023:1;3020;3013:12;2964:63;2911:122;:::o;3039:143::-;3096:5;3127:6;3121:13;3112:22;;3143:33;3170:5;3143:33;:::i;:::-;3039:143;;;;:::o;3188:77::-;3225:7;3254:5;3243:16;;3188:77;;;:::o;3271:122::-;3344:24;3362:5;3344:24;:::i;:::-;3337:5;3334:35;3324:63;;3383:1;3380;3373:12;3324:63;3271:122;:::o;3399:143::-;3456:5;3487:6;3481:13;3472:22;;3503:33;3530:5;3503:33;:::i;:::-;3399:143;;;;:::o;3548:1307::-;3673:6;3681;3689;3697;3705;3713;3762:3;3750:9;3741:7;3737:23;3733:33;3730:120;;;3769:79;;:::i;:::-;3730:120;3910:1;3899:9;3895:17;3889:24;3940:18;3932:6;3929:30;3926:117;;;3962:79;;:::i;:::-;3926:117;4067:74;4133:7;4124:6;4113:9;4109:22;4067:74;:::i;:::-;4057:84;;3860:291;4190:2;4216:64;4272:7;4263:6;4252:9;4248:22;4216:64;:::i;:::-;4206:74;;4161:129;4329:2;4355:64;4411:7;4402:6;4391:9;4387:22;4355:64;:::i;:::-;4345:74;;4300:129;4468:2;4494:64;4550:7;4541:6;4530:9;4526:22;4494:64;:::i;:::-;4484:74;;4439:129;4607:3;4634:64;4690:7;4681:6;4670:9;4666:22;4634:64;:::i;:::-;4624:74;;4578:130;4747:3;4774:64;4830:7;4821:6;4810:9;4806:22;4774:64;:::i;:::-;4764:74;;4718:130;3548:1307;;;;;;;;:::o;4861:118::-;4948:24;4966:5;4948:24;:::i;:::-;4943:3;4936:37;4861:118;;:::o;4985:222::-;5078:4;5116:2;5105:9;5101:18;5093:26;;5129:71;5197:1;5186:9;5182:17;5173:6;5129:71;:::i;:::-;4985:222;;;;:::o;5213:99::-;5265:6;5299:5;5293:12;5283:22;;5213:99;;;:::o;5318:180::-;5366:77;5363:1;5356:88;5463:4;5460:1;5453:15;5487:4;5484:1;5477:15;5504:320;5548:6;5585:1;5579:4;5575:12;5565:22;;5632:1;5626:4;5622:12;5653:18;5643:81;;5709:4;5701:6;5697:17;5687:27;;5643:81;5771:2;5763:6;5760:14;5740:18;5737:38;5734:84;;5790:18;;:::i;:::-;5734:84;5555:269;5504:320;;;:::o;5830:141::-;5879:4;5902:3;5894:11;;5925:3;5922:1;5915:14;5959:4;5956:1;5946:18;5938:26;;5830:141;;;:::o;5977:93::-;6014:6;6061:2;6056;6049:5;6045:14;6041:23;6031:33;;5977:93;;;:::o;6076:107::-;6120:8;6170:5;6164:4;6160:16;6139:37;;6076:107;;;;:::o;6189:393::-;6258:6;6308:1;6296:10;6292:18;6331:97;6361:66;6350:9;6331:97;:::i;:::-;6449:39;6479:8;6468:9;6449:39;:::i;:::-;6437:51;;6521:4;6517:9;6510:5;6506:21;6497:30;;6570:4;6560:8;6556:19;6549:5;6546:30;6536:40;;6265:317;;6189:393;;;;;:::o;6588:60::-;6616:3;6637:5;6630:12;;6588:60;;;:::o;6654:142::-;6704:9;6737:53;6755:34;6764:24;6782:5;6764:24;:::i;:::-;6755:34;:::i;:::-;6737:53;:::i;:::-;6724:66;;6654:142;;;:::o;6802:75::-;6845:3;6866:5;6859:12;;6802:75;;;:::o;6883:269::-;6993:39;7024:7;6993:39;:::i;:::-;7054:91;7103:41;7127:16;7103:41;:::i;:::-;7095:6;7088:4;7082:11;7054:91;:::i;:::-;7048:4;7041:105;6959:193;6883:269;;;:::o;7158:73::-;7203:3;7158:73;:::o;7237:189::-;7314:32;;:::i;:::-;7355:65;7413:6;7405;7399:4;7355:65;:::i;:::-;7290:136;7237:189;;:::o;7432:186::-;7492:120;7509:3;7502:5;7499:14;7492:120;;;7563:39;7600:1;7593:5;7563:39;:::i;:::-;7536:1;7529:5;7525:13;7516:22;;7492:120;;;7432:186;;:::o;7624:543::-;7725:2;7720:3;7717:11;7714:446;;;7759:38;7791:5;7759:38;:::i;:::-;7843:29;7861:10;7843:29;:::i;:::-;7833:8;7829:44;8026:2;8014:10;8011:18;8008:49;;;8047:8;8032:23;;8008:49;8070:80;8126:22;8144:3;8126:22;:::i;:::-;8116:8;8112:37;8099:11;8070:80;:::i;:::-;7729:431;;7714:446;7624:543;;;:::o;8173:117::-;8227:8;8277:5;8271:4;8267:16;8246:37;;8173:117;;;;:::o;8296:169::-;8340:6;8373:51;8421:1;8417:6;8409:5;8406:1;8402:13;8373:51;:::i;:::-;8369:56;8454:4;8448;8444:15;8434:25;;8347:118;8296:169;;;;:::o;8470:295::-;8546:4;8692:29;8717:3;8711:4;8692:29;:::i;:::-;8684:37;;8754:3;8751:1;8747:11;8741:4;8738:21;8730:29;;8470:295;;;;:::o;8770:1395::-;8887:37;8920:3;8887:37;:::i;:::-;8989:18;8981:6;8978:30;8975:56;;;9011:18;;:::i;:::-;8975:56;9055:38;9087:4;9081:11;9055:38;:::i;:::-;9140:67;9200:6;9192;9186:4;9140:67;:::i;:::-;9234:1;9258:4;9245:17;;9290:2;9282:6;9279:14;9307:1;9302:618;;;;9964:1;9981:6;9978:77;;;10030:9;10025:3;10021:19;10015:26;10006:35;;9978:77;10081:67;10141:6;10134:5;10081:67;:::i;:::-;10075:4;10068:81;9937:222;9272:887;;9302:618;9354:4;9350:9;9342:6;9338:22;9388:37;9420:4;9388:37;:::i;:::-;9447:1;9461:208;9475:7;9472:1;9469:14;9461:208;;;9554:9;9549:3;9545:19;9539:26;9531:6;9524:42;9605:1;9597:6;9593:14;9583:24;;9652:2;9641:9;9637:18;9624:31;;9498:4;9495:1;9491:12;9486:17;;9461:208;;;9697:6;9688:7;9685:19;9682:179;;;9755:9;9750:3;9746:19;9740:26;9798:48;9840:4;9832:6;9828:17;9817:9;9798:48;:::i;:::-;9790:6;9783:64;9705:156;9682:179;9907:1;9903;9895:6;9891:14;9887:22;9881:4;9874:36;9309:611;;;9272:887;;8862:1303;;;8770:1395;;:::o;10171:180::-;10219:77;10216:1;10209:88;10316:4;10313:1;10306:15;10340:4;10337:1;10330:15;134:3198:10;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_checkOwner_84": { + "entryPoint": 2449, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_msgSender_159": { + "entryPoint": 2780, + "id": 159, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 2584, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@claim_3100": { + "entryPoint": 1470, + "id": 3100, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@getAirdropAmountLeft_3218": { + "entryPoint": 2305, + "id": 3218, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getAirdropInfo_3137": { + "entryPoint": 1043, + "id": 3137, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_3232": { + "entryPoint": 880, + "id": 3232, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getClaimAmount_3202": { + "entryPoint": 2111, + "id": 3202, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getExpirationDate_3194": { + "entryPoint": 2101, + "id": 3194, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_3210": { + "entryPoint": 2091, + "id": 3210, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBalanceToClaim_3153": { + "entryPoint": 712, + "id": 3153, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBeenTotallyClaimed_3163": { + "entryPoint": 2280, + "id": 3163, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasClaimed_3175": { + "entryPoint": 2141, + "id": 3175, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasExpired_3186": { + "entryPoint": 2268, + "id": 3186, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@isAllowed_3110": { + "entryPoint": 2294, + "id": 3110, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 2227, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 2121, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_126": { + "entryPoint": 2315, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 4218, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 3606, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 3686, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 4284, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 3650, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 3975, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 3888, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 3772, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_string_memory_ptr_fromMemory": { + "entryPoint": 4330, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 3996, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 3197, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 3933, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 2909, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 3331, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 3090, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4703, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4849, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4557, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4995, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack": { + "entryPoint": 3346, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 3212, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 2961, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 3948, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 5062, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 2924, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4738, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4884, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4592, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5030, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed": { + "entryPoint": 3529, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 2976, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 4142, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 3563, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 4169, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 3003, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 3014, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 4499, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 5150, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 3179, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 2897, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$3239": { + "entryPoint": 3294, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 3147, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 2951, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$3239_to_t_uint8": { + "entryPoint": 3313, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 3031, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 4450, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4093, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x11": { + "entryPoint": 5103, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 3227, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 4403, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 4046, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 3676, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 3671, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 3681, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 4041, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 3578, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 3573, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 3073, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e": { + "entryPoint": 4624, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3": { + "entryPoint": 4770, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a": { + "entryPoint": 4516, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880": { + "entryPoint": 4916, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$3239": { + "entryPoint": 3274, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 3583, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 3627, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:17103:12", + "nodeType": "YulBlock", + "src": "0:17103:12", + "statements": [ + { + "body": { + "nativeSrc": "49:48:12", + "nodeType": "YulBlock", + "src": "49:48:12", + "statements": [ + { + "nativeSrc": "59:32:12", + "nodeType": "YulAssignment", + "src": "59:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "84:5:12", + "nodeType": "YulIdentifier", + "src": "84:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "77:6:12", + "nodeType": "YulIdentifier", + "src": "77:6:12" + }, + "nativeSrc": "77:13:12", + "nodeType": "YulFunctionCall", + "src": "77:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "70:6:12", + "nodeType": "YulIdentifier", + "src": "70:6:12" + }, + "nativeSrc": "70:21:12", + "nodeType": "YulFunctionCall", + "src": "70:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "59:7:12", + "nodeType": "YulIdentifier", + "src": "59:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "7:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "31:5:12", + "nodeType": "YulTypedName", + "src": "31:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "41:7:12", + "nodeType": "YulTypedName", + "src": "41:7:12", + "type": "" + } + ], + "src": "7:90:12" + }, + { + "body": { + "nativeSrc": "162:50:12", + "nodeType": "YulBlock", + "src": "162:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "179:3:12", + "nodeType": "YulIdentifier", + "src": "179:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "199:5:12", + "nodeType": "YulIdentifier", + "src": "199:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "184:14:12", + "nodeType": "YulIdentifier", + "src": "184:14:12" + }, + "nativeSrc": "184:21:12", + "nodeType": "YulFunctionCall", + "src": "184:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "172:6:12", + "nodeType": "YulIdentifier", + "src": "172:6:12" + }, + "nativeSrc": "172:34:12", + "nodeType": "YulFunctionCall", + "src": "172:34:12" + }, + "nativeSrc": "172:34:12", + "nodeType": "YulExpressionStatement", + "src": "172:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "103:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "150:5:12", + "nodeType": "YulTypedName", + "src": "150:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "157:3:12", + "nodeType": "YulTypedName", + "src": "157:3:12", + "type": "" + } + ], + "src": "103:109:12" + }, + { + "body": { + "nativeSrc": "310:118:12", + "nodeType": "YulBlock", + "src": "310:118:12", + "statements": [ + { + "nativeSrc": "320:26:12", + "nodeType": "YulAssignment", + "src": "320:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "332:9:12", + "nodeType": "YulIdentifier", + "src": "332:9:12" + }, + { + "kind": "number", + "nativeSrc": "343:2:12", + "nodeType": "YulLiteral", + "src": "343:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "328:3:12", + "nodeType": "YulIdentifier", + "src": "328:3:12" + }, + "nativeSrc": "328:18:12", + "nodeType": "YulFunctionCall", + "src": "328:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "320:4:12", + "nodeType": "YulIdentifier", + "src": "320:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "394:6:12", + "nodeType": "YulIdentifier", + "src": "394:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "407:9:12", + "nodeType": "YulIdentifier", + "src": "407:9:12" + }, + { + "kind": "number", + "nativeSrc": "418:1:12", + "nodeType": "YulLiteral", + "src": "418:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "403:3:12", + "nodeType": "YulIdentifier", + "src": "403:3:12" + }, + "nativeSrc": "403:17:12", + "nodeType": "YulFunctionCall", + "src": "403:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "356:37:12", + "nodeType": "YulIdentifier", + "src": "356:37:12" + }, + "nativeSrc": "356:65:12", + "nodeType": "YulFunctionCall", + "src": "356:65:12" + }, + "nativeSrc": "356:65:12", + "nodeType": "YulExpressionStatement", + "src": "356:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "218:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "282:9:12", + "nodeType": "YulTypedName", + "src": "282:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "294:6:12", + "nodeType": "YulTypedName", + "src": "294:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "305:4:12", + "nodeType": "YulTypedName", + "src": "305:4:12", + "type": "" + } + ], + "src": "218:210:12" + }, + { + "body": { + "nativeSrc": "479:32:12", + "nodeType": "YulBlock", + "src": "479:32:12", + "statements": [ + { + "nativeSrc": "489:16:12", + "nodeType": "YulAssignment", + "src": "489:16:12", + "value": { + "name": "value", + "nativeSrc": "500:5:12", + "nodeType": "YulIdentifier", + "src": "500:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "489:7:12", + "nodeType": "YulIdentifier", + "src": "489:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "434:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "461:5:12", + "nodeType": "YulTypedName", + "src": "461:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "471:7:12", + "nodeType": "YulTypedName", + "src": "471:7:12", + "type": "" + } + ], + "src": "434:77:12" + }, + { + "body": { + "nativeSrc": "582:53:12", + "nodeType": "YulBlock", + "src": "582:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "599:3:12", + "nodeType": "YulIdentifier", + "src": "599:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "622:5:12", + "nodeType": "YulIdentifier", + "src": "622:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "604:17:12", + "nodeType": "YulIdentifier", + "src": "604:17:12" + }, + "nativeSrc": "604:24:12", + "nodeType": "YulFunctionCall", + "src": "604:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "592:6:12", + "nodeType": "YulIdentifier", + "src": "592:6:12" + }, + "nativeSrc": "592:37:12", + "nodeType": "YulFunctionCall", + "src": "592:37:12" + }, + "nativeSrc": "592:37:12", + "nodeType": "YulExpressionStatement", + "src": "592:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "517:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "570:5:12", + "nodeType": "YulTypedName", + "src": "570:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "577:3:12", + "nodeType": "YulTypedName", + "src": "577:3:12", + "type": "" + } + ], + "src": "517:118:12" + }, + { + "body": { + "nativeSrc": "739:124:12", + "nodeType": "YulBlock", + "src": "739:124:12", + "statements": [ + { + "nativeSrc": "749:26:12", + "nodeType": "YulAssignment", + "src": "749:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "761:9:12", + "nodeType": "YulIdentifier", + "src": "761:9:12" + }, + { + "kind": "number", + "nativeSrc": "772:2:12", + "nodeType": "YulLiteral", + "src": "772:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "757:3:12", + "nodeType": "YulIdentifier", + "src": "757:3:12" + }, + "nativeSrc": "757:18:12", + "nodeType": "YulFunctionCall", + "src": "757:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "749:4:12", + "nodeType": "YulIdentifier", + "src": "749:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "829:6:12", + "nodeType": "YulIdentifier", + "src": "829:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "842:9:12", + "nodeType": "YulIdentifier", + "src": "842:9:12" + }, + { + "kind": "number", + "nativeSrc": "853:1:12", + "nodeType": "YulLiteral", + "src": "853:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "838:3:12", + "nodeType": "YulIdentifier", + "src": "838:3:12" + }, + "nativeSrc": "838:17:12", + "nodeType": "YulFunctionCall", + "src": "838:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "785:43:12", + "nodeType": "YulIdentifier", + "src": "785:43:12" + }, + "nativeSrc": "785:71:12", + "nodeType": "YulFunctionCall", + "src": "785:71:12" + }, + "nativeSrc": "785:71:12", + "nodeType": "YulExpressionStatement", + "src": "785:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "641:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "711:9:12", + "nodeType": "YulTypedName", + "src": "711:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "723:6:12", + "nodeType": "YulTypedName", + "src": "723:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "734:4:12", + "nodeType": "YulTypedName", + "src": "734:4:12", + "type": "" + } + ], + "src": "641:222:12" + }, + { + "body": { + "nativeSrc": "928:40:12", + "nodeType": "YulBlock", + "src": "928:40:12", + "statements": [ + { + "nativeSrc": "939:22:12", + "nodeType": "YulAssignment", + "src": "939:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "955:5:12", + "nodeType": "YulIdentifier", + "src": "955:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "949:5:12", + "nodeType": "YulIdentifier", + "src": "949:5:12" + }, + "nativeSrc": "949:12:12", + "nodeType": "YulFunctionCall", + "src": "949:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "939:6:12", + "nodeType": "YulIdentifier", + "src": "939:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "869:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "911:5:12", + "nodeType": "YulTypedName", + "src": "911:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "921:6:12", + "nodeType": "YulTypedName", + "src": "921:6:12", + "type": "" + } + ], + "src": "869:99:12" + }, + { + "body": { + "nativeSrc": "1060:73:12", + "nodeType": "YulBlock", + "src": "1060:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1077:3:12", + "nodeType": "YulIdentifier", + "src": "1077:3:12" + }, + { + "name": "length", + "nativeSrc": "1082:6:12", + "nodeType": "YulIdentifier", + "src": "1082:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1070:6:12", + "nodeType": "YulIdentifier", + "src": "1070:6:12" + }, + "nativeSrc": "1070:19:12", + "nodeType": "YulFunctionCall", + "src": "1070:19:12" + }, + "nativeSrc": "1070:19:12", + "nodeType": "YulExpressionStatement", + "src": "1070:19:12" + }, + { + "nativeSrc": "1098:29:12", + "nodeType": "YulAssignment", + "src": "1098:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1117:3:12", + "nodeType": "YulIdentifier", + "src": "1117:3:12" + }, + { + "kind": "number", + "nativeSrc": "1122:4:12", + "nodeType": "YulLiteral", + "src": "1122:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1113:3:12", + "nodeType": "YulIdentifier", + "src": "1113:3:12" + }, + "nativeSrc": "1113:14:12", + "nodeType": "YulFunctionCall", + "src": "1113:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "1098:11:12", + "nodeType": "YulIdentifier", + "src": "1098:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "974:159:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "1032:3:12", + "nodeType": "YulTypedName", + "src": "1032:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1037:6:12", + "nodeType": "YulTypedName", + "src": "1037:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "1048:11:12", + "nodeType": "YulTypedName", + "src": "1048:11:12", + "type": "" + } + ], + "src": "974:159:12" + }, + { + "body": { + "nativeSrc": "1201:184:12", + "nodeType": "YulBlock", + "src": "1201:184:12", + "statements": [ + { + "nativeSrc": "1211:10:12", + "nodeType": "YulVariableDeclaration", + "src": "1211:10:12", + "value": { + "kind": "number", + "nativeSrc": "1220:1:12", + "nodeType": "YulLiteral", + "src": "1220:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1215:1:12", + "nodeType": "YulTypedName", + "src": "1215:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1280:63:12", + "nodeType": "YulBlock", + "src": "1280:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1305:3:12", + "nodeType": "YulIdentifier", + "src": "1305:3:12" + }, + { + "name": "i", + "nativeSrc": "1310:1:12", + "nodeType": "YulIdentifier", + "src": "1310:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1301:3:12", + "nodeType": "YulIdentifier", + "src": "1301:3:12" + }, + "nativeSrc": "1301:11:12", + "nodeType": "YulFunctionCall", + "src": "1301:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1324:3:12", + "nodeType": "YulIdentifier", + "src": "1324:3:12" + }, + { + "name": "i", + "nativeSrc": "1329:1:12", + "nodeType": "YulIdentifier", + "src": "1329:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1320:3:12", + "nodeType": "YulIdentifier", + "src": "1320:3:12" + }, + "nativeSrc": "1320:11:12", + "nodeType": "YulFunctionCall", + "src": "1320:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1314:5:12", + "nodeType": "YulIdentifier", + "src": "1314:5:12" + }, + "nativeSrc": "1314:18:12", + "nodeType": "YulFunctionCall", + "src": "1314:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1294:6:12", + "nodeType": "YulIdentifier", + "src": "1294:6:12" + }, + "nativeSrc": "1294:39:12", + "nodeType": "YulFunctionCall", + "src": "1294:39:12" + }, + "nativeSrc": "1294:39:12", + "nodeType": "YulExpressionStatement", + "src": "1294:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1241:1:12", + "nodeType": "YulIdentifier", + "src": "1241:1:12" + }, + { + "name": "length", + "nativeSrc": "1244:6:12", + "nodeType": "YulIdentifier", + "src": "1244:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1238:2:12", + "nodeType": "YulIdentifier", + "src": "1238:2:12" + }, + "nativeSrc": "1238:13:12", + "nodeType": "YulFunctionCall", + "src": "1238:13:12" + }, + "nativeSrc": "1230:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1252:19:12", + "nodeType": "YulBlock", + "src": "1252:19:12", + "statements": [ + { + "nativeSrc": "1254:15:12", + "nodeType": "YulAssignment", + "src": "1254:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1263:1:12", + "nodeType": "YulIdentifier", + "src": "1263:1:12" + }, + { + "kind": "number", + "nativeSrc": "1266:2:12", + "nodeType": "YulLiteral", + "src": "1266:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1259:3:12", + "nodeType": "YulIdentifier", + "src": "1259:3:12" + }, + "nativeSrc": "1259:10:12", + "nodeType": "YulFunctionCall", + "src": "1259:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1254:1:12", + "nodeType": "YulIdentifier", + "src": "1254:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1234:3:12", + "nodeType": "YulBlock", + "src": "1234:3:12", + "statements": [] + }, + "src": "1230:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1363:3:12", + "nodeType": "YulIdentifier", + "src": "1363:3:12" + }, + { + "name": "length", + "nativeSrc": "1368:6:12", + "nodeType": "YulIdentifier", + "src": "1368:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1359:3:12", + "nodeType": "YulIdentifier", + "src": "1359:3:12" + }, + "nativeSrc": "1359:16:12", + "nodeType": "YulFunctionCall", + "src": "1359:16:12" + }, + { + "kind": "number", + "nativeSrc": "1377:1:12", + "nodeType": "YulLiteral", + "src": "1377:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1352:6:12", + "nodeType": "YulIdentifier", + "src": "1352:6:12" + }, + "nativeSrc": "1352:27:12", + "nodeType": "YulFunctionCall", + "src": "1352:27:12" + }, + "nativeSrc": "1352:27:12", + "nodeType": "YulExpressionStatement", + "src": "1352:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1139:246:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1183:3:12", + "nodeType": "YulTypedName", + "src": "1183:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1188:3:12", + "nodeType": "YulTypedName", + "src": "1188:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1193:6:12", + "nodeType": "YulTypedName", + "src": "1193:6:12", + "type": "" + } + ], + "src": "1139:246:12" + }, + { + "body": { + "nativeSrc": "1439:54:12", + "nodeType": "YulBlock", + "src": "1439:54:12", + "statements": [ + { + "nativeSrc": "1449:38:12", + "nodeType": "YulAssignment", + "src": "1449:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1467:5:12", + "nodeType": "YulIdentifier", + "src": "1467:5:12" + }, + { + "kind": "number", + "nativeSrc": "1474:2:12", + "nodeType": "YulLiteral", + "src": "1474:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1463:3:12", + "nodeType": "YulIdentifier", + "src": "1463:3:12" + }, + "nativeSrc": "1463:14:12", + "nodeType": "YulFunctionCall", + "src": "1463:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1483:2:12", + "nodeType": "YulLiteral", + "src": "1483:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1479:3:12", + "nodeType": "YulIdentifier", + "src": "1479:3:12" + }, + "nativeSrc": "1479:7:12", + "nodeType": "YulFunctionCall", + "src": "1479:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1459:3:12", + "nodeType": "YulIdentifier", + "src": "1459:3:12" + }, + "nativeSrc": "1459:28:12", + "nodeType": "YulFunctionCall", + "src": "1459:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1449:6:12", + "nodeType": "YulIdentifier", + "src": "1449:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "1391:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1422:5:12", + "nodeType": "YulTypedName", + "src": "1422:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1432:6:12", + "nodeType": "YulTypedName", + "src": "1432:6:12", + "type": "" + } + ], + "src": "1391:102:12" + }, + { + "body": { + "nativeSrc": "1581:275:12", + "nodeType": "YulBlock", + "src": "1581:275:12", + "statements": [ + { + "nativeSrc": "1591:53:12", + "nodeType": "YulVariableDeclaration", + "src": "1591:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1638:5:12", + "nodeType": "YulIdentifier", + "src": "1638:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1605:32:12", + "nodeType": "YulIdentifier", + "src": "1605:32:12" + }, + "nativeSrc": "1605:39:12", + "nodeType": "YulFunctionCall", + "src": "1605:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "1595:6:12", + "nodeType": "YulTypedName", + "src": "1595:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1653:68:12", + "nodeType": "YulAssignment", + "src": "1653:68:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1709:3:12", + "nodeType": "YulIdentifier", + "src": "1709:3:12" + }, + { + "name": "length", + "nativeSrc": "1714:6:12", + "nodeType": "YulIdentifier", + "src": "1714:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "1660:48:12", + "nodeType": "YulIdentifier", + "src": "1660:48:12" + }, + "nativeSrc": "1660:61:12", + "nodeType": "YulFunctionCall", + "src": "1660:61:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "1653:3:12", + "nodeType": "YulIdentifier", + "src": "1653:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1769:5:12", + "nodeType": "YulIdentifier", + "src": "1769:5:12" + }, + { + "kind": "number", + "nativeSrc": "1776:4:12", + "nodeType": "YulLiteral", + "src": "1776:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1765:3:12", + "nodeType": "YulIdentifier", + "src": "1765:3:12" + }, + "nativeSrc": "1765:16:12", + "nodeType": "YulFunctionCall", + "src": "1765:16:12" + }, + { + "name": "pos", + "nativeSrc": "1783:3:12", + "nodeType": "YulIdentifier", + "src": "1783:3:12" + }, + { + "name": "length", + "nativeSrc": "1788:6:12", + "nodeType": "YulIdentifier", + "src": "1788:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1730:34:12", + "nodeType": "YulIdentifier", + "src": "1730:34:12" + }, + "nativeSrc": "1730:65:12", + "nodeType": "YulFunctionCall", + "src": "1730:65:12" + }, + "nativeSrc": "1730:65:12", + "nodeType": "YulExpressionStatement", + "src": "1730:65:12" + }, + { + "nativeSrc": "1804:46:12", + "nodeType": "YulAssignment", + "src": "1804:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1815:3:12", + "nodeType": "YulIdentifier", + "src": "1815:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1842:6:12", + "nodeType": "YulIdentifier", + "src": "1842:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1820:21:12", + "nodeType": "YulIdentifier", + "src": "1820:21:12" + }, + "nativeSrc": "1820:29:12", + "nodeType": "YulFunctionCall", + "src": "1820:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1811:3:12", + "nodeType": "YulIdentifier", + "src": "1811:3:12" + }, + "nativeSrc": "1811:39:12", + "nodeType": "YulFunctionCall", + "src": "1811:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "1804:3:12", + "nodeType": "YulIdentifier", + "src": "1804:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "1499:357:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1562:5:12", + "nodeType": "YulTypedName", + "src": "1562:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1569:3:12", + "nodeType": "YulTypedName", + "src": "1569:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "1577:3:12", + "nodeType": "YulTypedName", + "src": "1577:3:12", + "type": "" + } + ], + "src": "1499:357:12" + }, + { + "body": { + "nativeSrc": "1907:81:12", + "nodeType": "YulBlock", + "src": "1907:81:12", + "statements": [ + { + "nativeSrc": "1917:65:12", + "nodeType": "YulAssignment", + "src": "1917:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1932:5:12", + "nodeType": "YulIdentifier", + "src": "1932:5:12" + }, + { + "kind": "number", + "nativeSrc": "1939:42:12", + "nodeType": "YulLiteral", + "src": "1939:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1928:3:12", + "nodeType": "YulIdentifier", + "src": "1928:3:12" + }, + "nativeSrc": "1928:54:12", + "nodeType": "YulFunctionCall", + "src": "1928:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1917:7:12", + "nodeType": "YulIdentifier", + "src": "1917:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1862:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1889:5:12", + "nodeType": "YulTypedName", + "src": "1889:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1899:7:12", + "nodeType": "YulTypedName", + "src": "1899:7:12", + "type": "" + } + ], + "src": "1862:126:12" + }, + { + "body": { + "nativeSrc": "2039:51:12", + "nodeType": "YulBlock", + "src": "2039:51:12", + "statements": [ + { + "nativeSrc": "2049:35:12", + "nodeType": "YulAssignment", + "src": "2049:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2078:5:12", + "nodeType": "YulIdentifier", + "src": "2078:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2060:17:12", + "nodeType": "YulIdentifier", + "src": "2060:17:12" + }, + "nativeSrc": "2060:24:12", + "nodeType": "YulFunctionCall", + "src": "2060:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2049:7:12", + "nodeType": "YulIdentifier", + "src": "2049:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1994:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2021:5:12", + "nodeType": "YulTypedName", + "src": "2021:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2031:7:12", + "nodeType": "YulTypedName", + "src": "2031:7:12", + "type": "" + } + ], + "src": "1994:96:12" + }, + { + "body": { + "nativeSrc": "2151:53:12", + "nodeType": "YulBlock", + "src": "2151:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2168:3:12", + "nodeType": "YulIdentifier", + "src": "2168:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2191:5:12", + "nodeType": "YulIdentifier", + "src": "2191:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2173:17:12", + "nodeType": "YulIdentifier", + "src": "2173:17:12" + }, + "nativeSrc": "2173:24:12", + "nodeType": "YulFunctionCall", + "src": "2173:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2161:6:12", + "nodeType": "YulIdentifier", + "src": "2161:6:12" + }, + "nativeSrc": "2161:37:12", + "nodeType": "YulFunctionCall", + "src": "2161:37:12" + }, + "nativeSrc": "2161:37:12", + "nodeType": "YulExpressionStatement", + "src": "2161:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "2096:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2139:5:12", + "nodeType": "YulTypedName", + "src": "2139:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2146:3:12", + "nodeType": "YulTypedName", + "src": "2146:3:12", + "type": "" + } + ], + "src": "2096:108:12" + }, + { + "body": { + "nativeSrc": "2265:53:12", + "nodeType": "YulBlock", + "src": "2265:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2282:3:12", + "nodeType": "YulIdentifier", + "src": "2282:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2305:5:12", + "nodeType": "YulIdentifier", + "src": "2305:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2287:17:12", + "nodeType": "YulIdentifier", + "src": "2287:17:12" + }, + "nativeSrc": "2287:24:12", + "nodeType": "YulFunctionCall", + "src": "2287:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2275:6:12", + "nodeType": "YulIdentifier", + "src": "2275:6:12" + }, + "nativeSrc": "2275:37:12", + "nodeType": "YulFunctionCall", + "src": "2275:37:12" + }, + "nativeSrc": "2275:37:12", + "nodeType": "YulExpressionStatement", + "src": "2275:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "2210:108:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2253:5:12", + "nodeType": "YulTypedName", + "src": "2253:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2260:3:12", + "nodeType": "YulTypedName", + "src": "2260:3:12", + "type": "" + } + ], + "src": "2210:108:12" + }, + { + "body": { + "nativeSrc": "2352:152:12", + "nodeType": "YulBlock", + "src": "2352:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2369:1:12", + "nodeType": "YulLiteral", + "src": "2369:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2372:77:12", + "nodeType": "YulLiteral", + "src": "2372:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2362:6:12", + "nodeType": "YulIdentifier", + "src": "2362:6:12" + }, + "nativeSrc": "2362:88:12", + "nodeType": "YulFunctionCall", + "src": "2362:88:12" + }, + "nativeSrc": "2362:88:12", + "nodeType": "YulExpressionStatement", + "src": "2362:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2466:1:12", + "nodeType": "YulLiteral", + "src": "2466:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2469:4:12", + "nodeType": "YulLiteral", + "src": "2469:4:12", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2459:6:12", + "nodeType": "YulIdentifier", + "src": "2459:6:12" + }, + "nativeSrc": "2459:15:12", + "nodeType": "YulFunctionCall", + "src": "2459:15:12" + }, + "nativeSrc": "2459:15:12", + "nodeType": "YulExpressionStatement", + "src": "2459:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2490:1:12", + "nodeType": "YulLiteral", + "src": "2490:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2493:4:12", + "nodeType": "YulLiteral", + "src": "2493:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2483:6:12", + "nodeType": "YulIdentifier", + "src": "2483:6:12" + }, + "nativeSrc": "2483:15:12", + "nodeType": "YulFunctionCall", + "src": "2483:15:12" + }, + "nativeSrc": "2483:15:12", + "nodeType": "YulExpressionStatement", + "src": "2483:15:12" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "2324:180:12", + "nodeType": "YulFunctionDefinition", + "src": "2324:180:12" + }, + { + "body": { + "nativeSrc": "2569:62:12", + "nodeType": "YulBlock", + "src": "2569:62:12", + "statements": [ + { + "body": { + "nativeSrc": "2603:22:12", + "nodeType": "YulBlock", + "src": "2603:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "2605:16:12", + "nodeType": "YulIdentifier", + "src": "2605:16:12" + }, + "nativeSrc": "2605:18:12", + "nodeType": "YulFunctionCall", + "src": "2605:18:12" + }, + "nativeSrc": "2605:18:12", + "nodeType": "YulExpressionStatement", + "src": "2605:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2592:5:12", + "nodeType": "YulIdentifier", + "src": "2592:5:12" + }, + { + "kind": "number", + "nativeSrc": "2599:1:12", + "nodeType": "YulLiteral", + "src": "2599:1:12", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2589:2:12", + "nodeType": "YulIdentifier", + "src": "2589:2:12" + }, + "nativeSrc": "2589:12:12", + "nodeType": "YulFunctionCall", + "src": "2589:12:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2582:6:12", + "nodeType": "YulIdentifier", + "src": "2582:6:12" + }, + "nativeSrc": "2582:20:12", + "nodeType": "YulFunctionCall", + "src": "2582:20:12" + }, + "nativeSrc": "2579:46:12", + "nodeType": "YulIf", + "src": "2579:46:12" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "2510:121:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2562:5:12", + "nodeType": "YulTypedName", + "src": "2562:5:12", + "type": "" + } + ], + "src": "2510:121:12" + }, + { + "body": { + "nativeSrc": "2698:82:12", + "nodeType": "YulBlock", + "src": "2698:82:12", + "statements": [ + { + "nativeSrc": "2708:16:12", + "nodeType": "YulAssignment", + "src": "2708:16:12", + "value": { + "name": "value", + "nativeSrc": "2719:5:12", + "nodeType": "YulIdentifier", + "src": "2719:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2708:7:12", + "nodeType": "YulIdentifier", + "src": "2708:7:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2768:5:12", + "nodeType": "YulIdentifier", + "src": "2768:5:12" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$3239", + "nativeSrc": "2725:42:12", + "nodeType": "YulIdentifier", + "src": "2725:42:12" + }, + "nativeSrc": "2725:49:12", + "nodeType": "YulFunctionCall", + "src": "2725:49:12" + }, + "nativeSrc": "2725:49:12", + "nodeType": "YulExpressionStatement", + "src": "2725:49:12" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "2637:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2680:5:12", + "nodeType": "YulTypedName", + "src": "2680:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2690:7:12", + "nodeType": "YulTypedName", + "src": "2690:7:12", + "type": "" + } + ], + "src": "2637:143:12" + }, + { + "body": { + "nativeSrc": "2860:69:12", + "nodeType": "YulBlock", + "src": "2860:69:12", + "statements": [ + { + "nativeSrc": "2870:53:12", + "nodeType": "YulAssignment", + "src": "2870:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2917:5:12", + "nodeType": "YulIdentifier", + "src": "2917:5:12" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$3239", + "nativeSrc": "2883:33:12", + "nodeType": "YulIdentifier", + "src": "2883:33:12" + }, + "nativeSrc": "2883:40:12", + "nodeType": "YulFunctionCall", + "src": "2883:40:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "2870:9:12", + "nodeType": "YulIdentifier", + "src": "2870:9:12" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "2786:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2840:5:12", + "nodeType": "YulTypedName", + "src": "2840:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "2850:9:12", + "nodeType": "YulTypedName", + "src": "2850:9:12", + "type": "" + } + ], + "src": "2786:143:12" + }, + { + "body": { + "nativeSrc": "3004:80:12", + "nodeType": "YulBlock", + "src": "3004:80:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3021:3:12", + "nodeType": "YulIdentifier", + "src": "3021:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3071:5:12", + "nodeType": "YulIdentifier", + "src": "3071:5:12" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "3026:44:12", + "nodeType": "YulIdentifier", + "src": "3026:44:12" + }, + "nativeSrc": "3026:51:12", + "nodeType": "YulFunctionCall", + "src": "3026:51:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3014:6:12", + "nodeType": "YulIdentifier", + "src": "3014:6:12" + }, + "nativeSrc": "3014:64:12", + "nodeType": "YulFunctionCall", + "src": "3014:64:12" + }, + "nativeSrc": "3014:64:12", + "nodeType": "YulExpressionStatement", + "src": "3014:64:12" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "2935:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2992:5:12", + "nodeType": "YulTypedName", + "src": "2992:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2999:3:12", + "nodeType": "YulTypedName", + "src": "2999:3:12", + "type": "" + } + ], + "src": "2935:149:12" + }, + { + "body": { + "nativeSrc": "3270:1680:12", + "nodeType": "YulBlock", + "src": "3270:1680:12", + "statements": [ + { + "nativeSrc": "3280:28:12", + "nodeType": "YulVariableDeclaration", + "src": "3280:28:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3296:3:12", + "nodeType": "YulIdentifier", + "src": "3296:3:12" + }, + { + "kind": "number", + "nativeSrc": "3301:6:12", + "nodeType": "YulLiteral", + "src": "3301:6:12", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3292:3:12", + "nodeType": "YulIdentifier", + "src": "3292:3:12" + }, + "nativeSrc": "3292:16:12", + "nodeType": "YulFunctionCall", + "src": "3292:16:12" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "3284:4:12", + "nodeType": "YulTypedName", + "src": "3284:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3318:242:12", + "nodeType": "YulBlock", + "src": "3318:242:12", + "statements": [ + { + "nativeSrc": "3360:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3360:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3390:5:12", + "nodeType": "YulIdentifier", + "src": "3390:5:12" + }, + { + "kind": "number", + "nativeSrc": "3397:4:12", + "nodeType": "YulLiteral", + "src": "3397:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3386:3:12", + "nodeType": "YulIdentifier", + "src": "3386:3:12" + }, + "nativeSrc": "3386:16:12", + "nodeType": "YulFunctionCall", + "src": "3386:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3380:5:12", + "nodeType": "YulIdentifier", + "src": "3380:5:12" + }, + "nativeSrc": "3380:23:12", + "nodeType": "YulFunctionCall", + "src": "3380:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3364:12:12", + "nodeType": "YulTypedName", + "src": "3364:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3428:3:12", + "nodeType": "YulIdentifier", + "src": "3428:3:12" + }, + { + "kind": "number", + "nativeSrc": "3433:4:12", + "nodeType": "YulLiteral", + "src": "3433:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3424:3:12", + "nodeType": "YulIdentifier", + "src": "3424:3:12" + }, + "nativeSrc": "3424:14:12", + "nodeType": "YulFunctionCall", + "src": "3424:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "3444:4:12", + "nodeType": "YulIdentifier", + "src": "3444:4:12" + }, + { + "name": "pos", + "nativeSrc": "3450:3:12", + "nodeType": "YulIdentifier", + "src": "3450:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3440:3:12", + "nodeType": "YulIdentifier", + "src": "3440:3:12" + }, + "nativeSrc": "3440:14:12", + "nodeType": "YulFunctionCall", + "src": "3440:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3417:6:12", + "nodeType": "YulIdentifier", + "src": "3417:6:12" + }, + "nativeSrc": "3417:38:12", + "nodeType": "YulFunctionCall", + "src": "3417:38:12" + }, + "nativeSrc": "3417:38:12", + "nodeType": "YulExpressionStatement", + "src": "3417:38:12" + }, + { + "nativeSrc": "3468:81:12", + "nodeType": "YulAssignment", + "src": "3468:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3530:12:12", + "nodeType": "YulIdentifier", + "src": "3530:12:12" + }, + { + "name": "tail", + "nativeSrc": "3544:4:12", + "nodeType": "YulIdentifier", + "src": "3544:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "3476:53:12", + "nodeType": "YulIdentifier", + "src": "3476:53:12" + }, + "nativeSrc": "3476:73:12", + "nodeType": "YulFunctionCall", + "src": "3476:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3468:4:12", + "nodeType": "YulIdentifier", + "src": "3468:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "3570:174:12", + "nodeType": "YulBlock", + "src": "3570:174:12", + "statements": [ + { + "nativeSrc": "3615:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3615:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3645:5:12", + "nodeType": "YulIdentifier", + "src": "3645:5:12" + }, + { + "kind": "number", + "nativeSrc": "3652:4:12", + "nodeType": "YulLiteral", + "src": "3652:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3641:3:12", + "nodeType": "YulIdentifier", + "src": "3641:3:12" + }, + "nativeSrc": "3641:16:12", + "nodeType": "YulFunctionCall", + "src": "3641:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3635:5:12", + "nodeType": "YulIdentifier", + "src": "3635:5:12" + }, + "nativeSrc": "3635:23:12", + "nodeType": "YulFunctionCall", + "src": "3635:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3619:12:12", + "nodeType": "YulTypedName", + "src": "3619:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3705:12:12", + "nodeType": "YulIdentifier", + "src": "3705:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3723:3:12", + "nodeType": "YulIdentifier", + "src": "3723:3:12" + }, + { + "kind": "number", + "nativeSrc": "3728:4:12", + "nodeType": "YulLiteral", + "src": "3728:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3719:3:12", + "nodeType": "YulIdentifier", + "src": "3719:3:12" + }, + "nativeSrc": "3719:14:12", + "nodeType": "YulFunctionCall", + "src": "3719:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "3671:33:12", + "nodeType": "YulIdentifier", + "src": "3671:33:12" + }, + "nativeSrc": "3671:63:12", + "nodeType": "YulFunctionCall", + "src": "3671:63:12" + }, + "nativeSrc": "3671:63:12", + "nodeType": "YulExpressionStatement", + "src": "3671:63:12" + } + ] + }, + { + "nativeSrc": "3754:178:12", + "nodeType": "YulBlock", + "src": "3754:178:12", + "statements": [ + { + "nativeSrc": "3803:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3803:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3833:5:12", + "nodeType": "YulIdentifier", + "src": "3833:5:12" + }, + { + "kind": "number", + "nativeSrc": "3840:4:12", + "nodeType": "YulLiteral", + "src": "3840:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3829:3:12", + "nodeType": "YulIdentifier", + "src": "3829:3:12" + }, + "nativeSrc": "3829:16:12", + "nodeType": "YulFunctionCall", + "src": "3829:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3823:5:12", + "nodeType": "YulIdentifier", + "src": "3823:5:12" + }, + "nativeSrc": "3823:23:12", + "nodeType": "YulFunctionCall", + "src": "3823:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3807:12:12", + "nodeType": "YulTypedName", + "src": "3807:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3893:12:12", + "nodeType": "YulIdentifier", + "src": "3893:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3911:3:12", + "nodeType": "YulIdentifier", + "src": "3911:3:12" + }, + { + "kind": "number", + "nativeSrc": "3916:4:12", + "nodeType": "YulLiteral", + "src": "3916:4:12", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3907:3:12", + "nodeType": "YulIdentifier", + "src": "3907:3:12" + }, + "nativeSrc": "3907:14:12", + "nodeType": "YulFunctionCall", + "src": "3907:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3859:33:12", + "nodeType": "YulIdentifier", + "src": "3859:33:12" + }, + "nativeSrc": "3859:63:12", + "nodeType": "YulFunctionCall", + "src": "3859:63:12" + }, + "nativeSrc": "3859:63:12", + "nodeType": "YulExpressionStatement", + "src": "3859:63:12" + } + ] + }, + { + "nativeSrc": "3942:177:12", + "nodeType": "YulBlock", + "src": "3942:177:12", + "statements": [ + { + "nativeSrc": "3990:43:12", + "nodeType": "YulVariableDeclaration", + "src": "3990:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4020:5:12", + "nodeType": "YulIdentifier", + "src": "4020:5:12" + }, + { + "kind": "number", + "nativeSrc": "4027:4:12", + "nodeType": "YulLiteral", + "src": "4027:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4016:3:12", + "nodeType": "YulIdentifier", + "src": "4016:3:12" + }, + "nativeSrc": "4016:16:12", + "nodeType": "YulFunctionCall", + "src": "4016:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4010:5:12", + "nodeType": "YulIdentifier", + "src": "4010:5:12" + }, + "nativeSrc": "4010:23:12", + "nodeType": "YulFunctionCall", + "src": "4010:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3994:12:12", + "nodeType": "YulTypedName", + "src": "3994:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4080:12:12", + "nodeType": "YulIdentifier", + "src": "4080:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4098:3:12", + "nodeType": "YulIdentifier", + "src": "4098:3:12" + }, + { + "kind": "number", + "nativeSrc": "4103:4:12", + "nodeType": "YulLiteral", + "src": "4103:4:12", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4094:3:12", + "nodeType": "YulIdentifier", + "src": "4094:3:12" + }, + "nativeSrc": "4094:14:12", + "nodeType": "YulFunctionCall", + "src": "4094:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4046:33:12", + "nodeType": "YulIdentifier", + "src": "4046:33:12" + }, + "nativeSrc": "4046:63:12", + "nodeType": "YulFunctionCall", + "src": "4046:63:12" + }, + "nativeSrc": "4046:63:12", + "nodeType": "YulExpressionStatement", + "src": "4046:63:12" + } + ] + }, + { + "nativeSrc": "4129:171:12", + "nodeType": "YulBlock", + "src": "4129:171:12", + "statements": [ + { + "nativeSrc": "4171:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4171:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4201:5:12", + "nodeType": "YulIdentifier", + "src": "4201:5:12" + }, + { + "kind": "number", + "nativeSrc": "4208:4:12", + "nodeType": "YulLiteral", + "src": "4208:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4197:3:12", + "nodeType": "YulIdentifier", + "src": "4197:3:12" + }, + "nativeSrc": "4197:16:12", + "nodeType": "YulFunctionCall", + "src": "4197:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4191:5:12", + "nodeType": "YulIdentifier", + "src": "4191:5:12" + }, + "nativeSrc": "4191:23:12", + "nodeType": "YulFunctionCall", + "src": "4191:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4175:12:12", + "nodeType": "YulTypedName", + "src": "4175:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4261:12:12", + "nodeType": "YulIdentifier", + "src": "4261:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4279:3:12", + "nodeType": "YulIdentifier", + "src": "4279:3:12" + }, + { + "kind": "number", + "nativeSrc": "4284:4:12", + "nodeType": "YulLiteral", + "src": "4284:4:12", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4275:3:12", + "nodeType": "YulIdentifier", + "src": "4275:3:12" + }, + "nativeSrc": "4275:14:12", + "nodeType": "YulFunctionCall", + "src": "4275:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4227:33:12", + "nodeType": "YulIdentifier", + "src": "4227:33:12" + }, + "nativeSrc": "4227:63:12", + "nodeType": "YulFunctionCall", + "src": "4227:63:12" + }, + "nativeSrc": "4227:63:12", + "nodeType": "YulExpressionStatement", + "src": "4227:63:12" + } + ] + }, + { + "nativeSrc": "4310:174:12", + "nodeType": "YulBlock", + "src": "4310:174:12", + "statements": [ + { + "nativeSrc": "4355:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4355:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4385:5:12", + "nodeType": "YulIdentifier", + "src": "4385:5:12" + }, + { + "kind": "number", + "nativeSrc": "4392:4:12", + "nodeType": "YulLiteral", + "src": "4392:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4381:3:12", + "nodeType": "YulIdentifier", + "src": "4381:3:12" + }, + "nativeSrc": "4381:16:12", + "nodeType": "YulFunctionCall", + "src": "4381:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4375:5:12", + "nodeType": "YulIdentifier", + "src": "4375:5:12" + }, + "nativeSrc": "4375:23:12", + "nodeType": "YulFunctionCall", + "src": "4375:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4359:12:12", + "nodeType": "YulTypedName", + "src": "4359:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4445:12:12", + "nodeType": "YulIdentifier", + "src": "4445:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4463:3:12", + "nodeType": "YulIdentifier", + "src": "4463:3:12" + }, + { + "kind": "number", + "nativeSrc": "4468:4:12", + "nodeType": "YulLiteral", + "src": "4468:4:12", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4459:3:12", + "nodeType": "YulIdentifier", + "src": "4459:3:12" + }, + "nativeSrc": "4459:14:12", + "nodeType": "YulFunctionCall", + "src": "4459:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4411:33:12", + "nodeType": "YulIdentifier", + "src": "4411:33:12" + }, + "nativeSrc": "4411:63:12", + "nodeType": "YulFunctionCall", + "src": "4411:63:12" + }, + "nativeSrc": "4411:63:12", + "nodeType": "YulExpressionStatement", + "src": "4411:63:12" + } + ] + }, + { + "nativeSrc": "4494:185:12", + "nodeType": "YulBlock", + "src": "4494:185:12", + "statements": [ + { + "nativeSrc": "4536:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4536:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4566:5:12", + "nodeType": "YulIdentifier", + "src": "4566:5:12" + }, + { + "kind": "number", + "nativeSrc": "4573:4:12", + "nodeType": "YulLiteral", + "src": "4573:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4562:3:12", + "nodeType": "YulIdentifier", + "src": "4562:3:12" + }, + "nativeSrc": "4562:16:12", + "nodeType": "YulFunctionCall", + "src": "4562:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4556:5:12", + "nodeType": "YulIdentifier", + "src": "4556:5:12" + }, + "nativeSrc": "4556:23:12", + "nodeType": "YulFunctionCall", + "src": "4556:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4540:12:12", + "nodeType": "YulTypedName", + "src": "4540:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4640:12:12", + "nodeType": "YulIdentifier", + "src": "4640:12:12" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4658:3:12", + "nodeType": "YulIdentifier", + "src": "4658:3:12" + }, + { + "kind": "number", + "nativeSrc": "4663:4:12", + "nodeType": "YulLiteral", + "src": "4663:4:12", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4654:3:12", + "nodeType": "YulIdentifier", + "src": "4654:3:12" + }, + "nativeSrc": "4654:14:12", + "nodeType": "YulFunctionCall", + "src": "4654:14:12" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$3239_to_t_uint8", + "nativeSrc": "4592:47:12", + "nodeType": "YulIdentifier", + "src": "4592:47:12" + }, + "nativeSrc": "4592:77:12", + "nodeType": "YulFunctionCall", + "src": "4592:77:12" + }, + "nativeSrc": "4592:77:12", + "nodeType": "YulExpressionStatement", + "src": "4592:77:12" + } + ] + }, + { + "nativeSrc": "4689:234:12", + "nodeType": "YulBlock", + "src": "4689:234:12", + "statements": [ + { + "nativeSrc": "4723:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4723:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4753:5:12", + "nodeType": "YulIdentifier", + "src": "4753:5:12" + }, + { + "kind": "number", + "nativeSrc": "4760:4:12", + "nodeType": "YulLiteral", + "src": "4760:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4749:3:12", + "nodeType": "YulIdentifier", + "src": "4749:3:12" + }, + "nativeSrc": "4749:16:12", + "nodeType": "YulFunctionCall", + "src": "4749:16:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4743:5:12", + "nodeType": "YulIdentifier", + "src": "4743:5:12" + }, + "nativeSrc": "4743:23:12", + "nodeType": "YulFunctionCall", + "src": "4743:23:12" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4727:12:12", + "nodeType": "YulTypedName", + "src": "4727:12:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4791:3:12", + "nodeType": "YulIdentifier", + "src": "4791:3:12" + }, + { + "kind": "number", + "nativeSrc": "4796:4:12", + "nodeType": "YulLiteral", + "src": "4796:4:12", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4787:3:12", + "nodeType": "YulIdentifier", + "src": "4787:3:12" + }, + "nativeSrc": "4787:14:12", + "nodeType": "YulFunctionCall", + "src": "4787:14:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4807:4:12", + "nodeType": "YulIdentifier", + "src": "4807:4:12" + }, + { + "name": "pos", + "nativeSrc": "4813:3:12", + "nodeType": "YulIdentifier", + "src": "4813:3:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4803:3:12", + "nodeType": "YulIdentifier", + "src": "4803:3:12" + }, + "nativeSrc": "4803:14:12", + "nodeType": "YulFunctionCall", + "src": "4803:14:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4780:6:12", + "nodeType": "YulIdentifier", + "src": "4780:6:12" + }, + "nativeSrc": "4780:38:12", + "nodeType": "YulFunctionCall", + "src": "4780:38:12" + }, + "nativeSrc": "4780:38:12", + "nodeType": "YulExpressionStatement", + "src": "4780:38:12" + }, + { + "nativeSrc": "4831:81:12", + "nodeType": "YulAssignment", + "src": "4831:81:12", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4893:12:12", + "nodeType": "YulIdentifier", + "src": "4893:12:12" + }, + { + "name": "tail", + "nativeSrc": "4907:4:12", + "nodeType": "YulIdentifier", + "src": "4907:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "4839:53:12", + "nodeType": "YulIdentifier", + "src": "4839:53:12" + }, + "nativeSrc": "4839:73:12", + "nodeType": "YulFunctionCall", + "src": "4839:73:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4831:4:12", + "nodeType": "YulIdentifier", + "src": "4831:4:12" + } + ] + } + ] + }, + { + "nativeSrc": "4933:11:12", + "nodeType": "YulAssignment", + "src": "4933:11:12", + "value": { + "name": "tail", + "nativeSrc": "4940:4:12", + "nodeType": "YulIdentifier", + "src": "4940:4:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4933:3:12", + "nodeType": "YulIdentifier", + "src": "4933:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "3138:1812:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3249:5:12", + "nodeType": "YulTypedName", + "src": "3249:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3256:3:12", + "nodeType": "YulTypedName", + "src": "3256:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "3265:3:12", + "nodeType": "YulTypedName", + "src": "3265:3:12", + "type": "" + } + ], + "src": "3138:1812:12" + }, + { + "body": { + "nativeSrc": "5112:233:12", + "nodeType": "YulBlock", + "src": "5112:233:12", + "statements": [ + { + "nativeSrc": "5122:26:12", + "nodeType": "YulAssignment", + "src": "5122:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5134:9:12", + "nodeType": "YulIdentifier", + "src": "5134:9:12" + }, + { + "kind": "number", + "nativeSrc": "5145:2:12", + "nodeType": "YulLiteral", + "src": "5145:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5130:3:12", + "nodeType": "YulIdentifier", + "src": "5130:3:12" + }, + "nativeSrc": "5130:18:12", + "nodeType": "YulFunctionCall", + "src": "5130:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5122:4:12", + "nodeType": "YulIdentifier", + "src": "5122:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5169:9:12", + "nodeType": "YulIdentifier", + "src": "5169:9:12" + }, + { + "kind": "number", + "nativeSrc": "5180:1:12", + "nodeType": "YulLiteral", + "src": "5180:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5165:3:12", + "nodeType": "YulIdentifier", + "src": "5165:3:12" + }, + "nativeSrc": "5165:17:12", + "nodeType": "YulFunctionCall", + "src": "5165:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5188:4:12", + "nodeType": "YulIdentifier", + "src": "5188:4:12" + }, + { + "name": "headStart", + "nativeSrc": "5194:9:12", + "nodeType": "YulIdentifier", + "src": "5194:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5184:3:12", + "nodeType": "YulIdentifier", + "src": "5184:3:12" + }, + "nativeSrc": "5184:20:12", + "nodeType": "YulFunctionCall", + "src": "5184:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5158:6:12", + "nodeType": "YulIdentifier", + "src": "5158:6:12" + }, + "nativeSrc": "5158:47:12", + "nodeType": "YulFunctionCall", + "src": "5158:47:12" + }, + "nativeSrc": "5158:47:12", + "nodeType": "YulExpressionStatement", + "src": "5158:47:12" + }, + { + "nativeSrc": "5214:124:12", + "nodeType": "YulAssignment", + "src": "5214:124:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5324:6:12", + "nodeType": "YulIdentifier", + "src": "5324:6:12" + }, + { + "name": "tail", + "nativeSrc": "5333:4:12", + "nodeType": "YulIdentifier", + "src": "5333:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack", + "nativeSrc": "5222:101:12", + "nodeType": "YulIdentifier", + "src": "5222:101:12" + }, + "nativeSrc": "5222:116:12", + "nodeType": "YulFunctionCall", + "src": "5222:116:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5214:4:12", + "nodeType": "YulIdentifier", + "src": "5214:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed", + "nativeSrc": "4956:389:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5084:9:12", + "nodeType": "YulTypedName", + "src": "5084:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5096:6:12", + "nodeType": "YulTypedName", + "src": "5096:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5107:4:12", + "nodeType": "YulTypedName", + "src": "5107:4:12", + "type": "" + } + ], + "src": "4956:389:12" + }, + { + "body": { + "nativeSrc": "5391:35:12", + "nodeType": "YulBlock", + "src": "5391:35:12", + "statements": [ + { + "nativeSrc": "5401:19:12", + "nodeType": "YulAssignment", + "src": "5401:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5417:2:12", + "nodeType": "YulLiteral", + "src": "5417:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5411:5:12", + "nodeType": "YulIdentifier", + "src": "5411:5:12" + }, + "nativeSrc": "5411:9:12", + "nodeType": "YulFunctionCall", + "src": "5411:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "5401:6:12", + "nodeType": "YulIdentifier", + "src": "5401:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "5351:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "5384:6:12", + "nodeType": "YulTypedName", + "src": "5384:6:12", + "type": "" + } + ], + "src": "5351:75:12" + }, + { + "body": { + "nativeSrc": "5521:28:12", + "nodeType": "YulBlock", + "src": "5521:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5538:1:12", + "nodeType": "YulLiteral", + "src": "5538:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5541:1:12", + "nodeType": "YulLiteral", + "src": "5541:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5531:6:12", + "nodeType": "YulIdentifier", + "src": "5531:6:12" + }, + "nativeSrc": "5531:12:12", + "nodeType": "YulFunctionCall", + "src": "5531:12:12" + }, + "nativeSrc": "5531:12:12", + "nodeType": "YulExpressionStatement", + "src": "5531:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5432:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5432:117:12" + }, + { + "body": { + "nativeSrc": "5644:28:12", + "nodeType": "YulBlock", + "src": "5644:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5661:1:12", + "nodeType": "YulLiteral", + "src": "5661:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5664:1:12", + "nodeType": "YulLiteral", + "src": "5664:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5654:6:12", + "nodeType": "YulIdentifier", + "src": "5654:6:12" + }, + "nativeSrc": "5654:12:12", + "nodeType": "YulFunctionCall", + "src": "5654:12:12" + }, + "nativeSrc": "5654:12:12", + "nodeType": "YulExpressionStatement", + "src": "5654:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5555:117:12", + "nodeType": "YulFunctionDefinition", + "src": "5555:117:12" + }, + { + "body": { + "nativeSrc": "5721:79:12", + "nodeType": "YulBlock", + "src": "5721:79:12", + "statements": [ + { + "body": { + "nativeSrc": "5778:16:12", + "nodeType": "YulBlock", + "src": "5778:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5787:1:12", + "nodeType": "YulLiteral", + "src": "5787:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5790:1:12", + "nodeType": "YulLiteral", + "src": "5790:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5780:6:12", + "nodeType": "YulIdentifier", + "src": "5780:6:12" + }, + "nativeSrc": "5780:12:12", + "nodeType": "YulFunctionCall", + "src": "5780:12:12" + }, + "nativeSrc": "5780:12:12", + "nodeType": "YulExpressionStatement", + "src": "5780:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5744:5:12", + "nodeType": "YulIdentifier", + "src": "5744:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5769:5:12", + "nodeType": "YulIdentifier", + "src": "5769:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5751:17:12", + "nodeType": "YulIdentifier", + "src": "5751:17:12" + }, + "nativeSrc": "5751:24:12", + "nodeType": "YulFunctionCall", + "src": "5751:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5741:2:12", + "nodeType": "YulIdentifier", + "src": "5741:2:12" + }, + "nativeSrc": "5741:35:12", + "nodeType": "YulFunctionCall", + "src": "5741:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5734:6:12", + "nodeType": "YulIdentifier", + "src": "5734:6:12" + }, + "nativeSrc": "5734:43:12", + "nodeType": "YulFunctionCall", + "src": "5734:43:12" + }, + "nativeSrc": "5731:63:12", + "nodeType": "YulIf", + "src": "5731:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "5678:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5714:5:12", + "nodeType": "YulTypedName", + "src": "5714:5:12", + "type": "" + } + ], + "src": "5678:122:12" + }, + { + "body": { + "nativeSrc": "5858:87:12", + "nodeType": "YulBlock", + "src": "5858:87:12", + "statements": [ + { + "nativeSrc": "5868:29:12", + "nodeType": "YulAssignment", + "src": "5868:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5890:6:12", + "nodeType": "YulIdentifier", + "src": "5890:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5877:12:12", + "nodeType": "YulIdentifier", + "src": "5877:12:12" + }, + "nativeSrc": "5877:20:12", + "nodeType": "YulFunctionCall", + "src": "5877:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5868:5:12", + "nodeType": "YulIdentifier", + "src": "5868:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5933:5:12", + "nodeType": "YulIdentifier", + "src": "5933:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "5906:26:12", + "nodeType": "YulIdentifier", + "src": "5906:26:12" + }, + "nativeSrc": "5906:33:12", + "nodeType": "YulFunctionCall", + "src": "5906:33:12" + }, + "nativeSrc": "5906:33:12", + "nodeType": "YulExpressionStatement", + "src": "5906:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "5806:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5836:6:12", + "nodeType": "YulTypedName", + "src": "5836:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5844:3:12", + "nodeType": "YulTypedName", + "src": "5844:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "5852:5:12", + "nodeType": "YulTypedName", + "src": "5852:5:12", + "type": "" + } + ], + "src": "5806:139:12" + }, + { + "body": { + "nativeSrc": "5994:79:12", + "nodeType": "YulBlock", + "src": "5994:79:12", + "statements": [ + { + "body": { + "nativeSrc": "6051:16:12", + "nodeType": "YulBlock", + "src": "6051:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6060:1:12", + "nodeType": "YulLiteral", + "src": "6060:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6063:1:12", + "nodeType": "YulLiteral", + "src": "6063:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6053:6:12", + "nodeType": "YulIdentifier", + "src": "6053:6:12" + }, + "nativeSrc": "6053:12:12", + "nodeType": "YulFunctionCall", + "src": "6053:12:12" + }, + "nativeSrc": "6053:12:12", + "nodeType": "YulExpressionStatement", + "src": "6053:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6017:5:12", + "nodeType": "YulIdentifier", + "src": "6017:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6042:5:12", + "nodeType": "YulIdentifier", + "src": "6042:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6024:17:12", + "nodeType": "YulIdentifier", + "src": "6024:17:12" + }, + "nativeSrc": "6024:24:12", + "nodeType": "YulFunctionCall", + "src": "6024:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6014:2:12", + "nodeType": "YulIdentifier", + "src": "6014:2:12" + }, + "nativeSrc": "6014:35:12", + "nodeType": "YulFunctionCall", + "src": "6014:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6007:6:12", + "nodeType": "YulIdentifier", + "src": "6007:6:12" + }, + "nativeSrc": "6007:43:12", + "nodeType": "YulFunctionCall", + "src": "6007:43:12" + }, + "nativeSrc": "6004:63:12", + "nodeType": "YulIf", + "src": "6004:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "5951:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5987:5:12", + "nodeType": "YulTypedName", + "src": "5987:5:12", + "type": "" + } + ], + "src": "5951:122:12" + }, + { + "body": { + "nativeSrc": "6131:87:12", + "nodeType": "YulBlock", + "src": "6131:87:12", + "statements": [ + { + "nativeSrc": "6141:29:12", + "nodeType": "YulAssignment", + "src": "6141:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6163:6:12", + "nodeType": "YulIdentifier", + "src": "6163:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6150:12:12", + "nodeType": "YulIdentifier", + "src": "6150:12:12" + }, + "nativeSrc": "6150:20:12", + "nodeType": "YulFunctionCall", + "src": "6150:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6141:5:12", + "nodeType": "YulIdentifier", + "src": "6141:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6206:5:12", + "nodeType": "YulIdentifier", + "src": "6206:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "6179:26:12", + "nodeType": "YulIdentifier", + "src": "6179:26:12" + }, + "nativeSrc": "6179:33:12", + "nodeType": "YulFunctionCall", + "src": "6179:33:12" + }, + "nativeSrc": "6179:33:12", + "nodeType": "YulExpressionStatement", + "src": "6179:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "6079:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6109:6:12", + "nodeType": "YulTypedName", + "src": "6109:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6117:3:12", + "nodeType": "YulTypedName", + "src": "6117:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "6125:5:12", + "nodeType": "YulTypedName", + "src": "6125:5:12", + "type": "" + } + ], + "src": "6079:139:12" + }, + { + "body": { + "nativeSrc": "6313:28:12", + "nodeType": "YulBlock", + "src": "6313:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6330:1:12", + "nodeType": "YulLiteral", + "src": "6330:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6333:1:12", + "nodeType": "YulLiteral", + "src": "6333:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6323:6:12", + "nodeType": "YulIdentifier", + "src": "6323:6:12" + }, + "nativeSrc": "6323:12:12", + "nodeType": "YulFunctionCall", + "src": "6323:12:12" + }, + "nativeSrc": "6323:12:12", + "nodeType": "YulExpressionStatement", + "src": "6323:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6224:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6224:117:12" + }, + { + "body": { + "nativeSrc": "6436:28:12", + "nodeType": "YulBlock", + "src": "6436:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6453:1:12", + "nodeType": "YulLiteral", + "src": "6453:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6456:1:12", + "nodeType": "YulLiteral", + "src": "6456:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6446:6:12", + "nodeType": "YulIdentifier", + "src": "6446:6:12" + }, + "nativeSrc": "6446:12:12", + "nodeType": "YulFunctionCall", + "src": "6446:12:12" + }, + "nativeSrc": "6446:12:12", + "nodeType": "YulExpressionStatement", + "src": "6446:12:12" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "6347:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6347:117:12" + }, + { + "body": { + "nativeSrc": "6559:28:12", + "nodeType": "YulBlock", + "src": "6559:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6576:1:12", + "nodeType": "YulLiteral", + "src": "6576:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6579:1:12", + "nodeType": "YulLiteral", + "src": "6579:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6569:6:12", + "nodeType": "YulIdentifier", + "src": "6569:6:12" + }, + "nativeSrc": "6569:12:12", + "nodeType": "YulFunctionCall", + "src": "6569:12:12" + }, + "nativeSrc": "6569:12:12", + "nodeType": "YulExpressionStatement", + "src": "6569:12:12" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "6470:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6470:117:12" + }, + { + "body": { + "nativeSrc": "6700:478:12", + "nodeType": "YulBlock", + "src": "6700:478:12", + "statements": [ + { + "body": { + "nativeSrc": "6749:83:12", + "nodeType": "YulBlock", + "src": "6749:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6751:77:12", + "nodeType": "YulIdentifier", + "src": "6751:77:12" + }, + "nativeSrc": "6751:79:12", + "nodeType": "YulFunctionCall", + "src": "6751:79:12" + }, + "nativeSrc": "6751:79:12", + "nodeType": "YulExpressionStatement", + "src": "6751:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6728:6:12", + "nodeType": "YulIdentifier", + "src": "6728:6:12" + }, + { + "kind": "number", + "nativeSrc": "6736:4:12", + "nodeType": "YulLiteral", + "src": "6736:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6724:3:12", + "nodeType": "YulIdentifier", + "src": "6724:3:12" + }, + "nativeSrc": "6724:17:12", + "nodeType": "YulFunctionCall", + "src": "6724:17:12" + }, + { + "name": "end", + "nativeSrc": "6743:3:12", + "nodeType": "YulIdentifier", + "src": "6743:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6720:3:12", + "nodeType": "YulIdentifier", + "src": "6720:3:12" + }, + "nativeSrc": "6720:27:12", + "nodeType": "YulFunctionCall", + "src": "6720:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6713:6:12", + "nodeType": "YulIdentifier", + "src": "6713:6:12" + }, + "nativeSrc": "6713:35:12", + "nodeType": "YulFunctionCall", + "src": "6713:35:12" + }, + "nativeSrc": "6710:122:12", + "nodeType": "YulIf", + "src": "6710:122:12" + }, + { + "nativeSrc": "6841:30:12", + "nodeType": "YulAssignment", + "src": "6841:30:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6864:6:12", + "nodeType": "YulIdentifier", + "src": "6864:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6851:12:12", + "nodeType": "YulIdentifier", + "src": "6851:12:12" + }, + "nativeSrc": "6851:20:12", + "nodeType": "YulFunctionCall", + "src": "6851:20:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6841:6:12", + "nodeType": "YulIdentifier", + "src": "6841:6:12" + } + ] + }, + { + "body": { + "nativeSrc": "6914:83:12", + "nodeType": "YulBlock", + "src": "6914:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "6916:77:12", + "nodeType": "YulIdentifier", + "src": "6916:77:12" + }, + "nativeSrc": "6916:79:12", + "nodeType": "YulFunctionCall", + "src": "6916:79:12" + }, + "nativeSrc": "6916:79:12", + "nodeType": "YulExpressionStatement", + "src": "6916:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6886:6:12", + "nodeType": "YulIdentifier", + "src": "6886:6:12" + }, + { + "kind": "number", + "nativeSrc": "6894:18:12", + "nodeType": "YulLiteral", + "src": "6894:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6883:2:12", + "nodeType": "YulIdentifier", + "src": "6883:2:12" + }, + "nativeSrc": "6883:30:12", + "nodeType": "YulFunctionCall", + "src": "6883:30:12" + }, + "nativeSrc": "6880:117:12", + "nodeType": "YulIf", + "src": "6880:117:12" + }, + { + "nativeSrc": "7006:29:12", + "nodeType": "YulAssignment", + "src": "7006:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7022:6:12", + "nodeType": "YulIdentifier", + "src": "7022:6:12" + }, + { + "kind": "number", + "nativeSrc": "7030:4:12", + "nodeType": "YulLiteral", + "src": "7030:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7018:3:12", + "nodeType": "YulIdentifier", + "src": "7018:3:12" + }, + "nativeSrc": "7018:17:12", + "nodeType": "YulFunctionCall", + "src": "7018:17:12" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "7006:8:12", + "nodeType": "YulIdentifier", + "src": "7006:8:12" + } + ] + }, + { + "body": { + "nativeSrc": "7089:83:12", + "nodeType": "YulBlock", + "src": "7089:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7091:77:12", + "nodeType": "YulIdentifier", + "src": "7091:77:12" + }, + "nativeSrc": "7091:79:12", + "nodeType": "YulFunctionCall", + "src": "7091:79:12" + }, + "nativeSrc": "7091:79:12", + "nodeType": "YulExpressionStatement", + "src": "7091:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "7054:8:12", + "nodeType": "YulIdentifier", + "src": "7054:8:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7068:6:12", + "nodeType": "YulIdentifier", + "src": "7068:6:12" + }, + { + "kind": "number", + "nativeSrc": "7076:4:12", + "nodeType": "YulLiteral", + "src": "7076:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7064:3:12", + "nodeType": "YulIdentifier", + "src": "7064:3:12" + }, + "nativeSrc": "7064:17:12", + "nodeType": "YulFunctionCall", + "src": "7064:17:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7050:3:12", + "nodeType": "YulIdentifier", + "src": "7050:3:12" + }, + "nativeSrc": "7050:32:12", + "nodeType": "YulFunctionCall", + "src": "7050:32:12" + }, + { + "name": "end", + "nativeSrc": "7084:3:12", + "nodeType": "YulIdentifier", + "src": "7084:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7047:2:12", + "nodeType": "YulIdentifier", + "src": "7047:2:12" + }, + "nativeSrc": "7047:41:12", + "nodeType": "YulFunctionCall", + "src": "7047:41:12" + }, + "nativeSrc": "7044:128:12", + "nodeType": "YulIf", + "src": "7044:128:12" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "6610:568:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6667:6:12", + "nodeType": "YulTypedName", + "src": "6667:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6675:3:12", + "nodeType": "YulTypedName", + "src": "6675:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "6683:8:12", + "nodeType": "YulTypedName", + "src": "6683:8:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6693:6:12", + "nodeType": "YulTypedName", + "src": "6693:6:12", + "type": "" + } + ], + "src": "6610:568:12" + }, + { + "body": { + "nativeSrc": "7319:714:12", + "nodeType": "YulBlock", + "src": "7319:714:12", + "statements": [ + { + "body": { + "nativeSrc": "7365:83:12", + "nodeType": "YulBlock", + "src": "7365:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "7367:77:12", + "nodeType": "YulIdentifier", + "src": "7367:77:12" + }, + "nativeSrc": "7367:79:12", + "nodeType": "YulFunctionCall", + "src": "7367:79:12" + }, + "nativeSrc": "7367:79:12", + "nodeType": "YulExpressionStatement", + "src": "7367:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "7340:7:12", + "nodeType": "YulIdentifier", + "src": "7340:7:12" + }, + { + "name": "headStart", + "nativeSrc": "7349:9:12", + "nodeType": "YulIdentifier", + "src": "7349:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7336:3:12", + "nodeType": "YulIdentifier", + "src": "7336:3:12" + }, + "nativeSrc": "7336:23:12", + "nodeType": "YulFunctionCall", + "src": "7336:23:12" + }, + { + "kind": "number", + "nativeSrc": "7361:2:12", + "nodeType": "YulLiteral", + "src": "7361:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "7332:3:12", + "nodeType": "YulIdentifier", + "src": "7332:3:12" + }, + "nativeSrc": "7332:32:12", + "nodeType": "YulFunctionCall", + "src": "7332:32:12" + }, + "nativeSrc": "7329:119:12", + "nodeType": "YulIf", + "src": "7329:119:12" + }, + { + "nativeSrc": "7458:117:12", + "nodeType": "YulBlock", + "src": "7458:117:12", + "statements": [ + { + "nativeSrc": "7473:15:12", + "nodeType": "YulVariableDeclaration", + "src": "7473:15:12", + "value": { + "kind": "number", + "nativeSrc": "7487:1:12", + "nodeType": "YulLiteral", + "src": "7487:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7477:6:12", + "nodeType": "YulTypedName", + "src": "7477:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7502:63:12", + "nodeType": "YulAssignment", + "src": "7502:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7537:9:12", + "nodeType": "YulIdentifier", + "src": "7537:9:12" + }, + { + "name": "offset", + "nativeSrc": "7548:6:12", + "nodeType": "YulIdentifier", + "src": "7548:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7533:3:12", + "nodeType": "YulIdentifier", + "src": "7533:3:12" + }, + "nativeSrc": "7533:22:12", + "nodeType": "YulFunctionCall", + "src": "7533:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7557:7:12", + "nodeType": "YulIdentifier", + "src": "7557:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "7512:20:12", + "nodeType": "YulIdentifier", + "src": "7512:20:12" + }, + "nativeSrc": "7512:53:12", + "nodeType": "YulFunctionCall", + "src": "7512:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7502:6:12", + "nodeType": "YulIdentifier", + "src": "7502:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "7585:118:12", + "nodeType": "YulBlock", + "src": "7585:118:12", + "statements": [ + { + "nativeSrc": "7600:16:12", + "nodeType": "YulVariableDeclaration", + "src": "7600:16:12", + "value": { + "kind": "number", + "nativeSrc": "7614:2:12", + "nodeType": "YulLiteral", + "src": "7614:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7604:6:12", + "nodeType": "YulTypedName", + "src": "7604:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7630:63:12", + "nodeType": "YulAssignment", + "src": "7630:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7665:9:12", + "nodeType": "YulIdentifier", + "src": "7665:9:12" + }, + { + "name": "offset", + "nativeSrc": "7676:6:12", + "nodeType": "YulIdentifier", + "src": "7676:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7661:3:12", + "nodeType": "YulIdentifier", + "src": "7661:3:12" + }, + "nativeSrc": "7661:22:12", + "nodeType": "YulFunctionCall", + "src": "7661:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "7685:7:12", + "nodeType": "YulIdentifier", + "src": "7685:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "7640:20:12", + "nodeType": "YulIdentifier", + "src": "7640:20:12" + }, + "nativeSrc": "7640:53:12", + "nodeType": "YulFunctionCall", + "src": "7640:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7630:6:12", + "nodeType": "YulIdentifier", + "src": "7630:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "7713:313:12", + "nodeType": "YulBlock", + "src": "7713:313:12", + "statements": [ + { + "nativeSrc": "7728:46:12", + "nodeType": "YulVariableDeclaration", + "src": "7728:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7759:9:12", + "nodeType": "YulIdentifier", + "src": "7759:9:12" + }, + { + "kind": "number", + "nativeSrc": "7770:2:12", + "nodeType": "YulLiteral", + "src": "7770:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7755:3:12", + "nodeType": "YulIdentifier", + "src": "7755:3:12" + }, + "nativeSrc": "7755:18:12", + "nodeType": "YulFunctionCall", + "src": "7755:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7742:12:12", + "nodeType": "YulIdentifier", + "src": "7742:12:12" + }, + "nativeSrc": "7742:32:12", + "nodeType": "YulFunctionCall", + "src": "7742:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7732:6:12", + "nodeType": "YulTypedName", + "src": "7732:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7821:83:12", + "nodeType": "YulBlock", + "src": "7821:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "7823:77:12", + "nodeType": "YulIdentifier", + "src": "7823:77:12" + }, + "nativeSrc": "7823:79:12", + "nodeType": "YulFunctionCall", + "src": "7823:79:12" + }, + "nativeSrc": "7823:79:12", + "nodeType": "YulExpressionStatement", + "src": "7823:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7793:6:12", + "nodeType": "YulIdentifier", + "src": "7793:6:12" + }, + { + "kind": "number", + "nativeSrc": "7801:18:12", + "nodeType": "YulLiteral", + "src": "7801:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7790:2:12", + "nodeType": "YulIdentifier", + "src": "7790:2:12" + }, + "nativeSrc": "7790:30:12", + "nodeType": "YulFunctionCall", + "src": "7790:30:12" + }, + "nativeSrc": "7787:117:12", + "nodeType": "YulIf", + "src": "7787:117:12" + }, + { + "nativeSrc": "7918:98:12", + "nodeType": "YulAssignment", + "src": "7918:98:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7988:9:12", + "nodeType": "YulIdentifier", + "src": "7988:9:12" + }, + { + "name": "offset", + "nativeSrc": "7999:6:12", + "nodeType": "YulIdentifier", + "src": "7999:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7984:3:12", + "nodeType": "YulIdentifier", + "src": "7984:3:12" + }, + "nativeSrc": "7984:22:12", + "nodeType": "YulFunctionCall", + "src": "7984:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "8008:7:12", + "nodeType": "YulIdentifier", + "src": "8008:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "7936:47:12", + "nodeType": "YulIdentifier", + "src": "7936:47:12" + }, + "nativeSrc": "7936:80:12", + "nodeType": "YulFunctionCall", + "src": "7936:80:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "7918:6:12", + "nodeType": "YulIdentifier", + "src": "7918:6:12" + }, + { + "name": "value3", + "nativeSrc": "7926:6:12", + "nodeType": "YulIdentifier", + "src": "7926:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "7184:849:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7265:9:12", + "nodeType": "YulTypedName", + "src": "7265:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "7276:7:12", + "nodeType": "YulTypedName", + "src": "7276:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "7288:6:12", + "nodeType": "YulTypedName", + "src": "7288:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7296:6:12", + "nodeType": "YulTypedName", + "src": "7296:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7304:6:12", + "nodeType": "YulTypedName", + "src": "7304:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "7312:6:12", + "nodeType": "YulTypedName", + "src": "7312:6:12", + "type": "" + } + ], + "src": "7184:849:12" + }, + { + "body": { + "nativeSrc": "8105:263:12", + "nodeType": "YulBlock", + "src": "8105:263:12", + "statements": [ + { + "body": { + "nativeSrc": "8151:83:12", + "nodeType": "YulBlock", + "src": "8151:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8153:77:12", + "nodeType": "YulIdentifier", + "src": "8153:77:12" + }, + "nativeSrc": "8153:79:12", + "nodeType": "YulFunctionCall", + "src": "8153:79:12" + }, + "nativeSrc": "8153:79:12", + "nodeType": "YulExpressionStatement", + "src": "8153:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8126:7:12", + "nodeType": "YulIdentifier", + "src": "8126:7:12" + }, + { + "name": "headStart", + "nativeSrc": "8135:9:12", + "nodeType": "YulIdentifier", + "src": "8135:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8122:3:12", + "nodeType": "YulIdentifier", + "src": "8122:3:12" + }, + "nativeSrc": "8122:23:12", + "nodeType": "YulFunctionCall", + "src": "8122:23:12" + }, + { + "kind": "number", + "nativeSrc": "8147:2:12", + "nodeType": "YulLiteral", + "src": "8147:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8118:3:12", + "nodeType": "YulIdentifier", + "src": "8118:3:12" + }, + "nativeSrc": "8118:32:12", + "nodeType": "YulFunctionCall", + "src": "8118:32:12" + }, + "nativeSrc": "8115:119:12", + "nodeType": "YulIf", + "src": "8115:119:12" + }, + { + "nativeSrc": "8244:117:12", + "nodeType": "YulBlock", + "src": "8244:117:12", + "statements": [ + { + "nativeSrc": "8259:15:12", + "nodeType": "YulVariableDeclaration", + "src": "8259:15:12", + "value": { + "kind": "number", + "nativeSrc": "8273:1:12", + "nodeType": "YulLiteral", + "src": "8273:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8263:6:12", + "nodeType": "YulTypedName", + "src": "8263:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8288:63:12", + "nodeType": "YulAssignment", + "src": "8288:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8323:9:12", + "nodeType": "YulIdentifier", + "src": "8323:9:12" + }, + { + "name": "offset", + "nativeSrc": "8334:6:12", + "nodeType": "YulIdentifier", + "src": "8334:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8319:3:12", + "nodeType": "YulIdentifier", + "src": "8319:3:12" + }, + "nativeSrc": "8319:22:12", + "nodeType": "YulFunctionCall", + "src": "8319:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "8343:7:12", + "nodeType": "YulIdentifier", + "src": "8343:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8298:20:12", + "nodeType": "YulIdentifier", + "src": "8298:20:12" + }, + "nativeSrc": "8298:53:12", + "nodeType": "YulFunctionCall", + "src": "8298:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8288:6:12", + "nodeType": "YulIdentifier", + "src": "8288:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "8039:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8075:9:12", + "nodeType": "YulTypedName", + "src": "8075:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8086:7:12", + "nodeType": "YulTypedName", + "src": "8086:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8098:6:12", + "nodeType": "YulTypedName", + "src": "8098:6:12", + "type": "" + } + ], + "src": "8039:329:12" + }, + { + "body": { + "nativeSrc": "8439:53:12", + "nodeType": "YulBlock", + "src": "8439:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8456:3:12", + "nodeType": "YulIdentifier", + "src": "8456:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8479:5:12", + "nodeType": "YulIdentifier", + "src": "8479:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "8461:17:12", + "nodeType": "YulIdentifier", + "src": "8461:17:12" + }, + "nativeSrc": "8461:24:12", + "nodeType": "YulFunctionCall", + "src": "8461:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8449:6:12", + "nodeType": "YulIdentifier", + "src": "8449:6:12" + }, + "nativeSrc": "8449:37:12", + "nodeType": "YulFunctionCall", + "src": "8449:37:12" + }, + "nativeSrc": "8449:37:12", + "nodeType": "YulExpressionStatement", + "src": "8449:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8374:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8427:5:12", + "nodeType": "YulTypedName", + "src": "8427:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8434:3:12", + "nodeType": "YulTypedName", + "src": "8434:3:12", + "type": "" + } + ], + "src": "8374:118:12" + }, + { + "body": { + "nativeSrc": "8596:124:12", + "nodeType": "YulBlock", + "src": "8596:124:12", + "statements": [ + { + "nativeSrc": "8606:26:12", + "nodeType": "YulAssignment", + "src": "8606:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8618:9:12", + "nodeType": "YulIdentifier", + "src": "8618:9:12" + }, + { + "kind": "number", + "nativeSrc": "8629:2:12", + "nodeType": "YulLiteral", + "src": "8629:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8614:3:12", + "nodeType": "YulIdentifier", + "src": "8614:3:12" + }, + "nativeSrc": "8614:18:12", + "nodeType": "YulFunctionCall", + "src": "8614:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8606:4:12", + "nodeType": "YulIdentifier", + "src": "8606:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8686:6:12", + "nodeType": "YulIdentifier", + "src": "8686:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8699:9:12", + "nodeType": "YulIdentifier", + "src": "8699:9:12" + }, + { + "kind": "number", + "nativeSrc": "8710:1:12", + "nodeType": "YulLiteral", + "src": "8710:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8695:3:12", + "nodeType": "YulIdentifier", + "src": "8695:3:12" + }, + "nativeSrc": "8695:17:12", + "nodeType": "YulFunctionCall", + "src": "8695:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8642:43:12", + "nodeType": "YulIdentifier", + "src": "8642:43:12" + }, + "nativeSrc": "8642:71:12", + "nodeType": "YulFunctionCall", + "src": "8642:71:12" + }, + "nativeSrc": "8642:71:12", + "nodeType": "YulExpressionStatement", + "src": "8642:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "8498:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8568:9:12", + "nodeType": "YulTypedName", + "src": "8568:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8580:6:12", + "nodeType": "YulTypedName", + "src": "8580:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8591:4:12", + "nodeType": "YulTypedName", + "src": "8591:4:12", + "type": "" + } + ], + "src": "8498:222:12" + }, + { + "body": { + "nativeSrc": "8789:80:12", + "nodeType": "YulBlock", + "src": "8789:80:12", + "statements": [ + { + "nativeSrc": "8799:22:12", + "nodeType": "YulAssignment", + "src": "8799:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8814:6:12", + "nodeType": "YulIdentifier", + "src": "8814:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8808:5:12", + "nodeType": "YulIdentifier", + "src": "8808:5:12" + }, + "nativeSrc": "8808:13:12", + "nodeType": "YulFunctionCall", + "src": "8808:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "8799:5:12", + "nodeType": "YulIdentifier", + "src": "8799:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8857:5:12", + "nodeType": "YulIdentifier", + "src": "8857:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "8830:26:12", + "nodeType": "YulIdentifier", + "src": "8830:26:12" + }, + "nativeSrc": "8830:33:12", + "nodeType": "YulFunctionCall", + "src": "8830:33:12" + }, + "nativeSrc": "8830:33:12", + "nodeType": "YulExpressionStatement", + "src": "8830:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "8726:143:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8767:6:12", + "nodeType": "YulTypedName", + "src": "8767:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8775:3:12", + "nodeType": "YulTypedName", + "src": "8775:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "8783:5:12", + "nodeType": "YulTypedName", + "src": "8783:5:12", + "type": "" + } + ], + "src": "8726:143:12" + }, + { + "body": { + "nativeSrc": "8952:274:12", + "nodeType": "YulBlock", + "src": "8952:274:12", + "statements": [ + { + "body": { + "nativeSrc": "8998:83:12", + "nodeType": "YulBlock", + "src": "8998:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9000:77:12", + "nodeType": "YulIdentifier", + "src": "9000:77:12" + }, + "nativeSrc": "9000:79:12", + "nodeType": "YulFunctionCall", + "src": "9000:79:12" + }, + "nativeSrc": "9000:79:12", + "nodeType": "YulExpressionStatement", + "src": "9000:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8973:7:12", + "nodeType": "YulIdentifier", + "src": "8973:7:12" + }, + { + "name": "headStart", + "nativeSrc": "8982:9:12", + "nodeType": "YulIdentifier", + "src": "8982:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8969:3:12", + "nodeType": "YulIdentifier", + "src": "8969:3:12" + }, + "nativeSrc": "8969:23:12", + "nodeType": "YulFunctionCall", + "src": "8969:23:12" + }, + { + "kind": "number", + "nativeSrc": "8994:2:12", + "nodeType": "YulLiteral", + "src": "8994:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8965:3:12", + "nodeType": "YulIdentifier", + "src": "8965:3:12" + }, + "nativeSrc": "8965:32:12", + "nodeType": "YulFunctionCall", + "src": "8965:32:12" + }, + "nativeSrc": "8962:119:12", + "nodeType": "YulIf", + "src": "8962:119:12" + }, + { + "nativeSrc": "9091:128:12", + "nodeType": "YulBlock", + "src": "9091:128:12", + "statements": [ + { + "nativeSrc": "9106:15:12", + "nodeType": "YulVariableDeclaration", + "src": "9106:15:12", + "value": { + "kind": "number", + "nativeSrc": "9120:1:12", + "nodeType": "YulLiteral", + "src": "9120:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9110:6:12", + "nodeType": "YulTypedName", + "src": "9110:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9135:74:12", + "nodeType": "YulAssignment", + "src": "9135:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9181:9:12", + "nodeType": "YulIdentifier", + "src": "9181:9:12" + }, + { + "name": "offset", + "nativeSrc": "9192:6:12", + "nodeType": "YulIdentifier", + "src": "9192:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9177:3:12", + "nodeType": "YulIdentifier", + "src": "9177:3:12" + }, + "nativeSrc": "9177:22:12", + "nodeType": "YulFunctionCall", + "src": "9177:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9201:7:12", + "nodeType": "YulIdentifier", + "src": "9201:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "9145:31:12", + "nodeType": "YulIdentifier", + "src": "9145:31:12" + }, + "nativeSrc": "9145:64:12", + "nodeType": "YulFunctionCall", + "src": "9145:64:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9135:6:12", + "nodeType": "YulIdentifier", + "src": "9135:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "8875:351:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8922:9:12", + "nodeType": "YulTypedName", + "src": "8922:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8933:7:12", + "nodeType": "YulTypedName", + "src": "8933:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8945:6:12", + "nodeType": "YulTypedName", + "src": "8945:6:12", + "type": "" + } + ], + "src": "8875:351:12" + }, + { + "body": { + "nativeSrc": "9321:28:12", + "nodeType": "YulBlock", + "src": "9321:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9338:1:12", + "nodeType": "YulLiteral", + "src": "9338:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9341:1:12", + "nodeType": "YulLiteral", + "src": "9341:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9331:6:12", + "nodeType": "YulIdentifier", + "src": "9331:6:12" + }, + "nativeSrc": "9331:12:12", + "nodeType": "YulFunctionCall", + "src": "9331:12:12" + }, + "nativeSrc": "9331:12:12", + "nodeType": "YulExpressionStatement", + "src": "9331:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "9232:117:12", + "nodeType": "YulFunctionDefinition", + "src": "9232:117:12" + }, + { + "body": { + "nativeSrc": "9383:152:12", + "nodeType": "YulBlock", + "src": "9383:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9400:1:12", + "nodeType": "YulLiteral", + "src": "9400:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9403:77:12", + "nodeType": "YulLiteral", + "src": "9403:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9393:6:12", + "nodeType": "YulIdentifier", + "src": "9393:6:12" + }, + "nativeSrc": "9393:88:12", + "nodeType": "YulFunctionCall", + "src": "9393:88:12" + }, + "nativeSrc": "9393:88:12", + "nodeType": "YulExpressionStatement", + "src": "9393:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9497:1:12", + "nodeType": "YulLiteral", + "src": "9497:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "9500:4:12", + "nodeType": "YulLiteral", + "src": "9500:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9490:6:12", + "nodeType": "YulIdentifier", + "src": "9490:6:12" + }, + "nativeSrc": "9490:15:12", + "nodeType": "YulFunctionCall", + "src": "9490:15:12" + }, + "nativeSrc": "9490:15:12", + "nodeType": "YulExpressionStatement", + "src": "9490:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9521:1:12", + "nodeType": "YulLiteral", + "src": "9521:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9524:4:12", + "nodeType": "YulLiteral", + "src": "9524:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9514:6:12", + "nodeType": "YulIdentifier", + "src": "9514:6:12" + }, + "nativeSrc": "9514:15:12", + "nodeType": "YulFunctionCall", + "src": "9514:15:12" + }, + "nativeSrc": "9514:15:12", + "nodeType": "YulExpressionStatement", + "src": "9514:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "9355:180:12", + "nodeType": "YulFunctionDefinition", + "src": "9355:180:12" + }, + { + "body": { + "nativeSrc": "9584:238:12", + "nodeType": "YulBlock", + "src": "9584:238:12", + "statements": [ + { + "nativeSrc": "9594:58:12", + "nodeType": "YulVariableDeclaration", + "src": "9594:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "9616:6:12", + "nodeType": "YulIdentifier", + "src": "9616:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "9646:4:12", + "nodeType": "YulIdentifier", + "src": "9646:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "9624:21:12", + "nodeType": "YulIdentifier", + "src": "9624:21:12" + }, + "nativeSrc": "9624:27:12", + "nodeType": "YulFunctionCall", + "src": "9624:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9612:3:12", + "nodeType": "YulIdentifier", + "src": "9612:3:12" + }, + "nativeSrc": "9612:40:12", + "nodeType": "YulFunctionCall", + "src": "9612:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "9598:10:12", + "nodeType": "YulTypedName", + "src": "9598:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9763:22:12", + "nodeType": "YulBlock", + "src": "9763:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9765:16:12", + "nodeType": "YulIdentifier", + "src": "9765:16:12" + }, + "nativeSrc": "9765:18:12", + "nodeType": "YulFunctionCall", + "src": "9765:18:12" + }, + "nativeSrc": "9765:18:12", + "nodeType": "YulExpressionStatement", + "src": "9765:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "9706:10:12", + "nodeType": "YulIdentifier", + "src": "9706:10:12" + }, + { + "kind": "number", + "nativeSrc": "9718:18:12", + "nodeType": "YulLiteral", + "src": "9718:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9703:2:12", + "nodeType": "YulIdentifier", + "src": "9703:2:12" + }, + "nativeSrc": "9703:34:12", + "nodeType": "YulFunctionCall", + "src": "9703:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "9742:10:12", + "nodeType": "YulIdentifier", + "src": "9742:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "9754:6:12", + "nodeType": "YulIdentifier", + "src": "9754:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9739:2:12", + "nodeType": "YulIdentifier", + "src": "9739:2:12" + }, + "nativeSrc": "9739:22:12", + "nodeType": "YulFunctionCall", + "src": "9739:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "9700:2:12", + "nodeType": "YulIdentifier", + "src": "9700:2:12" + }, + "nativeSrc": "9700:62:12", + "nodeType": "YulFunctionCall", + "src": "9700:62:12" + }, + "nativeSrc": "9697:88:12", + "nodeType": "YulIf", + "src": "9697:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9801:2:12", + "nodeType": "YulLiteral", + "src": "9801:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "9805:10:12", + "nodeType": "YulIdentifier", + "src": "9805:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9794:6:12", + "nodeType": "YulIdentifier", + "src": "9794:6:12" + }, + "nativeSrc": "9794:22:12", + "nodeType": "YulFunctionCall", + "src": "9794:22:12" + }, + "nativeSrc": "9794:22:12", + "nodeType": "YulExpressionStatement", + "src": "9794:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "9541:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "9570:6:12", + "nodeType": "YulTypedName", + "src": "9570:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "9578:4:12", + "nodeType": "YulTypedName", + "src": "9578:4:12", + "type": "" + } + ], + "src": "9541:281:12" + }, + { + "body": { + "nativeSrc": "9869:88:12", + "nodeType": "YulBlock", + "src": "9869:88:12", + "statements": [ + { + "nativeSrc": "9879:30:12", + "nodeType": "YulAssignment", + "src": "9879:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "9889:18:12", + "nodeType": "YulIdentifier", + "src": "9889:18:12" + }, + "nativeSrc": "9889:20:12", + "nodeType": "YulFunctionCall", + "src": "9889:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "9879:6:12", + "nodeType": "YulIdentifier", + "src": "9879:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "9938:6:12", + "nodeType": "YulIdentifier", + "src": "9938:6:12" + }, + { + "name": "size", + "nativeSrc": "9946:4:12", + "nodeType": "YulIdentifier", + "src": "9946:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "9918:19:12", + "nodeType": "YulIdentifier", + "src": "9918:19:12" + }, + "nativeSrc": "9918:33:12", + "nodeType": "YulFunctionCall", + "src": "9918:33:12" + }, + "nativeSrc": "9918:33:12", + "nodeType": "YulExpressionStatement", + "src": "9918:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "9828:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "9853:4:12", + "nodeType": "YulTypedName", + "src": "9853:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "9862:6:12", + "nodeType": "YulTypedName", + "src": "9862:6:12", + "type": "" + } + ], + "src": "9828:129:12" + }, + { + "body": { + "nativeSrc": "10030:241:12", + "nodeType": "YulBlock", + "src": "10030:241:12", + "statements": [ + { + "body": { + "nativeSrc": "10135:22:12", + "nodeType": "YulBlock", + "src": "10135:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "10137:16:12", + "nodeType": "YulIdentifier", + "src": "10137:16:12" + }, + "nativeSrc": "10137:18:12", + "nodeType": "YulFunctionCall", + "src": "10137:18:12" + }, + "nativeSrc": "10137:18:12", + "nodeType": "YulExpressionStatement", + "src": "10137:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10107:6:12", + "nodeType": "YulIdentifier", + "src": "10107:6:12" + }, + { + "kind": "number", + "nativeSrc": "10115:18:12", + "nodeType": "YulLiteral", + "src": "10115:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10104:2:12", + "nodeType": "YulIdentifier", + "src": "10104:2:12" + }, + "nativeSrc": "10104:30:12", + "nodeType": "YulFunctionCall", + "src": "10104:30:12" + }, + "nativeSrc": "10101:56:12", + "nodeType": "YulIf", + "src": "10101:56:12" + }, + { + "nativeSrc": "10167:37:12", + "nodeType": "YulAssignment", + "src": "10167:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10197:6:12", + "nodeType": "YulIdentifier", + "src": "10197:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "10175:21:12", + "nodeType": "YulIdentifier", + "src": "10175:21:12" + }, + "nativeSrc": "10175:29:12", + "nodeType": "YulFunctionCall", + "src": "10175:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "10167:4:12", + "nodeType": "YulIdentifier", + "src": "10167:4:12" + } + ] + }, + { + "nativeSrc": "10241:23:12", + "nodeType": "YulAssignment", + "src": "10241:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "10253:4:12", + "nodeType": "YulIdentifier", + "src": "10253:4:12" + }, + { + "kind": "number", + "nativeSrc": "10259:4:12", + "nodeType": "YulLiteral", + "src": "10259:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10249:3:12", + "nodeType": "YulIdentifier", + "src": "10249:3:12" + }, + "nativeSrc": "10249:15:12", + "nodeType": "YulFunctionCall", + "src": "10249:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "10241:4:12", + "nodeType": "YulIdentifier", + "src": "10241:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "9963:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "10014:6:12", + "nodeType": "YulTypedName", + "src": "10014:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "10025:4:12", + "nodeType": "YulTypedName", + "src": "10025:4:12", + "type": "" + } + ], + "src": "9963:308:12" + }, + { + "body": { + "nativeSrc": "10372:339:12", + "nodeType": "YulBlock", + "src": "10372:339:12", + "statements": [ + { + "nativeSrc": "10382:75:12", + "nodeType": "YulAssignment", + "src": "10382:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10449:6:12", + "nodeType": "YulIdentifier", + "src": "10449:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "10407:41:12", + "nodeType": "YulIdentifier", + "src": "10407:41:12" + }, + "nativeSrc": "10407:49:12", + "nodeType": "YulFunctionCall", + "src": "10407:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "10391:15:12", + "nodeType": "YulIdentifier", + "src": "10391:15:12" + }, + "nativeSrc": "10391:66:12", + "nodeType": "YulFunctionCall", + "src": "10391:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "10382:5:12", + "nodeType": "YulIdentifier", + "src": "10382:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "10473:5:12", + "nodeType": "YulIdentifier", + "src": "10473:5:12" + }, + { + "name": "length", + "nativeSrc": "10480:6:12", + "nodeType": "YulIdentifier", + "src": "10480:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10466:6:12", + "nodeType": "YulIdentifier", + "src": "10466:6:12" + }, + "nativeSrc": "10466:21:12", + "nodeType": "YulFunctionCall", + "src": "10466:21:12" + }, + "nativeSrc": "10466:21:12", + "nodeType": "YulExpressionStatement", + "src": "10466:21:12" + }, + { + "nativeSrc": "10496:27:12", + "nodeType": "YulVariableDeclaration", + "src": "10496:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "10511:5:12", + "nodeType": "YulIdentifier", + "src": "10511:5:12" + }, + { + "kind": "number", + "nativeSrc": "10518:4:12", + "nodeType": "YulLiteral", + "src": "10518:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10507:3:12", + "nodeType": "YulIdentifier", + "src": "10507:3:12" + }, + "nativeSrc": "10507:16:12", + "nodeType": "YulFunctionCall", + "src": "10507:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "10500:3:12", + "nodeType": "YulTypedName", + "src": "10500:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10561:83:12", + "nodeType": "YulBlock", + "src": "10561:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "10563:77:12", + "nodeType": "YulIdentifier", + "src": "10563:77:12" + }, + "nativeSrc": "10563:79:12", + "nodeType": "YulFunctionCall", + "src": "10563:79:12" + }, + "nativeSrc": "10563:79:12", + "nodeType": "YulExpressionStatement", + "src": "10563:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10542:3:12", + "nodeType": "YulIdentifier", + "src": "10542:3:12" + }, + { + "name": "length", + "nativeSrc": "10547:6:12", + "nodeType": "YulIdentifier", + "src": "10547:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10538:3:12", + "nodeType": "YulIdentifier", + "src": "10538:3:12" + }, + "nativeSrc": "10538:16:12", + "nodeType": "YulFunctionCall", + "src": "10538:16:12" + }, + { + "name": "end", + "nativeSrc": "10556:3:12", + "nodeType": "YulIdentifier", + "src": "10556:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10535:2:12", + "nodeType": "YulIdentifier", + "src": "10535:2:12" + }, + "nativeSrc": "10535:25:12", + "nodeType": "YulFunctionCall", + "src": "10535:25:12" + }, + "nativeSrc": "10532:112:12", + "nodeType": "YulIf", + "src": "10532:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "10688:3:12", + "nodeType": "YulIdentifier", + "src": "10688:3:12" + }, + { + "name": "dst", + "nativeSrc": "10693:3:12", + "nodeType": "YulIdentifier", + "src": "10693:3:12" + }, + { + "name": "length", + "nativeSrc": "10698:6:12", + "nodeType": "YulIdentifier", + "src": "10698:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10653:34:12", + "nodeType": "YulIdentifier", + "src": "10653:34:12" + }, + "nativeSrc": "10653:52:12", + "nodeType": "YulFunctionCall", + "src": "10653:52:12" + }, + "nativeSrc": "10653:52:12", + "nodeType": "YulExpressionStatement", + "src": "10653:52:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "10277:434:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "10345:3:12", + "nodeType": "YulTypedName", + "src": "10345:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "10350:6:12", + "nodeType": "YulTypedName", + "src": "10350:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "10358:3:12", + "nodeType": "YulTypedName", + "src": "10358:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "10366:5:12", + "nodeType": "YulTypedName", + "src": "10366:5:12", + "type": "" + } + ], + "src": "10277:434:12" + }, + { + "body": { + "nativeSrc": "10804:282:12", + "nodeType": "YulBlock", + "src": "10804:282:12", + "statements": [ + { + "body": { + "nativeSrc": "10853:83:12", + "nodeType": "YulBlock", + "src": "10853:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "10855:77:12", + "nodeType": "YulIdentifier", + "src": "10855:77:12" + }, + "nativeSrc": "10855:79:12", + "nodeType": "YulFunctionCall", + "src": "10855:79:12" + }, + "nativeSrc": "10855:79:12", + "nodeType": "YulExpressionStatement", + "src": "10855:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10832:6:12", + "nodeType": "YulIdentifier", + "src": "10832:6:12" + }, + { + "kind": "number", + "nativeSrc": "10840:4:12", + "nodeType": "YulLiteral", + "src": "10840:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10828:3:12", + "nodeType": "YulIdentifier", + "src": "10828:3:12" + }, + "nativeSrc": "10828:17:12", + "nodeType": "YulFunctionCall", + "src": "10828:17:12" + }, + { + "name": "end", + "nativeSrc": "10847:3:12", + "nodeType": "YulIdentifier", + "src": "10847:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10824:3:12", + "nodeType": "YulIdentifier", + "src": "10824:3:12" + }, + "nativeSrc": "10824:27:12", + "nodeType": "YulFunctionCall", + "src": "10824:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10817:6:12", + "nodeType": "YulIdentifier", + "src": "10817:6:12" + }, + "nativeSrc": "10817:35:12", + "nodeType": "YulFunctionCall", + "src": "10817:35:12" + }, + "nativeSrc": "10814:122:12", + "nodeType": "YulIf", + "src": "10814:122:12" + }, + { + "nativeSrc": "10945:27:12", + "nodeType": "YulVariableDeclaration", + "src": "10945:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10965:6:12", + "nodeType": "YulIdentifier", + "src": "10965:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10959:5:12", + "nodeType": "YulIdentifier", + "src": "10959:5:12" + }, + "nativeSrc": "10959:13:12", + "nodeType": "YulFunctionCall", + "src": "10959:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "10949:6:12", + "nodeType": "YulTypedName", + "src": "10949:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10981:99:12", + "nodeType": "YulAssignment", + "src": "10981:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11053:6:12", + "nodeType": "YulIdentifier", + "src": "11053:6:12" + }, + { + "kind": "number", + "nativeSrc": "11061:4:12", + "nodeType": "YulLiteral", + "src": "11061:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11049:3:12", + "nodeType": "YulIdentifier", + "src": "11049:3:12" + }, + "nativeSrc": "11049:17:12", + "nodeType": "YulFunctionCall", + "src": "11049:17:12" + }, + { + "name": "length", + "nativeSrc": "11068:6:12", + "nodeType": "YulIdentifier", + "src": "11068:6:12" + }, + { + "name": "end", + "nativeSrc": "11076:3:12", + "nodeType": "YulIdentifier", + "src": "11076:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "10990:58:12", + "nodeType": "YulIdentifier", + "src": "10990:58:12" + }, + "nativeSrc": "10990:90:12", + "nodeType": "YulFunctionCall", + "src": "10990:90:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "10981:5:12", + "nodeType": "YulIdentifier", + "src": "10981:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "10731:355:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "10782:6:12", + "nodeType": "YulTypedName", + "src": "10782:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "10790:3:12", + "nodeType": "YulTypedName", + "src": "10790:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "10798:5:12", + "nodeType": "YulTypedName", + "src": "10798:5:12", + "type": "" + } + ], + "src": "10731:355:12" + }, + { + "body": { + "nativeSrc": "11179:437:12", + "nodeType": "YulBlock", + "src": "11179:437:12", + "statements": [ + { + "body": { + "nativeSrc": "11225:83:12", + "nodeType": "YulBlock", + "src": "11225:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "11227:77:12", + "nodeType": "YulIdentifier", + "src": "11227:77:12" + }, + "nativeSrc": "11227:79:12", + "nodeType": "YulFunctionCall", + "src": "11227:79:12" + }, + "nativeSrc": "11227:79:12", + "nodeType": "YulExpressionStatement", + "src": "11227:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "11200:7:12", + "nodeType": "YulIdentifier", + "src": "11200:7:12" + }, + { + "name": "headStart", + "nativeSrc": "11209:9:12", + "nodeType": "YulIdentifier", + "src": "11209:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11196:3:12", + "nodeType": "YulIdentifier", + "src": "11196:3:12" + }, + "nativeSrc": "11196:23:12", + "nodeType": "YulFunctionCall", + "src": "11196:23:12" + }, + { + "kind": "number", + "nativeSrc": "11221:2:12", + "nodeType": "YulLiteral", + "src": "11221:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "11192:3:12", + "nodeType": "YulIdentifier", + "src": "11192:3:12" + }, + "nativeSrc": "11192:32:12", + "nodeType": "YulFunctionCall", + "src": "11192:32:12" + }, + "nativeSrc": "11189:119:12", + "nodeType": "YulIf", + "src": "11189:119:12" + }, + { + "nativeSrc": "11318:291:12", + "nodeType": "YulBlock", + "src": "11318:291:12", + "statements": [ + { + "nativeSrc": "11333:38:12", + "nodeType": "YulVariableDeclaration", + "src": "11333:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11357:9:12", + "nodeType": "YulIdentifier", + "src": "11357:9:12" + }, + { + "kind": "number", + "nativeSrc": "11368:1:12", + "nodeType": "YulLiteral", + "src": "11368:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11353:3:12", + "nodeType": "YulIdentifier", + "src": "11353:3:12" + }, + "nativeSrc": "11353:17:12", + "nodeType": "YulFunctionCall", + "src": "11353:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "11347:5:12", + "nodeType": "YulIdentifier", + "src": "11347:5:12" + }, + "nativeSrc": "11347:24:12", + "nodeType": "YulFunctionCall", + "src": "11347:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11337:6:12", + "nodeType": "YulTypedName", + "src": "11337:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11418:83:12", + "nodeType": "YulBlock", + "src": "11418:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "11420:77:12", + "nodeType": "YulIdentifier", + "src": "11420:77:12" + }, + "nativeSrc": "11420:79:12", + "nodeType": "YulFunctionCall", + "src": "11420:79:12" + }, + "nativeSrc": "11420:79:12", + "nodeType": "YulExpressionStatement", + "src": "11420:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11390:6:12", + "nodeType": "YulIdentifier", + "src": "11390:6:12" + }, + { + "kind": "number", + "nativeSrc": "11398:18:12", + "nodeType": "YulLiteral", + "src": "11398:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11387:2:12", + "nodeType": "YulIdentifier", + "src": "11387:2:12" + }, + "nativeSrc": "11387:30:12", + "nodeType": "YulFunctionCall", + "src": "11387:30:12" + }, + "nativeSrc": "11384:117:12", + "nodeType": "YulIf", + "src": "11384:117:12" + }, + { + "nativeSrc": "11515:84:12", + "nodeType": "YulAssignment", + "src": "11515:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11571:9:12", + "nodeType": "YulIdentifier", + "src": "11571:9:12" + }, + { + "name": "offset", + "nativeSrc": "11582:6:12", + "nodeType": "YulIdentifier", + "src": "11582:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11567:3:12", + "nodeType": "YulIdentifier", + "src": "11567:3:12" + }, + "nativeSrc": "11567:22:12", + "nodeType": "YulFunctionCall", + "src": "11567:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "11591:7:12", + "nodeType": "YulIdentifier", + "src": "11591:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "11525:41:12", + "nodeType": "YulIdentifier", + "src": "11525:41:12" + }, + "nativeSrc": "11525:74:12", + "nodeType": "YulFunctionCall", + "src": "11525:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11515:6:12", + "nodeType": "YulIdentifier", + "src": "11515:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", + "nativeSrc": "11092:524:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11149:9:12", + "nodeType": "YulTypedName", + "src": "11149:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "11160:7:12", + "nodeType": "YulTypedName", + "src": "11160:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "11172:6:12", + "nodeType": "YulTypedName", + "src": "11172:6:12", + "type": "" + } + ], + "src": "11092:524:12" + }, + { + "body": { + "nativeSrc": "11650:152:12", + "nodeType": "YulBlock", + "src": "11650:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11667:1:12", + "nodeType": "YulLiteral", + "src": "11667:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11670:77:12", + "nodeType": "YulLiteral", + "src": "11670:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11660:6:12", + "nodeType": "YulIdentifier", + "src": "11660:6:12" + }, + "nativeSrc": "11660:88:12", + "nodeType": "YulFunctionCall", + "src": "11660:88:12" + }, + "nativeSrc": "11660:88:12", + "nodeType": "YulExpressionStatement", + "src": "11660:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11764:1:12", + "nodeType": "YulLiteral", + "src": "11764:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "11767:4:12", + "nodeType": "YulLiteral", + "src": "11767:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11757:6:12", + "nodeType": "YulIdentifier", + "src": "11757:6:12" + }, + "nativeSrc": "11757:15:12", + "nodeType": "YulFunctionCall", + "src": "11757:15:12" + }, + "nativeSrc": "11757:15:12", + "nodeType": "YulExpressionStatement", + "src": "11757:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11788:1:12", + "nodeType": "YulLiteral", + "src": "11788:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11791:4:12", + "nodeType": "YulLiteral", + "src": "11791:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11781:6:12", + "nodeType": "YulIdentifier", + "src": "11781:6:12" + }, + "nativeSrc": "11781:15:12", + "nodeType": "YulFunctionCall", + "src": "11781:15:12" + }, + "nativeSrc": "11781:15:12", + "nodeType": "YulExpressionStatement", + "src": "11781:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "11622:180:12", + "nodeType": "YulFunctionDefinition", + "src": "11622:180:12" + }, + { + "body": { + "nativeSrc": "11859:269:12", + "nodeType": "YulBlock", + "src": "11859:269:12", + "statements": [ + { + "nativeSrc": "11869:22:12", + "nodeType": "YulAssignment", + "src": "11869:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11883:4:12", + "nodeType": "YulIdentifier", + "src": "11883:4:12" + }, + { + "kind": "number", + "nativeSrc": "11889:1:12", + "nodeType": "YulLiteral", + "src": "11889:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "11879:3:12", + "nodeType": "YulIdentifier", + "src": "11879:3:12" + }, + "nativeSrc": "11879:12:12", + "nodeType": "YulFunctionCall", + "src": "11879:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "11869:6:12", + "nodeType": "YulIdentifier", + "src": "11869:6:12" + } + ] + }, + { + "nativeSrc": "11900:38:12", + "nodeType": "YulVariableDeclaration", + "src": "11900:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11930:4:12", + "nodeType": "YulIdentifier", + "src": "11930:4:12" + }, + { + "kind": "number", + "nativeSrc": "11936:1:12", + "nodeType": "YulLiteral", + "src": "11936:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11926:3:12", + "nodeType": "YulIdentifier", + "src": "11926:3:12" + }, + "nativeSrc": "11926:12:12", + "nodeType": "YulFunctionCall", + "src": "11926:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11904:18:12", + "nodeType": "YulTypedName", + "src": "11904:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11977:51:12", + "nodeType": "YulBlock", + "src": "11977:51:12", + "statements": [ + { + "nativeSrc": "11991:27:12", + "nodeType": "YulAssignment", + "src": "11991:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12005:6:12", + "nodeType": "YulIdentifier", + "src": "12005:6:12" + }, + { + "kind": "number", + "nativeSrc": "12013:4:12", + "nodeType": "YulLiteral", + "src": "12013:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "12001:3:12", + "nodeType": "YulIdentifier", + "src": "12001:3:12" + }, + "nativeSrc": "12001:17:12", + "nodeType": "YulFunctionCall", + "src": "12001:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "11991:6:12", + "nodeType": "YulIdentifier", + "src": "11991:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11957:18:12", + "nodeType": "YulIdentifier", + "src": "11957:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11950:6:12", + "nodeType": "YulIdentifier", + "src": "11950:6:12" + }, + "nativeSrc": "11950:26:12", + "nodeType": "YulFunctionCall", + "src": "11950:26:12" + }, + "nativeSrc": "11947:81:12", + "nodeType": "YulIf", + "src": "11947:81:12" + }, + { + "body": { + "nativeSrc": "12080:42:12", + "nodeType": "YulBlock", + "src": "12080:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "12094:16:12", + "nodeType": "YulIdentifier", + "src": "12094:16:12" + }, + "nativeSrc": "12094:18:12", + "nodeType": "YulFunctionCall", + "src": "12094:18:12" + }, + "nativeSrc": "12094:18:12", + "nodeType": "YulExpressionStatement", + "src": "12094:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "12044:18:12", + "nodeType": "YulIdentifier", + "src": "12044:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12067:6:12", + "nodeType": "YulIdentifier", + "src": "12067:6:12" + }, + { + "kind": "number", + "nativeSrc": "12075:2:12", + "nodeType": "YulLiteral", + "src": "12075:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "12064:2:12", + "nodeType": "YulIdentifier", + "src": "12064:2:12" + }, + "nativeSrc": "12064:14:12", + "nodeType": "YulFunctionCall", + "src": "12064:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12041:2:12", + "nodeType": "YulIdentifier", + "src": "12041:2:12" + }, + "nativeSrc": "12041:38:12", + "nodeType": "YulFunctionCall", + "src": "12041:38:12" + }, + "nativeSrc": "12038:84:12", + "nodeType": "YulIf", + "src": "12038:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "11808:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "11843:4:12", + "nodeType": "YulTypedName", + "src": "11843:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "11852:6:12", + "nodeType": "YulTypedName", + "src": "11852:6:12", + "type": "" + } + ], + "src": "11808:320:12" + }, + { + "body": { + "nativeSrc": "12230:73:12", + "nodeType": "YulBlock", + "src": "12230:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12247:3:12", + "nodeType": "YulIdentifier", + "src": "12247:3:12" + }, + { + "name": "length", + "nativeSrc": "12252:6:12", + "nodeType": "YulIdentifier", + "src": "12252:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12240:6:12", + "nodeType": "YulIdentifier", + "src": "12240:6:12" + }, + "nativeSrc": "12240:19:12", + "nodeType": "YulFunctionCall", + "src": "12240:19:12" + }, + "nativeSrc": "12240:19:12", + "nodeType": "YulExpressionStatement", + "src": "12240:19:12" + }, + { + "nativeSrc": "12268:29:12", + "nodeType": "YulAssignment", + "src": "12268:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12287:3:12", + "nodeType": "YulIdentifier", + "src": "12287:3:12" + }, + { + "kind": "number", + "nativeSrc": "12292:4:12", + "nodeType": "YulLiteral", + "src": "12292:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12283:3:12", + "nodeType": "YulIdentifier", + "src": "12283:3:12" + }, + "nativeSrc": "12283:14:12", + "nodeType": "YulFunctionCall", + "src": "12283:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "12268:11:12", + "nodeType": "YulIdentifier", + "src": "12268:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "12134:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "12202:3:12", + "nodeType": "YulTypedName", + "src": "12202:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "12207:6:12", + "nodeType": "YulTypedName", + "src": "12207:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "12218:11:12", + "nodeType": "YulTypedName", + "src": "12218:11:12", + "type": "" + } + ], + "src": "12134:169:12" + }, + { + "body": { + "nativeSrc": "12415:68:12", + "nodeType": "YulBlock", + "src": "12415:68:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "12437:6:12", + "nodeType": "YulIdentifier", + "src": "12437:6:12" + }, + { + "kind": "number", + "nativeSrc": "12445:1:12", + "nodeType": "YulLiteral", + "src": "12445:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12433:3:12", + "nodeType": "YulIdentifier", + "src": "12433:3:12" + }, + "nativeSrc": "12433:14:12", + "nodeType": "YulFunctionCall", + "src": "12433:14:12" + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "kind": "string", + "nativeSrc": "12449:26:12", + "nodeType": "YulLiteral", + "src": "12449:26:12", + "type": "", + "value": "Airdrop already expired." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12426:6:12", + "nodeType": "YulIdentifier", + "src": "12426:6:12" + }, + "nativeSrc": "12426:50:12", + "nodeType": "YulFunctionCall", + "src": "12426:50:12" + }, + "nativeSrc": "12426:50:12", + "nodeType": "YulExpressionStatement", + "src": "12426:50:12" + } + ] + }, + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "12309:174:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "12407:6:12", + "nodeType": "YulTypedName", + "src": "12407:6:12", + "type": "" + } + ], + "src": "12309:174:12" + }, + { + "body": { + "nativeSrc": "12635:220:12", + "nodeType": "YulBlock", + "src": "12635:220:12", + "statements": [ + { + "nativeSrc": "12645:74:12", + "nodeType": "YulAssignment", + "src": "12645:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12711:3:12", + "nodeType": "YulIdentifier", + "src": "12711:3:12" + }, + { + "kind": "number", + "nativeSrc": "12716:2:12", + "nodeType": "YulLiteral", + "src": "12716:2:12", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "12652:58:12", + "nodeType": "YulIdentifier", + "src": "12652:58:12" + }, + "nativeSrc": "12652:67:12", + "nodeType": "YulFunctionCall", + "src": "12652:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "12645:3:12", + "nodeType": "YulIdentifier", + "src": "12645:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12817:3:12", + "nodeType": "YulIdentifier", + "src": "12817:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "12728:88:12", + "nodeType": "YulIdentifier", + "src": "12728:88:12" + }, + "nativeSrc": "12728:93:12", + "nodeType": "YulFunctionCall", + "src": "12728:93:12" + }, + "nativeSrc": "12728:93:12", + "nodeType": "YulExpressionStatement", + "src": "12728:93:12" + }, + { + "nativeSrc": "12830:19:12", + "nodeType": "YulAssignment", + "src": "12830:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12841:3:12", + "nodeType": "YulIdentifier", + "src": "12841:3:12" + }, + { + "kind": "number", + "nativeSrc": "12846:2:12", + "nodeType": "YulLiteral", + "src": "12846:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12837:3:12", + "nodeType": "YulIdentifier", + "src": "12837:3:12" + }, + "nativeSrc": "12837:12:12", + "nodeType": "YulFunctionCall", + "src": "12837:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "12830:3:12", + "nodeType": "YulIdentifier", + "src": "12830:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12489:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "12623:3:12", + "nodeType": "YulTypedName", + "src": "12623:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "12631:3:12", + "nodeType": "YulTypedName", + "src": "12631:3:12", + "type": "" + } + ], + "src": "12489:366:12" + }, + { + "body": { + "nativeSrc": "13032:248:12", + "nodeType": "YulBlock", + "src": "13032:248:12", + "statements": [ + { + "nativeSrc": "13042:26:12", + "nodeType": "YulAssignment", + "src": "13042:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13054:9:12", + "nodeType": "YulIdentifier", + "src": "13054:9:12" + }, + { + "kind": "number", + "nativeSrc": "13065:2:12", + "nodeType": "YulLiteral", + "src": "13065:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13050:3:12", + "nodeType": "YulIdentifier", + "src": "13050:3:12" + }, + "nativeSrc": "13050:18:12", + "nodeType": "YulFunctionCall", + "src": "13050:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13042:4:12", + "nodeType": "YulIdentifier", + "src": "13042:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13089:9:12", + "nodeType": "YulIdentifier", + "src": "13089:9:12" + }, + { + "kind": "number", + "nativeSrc": "13100:1:12", + "nodeType": "YulLiteral", + "src": "13100:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13085:3:12", + "nodeType": "YulIdentifier", + "src": "13085:3:12" + }, + "nativeSrc": "13085:17:12", + "nodeType": "YulFunctionCall", + "src": "13085:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13108:4:12", + "nodeType": "YulIdentifier", + "src": "13108:4:12" + }, + { + "name": "headStart", + "nativeSrc": "13114:9:12", + "nodeType": "YulIdentifier", + "src": "13114:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "13104:3:12", + "nodeType": "YulIdentifier", + "src": "13104:3:12" + }, + "nativeSrc": "13104:20:12", + "nodeType": "YulFunctionCall", + "src": "13104:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13078:6:12", + "nodeType": "YulIdentifier", + "src": "13078:6:12" + }, + "nativeSrc": "13078:47:12", + "nodeType": "YulFunctionCall", + "src": "13078:47:12" + }, + "nativeSrc": "13078:47:12", + "nodeType": "YulExpressionStatement", + "src": "13078:47:12" + }, + { + "nativeSrc": "13134:139:12", + "nodeType": "YulAssignment", + "src": "13134:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13268:4:12", + "nodeType": "YulIdentifier", + "src": "13268:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13142:124:12", + "nodeType": "YulIdentifier", + "src": "13142:124:12" + }, + "nativeSrc": "13142:131:12", + "nodeType": "YulFunctionCall", + "src": "13142:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13134:4:12", + "nodeType": "YulIdentifier", + "src": "13134:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "12861:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13012:9:12", + "nodeType": "YulTypedName", + "src": "13012:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "13027:4:12", + "nodeType": "YulTypedName", + "src": "13027:4:12", + "type": "" + } + ], + "src": "12861:419:12" + }, + { + "body": { + "nativeSrc": "13392:118:12", + "nodeType": "YulBlock", + "src": "13392:118:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13414:6:12", + "nodeType": "YulIdentifier", + "src": "13414:6:12" + }, + { + "kind": "number", + "nativeSrc": "13422:1:12", + "nodeType": "YulLiteral", + "src": "13422:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13410:3:12", + "nodeType": "YulIdentifier", + "src": "13410:3:12" + }, + "nativeSrc": "13410:14:12", + "nodeType": "YulFunctionCall", + "src": "13410:14:12" + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d6564207468697320616972", + "kind": "string", + "nativeSrc": "13426:34:12", + "nodeType": "YulLiteral", + "src": "13426:34:12", + "type": "", + "value": "Address already claimed this air" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13403:6:12", + "nodeType": "YulIdentifier", + "src": "13403:6:12" + }, + "nativeSrc": "13403:58:12", + "nodeType": "YulFunctionCall", + "src": "13403:58:12" + }, + "nativeSrc": "13403:58:12", + "nodeType": "YulExpressionStatement", + "src": "13403:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13482:6:12", + "nodeType": "YulIdentifier", + "src": "13482:6:12" + }, + { + "kind": "number", + "nativeSrc": "13490:2:12", + "nodeType": "YulLiteral", + "src": "13490:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13478:3:12", + "nodeType": "YulIdentifier", + "src": "13478:3:12" + }, + "nativeSrc": "13478:15:12", + "nodeType": "YulFunctionCall", + "src": "13478:15:12" + }, + { + "hexValue": "64726f702e", + "kind": "string", + "nativeSrc": "13495:7:12", + "nodeType": "YulLiteral", + "src": "13495:7:12", + "type": "", + "value": "drop." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13471:6:12", + "nodeType": "YulIdentifier", + "src": "13471:6:12" + }, + "nativeSrc": "13471:32:12", + "nodeType": "YulFunctionCall", + "src": "13471:32:12" + }, + "nativeSrc": "13471:32:12", + "nodeType": "YulExpressionStatement", + "src": "13471:32:12" + } + ] + }, + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "13286:224:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "13384:6:12", + "nodeType": "YulTypedName", + "src": "13384:6:12", + "type": "" + } + ], + "src": "13286:224:12" + }, + { + "body": { + "nativeSrc": "13662:220:12", + "nodeType": "YulBlock", + "src": "13662:220:12", + "statements": [ + { + "nativeSrc": "13672:74:12", + "nodeType": "YulAssignment", + "src": "13672:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13738:3:12", + "nodeType": "YulIdentifier", + "src": "13738:3:12" + }, + { + "kind": "number", + "nativeSrc": "13743:2:12", + "nodeType": "YulLiteral", + "src": "13743:2:12", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "13679:58:12", + "nodeType": "YulIdentifier", + "src": "13679:58:12" + }, + "nativeSrc": "13679:67:12", + "nodeType": "YulFunctionCall", + "src": "13679:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "13672:3:12", + "nodeType": "YulIdentifier", + "src": "13672:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13844:3:12", + "nodeType": "YulIdentifier", + "src": "13844:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "13755:88:12", + "nodeType": "YulIdentifier", + "src": "13755:88:12" + }, + "nativeSrc": "13755:93:12", + "nodeType": "YulFunctionCall", + "src": "13755:93:12" + }, + "nativeSrc": "13755:93:12", + "nodeType": "YulExpressionStatement", + "src": "13755:93:12" + }, + { + "nativeSrc": "13857:19:12", + "nodeType": "YulAssignment", + "src": "13857:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13868:3:12", + "nodeType": "YulIdentifier", + "src": "13868:3:12" + }, + { + "kind": "number", + "nativeSrc": "13873:2:12", + "nodeType": "YulLiteral", + "src": "13873:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13864:3:12", + "nodeType": "YulIdentifier", + "src": "13864:3:12" + }, + "nativeSrc": "13864:12:12", + "nodeType": "YulFunctionCall", + "src": "13864:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "13857:3:12", + "nodeType": "YulIdentifier", + "src": "13857:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13516:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "13650:3:12", + "nodeType": "YulTypedName", + "src": "13650:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "13658:3:12", + "nodeType": "YulTypedName", + "src": "13658:3:12", + "type": "" + } + ], + "src": "13516:366:12" + }, + { + "body": { + "nativeSrc": "14059:248:12", + "nodeType": "YulBlock", + "src": "14059:248:12", + "statements": [ + { + "nativeSrc": "14069:26:12", + "nodeType": "YulAssignment", + "src": "14069:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14081:9:12", + "nodeType": "YulIdentifier", + "src": "14081:9:12" + }, + { + "kind": "number", + "nativeSrc": "14092:2:12", + "nodeType": "YulLiteral", + "src": "14092:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14077:3:12", + "nodeType": "YulIdentifier", + "src": "14077:3:12" + }, + "nativeSrc": "14077:18:12", + "nodeType": "YulFunctionCall", + "src": "14077:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14069:4:12", + "nodeType": "YulIdentifier", + "src": "14069:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14116:9:12", + "nodeType": "YulIdentifier", + "src": "14116:9:12" + }, + { + "kind": "number", + "nativeSrc": "14127:1:12", + "nodeType": "YulLiteral", + "src": "14127:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14112:3:12", + "nodeType": "YulIdentifier", + "src": "14112:3:12" + }, + "nativeSrc": "14112:17:12", + "nodeType": "YulFunctionCall", + "src": "14112:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14135:4:12", + "nodeType": "YulIdentifier", + "src": "14135:4:12" + }, + { + "name": "headStart", + "nativeSrc": "14141:9:12", + "nodeType": "YulIdentifier", + "src": "14141:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14131:3:12", + "nodeType": "YulIdentifier", + "src": "14131:3:12" + }, + "nativeSrc": "14131:20:12", + "nodeType": "YulFunctionCall", + "src": "14131:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14105:6:12", + "nodeType": "YulIdentifier", + "src": "14105:6:12" + }, + "nativeSrc": "14105:47:12", + "nodeType": "YulFunctionCall", + "src": "14105:47:12" + }, + "nativeSrc": "14105:47:12", + "nodeType": "YulExpressionStatement", + "src": "14105:47:12" + }, + { + "nativeSrc": "14161:139:12", + "nodeType": "YulAssignment", + "src": "14161:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14295:4:12", + "nodeType": "YulIdentifier", + "src": "14295:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14169:124:12", + "nodeType": "YulIdentifier", + "src": "14169:124:12" + }, + "nativeSrc": "14169:131:12", + "nodeType": "YulFunctionCall", + "src": "14169:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14161:4:12", + "nodeType": "YulIdentifier", + "src": "14161:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "13888:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14039:9:12", + "nodeType": "YulTypedName", + "src": "14039:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14054:4:12", + "nodeType": "YulTypedName", + "src": "14054:4:12", + "type": "" + } + ], + "src": "13888:419:12" + }, + { + "body": { + "nativeSrc": "14419:122:12", + "nodeType": "YulBlock", + "src": "14419:122:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "14441:6:12", + "nodeType": "YulIdentifier", + "src": "14441:6:12" + }, + { + "kind": "number", + "nativeSrc": "14449:1:12", + "nodeType": "YulLiteral", + "src": "14449:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14437:3:12", + "nodeType": "YulIdentifier", + "src": "14437:3:12" + }, + "nativeSrc": "14437:14:12", + "nodeType": "YulFunctionCall", + "src": "14437:14:12" + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d6564", + "kind": "string", + "nativeSrc": "14453:34:12", + "nodeType": "YulLiteral", + "src": "14453:34:12", + "type": "", + "value": "Airdrop has been totally claimed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14430:6:12", + "nodeType": "YulIdentifier", + "src": "14430:6:12" + }, + "nativeSrc": "14430:58:12", + "nodeType": "YulFunctionCall", + "src": "14430:58:12" + }, + "nativeSrc": "14430:58:12", + "nodeType": "YulExpressionStatement", + "src": "14430:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "14509:6:12", + "nodeType": "YulIdentifier", + "src": "14509:6:12" + }, + { + "kind": "number", + "nativeSrc": "14517:2:12", + "nodeType": "YulLiteral", + "src": "14517:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14505:3:12", + "nodeType": "YulIdentifier", + "src": "14505:3:12" + }, + "nativeSrc": "14505:15:12", + "nodeType": "YulFunctionCall", + "src": "14505:15:12" + }, + { + "hexValue": "20616c72656164792e", + "kind": "string", + "nativeSrc": "14522:11:12", + "nodeType": "YulLiteral", + "src": "14522:11:12", + "type": "", + "value": " already." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14498:6:12", + "nodeType": "YulIdentifier", + "src": "14498:6:12" + }, + "nativeSrc": "14498:36:12", + "nodeType": "YulFunctionCall", + "src": "14498:36:12" + }, + "nativeSrc": "14498:36:12", + "nodeType": "YulExpressionStatement", + "src": "14498:36:12" + } + ] + }, + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "14313:228:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "14411:6:12", + "nodeType": "YulTypedName", + "src": "14411:6:12", + "type": "" + } + ], + "src": "14313:228:12" + }, + { + "body": { + "nativeSrc": "14693:220:12", + "nodeType": "YulBlock", + "src": "14693:220:12", + "statements": [ + { + "nativeSrc": "14703:74:12", + "nodeType": "YulAssignment", + "src": "14703:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14769:3:12", + "nodeType": "YulIdentifier", + "src": "14769:3:12" + }, + { + "kind": "number", + "nativeSrc": "14774:2:12", + "nodeType": "YulLiteral", + "src": "14774:2:12", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "14710:58:12", + "nodeType": "YulIdentifier", + "src": "14710:58:12" + }, + "nativeSrc": "14710:67:12", + "nodeType": "YulFunctionCall", + "src": "14710:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "14703:3:12", + "nodeType": "YulIdentifier", + "src": "14703:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14875:3:12", + "nodeType": "YulIdentifier", + "src": "14875:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "14786:88:12", + "nodeType": "YulIdentifier", + "src": "14786:88:12" + }, + "nativeSrc": "14786:93:12", + "nodeType": "YulFunctionCall", + "src": "14786:93:12" + }, + "nativeSrc": "14786:93:12", + "nodeType": "YulExpressionStatement", + "src": "14786:93:12" + }, + { + "nativeSrc": "14888:19:12", + "nodeType": "YulAssignment", + "src": "14888:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14899:3:12", + "nodeType": "YulIdentifier", + "src": "14899:3:12" + }, + { + "kind": "number", + "nativeSrc": "14904:2:12", + "nodeType": "YulLiteral", + "src": "14904:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14895:3:12", + "nodeType": "YulIdentifier", + "src": "14895:3:12" + }, + "nativeSrc": "14895:12:12", + "nodeType": "YulFunctionCall", + "src": "14895:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "14888:3:12", + "nodeType": "YulIdentifier", + "src": "14888:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14547:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "14681:3:12", + "nodeType": "YulTypedName", + "src": "14681:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "14689:3:12", + "nodeType": "YulTypedName", + "src": "14689:3:12", + "type": "" + } + ], + "src": "14547:366:12" + }, + { + "body": { + "nativeSrc": "15090:248:12", + "nodeType": "YulBlock", + "src": "15090:248:12", + "statements": [ + { + "nativeSrc": "15100:26:12", + "nodeType": "YulAssignment", + "src": "15100:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15112:9:12", + "nodeType": "YulIdentifier", + "src": "15112:9:12" + }, + { + "kind": "number", + "nativeSrc": "15123:2:12", + "nodeType": "YulLiteral", + "src": "15123:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15108:3:12", + "nodeType": "YulIdentifier", + "src": "15108:3:12" + }, + "nativeSrc": "15108:18:12", + "nodeType": "YulFunctionCall", + "src": "15108:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15100:4:12", + "nodeType": "YulIdentifier", + "src": "15100:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15147:9:12", + "nodeType": "YulIdentifier", + "src": "15147:9:12" + }, + { + "kind": "number", + "nativeSrc": "15158:1:12", + "nodeType": "YulLiteral", + "src": "15158:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15143:3:12", + "nodeType": "YulIdentifier", + "src": "15143:3:12" + }, + "nativeSrc": "15143:17:12", + "nodeType": "YulFunctionCall", + "src": "15143:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15166:4:12", + "nodeType": "YulIdentifier", + "src": "15166:4:12" + }, + { + "name": "headStart", + "nativeSrc": "15172:9:12", + "nodeType": "YulIdentifier", + "src": "15172:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15162:3:12", + "nodeType": "YulIdentifier", + "src": "15162:3:12" + }, + "nativeSrc": "15162:20:12", + "nodeType": "YulFunctionCall", + "src": "15162:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15136:6:12", + "nodeType": "YulIdentifier", + "src": "15136:6:12" + }, + "nativeSrc": "15136:47:12", + "nodeType": "YulFunctionCall", + "src": "15136:47:12" + }, + "nativeSrc": "15136:47:12", + "nodeType": "YulExpressionStatement", + "src": "15136:47:12" + }, + { + "nativeSrc": "15192:139:12", + "nodeType": "YulAssignment", + "src": "15192:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15326:4:12", + "nodeType": "YulIdentifier", + "src": "15326:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15200:124:12", + "nodeType": "YulIdentifier", + "src": "15200:124:12" + }, + "nativeSrc": "15200:131:12", + "nodeType": "YulFunctionCall", + "src": "15200:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15192:4:12", + "nodeType": "YulIdentifier", + "src": "15192:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "14919:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15070:9:12", + "nodeType": "YulTypedName", + "src": "15070:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15085:4:12", + "nodeType": "YulTypedName", + "src": "15085:4:12", + "type": "" + } + ], + "src": "14919:419:12" + }, + { + "body": { + "nativeSrc": "15450:129:12", + "nodeType": "YulBlock", + "src": "15450:129:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15472:6:12", + "nodeType": "YulIdentifier", + "src": "15472:6:12" + }, + { + "kind": "number", + "nativeSrc": "15480:1:12", + "nodeType": "YulLiteral", + "src": "15480:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15468:3:12", + "nodeType": "YulIdentifier", + "src": "15468:3:12" + }, + "nativeSrc": "15468:14:12", + "nodeType": "YulFunctionCall", + "src": "15468:14:12" + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e", + "kind": "string", + "nativeSrc": "15484:34:12", + "nodeType": "YulLiteral", + "src": "15484:34:12", + "type": "", + "value": "Airdrop contract has insufficien" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15461:6:12", + "nodeType": "YulIdentifier", + "src": "15461:6:12" + }, + "nativeSrc": "15461:58:12", + "nodeType": "YulFunctionCall", + "src": "15461:58:12" + }, + "nativeSrc": "15461:58:12", + "nodeType": "YulExpressionStatement", + "src": "15461:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15540:6:12", + "nodeType": "YulIdentifier", + "src": "15540:6:12" + }, + { + "kind": "number", + "nativeSrc": "15548:2:12", + "nodeType": "YulLiteral", + "src": "15548:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15536:3:12", + "nodeType": "YulIdentifier", + "src": "15536:3:12" + }, + "nativeSrc": "15536:15:12", + "nodeType": "YulFunctionCall", + "src": "15536:15:12" + }, + { + "hexValue": "7420746f6b656e2062616c616e63652e", + "kind": "string", + "nativeSrc": "15553:18:12", + "nodeType": "YulLiteral", + "src": "15553:18:12", + "type": "", + "value": "t token balance." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15529:6:12", + "nodeType": "YulIdentifier", + "src": "15529:6:12" + }, + "nativeSrc": "15529:43:12", + "nodeType": "YulFunctionCall", + "src": "15529:43:12" + }, + "nativeSrc": "15529:43:12", + "nodeType": "YulExpressionStatement", + "src": "15529:43:12" + } + ] + }, + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "15344:235:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "15442:6:12", + "nodeType": "YulTypedName", + "src": "15442:6:12", + "type": "" + } + ], + "src": "15344:235:12" + }, + { + "body": { + "nativeSrc": "15731:220:12", + "nodeType": "YulBlock", + "src": "15731:220:12", + "statements": [ + { + "nativeSrc": "15741:74:12", + "nodeType": "YulAssignment", + "src": "15741:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15807:3:12", + "nodeType": "YulIdentifier", + "src": "15807:3:12" + }, + { + "kind": "number", + "nativeSrc": "15812:2:12", + "nodeType": "YulLiteral", + "src": "15812:2:12", + "type": "", + "value": "48" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "15748:58:12", + "nodeType": "YulIdentifier", + "src": "15748:58:12" + }, + "nativeSrc": "15748:67:12", + "nodeType": "YulFunctionCall", + "src": "15748:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15741:3:12", + "nodeType": "YulIdentifier", + "src": "15741:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15913:3:12", + "nodeType": "YulIdentifier", + "src": "15913:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "15824:88:12", + "nodeType": "YulIdentifier", + "src": "15824:88:12" + }, + "nativeSrc": "15824:93:12", + "nodeType": "YulFunctionCall", + "src": "15824:93:12" + }, + "nativeSrc": "15824:93:12", + "nodeType": "YulExpressionStatement", + "src": "15824:93:12" + }, + { + "nativeSrc": "15926:19:12", + "nodeType": "YulAssignment", + "src": "15926:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15937:3:12", + "nodeType": "YulIdentifier", + "src": "15937:3:12" + }, + { + "kind": "number", + "nativeSrc": "15942:2:12", + "nodeType": "YulLiteral", + "src": "15942:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15933:3:12", + "nodeType": "YulIdentifier", + "src": "15933:3:12" + }, + "nativeSrc": "15933:12:12", + "nodeType": "YulFunctionCall", + "src": "15933:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "15926:3:12", + "nodeType": "YulIdentifier", + "src": "15926:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15585:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15719:3:12", + "nodeType": "YulTypedName", + "src": "15719:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15727:3:12", + "nodeType": "YulTypedName", + "src": "15727:3:12", + "type": "" + } + ], + "src": "15585:366:12" + }, + { + "body": { + "nativeSrc": "16128:248:12", + "nodeType": "YulBlock", + "src": "16128:248:12", + "statements": [ + { + "nativeSrc": "16138:26:12", + "nodeType": "YulAssignment", + "src": "16138:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16150:9:12", + "nodeType": "YulIdentifier", + "src": "16150:9:12" + }, + { + "kind": "number", + "nativeSrc": "16161:2:12", + "nodeType": "YulLiteral", + "src": "16161:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16146:3:12", + "nodeType": "YulIdentifier", + "src": "16146:3:12" + }, + "nativeSrc": "16146:18:12", + "nodeType": "YulFunctionCall", + "src": "16146:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16138:4:12", + "nodeType": "YulIdentifier", + "src": "16138:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16185:9:12", + "nodeType": "YulIdentifier", + "src": "16185:9:12" + }, + { + "kind": "number", + "nativeSrc": "16196:1:12", + "nodeType": "YulLiteral", + "src": "16196:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16181:3:12", + "nodeType": "YulIdentifier", + "src": "16181:3:12" + }, + "nativeSrc": "16181:17:12", + "nodeType": "YulFunctionCall", + "src": "16181:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16204:4:12", + "nodeType": "YulIdentifier", + "src": "16204:4:12" + }, + { + "name": "headStart", + "nativeSrc": "16210:9:12", + "nodeType": "YulIdentifier", + "src": "16210:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16200:3:12", + "nodeType": "YulIdentifier", + "src": "16200:3:12" + }, + "nativeSrc": "16200:20:12", + "nodeType": "YulFunctionCall", + "src": "16200:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16174:6:12", + "nodeType": "YulIdentifier", + "src": "16174:6:12" + }, + "nativeSrc": "16174:47:12", + "nodeType": "YulFunctionCall", + "src": "16174:47:12" + }, + "nativeSrc": "16174:47:12", + "nodeType": "YulExpressionStatement", + "src": "16174:47:12" + }, + { + "nativeSrc": "16230:139:12", + "nodeType": "YulAssignment", + "src": "16230:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16364:4:12", + "nodeType": "YulIdentifier", + "src": "16364:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16238:124:12", + "nodeType": "YulIdentifier", + "src": "16238:124:12" + }, + "nativeSrc": "16238:131:12", + "nodeType": "YulFunctionCall", + "src": "16238:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16230:4:12", + "nodeType": "YulIdentifier", + "src": "16230:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15957:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16108:9:12", + "nodeType": "YulTypedName", + "src": "16108:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16123:4:12", + "nodeType": "YulTypedName", + "src": "16123:4:12", + "type": "" + } + ], + "src": "15957:419:12" + }, + { + "body": { + "nativeSrc": "16508:206:12", + "nodeType": "YulBlock", + "src": "16508:206:12", + "statements": [ + { + "nativeSrc": "16518:26:12", + "nodeType": "YulAssignment", + "src": "16518:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16530:9:12", + "nodeType": "YulIdentifier", + "src": "16530:9:12" + }, + { + "kind": "number", + "nativeSrc": "16541:2:12", + "nodeType": "YulLiteral", + "src": "16541:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16526:3:12", + "nodeType": "YulIdentifier", + "src": "16526:3:12" + }, + "nativeSrc": "16526:18:12", + "nodeType": "YulFunctionCall", + "src": "16526:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16518:4:12", + "nodeType": "YulIdentifier", + "src": "16518:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "16598:6:12", + "nodeType": "YulIdentifier", + "src": "16598:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16611:9:12", + "nodeType": "YulIdentifier", + "src": "16611:9:12" + }, + { + "kind": "number", + "nativeSrc": "16622:1:12", + "nodeType": "YulLiteral", + "src": "16622:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16607:3:12", + "nodeType": "YulIdentifier", + "src": "16607:3:12" + }, + "nativeSrc": "16607:17:12", + "nodeType": "YulFunctionCall", + "src": "16607:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "16554:43:12", + "nodeType": "YulIdentifier", + "src": "16554:43:12" + }, + "nativeSrc": "16554:71:12", + "nodeType": "YulFunctionCall", + "src": "16554:71:12" + }, + "nativeSrc": "16554:71:12", + "nodeType": "YulExpressionStatement", + "src": "16554:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "16679:6:12", + "nodeType": "YulIdentifier", + "src": "16679:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16692:9:12", + "nodeType": "YulIdentifier", + "src": "16692:9:12" + }, + { + "kind": "number", + "nativeSrc": "16703:2:12", + "nodeType": "YulLiteral", + "src": "16703:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16688:3:12", + "nodeType": "YulIdentifier", + "src": "16688:3:12" + }, + "nativeSrc": "16688:18:12", + "nodeType": "YulFunctionCall", + "src": "16688:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "16635:43:12", + "nodeType": "YulIdentifier", + "src": "16635:43:12" + }, + "nativeSrc": "16635:72:12", + "nodeType": "YulFunctionCall", + "src": "16635:72:12" + }, + "nativeSrc": "16635:72:12", + "nodeType": "YulExpressionStatement", + "src": "16635:72:12" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "16382:332:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16472:9:12", + "nodeType": "YulTypedName", + "src": "16472:9:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "16484:6:12", + "nodeType": "YulTypedName", + "src": "16484:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "16492:6:12", + "nodeType": "YulTypedName", + "src": "16492:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16503:4:12", + "nodeType": "YulTypedName", + "src": "16503:4:12", + "type": "" + } + ], + "src": "16382:332:12" + }, + { + "body": { + "nativeSrc": "16748:152:12", + "nodeType": "YulBlock", + "src": "16748:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16765:1:12", + "nodeType": "YulLiteral", + "src": "16765:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16768:77:12", + "nodeType": "YulLiteral", + "src": "16768:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16758:6:12", + "nodeType": "YulIdentifier", + "src": "16758:6:12" + }, + "nativeSrc": "16758:88:12", + "nodeType": "YulFunctionCall", + "src": "16758:88:12" + }, + "nativeSrc": "16758:88:12", + "nodeType": "YulExpressionStatement", + "src": "16758:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16862:1:12", + "nodeType": "YulLiteral", + "src": "16862:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16865:4:12", + "nodeType": "YulLiteral", + "src": "16865:4:12", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16855:6:12", + "nodeType": "YulIdentifier", + "src": "16855:6:12" + }, + "nativeSrc": "16855:15:12", + "nodeType": "YulFunctionCall", + "src": "16855:15:12" + }, + "nativeSrc": "16855:15:12", + "nodeType": "YulExpressionStatement", + "src": "16855:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16886:1:12", + "nodeType": "YulLiteral", + "src": "16886:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16889:4:12", + "nodeType": "YulLiteral", + "src": "16889:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16879:6:12", + "nodeType": "YulIdentifier", + "src": "16879:6:12" + }, + "nativeSrc": "16879:15:12", + "nodeType": "YulFunctionCall", + "src": "16879:15:12" + }, + "nativeSrc": "16879:15:12", + "nodeType": "YulExpressionStatement", + "src": "16879:15:12" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "16720:180:12", + "nodeType": "YulFunctionDefinition", + "src": "16720:180:12" + }, + { + "body": { + "nativeSrc": "16951:149:12", + "nodeType": "YulBlock", + "src": "16951:149:12", + "statements": [ + { + "nativeSrc": "16961:25:12", + "nodeType": "YulAssignment", + "src": "16961:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16984:1:12", + "nodeType": "YulIdentifier", + "src": "16984:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "16966:17:12", + "nodeType": "YulIdentifier", + "src": "16966:17:12" + }, + "nativeSrc": "16966:20:12", + "nodeType": "YulFunctionCall", + "src": "16966:20:12" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "16961:1:12", + "nodeType": "YulIdentifier", + "src": "16961:1:12" + } + ] + }, + { + "nativeSrc": "16995:25:12", + "nodeType": "YulAssignment", + "src": "16995:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "17018:1:12", + "nodeType": "YulIdentifier", + "src": "17018:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "17000:17:12", + "nodeType": "YulIdentifier", + "src": "17000:17:12" + }, + "nativeSrc": "17000:20:12", + "nodeType": "YulFunctionCall", + "src": "17000:20:12" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "16995:1:12", + "nodeType": "YulIdentifier", + "src": "16995:1:12" + } + ] + }, + { + "nativeSrc": "17029:17:12", + "nodeType": "YulAssignment", + "src": "17029:17:12", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "17041:1:12", + "nodeType": "YulIdentifier", + "src": "17041:1:12" + }, + { + "name": "y", + "nativeSrc": "17044:1:12", + "nodeType": "YulIdentifier", + "src": "17044:1:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17037:3:12", + "nodeType": "YulIdentifier", + "src": "17037:3:12" + }, + "nativeSrc": "17037:9:12", + "nodeType": "YulFunctionCall", + "src": "17037:9:12" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "17029:4:12", + "nodeType": "YulIdentifier", + "src": "17029:4:12" + } + ] + }, + { + "body": { + "nativeSrc": "17071:22:12", + "nodeType": "YulBlock", + "src": "17071:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "17073:16:12", + "nodeType": "YulIdentifier", + "src": "17073:16:12" + }, + "nativeSrc": "17073:18:12", + "nodeType": "YulFunctionCall", + "src": "17073:18:12" + }, + "nativeSrc": "17073:18:12", + "nodeType": "YulExpressionStatement", + "src": "17073:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "17062:4:12", + "nodeType": "YulIdentifier", + "src": "17062:4:12" + }, + { + "name": "x", + "nativeSrc": "17068:1:12", + "nodeType": "YulIdentifier", + "src": "17068:1:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17059:2:12", + "nodeType": "YulIdentifier", + "src": "17059:2:12" + }, + "nativeSrc": "17059:11:12", + "nodeType": "YulFunctionCall", + "src": "17059:11:12" + }, + "nativeSrc": "17056:37:12", + "nodeType": "YulIf", + "src": "17056:37:12" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "16906:194:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "16937:1:12", + "nodeType": "YulTypedName", + "src": "16937:1:12", + "type": "" + }, + { + "name": "y", + "nativeSrc": "16940:1:12", + "nodeType": "YulTypedName", + "src": "16940:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "16946:4:12", + "nodeType": "YulTypedName", + "src": "16946:4:12", + "type": "" + } + ], + "src": "16906:194:12" + } + ] + }, + "contents": "{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$3239(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$3239(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$3239(value)\n }\n\n function convert_t_enum$_AirdropType_$3239_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$3239(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$3239_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$3239_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$3257_memory_ptr__to_t_struct$_AirdropInfo_$3257_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$3257_memory_ptr_to_t_struct$_AirdropInfo_$3257_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already expired.\")\n\n }\n\n function abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__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_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(memPtr) {\n\n mstore(add(memPtr, 0), \"Address already claimed this air\")\n\n mstore(add(memPtr, 32), \"drop.\")\n\n }\n\n function abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__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_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop has been totally claimed\")\n\n mstore(add(memPtr, 32), \" already.\")\n\n }\n\n function abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__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_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop contract has insufficien\")\n\n mstore(add(memPtr, 32), \"t token balance.\")\n\n }\n\n function abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__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_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack( tail)\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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea2646970667358221220dc7478e0f77c19ad5b5cce42402c417ece1788d5fc13eab8340b1e173ba67c1764736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC PUSH21 0x78E0F77C19AD5B5CCE42402C417ECE1788D5FC13EA 0xB8 CALLVALUE SIGNEXTEND 0x1E OR EXTCODESIZE 0xA6 PUSH29 0x1764736F6C634300081800330000000000000000000000000000000000 ", + "sourceMap": "134:3198:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2291:134;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3216:114;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1900:385;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1197:600;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2996:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2796:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2899:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;2553:126:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2685:105:10;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2431:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1807:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3107:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2291:134:10;2340:4;2406:12;;2363:14;;;;;;;;;;;:24;;;2396:4;2363:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;;2356:62;;2291:134;:::o;3216:114::-;3258:7;3284:14;;;;;;;;;;;:24;;;3317:4;3284:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3277:46;;3216:114;:::o;1900:385::-;1946:18;;:::i;:::-;1976:17;1996:14;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1976:43;;2036:242;;;;;;;;2061:12;2036:242;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2096:4;2036:242;;;;;;2115:19;;2036:242;;;;2149:18;;2036:242;;;;2182:12;;2036:242;;;;2209:15;;2036:242;;;;2239:12;;;;;;;;;;;2036:242;;;;;;;;:::i;:::-;;;;;;2265:3;2036:242;;;2029:249;;;1900:385;:::o;1197:600::-;1531:13:0;:11;:13::i;:::-;1304:12:10::1;:10;:12::i;:::-;1303:13;1295:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1364:16;1375:4;1364:10;:16::i;:::-;1363:17;1355:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1441:23;:21;:23::i;:::-;1440:24;1432:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;1528:19;:17;:19::i;:::-;1520:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1611:14;;;;;;;;;;;:23;;;1635:4;1641:12;;1611:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1686:12;;1664:18;;:34;;;;;;;:::i;:::-;;;;;;;;1745:4;1708:28;:34;1737:4;1708:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;1765:25;1771:4;1777:12;;1765:25;;;;;;;:::i;:::-;;;;;;;;1197:600:::0;;;;:::o;2996:105::-;3049:7;3075:19;;3068:26;;2996:105;:::o;2796:97::-;2845:7;2871:15;;2864:22;;2796:97;:::o;2899:91::-;2945:7;2971:12;;2964:19;;2899:91;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2553:126:10:-;2611:4;2634:28;:38;2663:8;2634:38;;;;;;;;;;;;;;;;;;;;;;;;;2627:45;;2553:126;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;2685:105:10:-;2727:4;2768:15;2750;;:33;2743:40;;2685:105;:::o;2431:116::-;2484:4;2528:12;;2507:18;;:33;2500:40;;2431:116;:::o;1807:87::-;1860:4;1883;1876:11;;1807:87;;;:::o;3107:103::-;3159:7;3185:18;;3178:25;;3107:103;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;2912:187::-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:1:-;709:7;735:10;728:17;;656:96;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:90:12:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:77::-;471:7;500:5;489:16;;434:77;;;:::o;517:118::-;604:24;622:5;604:24;:::i;:::-;599:3;592:37;517:118;;:::o;641:222::-;734:4;772:2;761:9;757:18;749:26;;785:71;853:1;842:9;838:17;829:6;785:71;:::i;:::-;641:222;;;;:::o;869:99::-;921:6;955:5;949:12;939:22;;869:99;;;:::o;974:159::-;1048:11;1082:6;1077:3;1070:19;1122:4;1117:3;1113:14;1098:29;;974:159;;;;:::o;1139:246::-;1220:1;1230:113;1244:6;1241:1;1238:13;1230:113;;;1329:1;1324:3;1320:11;1314:18;1310:1;1305:3;1301:11;1294:39;1266:2;1263:1;1259:10;1254:15;;1230:113;;;1377:1;1368:6;1363:3;1359:16;1352:27;1201:184;1139:246;;;:::o;1391:102::-;1432:6;1483:2;1479:7;1474:2;1467:5;1463:14;1459:28;1449:38;;1391:102;;;:::o;1499:357::-;1577:3;1605:39;1638:5;1605:39;:::i;:::-;1660:61;1714:6;1709:3;1660:61;:::i;:::-;1653:68;;1730:65;1788:6;1783:3;1776:4;1769:5;1765:16;1730:65;:::i;:::-;1820:29;1842:6;1820:29;:::i;:::-;1815:3;1811:39;1804:46;;1581:275;1499:357;;;;:::o;1862:126::-;1899:7;1939:42;1932:5;1928:54;1917:65;;1862:126;;;:::o;1994:96::-;2031:7;2060:24;2078:5;2060:24;:::i;:::-;2049:35;;1994:96;;;:::o;2096:108::-;2173:24;2191:5;2173:24;:::i;:::-;2168:3;2161:37;2096:108;;:::o;2210:::-;2287:24;2305:5;2287:24;:::i;:::-;2282:3;2275:37;2210:108;;:::o;2324:180::-;2372:77;2369:1;2362:88;2469:4;2466:1;2459:15;2493:4;2490:1;2483:15;2510:121;2599:1;2592:5;2589:12;2579:46;;2605:18;;:::i;:::-;2579:46;2510:121;:::o;2637:143::-;2690:7;2719:5;2708:16;;2725:49;2768:5;2725:49;:::i;:::-;2637:143;;;:::o;2786:::-;2850:9;2883:40;2917:5;2883:40;:::i;:::-;2870:53;;2786:143;;;:::o;2935:149::-;3026:51;3071:5;3026:51;:::i;:::-;3021:3;3014:64;2935:149;;:::o;3138:1812::-;3265:3;3301:6;3296:3;3292:16;3397:4;3390:5;3386:16;3380:23;3450:3;3444:4;3440:14;3433:4;3428:3;3424:14;3417:38;3476:73;3544:4;3530:12;3476:73;:::i;:::-;3468:81;;3318:242;3652:4;3645:5;3641:16;3635:23;3671:63;3728:4;3723:3;3719:14;3705:12;3671:63;:::i;:::-;3570:174;3840:4;3833:5;3829:16;3823:23;3859:63;3916:4;3911:3;3907:14;3893:12;3859:63;:::i;:::-;3754:178;4027:4;4020:5;4016:16;4010:23;4046:63;4103:4;4098:3;4094:14;4080:12;4046:63;:::i;:::-;3942:177;4208:4;4201:5;4197:16;4191:23;4227:63;4284:4;4279:3;4275:14;4261:12;4227:63;:::i;:::-;4129:171;4392:4;4385:5;4381:16;4375:23;4411:63;4468:4;4463:3;4459:14;4445:12;4411:63;:::i;:::-;4310:174;4573:4;4566:5;4562:16;4556:23;4592:77;4663:4;4658:3;4654:14;4640:12;4592:77;:::i;:::-;4494:185;4760:4;4753:5;4749:16;4743:23;4813:3;4807:4;4803:14;4796:4;4791:3;4787:14;4780:38;4839:73;4907:4;4893:12;4839:73;:::i;:::-;4831:81;;4689:234;4940:4;4933:11;;3270:1680;3138:1812;;;;:::o;4956:389::-;5107:4;5145:2;5134:9;5130:18;5122:26;;5194:9;5188:4;5184:20;5180:1;5169:9;5165:17;5158:47;5222:116;5333:4;5324:6;5222:116;:::i;:::-;5214:124;;4956:389;;;;:::o;5351:75::-;5384:6;5417:2;5411:9;5401:19;;5351:75;:::o;5432:117::-;5541:1;5538;5531:12;5555:117;5664:1;5661;5654:12;5678:122;5751:24;5769:5;5751:24;:::i;:::-;5744:5;5741:35;5731:63;;5790:1;5787;5780:12;5731:63;5678:122;:::o;5806:139::-;5852:5;5890:6;5877:20;5868:29;;5906:33;5933:5;5906:33;:::i;:::-;5806:139;;;;:::o;5951:122::-;6024:24;6042:5;6024:24;:::i;:::-;6017:5;6014:35;6004:63;;6063:1;6060;6053:12;6004:63;5951:122;:::o;6079:139::-;6125:5;6163:6;6150:20;6141:29;;6179:33;6206:5;6179:33;:::i;:::-;6079:139;;;;:::o;6224:117::-;6333:1;6330;6323:12;6347:117;6456:1;6453;6446:12;6470:117;6579:1;6576;6569:12;6610:568;6683:8;6693:6;6743:3;6736:4;6728:6;6724:17;6720:27;6710:122;;6751:79;;:::i;:::-;6710:122;6864:6;6851:20;6841:30;;6894:18;6886:6;6883:30;6880:117;;;6916:79;;:::i;:::-;6880:117;7030:4;7022:6;7018:17;7006:29;;7084:3;7076:4;7068:6;7064:17;7054:8;7050:32;7047:41;7044:128;;;7091:79;;:::i;:::-;7044:128;6610:568;;;;;:::o;7184:849::-;7288:6;7296;7304;7312;7361:2;7349:9;7340:7;7336:23;7332:32;7329:119;;;7367:79;;:::i;:::-;7329:119;7487:1;7512:53;7557:7;7548:6;7537:9;7533:22;7512:53;:::i;:::-;7502:63;;7458:117;7614:2;7640:53;7685:7;7676:6;7665:9;7661:22;7640:53;:::i;:::-;7630:63;;7585:118;7770:2;7759:9;7755:18;7742:32;7801:18;7793:6;7790:30;7787:117;;;7823:79;;:::i;:::-;7787:117;7936:80;8008:7;7999:6;7988:9;7984:22;7936:80;:::i;:::-;7918:98;;;;7713:313;7184:849;;;;;;;:::o;8039:329::-;8098:6;8147:2;8135:9;8126:7;8122:23;8118:32;8115:119;;;8153:79;;:::i;:::-;8115:119;8273:1;8298:53;8343:7;8334:6;8323:9;8319:22;8298:53;:::i;:::-;8288:63;;8244:117;8039:329;;;;:::o;8374:118::-;8461:24;8479:5;8461:24;:::i;:::-;8456:3;8449:37;8374:118;;:::o;8498:222::-;8591:4;8629:2;8618:9;8614:18;8606:26;;8642:71;8710:1;8699:9;8695:17;8686:6;8642:71;:::i;:::-;8498:222;;;;:::o;8726:143::-;8783:5;8814:6;8808:13;8799:22;;8830:33;8857:5;8830:33;:::i;:::-;8726:143;;;;:::o;8875:351::-;8945:6;8994:2;8982:9;8973:7;8969:23;8965:32;8962:119;;;9000:79;;:::i;:::-;8962:119;9120:1;9145:64;9201:7;9192:6;9181:9;9177:22;9145:64;:::i;:::-;9135:74;;9091:128;8875:351;;;;:::o;9232:117::-;9341:1;9338;9331:12;9355:180;9403:77;9400:1;9393:88;9500:4;9497:1;9490:15;9524:4;9521:1;9514:15;9541:281;9624:27;9646:4;9624:27;:::i;:::-;9616:6;9612:40;9754:6;9742:10;9739:22;9718:18;9706:10;9703:34;9700:62;9697:88;;;9765:18;;:::i;:::-;9697:88;9805:10;9801:2;9794:22;9584:238;9541:281;;:::o;9828:129::-;9862:6;9889:20;;:::i;:::-;9879:30;;9918:33;9946:4;9938:6;9918:33;:::i;:::-;9828:129;;;:::o;9963:308::-;10025:4;10115:18;10107:6;10104:30;10101:56;;;10137:18;;:::i;:::-;10101:56;10175:29;10197:6;10175:29;:::i;:::-;10167:37;;10259:4;10253;10249:15;10241:23;;9963:308;;;:::o;10277:434::-;10366:5;10391:66;10407:49;10449:6;10407:49;:::i;:::-;10391:66;:::i;:::-;10382:75;;10480:6;10473:5;10466:21;10518:4;10511:5;10507:16;10556:3;10547:6;10542:3;10538:16;10535:25;10532:112;;;10563:79;;:::i;:::-;10532:112;10653:52;10698:6;10693:3;10688;10653:52;:::i;:::-;10372:339;10277:434;;;;;:::o;10731:355::-;10798:5;10847:3;10840:4;10832:6;10828:17;10824:27;10814:122;;10855:79;;:::i;:::-;10814:122;10965:6;10959:13;10990:90;11076:3;11068:6;11061:4;11053:6;11049:17;10990:90;:::i;:::-;10981:99;;10804:282;10731:355;;;;:::o;11092:524::-;11172:6;11221:2;11209:9;11200:7;11196:23;11192:32;11189:119;;;11227:79;;:::i;:::-;11189:119;11368:1;11357:9;11353:17;11347:24;11398:18;11390:6;11387:30;11384:117;;;11420:79;;:::i;:::-;11384:117;11525:74;11591:7;11582:6;11571:9;11567:22;11525:74;:::i;:::-;11515:84;;11318:291;11092:524;;;;:::o;11622:180::-;11670:77;11667:1;11660:88;11767:4;11764:1;11757:15;11791:4;11788:1;11781:15;11808:320;11852:6;11889:1;11883:4;11879:12;11869:22;;11936:1;11930:4;11926:12;11957:18;11947:81;;12013:4;12005:6;12001:17;11991:27;;11947:81;12075:2;12067:6;12064:14;12044:18;12041:38;12038:84;;12094:18;;:::i;:::-;12038:84;11859:269;11808:320;;;:::o;12134:169::-;12218:11;12252:6;12247:3;12240:19;12292:4;12287:3;12283:14;12268:29;;12134:169;;;;:::o;12309:174::-;12449:26;12445:1;12437:6;12433:14;12426:50;12309:174;:::o;12489:366::-;12631:3;12652:67;12716:2;12711:3;12652:67;:::i;:::-;12645:74;;12728:93;12817:3;12728:93;:::i;:::-;12846:2;12841:3;12837:12;12830:19;;12489:366;;;:::o;12861:419::-;13027:4;13065:2;13054:9;13050:18;13042:26;;13114:9;13108:4;13104:20;13100:1;13089:9;13085:17;13078:47;13142:131;13268:4;13142:131;:::i;:::-;13134:139;;12861:419;;;:::o;13286:224::-;13426:34;13422:1;13414:6;13410:14;13403:58;13495:7;13490:2;13482:6;13478:15;13471:32;13286:224;:::o;13516:366::-;13658:3;13679:67;13743:2;13738:3;13679:67;:::i;:::-;13672:74;;13755:93;13844:3;13755:93;:::i;:::-;13873:2;13868:3;13864:12;13857:19;;13516:366;;;:::o;13888:419::-;14054:4;14092:2;14081:9;14077:18;14069:26;;14141:9;14135:4;14131:20;14127:1;14116:9;14112:17;14105:47;14169:131;14295:4;14169:131;:::i;:::-;14161:139;;13888:419;;;:::o;14313:228::-;14453:34;14449:1;14441:6;14437:14;14430:58;14522:11;14517:2;14509:6;14505:15;14498:36;14313:228;:::o;14547:366::-;14689:3;14710:67;14774:2;14769:3;14710:67;:::i;:::-;14703:74;;14786:93;14875:3;14786:93;:::i;:::-;14904:2;14899:3;14895:12;14888:19;;14547:366;;;:::o;14919:419::-;15085:4;15123:2;15112:9;15108:18;15100:26;;15172:9;15166:4;15162:20;15158:1;15147:9;15143:17;15136:47;15200:131;15326:4;15200:131;:::i;:::-;15192:139;;14919:419;;;:::o;15344:235::-;15484:34;15480:1;15472:6;15468:14;15461:58;15553:18;15548:2;15540:6;15536:15;15529:43;15344:235;:::o;15585:366::-;15727:3;15748:67;15812:2;15807:3;15748:67;:::i;:::-;15741:74;;15824:93;15913:3;15824:93;:::i;:::-;15942:2;15937:3;15933:12;15926:19;;15585:366;;;:::o;15957:419::-;16123:4;16161:2;16150:9;16146:18;16138:26;;16210:9;16204:4;16200:20;16196:1;16185:9;16181:17;16174:47;16238:131;16364:4;16238:131;:::i;:::-;16230:139;;15957:419;;;:::o;16382:332::-;16503:4;16541:2;16530:9;16526:18;16518:26;;16554:71;16622:1;16611:9;16607:17;16598:6;16554:71;:::i;:::-;16635:72;16703:2;16692:9;16688:18;16679:6;16635:72;:::i;:::-;16382:332;;;;;:::o;16720:180::-;16768:77;16765:1;16758:88;16865:4;16862:1;16855:15;16889:4;16886:1;16879:15;16906:194;16946:4;16966:20;16984:1;16966:20;:::i;:::-;16961:25;;17000:20;17018:1;17000:20;:::i;:::-;16995:25;;17044:1;17041;17037:9;17029:17;;17068:1;17062:4;17059:11;17056:37;;;17073:18;;:::i;:::-;17056:37;16906:194;;;;:::o" + }, + "methodIdentifiers": { + "claim(address,uint256,bytes32[])": "3d13f874", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getClaimAmount()": "71127ed2", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "hasBalanceToClaim()": "01cb54c0", + "hasBeenTotallyClaimed()": "9592a2cd", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "isAllowed(address)": "babcc539", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"allowedAddress\",\"type\":\"address\"}],\"name\":\"AddressAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"disallowedAddress\",\"type\":\"address\"}],\"name\":\"AddressDisallowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBalanceToClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBeenTotallyClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/OpenAirdropERC20.sol\":\"OpenAirdropERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/OpenAirdropERC20.sol\":{\"keccak256\":\"0x8264b69f61632f3869a932aaf532931bed3f1b5aa85dfa18abf589866f0d7810\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f411e72cbff09a3d66e7ccaa0bf797f2dffce4ffdaf74e3f671fabe870305132\",\"dweb:/ipfs/QmQ9BHBgcq9b3GDra6FWBM6e6mBDfchiDkLX5Ue4qFbiz5\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/Types.sol": { + "IAirdrop": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "allowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "allowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof_", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "disallowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "disallowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "info", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowAddress(address)": "08af4d88", + "allowAddresses(address[])": "3863b1f5", + "claim(address,uint256,bytes32[])": "3d13f874", + "disallowAddress(address)": "b7c58d7a", + "disallowAddresses(address[])": "a9f7d0b2", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getClaimAmount()": "71127ed2", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "isAllowed(address)": "babcc539", + "setRoot(bytes32)": "dab5f340" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"allowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"allowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof_\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"disallowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"disallowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Types.sol\":\"IAirdrop\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IDeployer1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mode", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256,uint256,uint256)": "0920be42" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mode\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Types.sol\":\"IDeployer1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IDeployerERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256)": "d171b519" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Types.sol\":\"IDeployerERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IERC1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "getUri()": "4e16fc8b", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Types.sol\":\"IERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address)": "70a08231", + "getUri()": "4e16fc8b", + "transfer(address,uint256)": "a9059cbb" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Types.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + } + } + } +} \ No newline at end of file diff --git a/ignition/deployments/chain-31/build-info/a88cecd3a6acd6612f0ee6f68451a402.json b/ignition/deployments/chain-31/build-info/a88cecd3a6acd6612f0ee6f68451a402.json new file mode 100644 index 0000000..375ae7b --- /dev/null +++ b/ignition/deployments/chain-31/build-info/a88cecd3a6acd6612f0ee6f68451a402.json @@ -0,0 +1,297615 @@ +{ + "id": "a88cecd3a6acd6612f0ee6f68451a402", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.24", + "solcLongVersion": "0.8.24+commit.e11b9ed9", + "input": { + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/access/Ownable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n" + }, + "@openzeppelin/contracts/interfaces/IERC5267.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5267.sol)\n\npragma solidity ^0.8.20;\n\ninterface IERC5267 {\n /**\n * @dev MAY be emitted to signal that the domain could have changed.\n */\n event EIP712DomainChanged();\n\n /**\n * @dev returns the fields and values that describe the domain separator used by this contract for EIP-712\n * signature.\n */\n function eip712Domain()\n external\n view\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n );\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/ERC1155.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/ERC1155.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC1155} from \"./IERC1155.sol\";\nimport {IERC1155MetadataURI} from \"./extensions/IERC1155MetadataURI.sol\";\nimport {ERC1155Utils} from \"./utils/ERC1155Utils.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC165, ERC165} from \"../../utils/introspection/ERC165.sol\";\nimport {Arrays} from \"../../utils/Arrays.sol\";\nimport {IERC1155Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the basic standard multi-token.\n * See https://eips.ethereum.org/EIPS/eip-1155\n * Originally based on code by Enjin: https://github.com/enjin/erc-1155\n */\nabstract contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI, IERC1155Errors {\n using Arrays for uint256[];\n using Arrays for address[];\n\n mapping(uint256 id => mapping(address account => uint256)) private _balances;\n\n mapping(address account => mapping(address operator => bool)) private _operatorApprovals;\n\n // Used as the URI for all token types by relying on ID substitution, e.g. https://token-cdn-domain/{id}.json\n string private _uri;\n\n /**\n * @dev See {_setURI}.\n */\n constructor(string memory uri_) {\n _setURI(uri_);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC1155).interfaceId ||\n interfaceId == type(IERC1155MetadataURI).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC1155MetadataURI-uri}.\n *\n * This implementation returns the same URI for *all* token types. It relies\n * on the token type ID substitution mechanism\n * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC].\n *\n * Clients calling this function must replace the `\\{id\\}` substring with the\n * actual token type ID.\n */\n function uri(uint256 /* id */) public view virtual returns (string memory) {\n return _uri;\n }\n\n /**\n * @dev See {IERC1155-balanceOf}.\n */\n function balanceOf(address account, uint256 id) public view virtual returns (uint256) {\n return _balances[id][account];\n }\n\n /**\n * @dev See {IERC1155-balanceOfBatch}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(\n address[] memory accounts,\n uint256[] memory ids\n ) public view virtual returns (uint256[] memory) {\n if (accounts.length != ids.length) {\n revert ERC1155InvalidArrayLength(ids.length, accounts.length);\n }\n\n uint256[] memory batchBalances = new uint256[](accounts.length);\n\n for (uint256 i = 0; i < accounts.length; ++i) {\n batchBalances[i] = balanceOf(accounts.unsafeMemoryAccess(i), ids.unsafeMemoryAccess(i));\n }\n\n return batchBalances;\n }\n\n /**\n * @dev See {IERC1155-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC1155-isApprovedForAll}.\n */\n function isApprovedForAll(address account, address operator) public view virtual returns (bool) {\n return _operatorApprovals[account][operator];\n }\n\n /**\n * @dev See {IERC1155-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes memory data) public virtual {\n address sender = _msgSender();\n if (from != sender && !isApprovedForAll(from, sender)) {\n revert ERC1155MissingApprovalForAll(sender, from);\n }\n _safeTransferFrom(from, to, id, value, data);\n }\n\n /**\n * @dev See {IERC1155-safeBatchTransferFrom}.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory values,\n bytes memory data\n ) public virtual {\n address sender = _msgSender();\n if (from != sender && !isApprovedForAll(from, sender)) {\n revert ERC1155MissingApprovalForAll(sender, from);\n }\n _safeBatchTransferFrom(from, to, ids, values, data);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens of type `id` from `from` to `to`. Will mint (or burn) if `from`\n * (or `to`) is the zero address.\n *\n * Emits a {TransferSingle} event if the arrays contain one element, and {TransferBatch} otherwise.\n *\n * Requirements:\n *\n * - If `to` refers to a smart contract, it must implement either {IERC1155Receiver-onERC1155Received}\n * or {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\n * - `ids` and `values` must have the same length.\n *\n * NOTE: The ERC-1155 acceptance check is not performed in this function. See {_updateWithAcceptanceCheck} instead.\n */\n function _update(address from, address to, uint256[] memory ids, uint256[] memory values) internal virtual {\n if (ids.length != values.length) {\n revert ERC1155InvalidArrayLength(ids.length, values.length);\n }\n\n address operator = _msgSender();\n\n for (uint256 i = 0; i < ids.length; ++i) {\n uint256 id = ids.unsafeMemoryAccess(i);\n uint256 value = values.unsafeMemoryAccess(i);\n\n if (from != address(0)) {\n uint256 fromBalance = _balances[id][from];\n if (fromBalance < value) {\n revert ERC1155InsufficientBalance(from, fromBalance, value, id);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance\n _balances[id][from] = fromBalance - value;\n }\n }\n\n if (to != address(0)) {\n _balances[id][to] += value;\n }\n }\n\n if (ids.length == 1) {\n uint256 id = ids.unsafeMemoryAccess(0);\n uint256 value = values.unsafeMemoryAccess(0);\n emit TransferSingle(operator, from, to, id, value);\n } else {\n emit TransferBatch(operator, from, to, ids, values);\n }\n }\n\n /**\n * @dev Version of {_update} that performs the token acceptance check by calling\n * {IERC1155Receiver-onERC1155Received} or {IERC1155Receiver-onERC1155BatchReceived} on the receiver address if it\n * contains code (eg. is a smart contract at the moment of execution).\n *\n * IMPORTANT: Overriding this function is discouraged because it poses a reentrancy risk from the receiver. So any\n * update to the contract state after this function would break the check-effect-interaction pattern. Consider\n * overriding {_update} instead.\n */\n function _updateWithAcceptanceCheck(\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory values,\n bytes memory data\n ) internal virtual {\n _update(from, to, ids, values);\n if (to != address(0)) {\n address operator = _msgSender();\n if (ids.length == 1) {\n uint256 id = ids.unsafeMemoryAccess(0);\n uint256 value = values.unsafeMemoryAccess(0);\n ERC1155Utils.checkOnERC1155Received(operator, from, to, id, value, data);\n } else {\n ERC1155Utils.checkOnERC1155BatchReceived(operator, from, to, ids, values, data);\n }\n }\n }\n\n /**\n * @dev Transfers a `value` tokens of token type `id` from `from` to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `from` must have a balance of tokens of type `id` of at least `value` amount.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function _safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes memory data) internal {\n if (to == address(0)) {\n revert ERC1155InvalidReceiver(address(0));\n }\n if (from == address(0)) {\n revert ERC1155InvalidSender(address(0));\n }\n (uint256[] memory ids, uint256[] memory values) = _asSingletonArrays(id, value);\n _updateWithAcceptanceCheck(from, to, ids, values, data);\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_safeTransferFrom}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n * - `ids` and `values` must have the same length.\n */\n function _safeBatchTransferFrom(\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory values,\n bytes memory data\n ) internal {\n if (to == address(0)) {\n revert ERC1155InvalidReceiver(address(0));\n }\n if (from == address(0)) {\n revert ERC1155InvalidSender(address(0));\n }\n _updateWithAcceptanceCheck(from, to, ids, values, data);\n }\n\n /**\n * @dev Sets a new URI for all token types, by relying on the token type ID\n * substitution mechanism\n * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC].\n *\n * By this mechanism, any occurrence of the `\\{id\\}` substring in either the\n * URI or any of the values in the JSON file at said URI will be replaced by\n * clients with the token type ID.\n *\n * For example, the `https://token-cdn-domain/\\{id\\}.json` URI would be\n * interpreted by clients as\n * `https://token-cdn-domain/000000000000000000000000000000000000000000000000000000000004cce0.json`\n * for token type ID 0x4cce0.\n *\n * See {uri}.\n *\n * Because these URIs cannot be meaningfully represented by the {URI} event,\n * this function emits no events.\n */\n function _setURI(string memory newuri) internal virtual {\n _uri = newuri;\n }\n\n /**\n * @dev Creates a `value` amount of tokens of type `id`, and assigns them to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function _mint(address to, uint256 id, uint256 value, bytes memory data) internal {\n if (to == address(0)) {\n revert ERC1155InvalidReceiver(address(0));\n }\n (uint256[] memory ids, uint256[] memory values) = _asSingletonArrays(id, value);\n _updateWithAcceptanceCheck(address(0), to, ids, values, data);\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `values` must have the same length.\n * - `to` cannot be the zero address.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function _mintBatch(address to, uint256[] memory ids, uint256[] memory values, bytes memory data) internal {\n if (to == address(0)) {\n revert ERC1155InvalidReceiver(address(0));\n }\n _updateWithAcceptanceCheck(address(0), to, ids, values, data);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens of type `id` from `from`\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `from` must have at least `value` amount of tokens of type `id`.\n */\n function _burn(address from, uint256 id, uint256 value) internal {\n if (from == address(0)) {\n revert ERC1155InvalidSender(address(0));\n }\n (uint256[] memory ids, uint256[] memory values) = _asSingletonArrays(id, value);\n _updateWithAcceptanceCheck(from, address(0), ids, values, \"\");\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `from` must have at least `value` amount of tokens of type `id`.\n * - `ids` and `values` must have the same length.\n */\n function _burnBatch(address from, uint256[] memory ids, uint256[] memory values) internal {\n if (from == address(0)) {\n revert ERC1155InvalidSender(address(0));\n }\n _updateWithAcceptanceCheck(from, address(0), ids, values, \"\");\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n *\n * Requirements:\n *\n * - `operator` cannot be the zero address.\n */\n function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {\n if (operator == address(0)) {\n revert ERC1155InvalidOperator(address(0));\n }\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Creates an array in memory with only one value for each of the elements provided.\n */\n function _asSingletonArrays(\n uint256 element1,\n uint256 element2\n ) private pure returns (uint256[] memory array1, uint256[] memory array2) {\n assembly (\"memory-safe\") {\n // Load the free memory pointer\n array1 := mload(0x40)\n // Set array length to 1\n mstore(array1, 1)\n // Store the single element at the next word after the length (where content starts)\n mstore(add(array1, 0x20), element1)\n\n // Repeat for next array locating it right after the first array\n array2 := add(array1, 0x40)\n mstore(array2, 1)\n mstore(add(array2, 0x20), element2)\n\n // Update the free memory pointer by pointing after the second array\n mstore(0x40, add(array2, 0x40))\n }\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/extensions/IERC1155MetadataURI.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC1155} from \"../IERC1155.sol\";\n\n/**\n * @dev Interface of the optional ERC1155MetadataExtension interface, as defined\n * in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[ERC].\n */\ninterface IERC1155MetadataURI is IERC1155 {\n /**\n * @dev Returns the URI for token type `id`.\n *\n * If the `\\{id\\}` substring is present in the URI, it must be replaced by\n * clients with the actual token type ID.\n */\n function uri(uint256 id) external view returns (string memory);\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/IERC1155.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC-1155 compliant contract, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1155[ERC].\n */\ninterface IERC1155 is IERC165 {\n /**\n * @dev Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.\n */\n event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);\n\n /**\n * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n * transfers.\n */\n event TransferBatch(\n address indexed operator,\n address indexed from,\n address indexed to,\n uint256[] ids,\n uint256[] values\n );\n\n /**\n * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n * `approved`.\n */\n event ApprovalForAll(address indexed account, address indexed operator, bool approved);\n\n /**\n * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n *\n * If an {URI} event was emitted for `id`, the standard\n * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n * returned by {IERC1155MetadataURI-uri}.\n */\n event URI(string value, uint256 indexed id);\n\n /**\n * @dev Returns the value of tokens of token type `id` owned by `account`.\n */\n function balanceOf(address account, uint256 id) external view returns (uint256);\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(\n address[] calldata accounts,\n uint256[] calldata ids\n ) external view returns (uint256[] memory);\n\n /**\n * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n *\n * Emits an {ApprovalForAll} event.\n *\n * Requirements:\n *\n * - `operator` cannot be the zero address.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n *\n * See {setApprovalForAll}.\n */\n function isApprovedForAll(address account, address operator) external view returns (bool);\n\n /**\n * @dev Transfers a `value` amount of tokens of type `id` from `from` to `to`.\n *\n * WARNING: This function can potentially allow a reentrancy attack when transferring tokens\n * to an untrusted contract, when invoking {onERC1155Received} on the receiver.\n * Ensure to follow the checks-effects-interactions pattern and consider employing\n * reentrancy guards when interacting with untrusted contracts.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n * - `from` must have a balance of tokens of type `id` of at least `value` amount.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes calldata data) external;\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n *\n * WARNING: This function can potentially allow a reentrancy attack when transferring tokens\n * to an untrusted contract, when invoking {onERC1155BatchReceived} on the receiver.\n * Ensure to follow the checks-effects-interactions pattern and consider employing\n * reentrancy guards when interacting with untrusted contracts.\n *\n * Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments.\n *\n * Requirements:\n *\n * - `ids` and `values` must have the same length.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n ) external;\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/IERC1155Receiver.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Interface that must be implemented by smart contracts in order to receive\n * ERC-1155 token transfers.\n */\ninterface IERC1155Receiver is IERC165 {\n /**\n * @dev Handles the receipt of a single ERC-1155 token type. This function is\n * called at the end of a `safeTransferFrom` after the balance has been updated.\n *\n * NOTE: To accept the transfer, this must return\n * `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n * (i.e. 0xf23a6e61, or its own function selector).\n *\n * @param operator The address which initiated the transfer (i.e. msg.sender)\n * @param from The address which previously owned the token\n * @param id The ID of the token being transferred\n * @param value The amount of tokens being transferred\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n */\n function onERC1155Received(\n address operator,\n address from,\n uint256 id,\n uint256 value,\n bytes calldata data\n ) external returns (bytes4);\n\n /**\n * @dev Handles the receipt of a multiple ERC-1155 token types. This function\n * is called at the end of a `safeBatchTransferFrom` after the balances have\n * been updated.\n *\n * NOTE: To accept the transfer(s), this must return\n * `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n * (i.e. 0xbc197c81, or its own function selector).\n *\n * @param operator The address which initiated the batch transfer (i.e. msg.sender)\n * @param from The address which previously owned the token\n * @param ids An array containing ids of each token being transferred (order and length must match values array)\n * @param values An array containing amounts of each token being transferred (order and length must match ids array)\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n */\n function onERC1155BatchReceived(\n address operator,\n address from,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n ) external returns (bytes4);\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/utils/ERC1155Utils.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC1155Receiver} from \"../IERC1155Receiver.sol\";\nimport {IERC1155Errors} from \"../../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Library that provide common ERC-1155 utility functions.\n *\n * See https://eips.ethereum.org/EIPS/eip-1155[ERC-1155].\n *\n * _Available since v5.1._\n */\nlibrary ERC1155Utils {\n /**\n * @dev Performs an acceptance check for the provided `operator` by calling {IERC1155-onERC1155Received}\n * on the `to` address. The `operator` is generally the address that initiated the token transfer (i.e. `msg.sender`).\n *\n * The acceptance call is not executed and treated as a no-op if the target address doesn't contain code (i.e. an EOA).\n * Otherwise, the recipient must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value to accept\n * the transfer.\n */\n function checkOnERC1155Received(\n address operator,\n address from,\n address to,\n uint256 id,\n uint256 value,\n bytes memory data\n ) internal {\n if (to.code.length > 0) {\n try IERC1155Receiver(to).onERC1155Received(operator, from, id, value, data) returns (bytes4 response) {\n if (response != IERC1155Receiver.onERC1155Received.selector) {\n // Tokens rejected\n revert IERC1155Errors.ERC1155InvalidReceiver(to);\n }\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n // non-IERC1155Receiver implementer\n revert IERC1155Errors.ERC1155InvalidReceiver(to);\n } else {\n assembly (\"memory-safe\") {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n }\n }\n\n /**\n * @dev Performs a batch acceptance check for the provided `operator` by calling {IERC1155-onERC1155BatchReceived}\n * on the `to` address. The `operator` is generally the address that initiated the token transfer (i.e. `msg.sender`).\n *\n * The acceptance call is not executed and treated as a no-op if the target address doesn't contain code (i.e. an EOA).\n * Otherwise, the recipient must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value to accept\n * the transfer.\n */\n function checkOnERC1155BatchReceived(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory values,\n bytes memory data\n ) internal {\n if (to.code.length > 0) {\n try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, values, data) returns (\n bytes4 response\n ) {\n if (response != IERC1155Receiver.onERC1155BatchReceived.selector) {\n // Tokens rejected\n revert IERC1155Errors.ERC1155InvalidReceiver(to);\n }\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n // non-IERC1155Receiver implementer\n revert IERC1155Errors.ERC1155InvalidReceiver(to);\n } else {\n assembly (\"memory-safe\") {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n }\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC20} from \"../ERC20.sol\";\nimport {Context} from \"../../../utils/Context.sol\";\n\n/**\n * @dev Extension of {ERC20} that allows token holders to destroy both their own\n * tokens and those that they have an allowance for, in a way that can be\n * recognized off-chain (via event analysis).\n */\nabstract contract ERC20Burnable is Context, ERC20 {\n /**\n * @dev Destroys a `value` amount of tokens from the caller.\n *\n * See {ERC20-_burn}.\n */\n function burn(uint256 value) public virtual {\n _burn(_msgSender(), value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, deducting from\n * the caller's allowance.\n *\n * See {ERC20-_burn} and {ERC20-allowance}.\n *\n * Requirements:\n *\n * - the caller must have allowance for ``accounts``'s tokens of at least\n * `value`.\n */\n function burnFrom(address account, uint256 value) public virtual {\n _spendAllowance(account, _msgSender(), value);\n _burn(account, value);\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/ERC20Permit.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20Permit} from \"./IERC20Permit.sol\";\nimport {ERC20} from \"../ERC20.sol\";\nimport {ECDSA} from \"../../../utils/cryptography/ECDSA.sol\";\nimport {EIP712} from \"../../../utils/cryptography/EIP712.sol\";\nimport {Nonces} from \"../../../utils/Nonces.sol\";\n\n/**\n * @dev Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\nabstract contract ERC20Permit is ERC20, IERC20Permit, EIP712, Nonces {\n bytes32 private constant PERMIT_TYPEHASH =\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n\n /**\n * @dev Permit deadline has expired.\n */\n error ERC2612ExpiredSignature(uint256 deadline);\n\n /**\n * @dev Mismatched signature.\n */\n error ERC2612InvalidSigner(address signer, address owner);\n\n /**\n * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n *\n * It's a good idea to use the same `name` that is defined as the ERC-20 token name.\n */\n constructor(string memory name) EIP712(name, \"1\") {}\n\n /**\n * @inheritdoc IERC20Permit\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual {\n if (block.timestamp > deadline) {\n revert ERC2612ExpiredSignature(deadline);\n }\n\n bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline));\n\n bytes32 hash = _hashTypedDataV4(structHash);\n\n address signer = ECDSA.recover(hash, v, r, s);\n if (signer != owner) {\n revert ERC2612InvalidSigner(signer, owner);\n }\n\n _approve(owner, spender, value);\n }\n\n /**\n * @inheritdoc IERC20Permit\n */\n function nonces(address owner) public view virtual override(IERC20Permit, Nonces) returns (uint256) {\n return super.nonces(owner);\n }\n\n /**\n * @inheritdoc IERC20Permit\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view virtual returns (bytes32) {\n return _domainSeparatorV4();\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Permit.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n *\n * ==== Security Considerations\n *\n * There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n * expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n * considered as an intention to spend the allowance in any specific way. The second is that because permits have\n * built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n * take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n * generally recommended is:\n *\n * ```solidity\n * function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n * try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n * doThing(..., value);\n * }\n *\n * function doThing(..., uint256 value) public {\n * token.safeTransferFrom(msg.sender, address(this), value);\n * ...\n * }\n * ```\n *\n * Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n * `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n * {SafeERC20-safeTransferFrom}).\n *\n * Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n * contracts should have entry points that don't rely on permit.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also apply here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n *\n * CAUTION: See Security Considerations above.\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Arrays.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Arrays.sol)\n// This file was procedurally generated from scripts/generate/templates/Arrays.js.\n\npragma solidity ^0.8.20;\n\nimport {Comparators} from \"./Comparators.sol\";\nimport {SlotDerivation} from \"./SlotDerivation.sol\";\nimport {StorageSlot} from \"./StorageSlot.sol\";\nimport {Math} from \"./math/Math.sol\";\n\n/**\n * @dev Collection of functions related to array types.\n */\nlibrary Arrays {\n using SlotDerivation for bytes32;\n using StorageSlot for bytes32;\n\n /**\n * @dev Sort an array of uint256 (in memory) following the provided comparator function.\n *\n * This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n * convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n *\n * NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n * array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n * when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n * consume more gas than is available in a block, leading to potential DoS.\n *\n * IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way.\n */\n function sort(\n uint256[] memory array,\n function(uint256, uint256) pure returns (bool) comp\n ) internal pure returns (uint256[] memory) {\n _quickSort(_begin(array), _end(array), comp);\n return array;\n }\n\n /**\n * @dev Variant of {sort} that sorts an array of uint256 in increasing order.\n */\n function sort(uint256[] memory array) internal pure returns (uint256[] memory) {\n sort(array, Comparators.lt);\n return array;\n }\n\n /**\n * @dev Sort an array of address (in memory) following the provided comparator function.\n *\n * This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n * convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n *\n * NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n * array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n * when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n * consume more gas than is available in a block, leading to potential DoS.\n *\n * IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way.\n */\n function sort(\n address[] memory array,\n function(address, address) pure returns (bool) comp\n ) internal pure returns (address[] memory) {\n sort(_castToUint256Array(array), _castToUint256Comp(comp));\n return array;\n }\n\n /**\n * @dev Variant of {sort} that sorts an array of address in increasing order.\n */\n function sort(address[] memory array) internal pure returns (address[] memory) {\n sort(_castToUint256Array(array), Comparators.lt);\n return array;\n }\n\n /**\n * @dev Sort an array of bytes32 (in memory) following the provided comparator function.\n *\n * This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n * convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n *\n * NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n * array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n * when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n * consume more gas than is available in a block, leading to potential DoS.\n *\n * IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way.\n */\n function sort(\n bytes32[] memory array,\n function(bytes32, bytes32) pure returns (bool) comp\n ) internal pure returns (bytes32[] memory) {\n sort(_castToUint256Array(array), _castToUint256Comp(comp));\n return array;\n }\n\n /**\n * @dev Variant of {sort} that sorts an array of bytes32 in increasing order.\n */\n function sort(bytes32[] memory array) internal pure returns (bytes32[] memory) {\n sort(_castToUint256Array(array), Comparators.lt);\n return array;\n }\n\n /**\n * @dev Performs a quick sort of a segment of memory. The segment sorted starts at `begin` (inclusive), and stops\n * at end (exclusive). Sorting follows the `comp` comparator.\n *\n * Invariant: `begin <= end`. This is the case when initially called by {sort} and is preserved in subcalls.\n *\n * IMPORTANT: Memory locations between `begin` and `end` are not validated/zeroed. This function should\n * be used only if the limits are within a memory array.\n */\n function _quickSort(uint256 begin, uint256 end, function(uint256, uint256) pure returns (bool) comp) private pure {\n unchecked {\n if (end - begin < 0x40) return;\n\n // Use first element as pivot\n uint256 pivot = _mload(begin);\n // Position where the pivot should be at the end of the loop\n uint256 pos = begin;\n\n for (uint256 it = begin + 0x20; it < end; it += 0x20) {\n if (comp(_mload(it), pivot)) {\n // If the value stored at the iterator's position comes before the pivot, we increment the\n // position of the pivot and move the value there.\n pos += 0x20;\n _swap(pos, it);\n }\n }\n\n _swap(begin, pos); // Swap pivot into place\n _quickSort(begin, pos, comp); // Sort the left side of the pivot\n _quickSort(pos + 0x20, end, comp); // Sort the right side of the pivot\n }\n }\n\n /**\n * @dev Pointer to the memory location of the first element of `array`.\n */\n function _begin(uint256[] memory array) private pure returns (uint256 ptr) {\n assembly (\"memory-safe\") {\n ptr := add(array, 0x20)\n }\n }\n\n /**\n * @dev Pointer to the memory location of the first memory word (32bytes) after `array`. This is the memory word\n * that comes just after the last element of the array.\n */\n function _end(uint256[] memory array) private pure returns (uint256 ptr) {\n unchecked {\n return _begin(array) + array.length * 0x20;\n }\n }\n\n /**\n * @dev Load memory word (as a uint256) at location `ptr`.\n */\n function _mload(uint256 ptr) private pure returns (uint256 value) {\n assembly {\n value := mload(ptr)\n }\n }\n\n /**\n * @dev Swaps the elements memory location `ptr1` and `ptr2`.\n */\n function _swap(uint256 ptr1, uint256 ptr2) private pure {\n assembly {\n let value1 := mload(ptr1)\n let value2 := mload(ptr2)\n mstore(ptr1, value2)\n mstore(ptr2, value1)\n }\n }\n\n /// @dev Helper: low level cast address memory array to uint256 memory array\n function _castToUint256Array(address[] memory input) private pure returns (uint256[] memory output) {\n assembly {\n output := input\n }\n }\n\n /// @dev Helper: low level cast bytes32 memory array to uint256 memory array\n function _castToUint256Array(bytes32[] memory input) private pure returns (uint256[] memory output) {\n assembly {\n output := input\n }\n }\n\n /// @dev Helper: low level cast address comp function to uint256 comp function\n function _castToUint256Comp(\n function(address, address) pure returns (bool) input\n ) private pure returns (function(uint256, uint256) pure returns (bool) output) {\n assembly {\n output := input\n }\n }\n\n /// @dev Helper: low level cast bytes32 comp function to uint256 comp function\n function _castToUint256Comp(\n function(bytes32, bytes32) pure returns (bool) input\n ) private pure returns (function(uint256, uint256) pure returns (bool) output) {\n assembly {\n output := input\n }\n }\n\n /**\n * @dev Searches a sorted `array` and returns the first index that contains\n * a value greater or equal to `element`. If no such index exists (i.e. all\n * values in the array are strictly less than `element`), the array length is\n * returned. Time complexity O(log n).\n *\n * NOTE: The `array` is expected to be sorted in ascending order, and to\n * contain no repeated elements.\n *\n * IMPORTANT: Deprecated. This implementation behaves as {lowerBound} but lacks\n * support for repeated elements in the array. The {lowerBound} function should\n * be used instead.\n */\n function findUpperBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeAccess(array, mid).value > element) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n // At this point `low` is the exclusive upper bound. We will return the inclusive upper bound.\n if (low > 0 && unsafeAccess(array, low - 1).value == element) {\n return low - 1;\n } else {\n return low;\n }\n }\n\n /**\n * @dev Searches an `array` sorted in ascending order and returns the first\n * index that contains a value greater or equal than `element`. If no such index\n * exists (i.e. all values in the array are strictly less than `element`), the array\n * length is returned. Time complexity O(log n).\n *\n * See C++'s https://en.cppreference.com/w/cpp/algorithm/lower_bound[lower_bound].\n */\n function lowerBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeAccess(array, mid).value < element) {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n } else {\n high = mid;\n }\n }\n\n return low;\n }\n\n /**\n * @dev Searches an `array` sorted in ascending order and returns the first\n * index that contains a value strictly greater than `element`. If no such index\n * exists (i.e. all values in the array are strictly less than `element`), the array\n * length is returned. Time complexity O(log n).\n *\n * See C++'s https://en.cppreference.com/w/cpp/algorithm/upper_bound[upper_bound].\n */\n function upperBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeAccess(array, mid).value > element) {\n high = mid;\n } else {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n }\n }\n\n return low;\n }\n\n /**\n * @dev Same as {lowerBound}, but with an array in memory.\n */\n function lowerBoundMemory(uint256[] memory array, uint256 element) internal pure returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeMemoryAccess(array, mid) < element) {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n } else {\n high = mid;\n }\n }\n\n return low;\n }\n\n /**\n * @dev Same as {upperBound}, but with an array in memory.\n */\n function upperBoundMemory(uint256[] memory array, uint256 element) internal pure returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeMemoryAccess(array, mid) > element) {\n high = mid;\n } else {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n }\n }\n\n return low;\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(address[] storage arr, uint256 pos) internal pure returns (StorageSlot.AddressSlot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getAddressSlot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(bytes32[] storage arr, uint256 pos) internal pure returns (StorageSlot.Bytes32Slot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getBytes32Slot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(uint256[] storage arr, uint256 pos) internal pure returns (StorageSlot.Uint256Slot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getUint256Slot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(address[] memory arr, uint256 pos) internal pure returns (address res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(bytes32[] memory arr, uint256 pos) internal pure returns (bytes32 res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(uint256[] memory arr, uint256 pos) internal pure returns (uint256 res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Helper to set the length of an dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(address[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n\n /**\n * @dev Helper to set the length of an dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(bytes32[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n\n /**\n * @dev Helper to set the length of an dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(uint256[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Comparators.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Comparators.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides a set of functions to compare values.\n *\n * _Available since v5.1._\n */\nlibrary Comparators {\n function lt(uint256 a, uint256 b) internal pure returns (bool) {\n return a < b;\n }\n\n function gt(uint256 a, uint256 b) internal pure returns (bool) {\n return a > b;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/ECDSA.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n assembly (\"memory-safe\") {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength, bytes32(signature.length));\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, signature);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n unchecked {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, r, vs);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, v, r, s);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/EIP712.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/EIP712.sol)\n\npragma solidity ^0.8.20;\n\nimport {MessageHashUtils} from \"./MessageHashUtils.sol\";\nimport {ShortStrings, ShortString} from \"../ShortStrings.sol\";\nimport {IERC5267} from \"../../interfaces/IERC5267.sol\";\n\n/**\n * @dev https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data.\n *\n * The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose\n * encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract\n * does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to\n * produce the hash of their typed data using a combination of `abi.encode` and `keccak256`.\n *\n * This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n * ({_hashTypedDataV4}).\n *\n * The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n * the chain id to protect against replay attacks on an eventual fork of the chain.\n *\n * NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n *\n * NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain\n * separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the\n * separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\n *\n * @custom:oz-upgrades-unsafe-allow state-variable-immutable\n */\nabstract contract EIP712 is IERC5267 {\n using ShortStrings for *;\n\n bytes32 private constant TYPE_HASH =\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\");\n\n // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to\n // invalidate the cached domain separator if the chain id changes.\n bytes32 private immutable _cachedDomainSeparator;\n uint256 private immutable _cachedChainId;\n address private immutable _cachedThis;\n\n bytes32 private immutable _hashedName;\n bytes32 private immutable _hashedVersion;\n\n ShortString private immutable _name;\n ShortString private immutable _version;\n string private _nameFallback;\n string private _versionFallback;\n\n /**\n * @dev Initializes the domain separator and parameter caches.\n *\n * The meaning of `name` and `version` is specified in\n * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]:\n *\n * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n * - `version`: the current major version of the signing domain.\n *\n * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n * contract upgrade].\n */\n constructor(string memory name, string memory version) {\n _name = name.toShortStringWithFallback(_nameFallback);\n _version = version.toShortStringWithFallback(_versionFallback);\n _hashedName = keccak256(bytes(name));\n _hashedVersion = keccak256(bytes(version));\n\n _cachedChainId = block.chainid;\n _cachedDomainSeparator = _buildDomainSeparator();\n _cachedThis = address(this);\n }\n\n /**\n * @dev Returns the domain separator for the current chain.\n */\n function _domainSeparatorV4() internal view returns (bytes32) {\n if (address(this) == _cachedThis && block.chainid == _cachedChainId) {\n return _cachedDomainSeparator;\n } else {\n return _buildDomainSeparator();\n }\n }\n\n function _buildDomainSeparator() private view returns (bytes32) {\n return keccak256(abi.encode(TYPE_HASH, _hashedName, _hashedVersion, block.chainid, address(this)));\n }\n\n /**\n * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n * function returns the hash of the fully encoded EIP712 message for this domain.\n *\n * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n *\n * ```solidity\n * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n * keccak256(\"Mail(address to,string contents)\"),\n * mailTo,\n * keccak256(bytes(mailContents))\n * )));\n * address signer = ECDSA.recover(digest, signature);\n * ```\n */\n function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) {\n return MessageHashUtils.toTypedDataHash(_domainSeparatorV4(), structHash);\n }\n\n /**\n * @dev See {IERC-5267}.\n */\n function eip712Domain()\n public\n view\n virtual\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n )\n {\n return (\n hex\"0f\", // 01111\n _EIP712Name(),\n _EIP712Version(),\n block.chainid,\n address(this),\n bytes32(0),\n new uint256[](0)\n );\n }\n\n /**\n * @dev The name parameter for the EIP712 domain.\n *\n * NOTE: By default this function reads _name which is an immutable value.\n * It only reads from storage if necessary (in case the value is too large to fit in a ShortString).\n */\n // solhint-disable-next-line func-name-mixedcase\n function _EIP712Name() internal view returns (string memory) {\n return _name.toStringWithFallback(_nameFallback);\n }\n\n /**\n * @dev The version parameter for the EIP712 domain.\n *\n * NOTE: By default this function reads _version which is an immutable value.\n * It only reads from storage if necessary (in case the value is too large to fit in a ShortString).\n */\n // solhint-disable-next-line func-name-mixedcase\n function _EIP712Version() internal view returns (string memory) {\n return _version.toStringWithFallback(_versionFallback);\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/Hashes.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/Hashes.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library of standard hash functions.\n *\n * _Available since v5.1._\n */\nlibrary Hashes {\n /**\n * @dev Commutative Keccak256 hash of a sorted pair of bytes32. Frequently used when working with merkle proofs.\n *\n * NOTE: Equivalent to the `standardNodeHash` in our https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n */\n function commutativeKeccak256(bytes32 a, bytes32 b) internal pure returns (bytes32) {\n return a < b ? _efficientKeccak256(a, b) : _efficientKeccak256(b, a);\n }\n\n /**\n * @dev Implementation of keccak256(abi.encode(a, b)) that doesn't allocate or expand memory.\n */\n function _efficientKeccak256(bytes32 a, bytes32 b) private pure returns (bytes32 value) {\n assembly (\"memory-safe\") {\n mstore(0x00, a)\n mstore(0x20, b)\n value := keccak256(0x00, 0x40)\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/MerkleProof.sol)\n// This file was procedurally generated from scripts/generate/templates/MerkleProof.js.\n\npragma solidity ^0.8.20;\n\nimport {Hashes} from \"./Hashes.sol\";\n\n/**\n * @dev These functions deal with verification of Merkle Tree proofs.\n *\n * The tree and the proofs can be generated using our\n * https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n * You will find a quickstart guide in the readme.\n *\n * WARNING: You should avoid using leaf values that are 64 bytes long prior to\n * hashing, or use a hash function other than keccak256 for hashing leaves.\n * This is because the concatenation of a sorted pair of internal nodes in\n * the Merkle tree could be reinterpreted as a leaf value.\n * OpenZeppelin's JavaScript library generates Merkle trees that are safe\n * against this attack out of the box.\n *\n * IMPORTANT: Consider memory side-effects when using custom hashing functions\n * that access memory in an unsafe way.\n *\n * NOTE: This library supports proof verification for merkle trees built using\n * custom _commutative_ hashing functions (i.e. `H(a, b) == H(b, a)`). Proving\n * leaf inclusion in trees built using non-commutative hashing functions requires\n * additional logic that is not supported by this library.\n */\nlibrary MerkleProof {\n /**\n *@dev The multiproof provided is not valid.\n */\n error MerkleProofInvalidMultiproof();\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with the default hashing function.\n */\n function verify(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {\n return processProof(proof, leaf) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with the default hashing function.\n */\n function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = Hashes.commutativeKeccak256(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with a custom hashing function.\n */\n function verify(\n bytes32[] memory proof,\n bytes32 root,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processProof(proof, leaf, hasher) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in memory with a custom hashing function.\n */\n function processProof(\n bytes32[] memory proof,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = hasher(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with the default hashing function.\n */\n function verifyCalldata(bytes32[] calldata proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {\n return processProofCalldata(proof, leaf) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with the default hashing function.\n */\n function processProofCalldata(bytes32[] calldata proof, bytes32 leaf) internal pure returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = Hashes.commutativeKeccak256(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with a custom hashing function.\n */\n function verifyCalldata(\n bytes32[] calldata proof,\n bytes32 root,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processProofCalldata(proof, leaf, hasher) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leaves & pre-images are assumed to be sorted.\n *\n * This version handles proofs in calldata with a custom hashing function.\n */\n function processProofCalldata(\n bytes32[] calldata proof,\n bytes32 leaf,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = hasher(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in memory with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProof}.\n */\n function multiProofVerify(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32 root,\n bytes32[] memory leaves\n ) internal pure returns (bool) {\n return processMultiProof(proof, proofFlags, leaves) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in memory with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProof(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32[] memory leaves\n ) internal pure returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = Hashes.commutativeKeccak256(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in memory with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProof}.\n */\n function multiProofVerify(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32 root,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processMultiProof(proof, proofFlags, leaves, hasher) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in memory with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProof(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = hasher(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in calldata with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProofCalldata}.\n */\n function multiProofVerifyCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32 root,\n bytes32[] memory leaves\n ) internal pure returns (bool) {\n return processMultiProofCalldata(proof, proofFlags, leaves) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in calldata with the default hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProofCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32[] memory leaves\n ) internal pure returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = Hashes.commutativeKeccak256(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * This version handles multiproofs in calldata with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n * The `leaves` must be validated independently. See {processMultiProofCalldata}.\n */\n function multiProofVerifyCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32 root,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bool) {\n return processMultiProofCalldata(proof, proofFlags, leaves, hasher) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * This version handles multiproofs in calldata with a custom hashing function.\n *\n * CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n * and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n * validating the leaves elsewhere.\n */\n function processMultiProofCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32[] memory leaves,\n function(bytes32, bytes32) view returns (bytes32) hasher\n ) internal view returns (bytes32 merkleRoot) {\n // This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the Merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 proofFlagsLen = proofFlags.length;\n\n // Check proof validity.\n if (leavesLen + proof.length != proofFlagsLen + 1) {\n revert MerkleProofInvalidMultiproof();\n }\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](proofFlagsLen);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value from the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < proofFlagsLen; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i]\n ? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])\n : proof[proofPos++];\n hashes[i] = hasher(a, b);\n }\n\n if (proofFlagsLen > 0) {\n if (proofPos != proof.length) {\n revert MerkleProofInvalidMultiproof();\n }\n unchecked {\n return hashes[proofFlagsLen - 1];\n }\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/MessageHashUtils.sol)\n\npragma solidity ^0.8.20;\n\nimport {Strings} from \"../Strings.sol\";\n\n/**\n * @dev Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing.\n *\n * The library provides methods for generating a hash of a message that conforms to the\n * https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712]\n * specifications.\n */\nlibrary MessageHashUtils {\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(bytes32 messageHash) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing an arbitrary `message` with\n * `\"\\x19Ethereum Signed Message:\\n\" + len(message)` and hashing the result. It corresponds with the\n * hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(bytes memory message) internal pure returns (bytes32) {\n return\n keccak256(bytes.concat(\"\\x19Ethereum Signed Message:\\n\", bytes(Strings.toString(message.length)), message));\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x00` (data with intended validator).\n *\n * The digest is calculated by prefixing an arbitrary `data` with `\"\\x19\\x00\"` and the intended\n * `validator` address. Then hashing the result.\n *\n * See {ECDSA-recover}.\n */\n function toDataWithIntendedValidatorHash(address validator, bytes memory data) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(hex\"19_00\", validator, data));\n }\n\n /**\n * @dev Returns the keccak256 digest of an EIP-712 typed data (ERC-191 version `0x01`).\n *\n * The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with\n * `\\x19\\x01` and hashing the result. It corresponds to the hash signed by the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.\n *\n * See {ECDSA-recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n mstore(ptr, hex\"19_01\")\n mstore(add(ptr, 0x02), domainSeparator)\n mstore(add(ptr, 0x22), structHash)\n digest := keccak256(ptr, 0x42)\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\nimport {Panic} from \"../Panic.sol\";\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with an success flag (no overflow).\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with an success flag (no overflow).\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an success flag (no overflow).\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a success flag (no division by zero).\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero).\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n }\n\n /**\n * @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, uint256 a, uint256 b) internal pure returns (uint256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * SafeCast.toUint(condition));\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n\n // The following calculation ensures accurate ceiling division without overflow.\n // Since a is non-zero, (a - 1) / b will not overflow.\n // The largest possible result occurs when (a - 1) / b is type(uint256).max,\n // but the largest value we can obtain is type(uint256).max - 1, which happens\n // when a = type(uint256).max and b = 1.\n unchecked {\n return SafeCast.toUint(a > 0) * ((a - 1) / b + 1);\n }\n }\n\n /**\n * @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n *\n * Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2²⁵⁶ and mod 2²⁵⁶ - 1, then use\n // the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2²⁵⁶ + prod0.\n uint256 prod0 = x * y; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2²⁵⁶. Also prevents denominator == 0.\n if (denominator <= prod1) {\n Panic.panic(ternary(denominator == 0, Panic.DIVISION_BY_ZERO, Panic.UNDER_OVERFLOW));\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2²⁵⁶ / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2²⁵⁶. Now that denominator is an odd number, it has an inverse modulo 2²⁵⁶ such\n // that denominator * inv ≡ 1 mod 2²⁵⁶. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv ≡ 1 mod 2⁴.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2¹⁶\n inverse *= 2 - denominator * inverse; // inverse mod 2³²\n inverse *= 2 - denominator * inverse; // inverse mod 2⁶⁴\n inverse *= 2 - denominator * inverse; // inverse mod 2¹²⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2²⁵⁶\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2²⁵⁶. Since the preconditions guarantee that the outcome is\n // less than 2²⁵⁶, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @dev Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n return mulDiv(x, y, denominator) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0);\n }\n\n /**\n * @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n *\n * If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n * If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n *\n * If the input value is not inversible, 0 is returned.\n *\n * NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n * inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}.\n */\n function invMod(uint256 a, uint256 n) internal pure returns (uint256) {\n unchecked {\n if (n == 0) return 0;\n\n // The inverse modulo is calculated using the Extended Euclidean Algorithm (iterative version)\n // Used to compute integers x and y such that: ax + ny = gcd(a, n).\n // When the gcd is 1, then the inverse of a modulo n exists and it's x.\n // ax + ny = 1\n // ax = 1 + (-y)n\n // ax ≡ 1 (mod n) # x is the inverse of a modulo n\n\n // If the remainder is 0 the gcd is n right away.\n uint256 remainder = a % n;\n uint256 gcd = n;\n\n // Therefore the initial coefficients are:\n // ax + ny = gcd(a, n) = n\n // 0a + 1n = n\n int256 x = 0;\n int256 y = 1;\n\n while (remainder != 0) {\n uint256 quotient = gcd / remainder;\n\n (gcd, remainder) = (\n // The old remainder is the next gcd to try.\n remainder,\n // Compute the next remainder.\n // Can't overflow given that (a % gcd) * (gcd // (a % gcd)) <= gcd\n // where gcd is at most n (capped to type(uint256).max)\n gcd - remainder * quotient\n );\n\n (x, y) = (\n // Increment the coefficient of a.\n y,\n // Decrement the coefficient of n.\n // Can overflow, but the result is casted to uint256 so that the\n // next value of y is \"wrapped around\" to a value between 0 and n - 1.\n x - y * int256(quotient)\n );\n }\n\n if (gcd != 1) return 0; // No inverse exists.\n return ternary(x < 0, n - uint256(-x), uint256(x)); // Wrap the result if it's negative.\n }\n }\n\n /**\n * @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n *\n * From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n * prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n * `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n *\n * NOTE: this function does NOT check that `p` is a prime greater than `2`.\n */\n function invModPrime(uint256 a, uint256 p) internal view returns (uint256) {\n unchecked {\n return Math.modExp(a, p - 2, p);\n }\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n *\n * Requirements:\n * - modulus can't be zero\n * - underlying staticcall to precompile must succeed\n *\n * IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n * sure the chain you're using it on supports the precompiled contract for modular exponentiation\n * at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n * the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n * interpreted as 0.\n */\n function modExp(uint256 b, uint256 e, uint256 m) internal view returns (uint256) {\n (bool success, uint256 result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n * It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n * to operate modulo 0 or if the underlying precompile reverted.\n *\n * IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n * you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n * https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n * of a revert, but the result may be incorrectly interpreted as 0.\n */\n function tryModExp(uint256 b, uint256 e, uint256 m) internal view returns (bool success, uint256 result) {\n if (m == 0) return (false, 0);\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n // | Offset | Content | Content (Hex) |\n // |-----------|------------|--------------------------------------------------------------------|\n // | 0x00:0x1f | size of b | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x20:0x3f | size of e | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x40:0x5f | size of m | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x60:0x7f | value of b | 0x<.............................................................b> |\n // | 0x80:0x9f | value of e | 0x<.............................................................e> |\n // | 0xa0:0xbf | value of m | 0x<.............................................................m> |\n mstore(ptr, 0x20)\n mstore(add(ptr, 0x20), 0x20)\n mstore(add(ptr, 0x40), 0x20)\n mstore(add(ptr, 0x60), b)\n mstore(add(ptr, 0x80), e)\n mstore(add(ptr, 0xa0), m)\n\n // Given the result < m, it's guaranteed to fit in 32 bytes,\n // so we can use the memory scratch space located at offset 0.\n success := staticcall(gas(), 0x05, ptr, 0xc0, 0x00, 0x20)\n result := mload(0x00)\n }\n }\n\n /**\n * @dev Variant of {modExp} that supports inputs of arbitrary length.\n */\n function modExp(bytes memory b, bytes memory e, bytes memory m) internal view returns (bytes memory) {\n (bool success, bytes memory result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Variant of {tryModExp} that supports inputs of arbitrary length.\n */\n function tryModExp(\n bytes memory b,\n bytes memory e,\n bytes memory m\n ) internal view returns (bool success, bytes memory result) {\n if (_zeroBytes(m)) return (false, new bytes(0));\n\n uint256 mLen = m.length;\n\n // Encode call args in result and move the free memory pointer\n result = abi.encodePacked(b.length, e.length, mLen, b, e, m);\n\n assembly (\"memory-safe\") {\n let dataPtr := add(result, 0x20)\n // Write result on top of args to avoid allocating extra memory.\n success := staticcall(gas(), 0x05, dataPtr, mload(result), dataPtr, mLen)\n // Overwrite the length.\n // result.length > returndatasize() is guaranteed because returndatasize() == m.length\n mstore(result, mLen)\n // Set the memory pointer after the returned data.\n mstore(0x40, add(dataPtr, mLen))\n }\n }\n\n /**\n * @dev Returns whether the provided byte array is zero.\n */\n function _zeroBytes(bytes memory byteArray) private pure returns (bool) {\n for (uint256 i = 0; i < byteArray.length; ++i) {\n if (byteArray[i] != 0) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n * using integer operations.\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n unchecked {\n // Take care of easy edge cases when a == 0 or a == 1\n if (a <= 1) {\n return a;\n }\n\n // In this function, we use Newton's method to get a root of `f(x) := x² - a`. It involves building a\n // sequence x_n that converges toward sqrt(a). For each iteration x_n, we also define the error between\n // the current value as `ε_n = | x_n - sqrt(a) |`.\n //\n // For our first estimation, we consider `e` the smallest power of 2 which is bigger than the square root\n // of the target. (i.e. `2**(e-1) ≤ sqrt(a) < 2**e`). We know that `e ≤ 128` because `(2¹²⁸)² = 2²⁵⁶` is\n // bigger than any uint256.\n //\n // By noticing that\n // `2**(e-1) ≤ sqrt(a) < 2**e → (2**(e-1))² ≤ a < (2**e)² → 2**(2*e-2) ≤ a < 2**(2*e)`\n // we can deduce that `e - 1` is `log2(a) / 2`. We can thus compute `x_n = 2**(e-1)` using a method similar\n // to the msb function.\n uint256 aa = a;\n uint256 xn = 1;\n\n if (aa >= (1 << 128)) {\n aa >>= 128;\n xn <<= 64;\n }\n if (aa >= (1 << 64)) {\n aa >>= 64;\n xn <<= 32;\n }\n if (aa >= (1 << 32)) {\n aa >>= 32;\n xn <<= 16;\n }\n if (aa >= (1 << 16)) {\n aa >>= 16;\n xn <<= 8;\n }\n if (aa >= (1 << 8)) {\n aa >>= 8;\n xn <<= 4;\n }\n if (aa >= (1 << 4)) {\n aa >>= 4;\n xn <<= 2;\n }\n if (aa >= (1 << 2)) {\n xn <<= 1;\n }\n\n // We now have x_n such that `x_n = 2**(e-1) ≤ sqrt(a) < 2**e = 2 * x_n`. This implies ε_n ≤ 2**(e-1).\n //\n // We can refine our estimation by noticing that the middle of that interval minimizes the error.\n // If we move x_n to equal 2**(e-1) + 2**(e-2), then we reduce the error to ε_n ≤ 2**(e-2).\n // This is going to be our x_0 (and ε_0)\n xn = (3 * xn) >> 1; // ε_0 := | x_0 - sqrt(a) | ≤ 2**(e-2)\n\n // From here, Newton's method give us:\n // x_{n+1} = (x_n + a / x_n) / 2\n //\n // One should note that:\n // x_{n+1}² - a = ((x_n + a / x_n) / 2)² - a\n // = ((x_n² + a) / (2 * x_n))² - a\n // = (x_n⁴ + 2 * a * x_n² + a²) / (4 * x_n²) - a\n // = (x_n⁴ + 2 * a * x_n² + a² - 4 * a * x_n²) / (4 * x_n²)\n // = (x_n⁴ - 2 * a * x_n² + a²) / (4 * x_n²)\n // = (x_n² - a)² / (2 * x_n)²\n // = ((x_n² - a) / (2 * x_n))²\n // ≥ 0\n // Which proves that for all n ≥ 1, sqrt(a) ≤ x_n\n //\n // This gives us the proof of quadratic convergence of the sequence:\n // ε_{n+1} = | x_{n+1} - sqrt(a) |\n // = | (x_n + a / x_n) / 2 - sqrt(a) |\n // = | (x_n² + a - 2*x_n*sqrt(a)) / (2 * x_n) |\n // = | (x_n - sqrt(a))² / (2 * x_n) |\n // = | ε_n² / (2 * x_n) |\n // = ε_n² / | (2 * x_n) |\n //\n // For the first iteration, we have a special case where x_0 is known:\n // ε_1 = ε_0² / | (2 * x_0) |\n // ≤ (2**(e-2))² / (2 * (2**(e-1) + 2**(e-2)))\n // ≤ 2**(2*e-4) / (3 * 2**(e-1))\n // ≤ 2**(e-3) / 3\n // ≤ 2**(e-3-log2(3))\n // ≤ 2**(e-4.5)\n //\n // For the following iterations, we use the fact that, 2**(e-1) ≤ sqrt(a) ≤ x_n:\n // ε_{n+1} = ε_n² / | (2 * x_n) |\n // ≤ (2**(e-k))² / (2 * 2**(e-1))\n // ≤ 2**(2*e-2*k) / 2**e\n // ≤ 2**(e-2*k)\n xn = (xn + a / xn) >> 1; // ε_1 := | x_1 - sqrt(a) | ≤ 2**(e-4.5) -- special case, see above\n xn = (xn + a / xn) >> 1; // ε_2 := | x_2 - sqrt(a) | ≤ 2**(e-9) -- general case with k = 4.5\n xn = (xn + a / xn) >> 1; // ε_3 := | x_3 - sqrt(a) | ≤ 2**(e-18) -- general case with k = 9\n xn = (xn + a / xn) >> 1; // ε_4 := | x_4 - sqrt(a) | ≤ 2**(e-36) -- general case with k = 18\n xn = (xn + a / xn) >> 1; // ε_5 := | x_5 - sqrt(a) | ≤ 2**(e-72) -- general case with k = 36\n xn = (xn + a / xn) >> 1; // ε_6 := | x_6 - sqrt(a) | ≤ 2**(e-144) -- general case with k = 72\n\n // Because e ≤ 128 (as discussed during the first estimation phase), we know have reached a precision\n // ε_6 ≤ 2**(e-144) < 1. Given we're operating on integers, then we can ensure that xn is now either\n // sqrt(a) or sqrt(a) + 1.\n return xn - SafeCast.toUint(xn > a / xn);\n }\n }\n\n /**\n * @dev Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && result * result < a);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n uint256 exp;\n unchecked {\n exp = 128 * SafeCast.toUint(value > (1 << 128) - 1);\n value >>= exp;\n result += exp;\n\n exp = 64 * SafeCast.toUint(value > (1 << 64) - 1);\n value >>= exp;\n result += exp;\n\n exp = 32 * SafeCast.toUint(value > (1 << 32) - 1);\n value >>= exp;\n result += exp;\n\n exp = 16 * SafeCast.toUint(value > (1 << 16) - 1);\n value >>= exp;\n result += exp;\n\n exp = 8 * SafeCast.toUint(value > (1 << 8) - 1);\n value >>= exp;\n result += exp;\n\n exp = 4 * SafeCast.toUint(value > (1 << 4) - 1);\n value >>= exp;\n result += exp;\n\n exp = 2 * SafeCast.toUint(value > (1 << 2) - 1);\n value >>= exp;\n result += exp;\n\n result += SafeCast.toUint(value > 1);\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << result < value);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 10 ** result < value);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n uint256 isGt;\n unchecked {\n isGt = SafeCast.toUint(value > (1 << 128) - 1);\n value >>= isGt * 128;\n result += isGt * 16;\n\n isGt = SafeCast.toUint(value > (1 << 64) - 1);\n value >>= isGt * 64;\n result += isGt * 8;\n\n isGt = SafeCast.toUint(value > (1 << 32) - 1);\n value >>= isGt * 32;\n result += isGt * 4;\n\n isGt = SafeCast.toUint(value > (1 << 16) - 1);\n value >>= isGt * 16;\n result += isGt * 2;\n\n result += SafeCast.toUint(value > (1 << 8) - 1);\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << (result << 3) < value);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/math/SafeCast.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeCast {\n /**\n * @dev Value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n /**\n * @dev An int value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedIntToUint(int256 value);\n\n /**\n * @dev Value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedIntDowncast(uint8 bits, int256 value);\n\n /**\n * @dev An uint value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedUintToInt(uint256 value);\n\n /**\n * @dev Returns the downcasted uint248 from uint256, reverting on\n * overflow (when the input is greater than largest uint248).\n *\n * Counterpart to Solidity's `uint248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toUint248(uint256 value) internal pure returns (uint248) {\n if (value > type(uint248).max) {\n revert SafeCastOverflowedUintDowncast(248, value);\n }\n return uint248(value);\n }\n\n /**\n * @dev Returns the downcasted uint240 from uint256, reverting on\n * overflow (when the input is greater than largest uint240).\n *\n * Counterpart to Solidity's `uint240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toUint240(uint256 value) internal pure returns (uint240) {\n if (value > type(uint240).max) {\n revert SafeCastOverflowedUintDowncast(240, value);\n }\n return uint240(value);\n }\n\n /**\n * @dev Returns the downcasted uint232 from uint256, reverting on\n * overflow (when the input is greater than largest uint232).\n *\n * Counterpart to Solidity's `uint232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toUint232(uint256 value) internal pure returns (uint232) {\n if (value > type(uint232).max) {\n revert SafeCastOverflowedUintDowncast(232, value);\n }\n return uint232(value);\n }\n\n /**\n * @dev Returns the downcasted uint224 from uint256, reverting on\n * overflow (when the input is greater than largest uint224).\n *\n * Counterpart to Solidity's `uint224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toUint224(uint256 value) internal pure returns (uint224) {\n if (value > type(uint224).max) {\n revert SafeCastOverflowedUintDowncast(224, value);\n }\n return uint224(value);\n }\n\n /**\n * @dev Returns the downcasted uint216 from uint256, reverting on\n * overflow (when the input is greater than largest uint216).\n *\n * Counterpart to Solidity's `uint216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toUint216(uint256 value) internal pure returns (uint216) {\n if (value > type(uint216).max) {\n revert SafeCastOverflowedUintDowncast(216, value);\n }\n return uint216(value);\n }\n\n /**\n * @dev Returns the downcasted uint208 from uint256, reverting on\n * overflow (when the input is greater than largest uint208).\n *\n * Counterpart to Solidity's `uint208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toUint208(uint256 value) internal pure returns (uint208) {\n if (value > type(uint208).max) {\n revert SafeCastOverflowedUintDowncast(208, value);\n }\n return uint208(value);\n }\n\n /**\n * @dev Returns the downcasted uint200 from uint256, reverting on\n * overflow (when the input is greater than largest uint200).\n *\n * Counterpart to Solidity's `uint200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toUint200(uint256 value) internal pure returns (uint200) {\n if (value > type(uint200).max) {\n revert SafeCastOverflowedUintDowncast(200, value);\n }\n return uint200(value);\n }\n\n /**\n * @dev Returns the downcasted uint192 from uint256, reverting on\n * overflow (when the input is greater than largest uint192).\n *\n * Counterpart to Solidity's `uint192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toUint192(uint256 value) internal pure returns (uint192) {\n if (value > type(uint192).max) {\n revert SafeCastOverflowedUintDowncast(192, value);\n }\n return uint192(value);\n }\n\n /**\n * @dev Returns the downcasted uint184 from uint256, reverting on\n * overflow (when the input is greater than largest uint184).\n *\n * Counterpart to Solidity's `uint184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toUint184(uint256 value) internal pure returns (uint184) {\n if (value > type(uint184).max) {\n revert SafeCastOverflowedUintDowncast(184, value);\n }\n return uint184(value);\n }\n\n /**\n * @dev Returns the downcasted uint176 from uint256, reverting on\n * overflow (when the input is greater than largest uint176).\n *\n * Counterpart to Solidity's `uint176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toUint176(uint256 value) internal pure returns (uint176) {\n if (value > type(uint176).max) {\n revert SafeCastOverflowedUintDowncast(176, value);\n }\n return uint176(value);\n }\n\n /**\n * @dev Returns the downcasted uint168 from uint256, reverting on\n * overflow (when the input is greater than largest uint168).\n *\n * Counterpart to Solidity's `uint168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toUint168(uint256 value) internal pure returns (uint168) {\n if (value > type(uint168).max) {\n revert SafeCastOverflowedUintDowncast(168, value);\n }\n return uint168(value);\n }\n\n /**\n * @dev Returns the downcasted uint160 from uint256, reverting on\n * overflow (when the input is greater than largest uint160).\n *\n * Counterpart to Solidity's `uint160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toUint160(uint256 value) internal pure returns (uint160) {\n if (value > type(uint160).max) {\n revert SafeCastOverflowedUintDowncast(160, value);\n }\n return uint160(value);\n }\n\n /**\n * @dev Returns the downcasted uint152 from uint256, reverting on\n * overflow (when the input is greater than largest uint152).\n *\n * Counterpart to Solidity's `uint152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toUint152(uint256 value) internal pure returns (uint152) {\n if (value > type(uint152).max) {\n revert SafeCastOverflowedUintDowncast(152, value);\n }\n return uint152(value);\n }\n\n /**\n * @dev Returns the downcasted uint144 from uint256, reverting on\n * overflow (when the input is greater than largest uint144).\n *\n * Counterpart to Solidity's `uint144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toUint144(uint256 value) internal pure returns (uint144) {\n if (value > type(uint144).max) {\n revert SafeCastOverflowedUintDowncast(144, value);\n }\n return uint144(value);\n }\n\n /**\n * @dev Returns the downcasted uint136 from uint256, reverting on\n * overflow (when the input is greater than largest uint136).\n *\n * Counterpart to Solidity's `uint136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toUint136(uint256 value) internal pure returns (uint136) {\n if (value > type(uint136).max) {\n revert SafeCastOverflowedUintDowncast(136, value);\n }\n return uint136(value);\n }\n\n /**\n * @dev Returns the downcasted uint128 from uint256, reverting on\n * overflow (when the input is greater than largest uint128).\n *\n * Counterpart to Solidity's `uint128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toUint128(uint256 value) internal pure returns (uint128) {\n if (value > type(uint128).max) {\n revert SafeCastOverflowedUintDowncast(128, value);\n }\n return uint128(value);\n }\n\n /**\n * @dev Returns the downcasted uint120 from uint256, reverting on\n * overflow (when the input is greater than largest uint120).\n *\n * Counterpart to Solidity's `uint120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toUint120(uint256 value) internal pure returns (uint120) {\n if (value > type(uint120).max) {\n revert SafeCastOverflowedUintDowncast(120, value);\n }\n return uint120(value);\n }\n\n /**\n * @dev Returns the downcasted uint112 from uint256, reverting on\n * overflow (when the input is greater than largest uint112).\n *\n * Counterpart to Solidity's `uint112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toUint112(uint256 value) internal pure returns (uint112) {\n if (value > type(uint112).max) {\n revert SafeCastOverflowedUintDowncast(112, value);\n }\n return uint112(value);\n }\n\n /**\n * @dev Returns the downcasted uint104 from uint256, reverting on\n * overflow (when the input is greater than largest uint104).\n *\n * Counterpart to Solidity's `uint104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toUint104(uint256 value) internal pure returns (uint104) {\n if (value > type(uint104).max) {\n revert SafeCastOverflowedUintDowncast(104, value);\n }\n return uint104(value);\n }\n\n /**\n * @dev Returns the downcasted uint96 from uint256, reverting on\n * overflow (when the input is greater than largest uint96).\n *\n * Counterpart to Solidity's `uint96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toUint96(uint256 value) internal pure returns (uint96) {\n if (value > type(uint96).max) {\n revert SafeCastOverflowedUintDowncast(96, value);\n }\n return uint96(value);\n }\n\n /**\n * @dev Returns the downcasted uint88 from uint256, reverting on\n * overflow (when the input is greater than largest uint88).\n *\n * Counterpart to Solidity's `uint88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toUint88(uint256 value) internal pure returns (uint88) {\n if (value > type(uint88).max) {\n revert SafeCastOverflowedUintDowncast(88, value);\n }\n return uint88(value);\n }\n\n /**\n * @dev Returns the downcasted uint80 from uint256, reverting on\n * overflow (when the input is greater than largest uint80).\n *\n * Counterpart to Solidity's `uint80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toUint80(uint256 value) internal pure returns (uint80) {\n if (value > type(uint80).max) {\n revert SafeCastOverflowedUintDowncast(80, value);\n }\n return uint80(value);\n }\n\n /**\n * @dev Returns the downcasted uint72 from uint256, reverting on\n * overflow (when the input is greater than largest uint72).\n *\n * Counterpart to Solidity's `uint72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toUint72(uint256 value) internal pure returns (uint72) {\n if (value > type(uint72).max) {\n revert SafeCastOverflowedUintDowncast(72, value);\n }\n return uint72(value);\n }\n\n /**\n * @dev Returns the downcasted uint64 from uint256, reverting on\n * overflow (when the input is greater than largest uint64).\n *\n * Counterpart to Solidity's `uint64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toUint64(uint256 value) internal pure returns (uint64) {\n if (value > type(uint64).max) {\n revert SafeCastOverflowedUintDowncast(64, value);\n }\n return uint64(value);\n }\n\n /**\n * @dev Returns the downcasted uint56 from uint256, reverting on\n * overflow (when the input is greater than largest uint56).\n *\n * Counterpart to Solidity's `uint56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toUint56(uint256 value) internal pure returns (uint56) {\n if (value > type(uint56).max) {\n revert SafeCastOverflowedUintDowncast(56, value);\n }\n return uint56(value);\n }\n\n /**\n * @dev Returns the downcasted uint48 from uint256, reverting on\n * overflow (when the input is greater than largest uint48).\n *\n * Counterpart to Solidity's `uint48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toUint48(uint256 value) internal pure returns (uint48) {\n if (value > type(uint48).max) {\n revert SafeCastOverflowedUintDowncast(48, value);\n }\n return uint48(value);\n }\n\n /**\n * @dev Returns the downcasted uint40 from uint256, reverting on\n * overflow (when the input is greater than largest uint40).\n *\n * Counterpart to Solidity's `uint40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toUint40(uint256 value) internal pure returns (uint40) {\n if (value > type(uint40).max) {\n revert SafeCastOverflowedUintDowncast(40, value);\n }\n return uint40(value);\n }\n\n /**\n * @dev Returns the downcasted uint32 from uint256, reverting on\n * overflow (when the input is greater than largest uint32).\n *\n * Counterpart to Solidity's `uint32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toUint32(uint256 value) internal pure returns (uint32) {\n if (value > type(uint32).max) {\n revert SafeCastOverflowedUintDowncast(32, value);\n }\n return uint32(value);\n }\n\n /**\n * @dev Returns the downcasted uint24 from uint256, reverting on\n * overflow (when the input is greater than largest uint24).\n *\n * Counterpart to Solidity's `uint24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toUint24(uint256 value) internal pure returns (uint24) {\n if (value > type(uint24).max) {\n revert SafeCastOverflowedUintDowncast(24, value);\n }\n return uint24(value);\n }\n\n /**\n * @dev Returns the downcasted uint16 from uint256, reverting on\n * overflow (when the input is greater than largest uint16).\n *\n * Counterpart to Solidity's `uint16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toUint16(uint256 value) internal pure returns (uint16) {\n if (value > type(uint16).max) {\n revert SafeCastOverflowedUintDowncast(16, value);\n }\n return uint16(value);\n }\n\n /**\n * @dev Returns the downcasted uint8 from uint256, reverting on\n * overflow (when the input is greater than largest uint8).\n *\n * Counterpart to Solidity's `uint8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toUint8(uint256 value) internal pure returns (uint8) {\n if (value > type(uint8).max) {\n revert SafeCastOverflowedUintDowncast(8, value);\n }\n return uint8(value);\n }\n\n /**\n * @dev Converts a signed int256 into an unsigned uint256.\n *\n * Requirements:\n *\n * - input must be greater than or equal to 0.\n */\n function toUint256(int256 value) internal pure returns (uint256) {\n if (value < 0) {\n revert SafeCastOverflowedIntToUint(value);\n }\n return uint256(value);\n }\n\n /**\n * @dev Returns the downcasted int248 from int256, reverting on\n * overflow (when the input is less than smallest int248 or\n * greater than largest int248).\n *\n * Counterpart to Solidity's `int248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toInt248(int256 value) internal pure returns (int248 downcasted) {\n downcasted = int248(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(248, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int240 from int256, reverting on\n * overflow (when the input is less than smallest int240 or\n * greater than largest int240).\n *\n * Counterpart to Solidity's `int240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toInt240(int256 value) internal pure returns (int240 downcasted) {\n downcasted = int240(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(240, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int232 from int256, reverting on\n * overflow (when the input is less than smallest int232 or\n * greater than largest int232).\n *\n * Counterpart to Solidity's `int232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toInt232(int256 value) internal pure returns (int232 downcasted) {\n downcasted = int232(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(232, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int224 from int256, reverting on\n * overflow (when the input is less than smallest int224 or\n * greater than largest int224).\n *\n * Counterpart to Solidity's `int224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toInt224(int256 value) internal pure returns (int224 downcasted) {\n downcasted = int224(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(224, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int216 from int256, reverting on\n * overflow (when the input is less than smallest int216 or\n * greater than largest int216).\n *\n * Counterpart to Solidity's `int216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toInt216(int256 value) internal pure returns (int216 downcasted) {\n downcasted = int216(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(216, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int208 from int256, reverting on\n * overflow (when the input is less than smallest int208 or\n * greater than largest int208).\n *\n * Counterpart to Solidity's `int208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toInt208(int256 value) internal pure returns (int208 downcasted) {\n downcasted = int208(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(208, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int200 from int256, reverting on\n * overflow (when the input is less than smallest int200 or\n * greater than largest int200).\n *\n * Counterpart to Solidity's `int200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toInt200(int256 value) internal pure returns (int200 downcasted) {\n downcasted = int200(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(200, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int192 from int256, reverting on\n * overflow (when the input is less than smallest int192 or\n * greater than largest int192).\n *\n * Counterpart to Solidity's `int192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toInt192(int256 value) internal pure returns (int192 downcasted) {\n downcasted = int192(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(192, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int184 from int256, reverting on\n * overflow (when the input is less than smallest int184 or\n * greater than largest int184).\n *\n * Counterpart to Solidity's `int184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toInt184(int256 value) internal pure returns (int184 downcasted) {\n downcasted = int184(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(184, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int176 from int256, reverting on\n * overflow (when the input is less than smallest int176 or\n * greater than largest int176).\n *\n * Counterpart to Solidity's `int176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toInt176(int256 value) internal pure returns (int176 downcasted) {\n downcasted = int176(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(176, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int168 from int256, reverting on\n * overflow (when the input is less than smallest int168 or\n * greater than largest int168).\n *\n * Counterpart to Solidity's `int168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toInt168(int256 value) internal pure returns (int168 downcasted) {\n downcasted = int168(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(168, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int160 from int256, reverting on\n * overflow (when the input is less than smallest int160 or\n * greater than largest int160).\n *\n * Counterpart to Solidity's `int160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toInt160(int256 value) internal pure returns (int160 downcasted) {\n downcasted = int160(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(160, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int152 from int256, reverting on\n * overflow (when the input is less than smallest int152 or\n * greater than largest int152).\n *\n * Counterpart to Solidity's `int152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toInt152(int256 value) internal pure returns (int152 downcasted) {\n downcasted = int152(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(152, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int144 from int256, reverting on\n * overflow (when the input is less than smallest int144 or\n * greater than largest int144).\n *\n * Counterpart to Solidity's `int144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toInt144(int256 value) internal pure returns (int144 downcasted) {\n downcasted = int144(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(144, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int136 from int256, reverting on\n * overflow (when the input is less than smallest int136 or\n * greater than largest int136).\n *\n * Counterpart to Solidity's `int136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toInt136(int256 value) internal pure returns (int136 downcasted) {\n downcasted = int136(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(136, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int128 from int256, reverting on\n * overflow (when the input is less than smallest int128 or\n * greater than largest int128).\n *\n * Counterpart to Solidity's `int128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toInt128(int256 value) internal pure returns (int128 downcasted) {\n downcasted = int128(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(128, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int120 from int256, reverting on\n * overflow (when the input is less than smallest int120 or\n * greater than largest int120).\n *\n * Counterpart to Solidity's `int120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toInt120(int256 value) internal pure returns (int120 downcasted) {\n downcasted = int120(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(120, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int112 from int256, reverting on\n * overflow (when the input is less than smallest int112 or\n * greater than largest int112).\n *\n * Counterpart to Solidity's `int112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toInt112(int256 value) internal pure returns (int112 downcasted) {\n downcasted = int112(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(112, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int104 from int256, reverting on\n * overflow (when the input is less than smallest int104 or\n * greater than largest int104).\n *\n * Counterpart to Solidity's `int104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toInt104(int256 value) internal pure returns (int104 downcasted) {\n downcasted = int104(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(104, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int96 from int256, reverting on\n * overflow (when the input is less than smallest int96 or\n * greater than largest int96).\n *\n * Counterpart to Solidity's `int96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toInt96(int256 value) internal pure returns (int96 downcasted) {\n downcasted = int96(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(96, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int88 from int256, reverting on\n * overflow (when the input is less than smallest int88 or\n * greater than largest int88).\n *\n * Counterpart to Solidity's `int88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toInt88(int256 value) internal pure returns (int88 downcasted) {\n downcasted = int88(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(88, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int80 from int256, reverting on\n * overflow (when the input is less than smallest int80 or\n * greater than largest int80).\n *\n * Counterpart to Solidity's `int80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toInt80(int256 value) internal pure returns (int80 downcasted) {\n downcasted = int80(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(80, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int72 from int256, reverting on\n * overflow (when the input is less than smallest int72 or\n * greater than largest int72).\n *\n * Counterpart to Solidity's `int72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toInt72(int256 value) internal pure returns (int72 downcasted) {\n downcasted = int72(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(72, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int64 from int256, reverting on\n * overflow (when the input is less than smallest int64 or\n * greater than largest int64).\n *\n * Counterpart to Solidity's `int64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toInt64(int256 value) internal pure returns (int64 downcasted) {\n downcasted = int64(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(64, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int56 from int256, reverting on\n * overflow (when the input is less than smallest int56 or\n * greater than largest int56).\n *\n * Counterpart to Solidity's `int56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toInt56(int256 value) internal pure returns (int56 downcasted) {\n downcasted = int56(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(56, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int48 from int256, reverting on\n * overflow (when the input is less than smallest int48 or\n * greater than largest int48).\n *\n * Counterpart to Solidity's `int48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toInt48(int256 value) internal pure returns (int48 downcasted) {\n downcasted = int48(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(48, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int40 from int256, reverting on\n * overflow (when the input is less than smallest int40 or\n * greater than largest int40).\n *\n * Counterpart to Solidity's `int40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toInt40(int256 value) internal pure returns (int40 downcasted) {\n downcasted = int40(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(40, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int32 from int256, reverting on\n * overflow (when the input is less than smallest int32 or\n * greater than largest int32).\n *\n * Counterpart to Solidity's `int32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toInt32(int256 value) internal pure returns (int32 downcasted) {\n downcasted = int32(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(32, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int24 from int256, reverting on\n * overflow (when the input is less than smallest int24 or\n * greater than largest int24).\n *\n * Counterpart to Solidity's `int24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toInt24(int256 value) internal pure returns (int24 downcasted) {\n downcasted = int24(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(24, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int16 from int256, reverting on\n * overflow (when the input is less than smallest int16 or\n * greater than largest int16).\n *\n * Counterpart to Solidity's `int16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toInt16(int256 value) internal pure returns (int16 downcasted) {\n downcasted = int16(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(16, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int8 from int256, reverting on\n * overflow (when the input is less than smallest int8 or\n * greater than largest int8).\n *\n * Counterpart to Solidity's `int8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toInt8(int256 value) internal pure returns (int8 downcasted) {\n downcasted = int8(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(8, value);\n }\n }\n\n /**\n * @dev Converts an unsigned uint256 into a signed int256.\n *\n * Requirements:\n *\n * - input must be less than or equal to maxInt256.\n */\n function toInt256(uint256 value) internal pure returns (int256) {\n // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n if (value > uint256(type(int256).max)) {\n revert SafeCastOverflowedUintToInt(value);\n }\n return int256(value);\n }\n\n /**\n * @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump.\n */\n function toUint(bool b) internal pure returns (uint256 u) {\n assembly (\"memory-safe\") {\n u := iszero(iszero(b))\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, int256 a, int256 b) internal pure returns (int256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * int256(SafeCast.toUint(condition)));\n }\n }\n\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // Formula from the \"Bit Twiddling Hacks\" by Sean Eron Anderson.\n // Since `n` is a signed integer, the generated bytecode will use the SAR opcode to perform the right shift,\n // taking advantage of the most significant (or \"sign\" bit) in two's complement representation.\n // This opcode adds new most significant bits set to the value of the previous most significant bit. As a result,\n // the mask will either be `bytes32(0)` (if n is positive) or `~bytes32(0)` (if n is negative).\n int256 mask = n >> 255;\n\n // A `bytes32(0)` mask leaves the input unchanged, while a `~bytes32(0)` mask complements it.\n return uint256((n + mask) ^ mask);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Nonces.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Nonces.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides tracking nonces for addresses. Nonces will only increment.\n */\nabstract contract Nonces {\n /**\n * @dev The nonce used for an `account` is not the expected current nonce.\n */\n error InvalidAccountNonce(address account, uint256 currentNonce);\n\n mapping(address account => uint256) private _nonces;\n\n /**\n * @dev Returns the next unused nonce for an address.\n */\n function nonces(address owner) public view virtual returns (uint256) {\n return _nonces[owner];\n }\n\n /**\n * @dev Consumes a nonce.\n *\n * Returns the current value and increments nonce.\n */\n function _useNonce(address owner) internal virtual returns (uint256) {\n // For each account, the nonce has an initial value of 0, can only be incremented by one, and cannot be\n // decremented or reset. This guarantees that the nonce never overflows.\n unchecked {\n // It is important to do x++ and not ++x here.\n return _nonces[owner]++;\n }\n }\n\n /**\n * @dev Same as {_useNonce} but checking that `nonce` is the next valid for `owner`.\n */\n function _useCheckedNonce(address owner, uint256 nonce) internal virtual {\n uint256 current = _useNonce(owner);\n if (nonce != current) {\n revert InvalidAccountNonce(owner, current);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Panic.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Panic.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Helper library for emitting standardized panic codes.\n *\n * ```solidity\n * contract Example {\n * using Panic for uint256;\n *\n * // Use any of the declared internal constants\n * function foo() { Panic.GENERIC.panic(); }\n *\n * // Alternatively\n * function foo() { Panic.panic(Panic.GENERIC); }\n * }\n * ```\n *\n * Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n *\n * _Available since v5.1._\n */\n// slither-disable-next-line unused-state\nlibrary Panic {\n /// @dev generic / unspecified error\n uint256 internal constant GENERIC = 0x00;\n /// @dev used by the assert() builtin\n uint256 internal constant ASSERT = 0x01;\n /// @dev arithmetic underflow or overflow\n uint256 internal constant UNDER_OVERFLOW = 0x11;\n /// @dev division or modulo by zero\n uint256 internal constant DIVISION_BY_ZERO = 0x12;\n /// @dev enum conversion error\n uint256 internal constant ENUM_CONVERSION_ERROR = 0x21;\n /// @dev invalid encoding in storage\n uint256 internal constant STORAGE_ENCODING_ERROR = 0x22;\n /// @dev empty array pop\n uint256 internal constant EMPTY_ARRAY_POP = 0x31;\n /// @dev array out of bounds access\n uint256 internal constant ARRAY_OUT_OF_BOUNDS = 0x32;\n /// @dev resource error (too large allocation or too large array)\n uint256 internal constant RESOURCE_ERROR = 0x41;\n /// @dev calling invalid internal function\n uint256 internal constant INVALID_INTERNAL_FUNCTION = 0x51;\n\n /// @dev Reverts with a panic code. Recommended to use with\n /// the internal constants with predefined codes.\n function panic(uint256 code) internal pure {\n assembly (\"memory-safe\") {\n mstore(0x00, 0x4e487b71)\n mstore(0x20, code)\n revert(0x1c, 0x24)\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/ShortStrings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/ShortStrings.sol)\n\npragma solidity ^0.8.20;\n\nimport {StorageSlot} from \"./StorageSlot.sol\";\n\n// | string | 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |\n// | length | 0x BB |\ntype ShortString is bytes32;\n\n/**\n * @dev This library provides functions to convert short memory strings\n * into a `ShortString` type that can be used as an immutable variable.\n *\n * Strings of arbitrary length can be optimized using this library if\n * they are short enough (up to 31 bytes) by packing them with their\n * length (1 byte) in a single EVM word (32 bytes). Additionally, a\n * fallback mechanism can be used for every other case.\n *\n * Usage example:\n *\n * ```solidity\n * contract Named {\n * using ShortStrings for *;\n *\n * ShortString private immutable _name;\n * string private _nameFallback;\n *\n * constructor(string memory contractName) {\n * _name = contractName.toShortStringWithFallback(_nameFallback);\n * }\n *\n * function name() external view returns (string memory) {\n * return _name.toStringWithFallback(_nameFallback);\n * }\n * }\n * ```\n */\nlibrary ShortStrings {\n // Used as an identifier for strings longer than 31 bytes.\n bytes32 private constant FALLBACK_SENTINEL = 0x00000000000000000000000000000000000000000000000000000000000000FF;\n\n error StringTooLong(string str);\n error InvalidShortString();\n\n /**\n * @dev Encode a string of at most 31 chars into a `ShortString`.\n *\n * This will trigger a `StringTooLong` error is the input string is too long.\n */\n function toShortString(string memory str) internal pure returns (ShortString) {\n bytes memory bstr = bytes(str);\n if (bstr.length > 31) {\n revert StringTooLong(str);\n }\n return ShortString.wrap(bytes32(uint256(bytes32(bstr)) | bstr.length));\n }\n\n /**\n * @dev Decode a `ShortString` back to a \"normal\" string.\n */\n function toString(ShortString sstr) internal pure returns (string memory) {\n uint256 len = byteLength(sstr);\n // using `new string(len)` would work locally but is not memory safe.\n string memory str = new string(32);\n assembly (\"memory-safe\") {\n mstore(str, len)\n mstore(add(str, 0x20), sstr)\n }\n return str;\n }\n\n /**\n * @dev Return the length of a `ShortString`.\n */\n function byteLength(ShortString sstr) internal pure returns (uint256) {\n uint256 result = uint256(ShortString.unwrap(sstr)) & 0xFF;\n if (result > 31) {\n revert InvalidShortString();\n }\n return result;\n }\n\n /**\n * @dev Encode a string into a `ShortString`, or write it to storage if it is too long.\n */\n function toShortStringWithFallback(string memory value, string storage store) internal returns (ShortString) {\n if (bytes(value).length < 32) {\n return toShortString(value);\n } else {\n StorageSlot.getStringSlot(store).value = value;\n return ShortString.wrap(FALLBACK_SENTINEL);\n }\n }\n\n /**\n * @dev Decode a string that was encoded to `ShortString` or written to storage using {setWithFallback}.\n */\n function toStringWithFallback(ShortString value, string storage store) internal pure returns (string memory) {\n if (ShortString.unwrap(value) != FALLBACK_SENTINEL) {\n return toString(value);\n } else {\n return store;\n }\n }\n\n /**\n * @dev Return the length of a string that was encoded to `ShortString` or written to storage using\n * {setWithFallback}.\n *\n * WARNING: This will return the \"byte length\" of the string. This may not reflect the actual length in terms of\n * actual characters as the UTF-8 encoding of a single character can span over multiple bytes.\n */\n function byteLengthWithFallback(ShortString value, string storage store) internal view returns (uint256) {\n if (ShortString.unwrap(value) != FALLBACK_SENTINEL) {\n return byteLength(value);\n } else {\n return bytes(store).length;\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/SlotDerivation.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/SlotDerivation.sol)\n// This file was procedurally generated from scripts/generate/templates/SlotDerivation.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for computing storage (and transient storage) locations from namespaces and deriving slots\n * corresponding to standard patterns. The derivation method for array and mapping matches the storage layout used by\n * the solidity language / compiler.\n *\n * See https://docs.soliditylang.org/en/v0.8.20/internals/layout_in_storage.html#mappings-and-dynamic-arrays[Solidity docs for mappings and dynamic arrays.].\n *\n * Example usage:\n * ```solidity\n * contract Example {\n * // Add the library methods\n * using StorageSlot for bytes32;\n * using SlotDerivation for bytes32;\n *\n * // Declare a namespace\n * string private constant _NAMESPACE = \"\" // eg. OpenZeppelin.Slot\n *\n * function setValueInNamespace(uint256 key, address newValue) internal {\n * _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue;\n * }\n *\n * function getValueInNamespace(uint256 key) internal view returns (address) {\n * return _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {StorageSlot}.\n *\n * NOTE: This library provides a way to manipulate storage locations in a non-standard way. Tooling for checking\n * upgrade safety will ignore the slots accessed through this library.\n *\n * _Available since v5.1._\n */\nlibrary SlotDerivation {\n /**\n * @dev Derive an ERC-7201 slot from a string (namespace).\n */\n function erc7201Slot(string memory namespace) internal pure returns (bytes32 slot) {\n assembly (\"memory-safe\") {\n mstore(0x00, sub(keccak256(add(namespace, 0x20), mload(namespace)), 1))\n slot := and(keccak256(0x00, 0x20), not(0xff))\n }\n }\n\n /**\n * @dev Add an offset to a slot to get the n-th element of a structure or an array.\n */\n function offset(bytes32 slot, uint256 pos) internal pure returns (bytes32 result) {\n unchecked {\n return bytes32(uint256(slot) + pos);\n }\n }\n\n /**\n * @dev Derive the location of the first element in an array from the slot where the length is stored.\n */\n function deriveArray(bytes32 slot) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, slot)\n result := keccak256(0x00, 0x20)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, address key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, and(key, shr(96, not(0))))\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, bool key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, iszero(iszero(key)))\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, bytes32 key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, key)\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, uint256 key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, key)\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, int256 key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, key)\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, string memory key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n let length := mload(key)\n let begin := add(key, 0x20)\n let end := add(begin, length)\n let cache := mload(end)\n mstore(end, slot)\n result := keccak256(begin, add(length, 0x20))\n mstore(end, cache)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, bytes memory key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n let length := mload(key)\n let begin := add(key, 0x20)\n let end := add(begin, length)\n let cache := mload(end)\n mstore(end, slot)\n result := keccak256(begin, add(length, 0x20))\n mstore(end, cache)\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/StorageSlot.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC-1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(newImplementation.code.length > 0);\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {SlotDerivation}.\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n struct Int256Slot {\n int256 value;\n }\n\n struct StringSlot {\n string value;\n }\n\n struct BytesSlot {\n bytes value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n */\n function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `StringSlot` with member `value` located at `slot`.\n */\n function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n */\n function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n\n /**\n * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n */\n function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n */\n function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Strings.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n assembly (\"memory-safe\") {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n assembly (\"memory-safe\") {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n * representation, according to EIP-55.\n */\n function toChecksumHexString(address addr) internal pure returns (string memory) {\n bytes memory buffer = bytes(toHexString(addr));\n\n // hash the hex part of buffer (skip length + 2 bytes, length 40)\n uint256 hashValue;\n assembly (\"memory-safe\") {\n hashValue := shr(96, keccak256(add(buffer, 0x22), 40))\n }\n\n for (uint256 i = 41; i > 1; --i) {\n // possible values for buffer[i] are 48 (0) to 57 (9) and 97 (a) to 102 (f)\n if (hashValue & 0xf > 7 && uint8(buffer[i]) > 96) {\n // case shift by xoring with 0x20\n buffer[i] ^= 0x20;\n }\n hashValue >>= 4;\n }\n return string(buffer);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n" + }, + "contracts/AirdropManager.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"./Lib/Administrable.sol\";\nimport \"./Tools/Types.sol\";\n\ncontract AirdropManager is Administrable {\n address _airdropDeployerERC20Address;\n address _airdropDeployerERC1155Address;\n address[] _airdrops;\n\n event AirdropAdded(address airdropAddress);\n event AirdropRemoved(address airdropAddress);\n event AirdropERC20Deployed(address airdropAddress);\n event AirdropERC1155Deployed(address airdropAddress);\n\n constructor(\n address[] memory initialAdmins,\n address airdropDeployerERC20Address,\n address airdropDeployerERC1155Address\n ) Administrable(initialAdmins) {\n _airdropDeployerERC20Address = airdropDeployerERC20Address;\n _airdropDeployerERC1155Address = airdropDeployerERC1155Address;\n }\n\n function claim(\n address airdropAddress,\n address user,\n uint256 amount,\n bytes32[] calldata proof\n ) public {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.claim(user, amount, proof);\n }\n\n function hasClaimed(\n address airdropAddress,\n address user\n ) public view returns (bool) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.hasClaimed(user);\n }\n\n function hasExpired(address airdropAddress) public view returns (bool) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.hasExpired();\n }\n\n function isAllowed(\n address airdropAddress,\n address user\n ) public view returns (bool) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.isAllowed(user);\n }\n\n function getExpirationDate(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getExpirationDate();\n }\n\n function getClaimAmount(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getClaimAmount();\n }\n\n function getAirdropInfo(\n address airdropAddress\n ) public view returns (AirdropInfo memory) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getAirdropInfo();\n }\n\n function getTotalAirdropAmount(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getTotalAirdropAmount();\n }\n\n function getAirdropAmountLeft(\n address airdropAddress\n ) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getAirdropAmountLeft();\n }\n\n function getBalance(address airdropAddress) public view returns (uint256) {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n return airdrop.getBalance();\n }\n\n function getAirdrops() public view returns (address[] memory) {\n return _airdrops;\n }\n\n function deployAndAddAirdropERC20(\n string memory airdropName,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) public returns(address) {\n IDeployerERC20 deployerERC20 = IDeployerERC20(_airdropDeployerERC20Address);\n address deployedAddress = deployerERC20.deployAndAddAirdrop(\n airdropName,\n tokenAddress,\n totalAirdropAmount,\n claimAmount,\n expirationDate\n );\n addAirdrop(deployedAddress);\n emit AirdropERC20Deployed(deployedAddress);\n return deployedAddress;\n }\n\n function deployAndAddAirdropERC1155(\n string memory airdropName,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n uint256 mode\n ) public returns(address) {\n IDeployer1155 deployer1155 = IDeployer1155(_airdropDeployerERC1155Address);\n address deployedAddress = deployer1155.deployAndAddAirdrop(\n airdropName,\n tokenAddress,\n tokenId,\n totalAirdropAmount,\n claimAmount,\n expirationDate,\n mode\n );\n require(deployedAddress != address(0), \"Error, wrong mode selected\");\n addAirdrop(deployedAddress);\n emit AirdropERC1155Deployed(deployedAddress);\n return deployedAddress;\n }\n\n function addAirdrop(address newAirdropAddress) internal {\n bool exists = false;\n for (uint i = 0; i < _airdrops.length && !exists; i++) {\n exists = _airdrops[i] == newAirdropAddress;\n }\n require(!exists, \"Airdrop already added\");\n _airdrops.push(newAirdropAddress);\n emit AirdropAdded(newAirdropAddress);\n }\n\n function setRoot(address airdropAddress, bytes32 _root) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.setRoot(_root);\n }\n\n function removeAirdrop(address airdropAddress) public onlyAdmins {\n bool exists = false;\n for (uint i = 0; i < _airdrops.length && !exists; i++) {\n if (_airdrops[i] == airdropAddress) {\n exists = true;\n _airdrops[i] = _airdrops[_airdrops.length - 1];\n _airdrops.pop();\n }\n }\n\n if (exists) emit AirdropRemoved(airdropAddress);\n }\n\n function allowAddress(\n address airdropAddress,\n address user\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.allowAddress(user);\n }\n\n function allowAddresses(\n address airdropAddress,\n address[] memory users\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.allowAddresses(users);\n }\n\n function disallowAddress(\n address airdropAddress,\n address user\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.disallowAddress(user);\n }\n\n function disallowAddresses(\n address airdropAddress,\n address[] memory users\n ) public onlyAdmins {\n IAirdrop airdrop = IAirdrop(airdropAddress);\n airdrop.disallowAddresses(users);\n }\n}\n" + }, + "contracts/ERC1155/CustomAirdrop1155.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"../Tools/Types.sol\";\n\ncontract CustomAirdrop1155 is Ownable {\n event Claim(address recipient, uint256 amount);\n event AddressAllowed(address allowedAddress);\n event AddressDisallowed(address disallowedAddress);\n\n IERC1155 _tokenContract;\n uint256 _totalAirdropAmount;\n uint256 _airdropAmountLeft;\n uint256 _claimAmount;\n uint256 _expirationDate;\n uint256 _tokenId;\n string _airdropName;\n AirdropType _airdropType;\n\n mapping(address => bool) _allowedAddresses;\n mapping(address => bool) _addressesThatAlreadyClaimed;\n\n constructor(\n string memory airdropName,\n address initialOwner,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n AirdropType airdropType\n ) Ownable(initialOwner) {\n _tokenContract = IERC1155(tokenAddress);\n _airdropName = airdropName;\n _tokenId = tokenId;\n _totalAirdropAmount = totalAirdropAmount;\n _airdropAmountLeft = totalAirdropAmount;\n _claimAmount = claimAmount;\n _expirationDate = expirationDate;\n _airdropType = airdropType;\n }\n\n function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n require(isAllowed(user), \"Address not allowed to claim this airdrop\");\n require(!hasExpired(), \"Airdrop already expired.\");\n require(!hasClaimed(user), \"Address already claimed this airdrop.\");\n require(!hasBeenTotallyClaimed(), \"Airdrop has been totally claimed already.\");\n require(hasBalanceToClaim(), \"Airdrop contract has insufficient token balance.\");\n\n _tokenContract.safeTransferFrom(address(this), user, _tokenId, _claimAmount, '');\n _airdropAmountLeft -= _claimAmount;\n _addressesThatAlreadyClaimed[user] = true;\n\n emit Claim(user, _claimAmount);\n }\n\n function getAirdropInfo() public view returns(AirdropInfo memory) {\n return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, _claimAmount, _expirationDate, _airdropType, '');\n }\n\n function hasBalanceToClaim() public view returns(bool) {\n return _tokenContract.balanceOf(address(this), _tokenId) >= _claimAmount;\n }\n\n function hasBeenTotallyClaimed() public view returns(bool) {\n return _airdropAmountLeft < _claimAmount;\n }\n\n function hasClaimed(address _address) public view returns(bool) {\n return _addressesThatAlreadyClaimed[_address];\n }\n\n function hasExpired() public view returns(bool) {\n return _expirationDate < block.timestamp;\n }\n\n function allowAddress(address _address) public onlyOwner {\n _allowedAddresses[_address] = true;\n emit AddressAllowed(_address);\n }\n\n function allowAddresses(address[] memory addresses) public onlyOwner {\n for (uint i; i < addresses.length; i++) {\n _allowedAddresses[addresses[i]] = true;\n emit AddressAllowed(addresses[i]);\n }\n }\n\n function disallowAddresses(address[] memory addresses) public onlyOwner {\n for (uint i; i < addresses.length; i++) {\n _allowedAddresses[addresses[i]] = false;\n emit AddressDisallowed(addresses[i]);\n }\n }\n\n function disallowAddress(address _address) public onlyOwner {\n _allowedAddresses[_address] = false;\n emit AddressDisallowed(_address);\n }\n\n function isAllowed(address _address) public view returns(bool) {\n return _allowedAddresses[_address];\n }\n\n function getExpirationDate() public view returns(uint256) {\n return _expirationDate;\n }\n\n function getClaimAmount() public view returns(uint256) {\n return _claimAmount;\n }\n\n function getTotalAirdropAmount() public view returns(uint256) {\n return _totalAirdropAmount;\n }\n\n function getAirdropAmountLeft() public view returns(uint256) {\n return _airdropAmountLeft;\n }\n\n function getBalance() public view returns(uint256) {\n return _tokenContract.balanceOf(address(this), _tokenId);\n }\n\n function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n return bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"));\n }\n\n function getUri() public view returns (string memory) {\n //NOT IMPLEMENTED YET\n return 'not implemented';\n }\n}" + }, + "contracts/ERC1155/CustomAirdrop1155Merkle.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"../Tools/Types.sol\";\n\nimport { MerkleProof } from \"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\";\n\ncontract CustomAirdrop1155Merkle is Ownable {\n event Claim(address recipient, uint256 amount);\n\n IERC1155 _tokenContract;\n uint256 _totalAirdropAmount;\n uint256 _airdropAmountLeft;\n uint256 _claimAmount;\n uint256 _expirationDate;\n uint256 _tokenId;\n string _airdropName;\n AirdropType _airdropType;\n\n // (account,amount) Merkle Tree root\n bytes32 public root;\n error InvalidProof();\n error UsedLeaf();\n\n mapping(address => bool) _addressesThatAlreadyClaimed;\n mapping(bytes32 => bool) public claimedLeaf;\n\n constructor(\n string memory airdropName,\n address initialOwner,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 expirationDate,\n AirdropType airdropType\n ) Ownable(initialOwner) {\n _tokenContract = IERC1155(tokenAddress);\n _airdropName = airdropName;\n _tokenId = tokenId;\n _totalAirdropAmount = totalAirdropAmount;\n _airdropAmountLeft = totalAirdropAmount;\n _expirationDate = expirationDate;\n _airdropType = airdropType;\n }\n\n function setRoot(bytes32 _root) public onlyOwner {\n root = _root;\n }\n\n function claim(address user, uint256 amount, bytes32[] calldata proof) external onlyOwner{\n _claim(user, amount, proof);\n }\n\n function _claim(address origin_, uint256 amount_, bytes32[] calldata proof_) internal {\n bytes32 leaf = _buildLeaf(origin_, amount_);\n\n if (!MerkleProof.verifyCalldata(proof_, root, leaf)) revert InvalidProof();\n if (claimedLeaf[leaf]) revert UsedLeaf();\n claimedLeaf[leaf] = true;\n require(!hasExpired(), \"Airdrop already expired.\");\n require(!hasBeenTotallyClaimed(), \"Airdrop has been totally claimed already.\");\n\n _tokenContract.safeTransferFrom(address(this), origin_, _tokenId, amount_, '');\n _airdropAmountLeft -= amount_;\n _addressesThatAlreadyClaimed[origin_] = true;\n\n emit Claim(origin_, amount_);\n }\n\n function _buildLeaf(address origin_, uint256 amount_) internal pure returns (bytes32) {\n return keccak256(bytes.concat(keccak256(abi.encode(origin_, amount_))));\n }\n\n function getAirdropInfo() public view returns(AirdropInfo memory) {\n return AirdropInfo(_airdropName, address(this), _totalAirdropAmount, _airdropAmountLeft, 0, _expirationDate, _airdropType, '');\n }\n\n function hasBeenTotallyClaimed() public view returns(bool) {\n return _airdropAmountLeft < 1;\n }\n\n function hasClaimed(address _address) public view returns(bool) {\n return _addressesThatAlreadyClaimed[_address];\n }\n\n function hasExpired() public view returns(bool) {\n return _expirationDate < block.timestamp;\n }\n\n function getExpirationDate() public view returns(uint256) {\n return _expirationDate;\n }\n\n function getTotalAirdropAmount() public view returns(uint256) {\n return _totalAirdropAmount;\n }\n\n function getAirdropAmountLeft() public view returns(uint256) {\n return _airdropAmountLeft;\n }\n\n function getBalance() public view returns(uint256) {\n return _tokenContract.balanceOf(address(this), _tokenId);\n }\n\n function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n return bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"));\n }\n\n function getUri() public view returns (string memory) {\n //NOT IMPLEMENTED YET\n return 'not implemented';\n }\n}" + }, + "contracts/ERC1155/Erc1155.sol": { + "content": "// SPDX-License-Identifier: MIT\n// Compatible with OpenZeppelin Contracts ^5.0.0\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/token/ERC1155/ERC1155.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract MyToken is ERC1155, Ownable {\n constructor() ERC1155(\"\") Ownable(msg.sender) {}\n\n function setURI(string memory newuri) public onlyOwner {\n _setURI(newuri);\n }\n\n function mint(address account, uint256 id, uint256 amount, bytes memory data)\n public\n onlyOwner\n {\n _mint(account, id, amount, data);\n }\n\n function mintBatch(address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data)\n public\n onlyOwner\n {\n _mintBatch(to, ids, amounts, data);\n }\n}" + }, + "contracts/ERC20/Erc20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\";\n\ncontract MyERC20 is ERC20, ERC20Burnable, Ownable, ERC20Permit {\n constructor(address initialOwner)\n ERC20(\"MyERC20\", \"MRC\")\n Ownable(initialOwner)\n ERC20Permit(\"MyERC20\")\n {}\n\n function mint(address to, uint256 amount) public onlyOwner {\n _mint(to, amount);\n }\n}\n" + }, + "contracts/ERC20/OpenAirdropERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"../Tools/Types.sol\";\n\ncontract OpenAirdropERC20 is Ownable {\n event Claim(address recipient, uint256 amount);\n event AddressAllowed(address allowedAddress);\n event AddressDisallowed(address disallowedAddress);\n\n IERC20 _tokenContract;\n uint256 _totalAirdropAmount;\n uint256 _airdropAmountLeft;\n uint256 _claimAmount;\n uint256 _expirationDate;\n string _airdropName;\n AirdropType _airdropType;\n\n mapping(address => bool) _allowedAddresses;\n mapping(address => bool) _addressesThatAlreadyClaimed;\n\n constructor(\n string memory airdropName,\n address initialOwner,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) Ownable(initialOwner) {\n _tokenContract = IERC20(tokenAddress);\n _airdropName = airdropName;\n _totalAirdropAmount = totalAirdropAmount;\n _airdropAmountLeft = totalAirdropAmount;\n _claimAmount = claimAmount;\n _expirationDate = expirationDate;\n _airdropType = AirdropType.FUNGIBLE;\n }\n\n function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n require(!hasExpired(), \"Airdrop already expired.\");\n require(!hasClaimed(user), \"Address already claimed this airdrop.\");\n require(!hasBeenTotallyClaimed(), \"Airdrop has been totally claimed already.\");\n require(hasBalanceToClaim(), \"Airdrop contract has insufficient token balance.\");\n\n _tokenContract.transfer(user, _claimAmount);\n _airdropAmountLeft -= _claimAmount;\n _addressesThatAlreadyClaimed[user] = true;\n\n emit Claim(user, _claimAmount);\n }\n \n function isAllowed(address user) public pure returns(bool) {\n return true;\n }\n\n function getAirdropInfo() public view returns(AirdropInfo memory) {\n string memory uri = _tokenContract.getUri();\n return AirdropInfo(\n _airdropName, \n address(this),\n _totalAirdropAmount, \n _airdropAmountLeft, \n _claimAmount, \n _expirationDate, \n _airdropType,\n uri\n );\n }\n\n function hasBalanceToClaim() public view returns(bool) {\n return _tokenContract.balanceOf(address(this)) >= _claimAmount;\n }\n\n function hasBeenTotallyClaimed() public view returns(bool) {\n return _airdropAmountLeft < _claimAmount;\n }\n\n function hasClaimed(address _address) public view returns(bool) {\n return _addressesThatAlreadyClaimed[_address];\n }\n\n function hasExpired() public view returns(bool) {\n return _expirationDate < block.timestamp;\n }\n\n function getExpirationDate() public view returns(uint256) {\n return _expirationDate;\n }\n\n function getClaimAmount() public view returns(uint256) {\n return _claimAmount;\n }\n\n function getTotalAirdropAmount() public view returns(uint256) {\n return _totalAirdropAmount;\n }\n\n function getAirdropAmountLeft() public view returns(uint256) {\n return _airdropAmountLeft;\n }\n\n function getBalance() public view returns(uint256) {\n return _tokenContract.balanceOf(address(this));\n }\n}" + }, + "contracts/Lib/Administrable.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\ncontract Administrable {\n mapping(address => bool) _admins;\n\n constructor(address[] memory initialAdmins) {\n for (uint i; i < initialAdmins.length; i++) {\n _admins[initialAdmins[i]] = true;\n }\n }\n\n modifier onlyAdmins {\n require(_admins[msg.sender], \"Address not allowed to call this method\");\n _;\n }\n\n function isAdmin(address _address) public view returns(bool) {\n return _admins[_address];\n }\n\n function addAdmin(address _newAdmin) public onlyAdmins {\n _admins[_newAdmin] = true;\n }\n\n function removeAdmin(address _admin) public onlyAdmins {\n _admins[_admin] = false;\n }\n}" + }, + "contracts/Lib/AirdropDeployerERC1155.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"../ERC1155/CustomAirdrop1155.sol\";\nimport \"../ERC1155/CustomAirdrop1155Merkle.sol\";\nimport \"../Tools/Types.sol\";\n\ncontract AirdropDeployerERC1155 {\n constructor() {}\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n uint256 mode\n ) public returns (address) {\n if (mode == 0) {\n CustomAirdrop1155 deployedAirdrop = new CustomAirdrop1155(\n airdropName,\n address(this),\n tokenAddress,\n tokenId,\n totalAirdropAmount,\n claimAmount,\n expirationDate,\n AirdropType.CUSTOM\n );\n address airdropAddress = address(deployedAirdrop);\n return airdropAddress;\n } else if (mode == 1) {\n CustomAirdrop1155Merkle deployedAirdrop = new CustomAirdrop1155Merkle(\n airdropName,\n address(this),\n tokenAddress,\n tokenId,\n totalAirdropAmount,\n expirationDate,\n AirdropType.MERKLE\n );\n address airdropAddress = address(deployedAirdrop);\n return airdropAddress;\n } else {\n return address(0);\n }\n }\n}\n" + }, + "contracts/Lib/AirdropDeployerERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"../ERC20/OpenAirdropERC20.sol\";\nimport \"../Tools/Types.sol\";\n\ncontract AirdropDeployerERC20{\n constructor() {}\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) public returns (address) {\n OpenAirdropERC20 deployedAirdrop = new OpenAirdropERC20(\n airdropName,\n msg.sender,\n tokenAddress,\n totalAirdropAmount,\n claimAmount,\n expirationDate\n );\n address airdropAddress = address(deployedAirdrop);\n return airdropAddress;\n }\n}\n" + }, + "contracts/Tools/Types.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nenum AirdropType {\n CUSTOM,\n MERKLE,\n FUNGIBLE\n}\n\nstruct AirdropInfo {\n string airdropName;\n address airdropAddress;\n uint256 totalAirdropAmount;\n uint256 airdropAmountLeft;\n uint256 claimAmount;\n uint256 expirationDate;\n AirdropType airdropType;\n string uri;\n}\n\ninterface IAirdrop {\n function claim(address user, uint256 amount_, bytes32[] calldata proof_) external;\n function hasClaimed(address _address) external view returns(bool);\n function hasExpired() external view returns(bool);\n function allowAddress(address _address) external;\n function allowAddresses(address[] memory addresses) external;\n function disallowAddresses(address[] memory addresses) external;\n function disallowAddress(address _address) external;\n function isAllowed(address _address) external view returns(bool);\n function getExpirationDate() external view returns(uint256);\n function getClaimAmount() external view returns(uint256);\n function getTotalAirdropAmount() external view returns(uint256);\n function getAirdropAmountLeft() external view returns(uint256);\n function getBalance() external view returns(uint256);\n function getAirdropInfo() external view returns(AirdropInfo memory info);\n function setRoot(bytes32 _root) external;\n}\n\ninterface IDeployerERC20 {\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate\n ) external returns(address);\n}\n\ninterface IDeployer1155 {\n function deployAndAddAirdrop(\n string memory airdropName,\n address tokenAddress,\n uint256 tokenId,\n uint256 totalAirdropAmount,\n uint256 claimAmount,\n uint256 expirationDate,\n uint256 mode\n ) external returns(address);\n}\n\ninterface IERC20 {\n function transfer(address to, uint256 amount) external;\n function balanceOf(address account) external view returns (uint256);\n function getUri() external view returns (string memory);\n}\n\ninterface IERC1155 {\n function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes memory data) external;\n function balanceOf(address account, uint256 id) external view returns (uint256);\n function getUri() external view returns (string memory);\n}" + } + }, + "settings": { + "evmVersion": "paris", + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "errors": [ + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:44:34:\n |\n44 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1351, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 1337 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:44:50:\n |\n44 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1377, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 1353 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:126:32:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4286, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 4270 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:126:50:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4300, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 4288 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:126:64:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4312, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 4302 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:126:76:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4327, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 4314 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155.sol:126:91:\n |\n126 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 4346, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 4329 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155Merkle.sol:107:32:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3508, + "file": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "start": 3492 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155Merkle.sol:107:50:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3522, + "file": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "start": 3510 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155Merkle.sol:107:64:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3534, + "file": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "start": 3524 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155Merkle.sol:107:76:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3549, + "file": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "start": 3536 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC1155/CustomAirdrop1155Merkle.sol:107:91:\n |\n107 | function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes memory data) external pure returns (bytes4) {\n | ^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 3568, + "file": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "start": 3551 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC20/OpenAirdropERC20.sol:40:34:\n |\n40 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1247, + "file": "contracts/ERC20/OpenAirdropERC20.sol", + "start": 1233 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC20/OpenAirdropERC20.sol:40:50:\n |\n40 | function claim(address user, uint256 amount, bytes32[] calldata proof) public onlyOwner {\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1273, + "file": "contracts/ERC20/OpenAirdropERC20.sol", + "start": 1249 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/ERC20/OpenAirdropERC20.sol:53:24:\n |\n53 | function isAllowed(address user) public pure returns(bool) {\n | ^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 1845, + "file": "contracts/ERC20/OpenAirdropERC20.sol", + "start": 1833 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2018", + "formattedMessage": "Warning: Function state mutability can be restricted to pure\n --> contracts/ERC1155/CustomAirdrop1155.sol:130:5:\n |\n130 | function getUri() public view returns (string memory) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "Function state mutability can be restricted to pure", + "severity": "warning", + "sourceLocation": { + "end": 4611, + "file": "contracts/ERC1155/CustomAirdrop1155.sol", + "start": 4486 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2018", + "formattedMessage": "Warning: Function state mutability can be restricted to pure\n --> contracts/ERC1155/CustomAirdrop1155Merkle.sol:111:5:\n |\n111 | function getUri() public view returns (string memory) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "Function state mutability can be restricted to pure", + "severity": "warning", + "sourceLocation": { + "end": 3833, + "file": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "start": 3708 + }, + "type": "Warning" + } + ], + "sources": { + "@openzeppelin/contracts/access/Ownable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 3356 + ], + "Ownable": [ + 147 + ] + }, + "id": 148, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "102:24:0" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 148, + "sourceUnit": 3357, + "src": "128:45:0", + "symbolAliases": [ + { + "foreign": { + "id": 2, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "136:7:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5, + "name": "Context", + "nameLocations": [ + "692:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3356, + "src": "692:7:0" + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "692:7:0" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4, + "nodeType": "StructuredDocumentation", + "src": "175:487:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 147, + "linearizedBaseContracts": [ + 147, + 3356 + ], + "name": "Ownable", + "nameLocation": "681:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "722:6:0", + "nodeType": "VariableDeclaration", + "scope": 147, + "src": "706:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "706:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "documentation": { + "id": 9, + "nodeType": "StructuredDocumentation", + "src": "735:85:0", + "text": " @dev The caller account is not authorized to perform an operation." + }, + "errorSelector": "118cdaa7", + "id": 13, + "name": "OwnableUnauthorizedAccount", + "nameLocation": "831:26:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "account", + "nameLocation": "866:7:0", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "858:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "858:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "857:17:0" + }, + "src": "825:50:0" + }, + { + "documentation": { + "id": 14, + "nodeType": "StructuredDocumentation", + "src": "881:82:0", + "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" + }, + "errorSelector": "1e4fbdf7", + "id": 18, + "name": "OwnableInvalidOwner", + "nameLocation": "974:19:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 17, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1002:5:0", + "nodeType": "VariableDeclaration", + "scope": 18, + "src": "994:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "993:15:0" + }, + "src": "968:41:0" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 24, + "name": "OwnershipTransferred", + "nameLocation": "1021:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 23, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "1058:13:0", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "1042:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1089:8:0", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "1073:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1073:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1041:57:0" + }, + "src": "1015:84:0" + }, + { + "body": { + "id": 49, + "nodeType": "Block", + "src": "1259:153:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1273:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1297:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1289:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1289:7:0", + "typeDescriptions": {} + } + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1289:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1273:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 44, + "nodeType": "IfStatement", + "src": "1269:95:0", + "trueBody": { + "id": 43, + "nodeType": "Block", + "src": "1301:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1350:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1342:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 37, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1342:7:0", + "typeDescriptions": {} + } + }, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1342:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 36, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "1322:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1322:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 42, + "nodeType": "RevertStatement", + "src": "1315:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 46, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1392:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 45, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "1373:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1373:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "1373:32:0" + } + ] + }, + "documentation": { + "id": 25, + "nodeType": "StructuredDocumentation", + "src": "1105:115:0", + "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." + }, + "id": 50, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "1245:12:0", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "1237:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1237:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1236:22:0" + }, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "1259:0:0" + }, + "scope": 147, + "src": "1225:187:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 57, + "nodeType": "Block", + "src": "1521:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 53, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1531:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1531:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55, + "nodeType": "ExpressionStatement", + "src": "1531:13:0" + }, + { + "id": 56, + "nodeType": "PlaceholderStatement", + "src": "1554:1:0" + } + ] + }, + "documentation": { + "id": 51, + "nodeType": "StructuredDocumentation", + "src": "1418:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 58, + "name": "onlyOwner", + "nameLocation": "1509:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "1518:2:0" + }, + "src": "1500:62:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 66, + "nodeType": "Block", + "src": "1693:30:0", + "statements": [ + { + "expression": { + "id": 64, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "1710:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 63, + "id": 65, + "nodeType": "Return", + "src": "1703:13:0" + } + ] + }, + "documentation": { + "id": 59, + "nodeType": "StructuredDocumentation", + "src": "1568:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 67, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1647:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [], + "src": "1652:2:0" + }, + "returnParameters": { + "id": 63, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "1684:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1684:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1683:9:0" + }, + "scope": 147, + "src": "1638:85:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 83, + "nodeType": "Block", + "src": "1841:117:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 71, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "1855:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1855:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 73, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "1866:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1866:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1855:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 82, + "nodeType": "IfStatement", + "src": "1851:101:0", + "trueBody": { + "id": 81, + "nodeType": "Block", + "src": "1880:72:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 77, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "1928:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1928:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76, + "name": "OwnableUnauthorizedAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "1901:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 80, + "nodeType": "RevertStatement", + "src": "1894:47:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 68, + "nodeType": "StructuredDocumentation", + "src": "1729:62:0", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 84, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1805:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "1816:2:0" + }, + "returnParameters": { + "id": 70, + "nodeType": "ParameterList", + "parameters": [], + "src": "1841:0:0" + }, + "scope": 147, + "src": "1796:162:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 97, + "nodeType": "Block", + "src": "2347:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2384:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2376:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 91, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2376:7:0", + "typeDescriptions": {} + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2376:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 90, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "2357:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2357:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 96, + "nodeType": "ExpressionStatement", + "src": "2357:30:0" + } + ] + }, + "documentation": { + "id": 85, + "nodeType": "StructuredDocumentation", + "src": "1964:324:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 98, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 88, + "kind": "modifierInvocation", + "modifierName": { + "id": 87, + "name": "onlyOwner", + "nameLocations": [ + "2337:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2337:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2337:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "2302:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "2319:2:0" + }, + "returnParameters": { + "id": 89, + "nodeType": "ParameterList", + "parameters": [], + "src": "2347:0:0" + }, + "scope": 147, + "src": "2293:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 125, + "nodeType": "Block", + "src": "2613:145:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 106, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "2627:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2647:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2639:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2639:7:0", + "typeDescriptions": {} + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2639:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2627:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120, + "nodeType": "IfStatement", + "src": "2623:91:0", + "trueBody": { + "id": 119, + "nodeType": "Block", + "src": "2651:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2700:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2692:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2692:7:0", + "typeDescriptions": {} + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2692:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 112, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "2672:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2672:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 118, + "nodeType": "RevertStatement", + "src": "2665:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 122, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "2742:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 121, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "2723:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2723:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 124, + "nodeType": "ExpressionStatement", + "src": "2723:28:0" + } + ] + }, + "documentation": { + "id": 99, + "nodeType": "StructuredDocumentation", + "src": "2400:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 126, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 104, + "kind": "modifierInvocation", + "modifierName": { + "id": 103, + "name": "onlyOwner", + "nameLocations": [ + "2603:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2603:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2603:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "2552:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2578:8:0", + "nodeType": "VariableDeclaration", + "scope": 126, + "src": "2570:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2570:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2569:18:0" + }, + "returnParameters": { + "id": 105, + "nodeType": "ParameterList", + "parameters": [], + "src": "2613:0:0" + }, + "scope": 147, + "src": "2543:215:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 145, + "nodeType": "Block", + "src": "2975:124:0", + "statements": [ + { + "assignments": [ + 133 + ], + "declarations": [ + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2993:8:0", + "nodeType": "VariableDeclaration", + "scope": 145, + "src": "2985:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2985:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "id": 134, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "3004:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2985:25:0" + }, + { + "expression": { + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 136, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "3020:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 137, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3029:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3020:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 139, + "nodeType": "ExpressionStatement", + "src": "3020:17:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 141, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "3073:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 142, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3083:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 140, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "3052:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3052:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 144, + "nodeType": "EmitStatement", + "src": "3047:45:0" + } + ] + }, + "documentation": { + "id": 127, + "nodeType": "StructuredDocumentation", + "src": "2764:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 146, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2921:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 129, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2948:8:0", + "nodeType": "VariableDeclaration", + "scope": 146, + "src": "2940:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2940:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2939:18:0" + }, + "returnParameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2975:0:0" + }, + "scope": 147, + "src": "2912:187:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 148, + "src": "663:2438:0", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24 + ] + } + ], + "src": "102:3000:0" + }, + "id": 0 + }, + "@openzeppelin/contracts/interfaces/IERC5267.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/interfaces/IERC5267.sol", + "exportedSymbols": { + "IERC5267": [ + 172 + ] + }, + "id": 173, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 149, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "107:24:1" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC5267", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 172, + "linearizedBaseContracts": [ + 172 + ], + "name": "IERC5267", + "nameLocation": "143:8:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 150, + "nodeType": "StructuredDocumentation", + "src": "158:84:1", + "text": " @dev MAY be emitted to signal that the domain could have changed." + }, + "eventSelector": "0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31", + "id": 152, + "name": "EIP712DomainChanged", + "nameLocation": "253:19:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 151, + "nodeType": "ParameterList", + "parameters": [], + "src": "272:2:1" + }, + "src": "247:28:1" + }, + { + "documentation": { + "id": 153, + "nodeType": "StructuredDocumentation", + "src": "281:140:1", + "text": " @dev returns the fields and values that describe the domain separator used by this contract for EIP-712\n signature." + }, + "functionSelector": "84b0196e", + "id": 171, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "eip712Domain", + "nameLocation": "435:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 154, + "nodeType": "ParameterList", + "parameters": [], + "src": "447:2:1" + }, + "returnParameters": { + "id": 170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 156, + "mutability": "mutable", + "name": "fields", + "nameLocation": "517:6:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "510:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 155, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "510:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 158, + "mutability": "mutable", + "name": "name", + "nameLocation": "551:4:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "537:18:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 157, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "537:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 160, + "mutability": "mutable", + "name": "version", + "nameLocation": "583:7:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "569:21:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 159, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "569:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "612:7:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "604:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "604:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 164, + "mutability": "mutable", + "name": "verifyingContract", + "nameLocation": "641:17:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "633:25:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "633:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 166, + "mutability": "mutable", + "name": "salt", + "nameLocation": "680:4:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "672:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 165, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "672:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 169, + "mutability": "mutable", + "name": "extensions", + "nameLocation": "715:10:1", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "698:27:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 168, + "nodeType": "ArrayTypeName", + "src": "698:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "496:239:1" + }, + "scope": 172, + "src": "426:310:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 173, + "src": "133:605:1", + "usedErrors": [], + "usedEvents": [ + 152 + ] + } + ], + "src": "107:632:1" + }, + "id": 1 + }, + "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", + "exportedSymbols": { + "IERC1155Errors": [ + 309 + ], + "IERC20Errors": [ + 214 + ], + "IERC721Errors": [ + 262 + ] + }, + "id": 310, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 174, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "112:24:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20Errors", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 175, + "nodeType": "StructuredDocumentation", + "src": "138:141:2", + "text": " @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens." + }, + "fullyImplemented": true, + "id": 214, + "linearizedBaseContracts": [ + 214 + ], + "name": "IERC20Errors", + "nameLocation": "290:12:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 176, + "nodeType": "StructuredDocumentation", + "src": "309:309:2", + "text": " @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer." + }, + "errorSelector": "e450d38c", + "id": 184, + "name": "ERC20InsufficientBalance", + "nameLocation": "629:24:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 178, + "mutability": "mutable", + "name": "sender", + "nameLocation": "662:6:2", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "654:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "654:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 180, + "mutability": "mutable", + "name": "balance", + "nameLocation": "678:7:2", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "670:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 179, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "670:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 182, + "mutability": "mutable", + "name": "needed", + "nameLocation": "695:6:2", + "nodeType": "VariableDeclaration", + "scope": 184, + "src": "687:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "687:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "653:49:2" + }, + "src": "623:80:2" + }, + { + "documentation": { + "id": 185, + "nodeType": "StructuredDocumentation", + "src": "709:152:2", + "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." + }, + "errorSelector": "96c6fd1e", + "id": 189, + "name": "ERC20InvalidSender", + "nameLocation": "872:18:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 187, + "mutability": "mutable", + "name": "sender", + "nameLocation": "899:6:2", + "nodeType": "VariableDeclaration", + "scope": 189, + "src": "891:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "890:16:2" + }, + "src": "866:41:2" + }, + { + "documentation": { + "id": 190, + "nodeType": "StructuredDocumentation", + "src": "913:159:2", + "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." + }, + "errorSelector": "ec442f05", + "id": 194, + "name": "ERC20InvalidReceiver", + "nameLocation": "1083:20:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 192, + "mutability": "mutable", + "name": "receiver", + "nameLocation": "1112:8:2", + "nodeType": "VariableDeclaration", + "scope": 194, + "src": "1104:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1104:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1103:18:2" + }, + "src": "1077:45:2" + }, + { + "documentation": { + "id": 195, + "nodeType": "StructuredDocumentation", + "src": "1128:345:2", + "text": " @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer." + }, + "errorSelector": "fb8f41b2", + "id": 203, + "name": "ERC20InsufficientAllowance", + "nameLocation": "1484:26:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 197, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1519:7:2", + "nodeType": "VariableDeclaration", + "scope": 203, + "src": "1511:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1511:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 199, + "mutability": "mutable", + "name": "allowance", + "nameLocation": "1536:9:2", + "nodeType": "VariableDeclaration", + "scope": 203, + "src": "1528:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1528:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 201, + "mutability": "mutable", + "name": "needed", + "nameLocation": "1555:6:2", + "nodeType": "VariableDeclaration", + "scope": 203, + "src": "1547:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1547:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1510:52:2" + }, + "src": "1478:85:2" + }, + { + "documentation": { + "id": 204, + "nodeType": "StructuredDocumentation", + "src": "1569:174:2", + "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." + }, + "errorSelector": "e602df05", + "id": 208, + "name": "ERC20InvalidApprover", + "nameLocation": "1754:20:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 206, + "mutability": "mutable", + "name": "approver", + "nameLocation": "1783:8:2", + "nodeType": "VariableDeclaration", + "scope": 208, + "src": "1775:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1775:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1774:18:2" + }, + "src": "1748:45:2" + }, + { + "documentation": { + "id": 209, + "nodeType": "StructuredDocumentation", + "src": "1799:195:2", + "text": " @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner." + }, + "errorSelector": "94280d62", + "id": 213, + "name": "ERC20InvalidSpender", + "nameLocation": "2005:19:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 211, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2033:7:2", + "nodeType": "VariableDeclaration", + "scope": 213, + "src": "2025:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2025:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2024:17:2" + }, + "src": "1999:43:2" + } + ], + "scope": 310, + "src": "280:1764:2", + "usedErrors": [ + 184, + 189, + 194, + 203, + 208, + 213 + ], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Errors", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 215, + "nodeType": "StructuredDocumentation", + "src": "2046:143:2", + "text": " @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens." + }, + "fullyImplemented": true, + "id": 262, + "linearizedBaseContracts": [ + 262 + ], + "name": "IERC721Errors", + "nameLocation": "2200:13:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 216, + "nodeType": "StructuredDocumentation", + "src": "2220:219:2", + "text": " @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n Used in balance queries.\n @param owner Address of the current owner of a token." + }, + "errorSelector": "89c62b64", + "id": 220, + "name": "ERC721InvalidOwner", + "nameLocation": "2450:18:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 218, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2477:5:2", + "nodeType": "VariableDeclaration", + "scope": 220, + "src": "2469:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2469:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2468:15:2" + }, + "src": "2444:40:2" + }, + { + "documentation": { + "id": 221, + "nodeType": "StructuredDocumentation", + "src": "2490:132:2", + "text": " @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token." + }, + "errorSelector": "7e273289", + "id": 225, + "name": "ERC721NonexistentToken", + "nameLocation": "2633:22:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 223, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2664:7:2", + "nodeType": "VariableDeclaration", + "scope": 225, + "src": "2656:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2656:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2655:17:2" + }, + "src": "2627:46:2" + }, + { + "documentation": { + "id": 226, + "nodeType": "StructuredDocumentation", + "src": "2679:289:2", + "text": " @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token." + }, + "errorSelector": "64283d7b", + "id": 234, + "name": "ERC721IncorrectOwner", + "nameLocation": "2979:20:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 228, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3008:6:2", + "nodeType": "VariableDeclaration", + "scope": 234, + "src": "3000:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 227, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3000:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 230, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3024:7:2", + "nodeType": "VariableDeclaration", + "scope": 234, + "src": "3016:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3016:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 232, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3041:5:2", + "nodeType": "VariableDeclaration", + "scope": 234, + "src": "3033:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3033:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2999:48:2" + }, + "src": "2973:75:2" + }, + { + "documentation": { + "id": 235, + "nodeType": "StructuredDocumentation", + "src": "3054:152:2", + "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." + }, + "errorSelector": "73c6ac6e", + "id": 239, + "name": "ERC721InvalidSender", + "nameLocation": "3217:19:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 237, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3245:6:2", + "nodeType": "VariableDeclaration", + "scope": 239, + "src": "3237:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3237:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3236:16:2" + }, + "src": "3211:42:2" + }, + { + "documentation": { + "id": 240, + "nodeType": "StructuredDocumentation", + "src": "3259:159:2", + "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." + }, + "errorSelector": "64a0ae92", + "id": 244, + "name": "ERC721InvalidReceiver", + "nameLocation": "3429:21:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 242, + "mutability": "mutable", + "name": "receiver", + "nameLocation": "3459:8:2", + "nodeType": "VariableDeclaration", + "scope": 244, + "src": "3451:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 241, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3451:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3450:18:2" + }, + "src": "3423:46:2" + }, + { + "documentation": { + "id": 245, + "nodeType": "StructuredDocumentation", + "src": "3475:247:2", + "text": " @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token." + }, + "errorSelector": "177e802f", + "id": 251, + "name": "ERC721InsufficientApproval", + "nameLocation": "3733:26:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 247, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3768:8:2", + "nodeType": "VariableDeclaration", + "scope": 251, + "src": "3760:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 246, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3760:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 249, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3786:7:2", + "nodeType": "VariableDeclaration", + "scope": 251, + "src": "3778:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 248, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3778:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3759:35:2" + }, + "src": "3727:68:2" + }, + { + "documentation": { + "id": 252, + "nodeType": "StructuredDocumentation", + "src": "3801:174:2", + "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." + }, + "errorSelector": "a9fbf51f", + "id": 256, + "name": "ERC721InvalidApprover", + "nameLocation": "3986:21:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "mutability": "mutable", + "name": "approver", + "nameLocation": "4016:8:2", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "4008:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 253, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4008:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4007:18:2" + }, + "src": "3980:46:2" + }, + { + "documentation": { + "id": 257, + "nodeType": "StructuredDocumentation", + "src": "4032:197:2", + "text": " @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner." + }, + "errorSelector": "5b08ba18", + "id": 261, + "name": "ERC721InvalidOperator", + "nameLocation": "4240:21:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4270:8:2", + "nodeType": "VariableDeclaration", + "scope": 261, + "src": "4262:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4262:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4261:18:2" + }, + "src": "4234:46:2" + } + ], + "scope": 310, + "src": "2190:2092:2", + "usedErrors": [ + 220, + 225, + 234, + 239, + 244, + 251, + 256, + 261 + ], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1155Errors", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 263, + "nodeType": "StructuredDocumentation", + "src": "4284:145:2", + "text": " @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens." + }, + "fullyImplemented": true, + "id": 309, + "linearizedBaseContracts": [ + 309 + ], + "name": "IERC1155Errors", + "nameLocation": "4440:14:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 264, + "nodeType": "StructuredDocumentation", + "src": "4461:361:2", + "text": " @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token." + }, + "errorSelector": "03dee4c5", + "id": 274, + "name": "ERC1155InsufficientBalance", + "nameLocation": "4833:26:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4868:6:2", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "4860:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4860:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 268, + "mutability": "mutable", + "name": "balance", + "nameLocation": "4884:7:2", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "4876:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4876:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 270, + "mutability": "mutable", + "name": "needed", + "nameLocation": "4901:6:2", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "4893:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4893:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 272, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4917:7:2", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "4909:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4909:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4859:66:2" + }, + "src": "4827:99:2" + }, + { + "documentation": { + "id": 275, + "nodeType": "StructuredDocumentation", + "src": "4932:152:2", + "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." + }, + "errorSelector": "01a83514", + "id": 279, + "name": "ERC1155InvalidSender", + "nameLocation": "5095:20:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "sender", + "nameLocation": "5124:6:2", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "5116:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 276, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5116:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5115:16:2" + }, + "src": "5089:43:2" + }, + { + "documentation": { + "id": 280, + "nodeType": "StructuredDocumentation", + "src": "5138:159:2", + "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." + }, + "errorSelector": "57f447ce", + "id": 284, + "name": "ERC1155InvalidReceiver", + "nameLocation": "5308:22:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 282, + "mutability": "mutable", + "name": "receiver", + "nameLocation": "5339:8:2", + "nodeType": "VariableDeclaration", + "scope": 284, + "src": "5331:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 281, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5331:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5330:18:2" + }, + "src": "5302:47:2" + }, + { + "documentation": { + "id": 285, + "nodeType": "StructuredDocumentation", + "src": "5355:256:2", + "text": " @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token." + }, + "errorSelector": "e237d922", + "id": 291, + "name": "ERC1155MissingApprovalForAll", + "nameLocation": "5622:28:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 287, + "mutability": "mutable", + "name": "operator", + "nameLocation": "5659:8:2", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "5651:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 286, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5651:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5677:5:2", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "5669:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 288, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5669:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5650:33:2" + }, + "src": "5616:68:2" + }, + { + "documentation": { + "id": 292, + "nodeType": "StructuredDocumentation", + "src": "5690:174:2", + "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." + }, + "errorSelector": "3e31884e", + "id": 296, + "name": "ERC1155InvalidApprover", + "nameLocation": "5875:22:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "approver", + "nameLocation": "5906:8:2", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "5898:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5898:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5897:18:2" + }, + "src": "5869:47:2" + }, + { + "documentation": { + "id": 297, + "nodeType": "StructuredDocumentation", + "src": "5922:197:2", + "text": " @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner." + }, + "errorSelector": "ced3e100", + "id": 301, + "name": "ERC1155InvalidOperator", + "nameLocation": "6130:22:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "operator", + "nameLocation": "6161:8:2", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "6153:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6153:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6152:18:2" + }, + "src": "6124:47:2" + }, + { + "documentation": { + "id": 302, + "nodeType": "StructuredDocumentation", + "src": "6177:280:2", + "text": " @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts" + }, + "errorSelector": "5b059991", + "id": 308, + "name": "ERC1155InvalidArrayLength", + "nameLocation": "6468:25:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 304, + "mutability": "mutable", + "name": "idsLength", + "nameLocation": "6502:9:2", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "6494:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6494:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 306, + "mutability": "mutable", + "name": "valuesLength", + "nameLocation": "6521:12:2", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "6513:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 305, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6513:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6493:41:2" + }, + "src": "6462:73:2" + } + ], + "scope": 310, + "src": "4430:2107:2", + "usedErrors": [ + 274, + 279, + 284, + 291, + 296, + 301, + 308 + ], + "usedEvents": [] + } + ], + "src": "112:6426:2" + }, + "id": 2 + }, + "@openzeppelin/contracts/token/ERC1155/ERC1155.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155.sol", + "exportedSymbols": { + "Arrays": [ + 3294 + ], + "Context": [ + 3356 + ], + "ERC1155": [ + 1226 + ], + "ERC1155Utils": [ + 1561 + ], + "ERC165": [ + 6053 + ], + "IERC1155": [ + 1349 + ], + "IERC1155Errors": [ + 309 + ], + "IERC1155MetadataURI": [ + 1407 + ], + "IERC165": [ + 6065 + ] + }, + "id": 1227, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 311, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "109:24:3" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "file": "./IERC1155.sol", + "id": 313, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 1350, + "src": "135:40:3", + "symbolAliases": [ + { + "foreign": { + "id": 312, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "143:8:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol", + "file": "./extensions/IERC1155MetadataURI.sol", + "id": 315, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 1408, + "src": "176:73:3", + "symbolAliases": [ + { + "foreign": { + "id": 314, + "name": "IERC1155MetadataURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "184:19:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol", + "file": "./utils/ERC1155Utils.sol", + "id": 317, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 1562, + "src": "250:54:3", + "symbolAliases": [ + { + "foreign": { + "id": 316, + "name": "ERC1155Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "258:12:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 319, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 3357, + "src": "305:48:3", + "symbolAliases": [ + { + "foreign": { + "id": 318, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "313:7:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "file": "../../utils/introspection/ERC165.sol", + "id": 322, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 6054, + "src": "354:69:3", + "symbolAliases": [ + { + "foreign": { + "id": 320, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "362:7:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 321, + "name": "ERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6053, + "src": "371:6:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Arrays.sol", + "file": "../../utils/Arrays.sol", + "id": 324, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 3295, + "src": "424:46:3", + "symbolAliases": [ + { + "foreign": { + "id": 323, + "name": "Arrays", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "432:6:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", + "file": "../../interfaces/draft-IERC6093.sol", + "id": 326, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1227, + "sourceUnit": 310, + "src": "471:67:3", + "symbolAliases": [ + { + "foreign": { + "id": 325, + "name": "IERC1155Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "479:14:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 328, + "name": "Context", + "nameLocations": [ + "754:7:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3356, + "src": "754:7:3" + }, + "id": 329, + "nodeType": "InheritanceSpecifier", + "src": "754:7:3" + }, + { + "baseName": { + "id": 330, + "name": "ERC165", + "nameLocations": [ + "763:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6053, + "src": "763:6:3" + }, + "id": 331, + "nodeType": "InheritanceSpecifier", + "src": "763:6:3" + }, + { + "baseName": { + "id": 332, + "name": "IERC1155", + "nameLocations": [ + "771:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1349, + "src": "771:8:3" + }, + "id": 333, + "nodeType": "InheritanceSpecifier", + "src": "771:8:3" + }, + { + "baseName": { + "id": 334, + "name": "IERC1155MetadataURI", + "nameLocations": [ + "781:19:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1407, + "src": "781:19:3" + }, + "id": 335, + "nodeType": "InheritanceSpecifier", + "src": "781:19:3" + }, + { + "baseName": { + "id": 336, + "name": "IERC1155Errors", + "nameLocations": [ + "802:14:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 309, + "src": "802:14:3" + }, + "id": 337, + "nodeType": "InheritanceSpecifier", + "src": "802:14:3" + } + ], + "canonicalName": "ERC1155", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 327, + "nodeType": "StructuredDocumentation", + "src": "540:184:3", + "text": " @dev Implementation of the basic standard multi-token.\n See https://eips.ethereum.org/EIPS/eip-1155\n Originally based on code by Enjin: https://github.com/enjin/erc-1155" + }, + "fullyImplemented": true, + "id": 1226, + "linearizedBaseContracts": [ + 1226, + 309, + 1407, + 1349, + 6053, + 6065, + 3356 + ], + "name": "ERC1155", + "nameLocation": "743:7:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 341, + "libraryName": { + "id": 338, + "name": "Arrays", + "nameLocations": [ + "829:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3294, + "src": "829:6:3" + }, + "nodeType": "UsingForDirective", + "src": "823:27:3", + "typeName": { + "baseType": { + "id": 339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "840:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 340, + "nodeType": "ArrayTypeName", + "src": "840:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "global": false, + "id": 345, + "libraryName": { + "id": 342, + "name": "Arrays", + "nameLocations": [ + "861:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3294, + "src": "861:6:3" + }, + "nodeType": "UsingForDirective", + "src": "855:27:3", + "typeName": { + "baseType": { + "id": 343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "872:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 344, + "nodeType": "ArrayTypeName", + "src": "872:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + { + "constant": false, + "id": 351, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "955:9:3", + "nodeType": "VariableDeclaration", + "scope": 1226, + "src": "888:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(address => uint256))" + }, + "typeName": { + "id": 350, + "keyName": "id", + "keyNameLocation": "904:2:3", + "keyType": { + "id": 346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "896:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "888:58:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 349, + "keyName": "account", + "keyNameLocation": "926:7:3", + "keyType": { + "id": 347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "918:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "910:35:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "937:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 357, + "mutability": "mutable", + "name": "_operatorApprovals", + "nameLocation": "1041:18:3", + "nodeType": "VariableDeclaration", + "scope": 1226, + "src": "971:88:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 356, + "keyName": "account", + "keyNameLocation": "987:7:3", + "keyType": { + "id": 352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "979:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "971:61:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 355, + "keyName": "operator", + "keyNameLocation": "1014:8:3", + "keyType": { + "id": 353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1006:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "998:33:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 354, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1026:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 359, + "mutability": "mutable", + "name": "_uri", + "nameLocation": "1195:4:3", + "nodeType": "VariableDeclaration", + "scope": 1226, + "src": "1180:19:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1180:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 369, + "nodeType": "Block", + "src": "1281:30:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 366, + "name": "uri_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 362, + "src": "1299:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 365, + "name": "_setURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "1291:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1291:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 368, + "nodeType": "ExpressionStatement", + "src": "1291:13:3" + } + ] + }, + "documentation": { + "id": 360, + "nodeType": "StructuredDocumentation", + "src": "1206:38:3", + "text": " @dev See {_setURI}." + }, + "id": 370, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 362, + "mutability": "mutable", + "name": "uri_", + "nameLocation": "1275:4:3", + "nodeType": "VariableDeclaration", + "scope": 370, + "src": "1261:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 361, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1261:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1260:20:3" + }, + "returnParameters": { + "id": 364, + "nodeType": "ParameterList", + "parameters": [], + "src": "1281:0:3" + }, + "scope": 1226, + "src": "1249:62:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 6052, + 6064 + ], + "body": { + "id": 400, + "nodeType": "Block", + "src": "1486:197:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 381, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1515:11:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 383, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "1535:8:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$1349_$", + "typeString": "type(contract IERC1155)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$1349_$", + "typeString": "type(contract IERC1155)" + } + ], + "id": 382, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1530:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1530:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC1155_$1349", + "typeString": "type(contract IERC1155)" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1545:11:3", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1530:26:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1515:41:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 387, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1572:11:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 389, + "name": "IERC1155MetadataURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "1592:19:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155MetadataURI_$1407_$", + "typeString": "type(contract IERC1155MetadataURI)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC1155MetadataURI_$1407_$", + "typeString": "type(contract IERC1155MetadataURI)" + } + ], + "id": 388, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1587:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1587:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC1155MetadataURI_$1407", + "typeString": "type(contract IERC1155MetadataURI)" + } + }, + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1613:11:3", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1587:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1572:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1515:109:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 396, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1664:11:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 394, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1640:5:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC1155_$1226_$", + "typeString": "type(contract super ERC1155)" + } + }, + "id": 395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1646:17:3", + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 6052, + "src": "1640:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1640:36:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1515:161:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 380, + "id": 399, + "nodeType": "Return", + "src": "1496:180:3" + } + ] + }, + "documentation": { + "id": 371, + "nodeType": "StructuredDocumentation", + "src": "1317:56:3", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 401, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1387:17:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 377, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 375, + "name": "ERC165", + "nameLocations": [ + "1454:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6053, + "src": "1454:6:3" + }, + { + "id": 376, + "name": "IERC165", + "nameLocations": [ + "1462:7:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6065, + "src": "1462:7:3" + } + ], + "src": "1445:25:3" + }, + "parameters": { + "id": 374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 373, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1412:11:3", + "nodeType": "VariableDeclaration", + "scope": 401, + "src": "1405:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 372, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1405:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1404:20:3" + }, + "returnParameters": { + "id": 380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 379, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 401, + "src": "1480:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 378, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1480:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1479:6:3" + }, + "scope": 1226, + "src": "1378:305:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1406 + ], + "body": { + "id": 411, + "nodeType": "Block", + "src": "2157:28:3", + "statements": [ + { + "expression": { + "id": 409, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "2174:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 408, + "id": 410, + "nodeType": "Return", + "src": "2167:11:3" + } + ] + }, + "documentation": { + "id": 402, + "nodeType": "StructuredDocumentation", + "src": "1689:388:3", + "text": " @dev See {IERC1155MetadataURI-uri}.\n This implementation returns the same URI for *all* token types. It relies\n on the token type ID substitution mechanism\n https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC].\n Clients calling this function must replace the `\\{id\\}` substring with the\n actual token type ID." + }, + "functionSelector": "0e89341c", + "id": 412, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "uri", + "nameLocation": "2091:3:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 404, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "2095:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 403, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2095:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2094:18:3" + }, + "returnParameters": { + "id": 408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 407, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 412, + "src": "2142:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 406, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2142:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2141:15:3" + }, + "scope": 1226, + "src": "2082:103:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1287 + ], + "body": { + "id": 428, + "nodeType": "Block", + "src": "2331:46:3", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 422, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "2348:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(address => uint256))" + } + }, + "id": 424, + "indexExpression": { + "id": 423, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "2358:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2348:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 426, + "indexExpression": { + "id": 425, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "2362:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2348:22:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 421, + "id": 427, + "nodeType": "Return", + "src": "2341:29:3" + } + ] + }, + "documentation": { + "id": 413, + "nodeType": "StructuredDocumentation", + "src": "2191:49:3", + "text": " @dev See {IERC1155-balanceOf}." + }, + "functionSelector": "00fdd58e", + "id": 429, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2254:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 415, + "mutability": "mutable", + "name": "account", + "nameLocation": "2272:7:3", + "nodeType": "VariableDeclaration", + "scope": 429, + "src": "2264:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2264:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "id", + "nameLocation": "2289:2:3", + "nodeType": "VariableDeclaration", + "scope": 429, + "src": "2281:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2281:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2263:29:3" + }, + "returnParameters": { + "id": 421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 420, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 429, + "src": "2322:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2322:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2321:9:3" + }, + "scope": 1226, + "src": "2245:132:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1300 + ], + "body": { + "id": 498, + "nodeType": "Block", + "src": "2676:410:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 442, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "2690:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2699:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2690:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 444, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "2709:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2713:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2709:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2690:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 455, + "nodeType": "IfStatement", + "src": "2686:121:3", + "trueBody": { + "id": 454, + "nodeType": "Block", + "src": "2721:86:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 448, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "2768:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2772:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2768:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 450, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "2780:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2789:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2780:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 447, + "name": "ERC1155InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "2742:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2742:54:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 453, + "nodeType": "RevertStatement", + "src": "2735:61:3" + } + ] + } + }, + { + "assignments": [ + 460 + ], + "declarations": [ + { + "constant": false, + "id": 460, + "mutability": "mutable", + "name": "batchBalances", + "nameLocation": "2834:13:3", + "nodeType": "VariableDeclaration", + "scope": 498, + "src": "2817:30:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 458, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2817:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 459, + "nodeType": "ArrayTypeName", + "src": "2817:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 467, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 464, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "2864:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2873:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2864:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2850:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 461, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2854:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 462, + "nodeType": "ArrayTypeName", + "src": "2854:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2850:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2817:63:3" + }, + { + "body": { + "id": 494, + "nodeType": "Block", + "src": "2937:112:3", + "statements": [ + { + "expression": { + "id": 492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 479, + "name": "batchBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 460, + "src": "2951:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 481, + "indexExpression": { + "id": 480, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "2965:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2951:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 485, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "3008:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 483, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "2980:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2989:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3234, + "src": "2980:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$_t_address_$attached_to$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address[] memory,uint256) pure returns (address)" + } + }, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2980:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 489, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "3035:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 487, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "3012:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3016:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "3012:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3012:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 482, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "2970:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2970:68:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2951:87:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 493, + "nodeType": "ExpressionStatement", + "src": "2951:87:3" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 472, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "2911:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 473, + "name": "accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "2915:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2924:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2915:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2911:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 495, + "initializationExpression": { + "assignments": [ + 469 + ], + "declarations": [ + { + "constant": false, + "id": 469, + "mutability": "mutable", + "name": "i", + "nameLocation": "2904:1:3", + "nodeType": "VariableDeclaration", + "scope": 495, + "src": "2896:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2896:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 471, + "initialValue": { + "hexValue": "30", + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2908:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2896:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2932:3:3", + "subExpression": { + "id": 476, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "2934:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 478, + "nodeType": "ExpressionStatement", + "src": "2932:3:3" + }, + "nodeType": "ForStatement", + "src": "2891:158:3" + }, + { + "expression": { + "id": 496, + "name": "batchBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 460, + "src": "3066:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 441, + "id": 497, + "nodeType": "Return", + "src": "3059:20:3" + } + ] + }, + "documentation": { + "id": 430, + "nodeType": "StructuredDocumentation", + "src": "2383:146:3", + "text": " @dev See {IERC1155-balanceOfBatch}.\n Requirements:\n - `accounts` and `ids` must have the same length." + }, + "functionSelector": "4e1273f4", + "id": 499, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOfBatch", + "nameLocation": "2543:14:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2584:8:3", + "nodeType": "VariableDeclaration", + "scope": 499, + "src": "2567:25:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2567:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 432, + "nodeType": "ArrayTypeName", + "src": "2567:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "ids", + "nameLocation": "2619:3:3", + "nodeType": "VariableDeclaration", + "scope": 499, + "src": "2602:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 434, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2602:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 435, + "nodeType": "ArrayTypeName", + "src": "2602:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2557:71:3" + }, + "returnParameters": { + "id": 441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 440, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 499, + "src": "2658:16:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2658:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 439, + "nodeType": "ArrayTypeName", + "src": "2658:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2657:18:3" + }, + "scope": 1226, + "src": "2534:552:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1308 + ], + "body": { + "id": 514, + "nodeType": "Block", + "src": "3229:69:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 508, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "3258:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3258:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 510, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "3272:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 511, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 504, + "src": "3282:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 507, + "name": "_setApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "3239:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3239:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 513, + "nodeType": "ExpressionStatement", + "src": "3239:52:3" + } + ] + }, + "documentation": { + "id": 500, + "nodeType": "StructuredDocumentation", + "src": "3092:57:3", + "text": " @dev See {IERC1155-setApprovalForAll}." + }, + "functionSelector": "a22cb465", + "id": 515, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "3163:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 502, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3189:8:3", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "3181:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 501, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3181:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 504, + "mutability": "mutable", + "name": "approved", + "nameLocation": "3204:8:3", + "nodeType": "VariableDeclaration", + "scope": 515, + "src": "3199:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 503, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3199:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3180:33:3" + }, + "returnParameters": { + "id": 506, + "nodeType": "ParameterList", + "parameters": [], + "src": "3229:0:3" + }, + "scope": 1226, + "src": "3154:144:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1318 + ], + "body": { + "id": 531, + "nodeType": "Block", + "src": "3461:61:3", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 525, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 357, + "src": "3478:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 527, + "indexExpression": { + "id": 526, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "3497:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3478:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 529, + "indexExpression": { + "id": 528, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 520, + "src": "3506:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3478:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 524, + "id": 530, + "nodeType": "Return", + "src": "3471:44:3" + } + ] + }, + "documentation": { + "id": 516, + "nodeType": "StructuredDocumentation", + "src": "3304:56:3", + "text": " @dev See {IERC1155-isApprovedForAll}." + }, + "functionSelector": "e985e9c5", + "id": 532, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "3374:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 518, + "mutability": "mutable", + "name": "account", + "nameLocation": "3399:7:3", + "nodeType": "VariableDeclaration", + "scope": 532, + "src": "3391:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3391:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 520, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3416:8:3", + "nodeType": "VariableDeclaration", + "scope": 532, + "src": "3408:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3408:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3390:35:3" + }, + "returnParameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 523, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 532, + "src": "3455:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 522, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3455:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3454:6:3" + }, + "scope": 1226, + "src": "3365:157:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1332 + ], + "body": { + "id": 575, + "nodeType": "Block", + "src": "3702:238:3", + "statements": [ + { + "assignments": [ + 547 + ], + "declarations": [ + { + "constant": false, + "id": 547, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3720:6:3", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "3712:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 546, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3712:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 548, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "3729:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3729:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3712:29:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 551, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "3755:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 552, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "3763:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3755:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3773:31:3", + "subExpression": { + "arguments": [ + { + "id": 555, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "3791:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 556, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "3797:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 554, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 532, + "src": "3774:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3774:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3755:49:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 566, + "nodeType": "IfStatement", + "src": "3751:129:3", + "trueBody": { + "id": 565, + "nodeType": "Block", + "src": "3806:74:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 561, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "3856:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 562, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "3864:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 560, + "name": "ERC1155MissingApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "3827:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3827:42:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 564, + "nodeType": "RevertStatement", + "src": "3820:49:3" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 568, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "3907:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 569, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 537, + "src": "3913:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 570, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "3917:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 571, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 541, + "src": "3921:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 572, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "3928:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 567, + "name": "_safeTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 921, + "src": "3889:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory)" + } + }, + "id": 573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3889:44:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 574, + "nodeType": "ExpressionStatement", + "src": "3889:44:3" + } + ] + }, + "documentation": { + "id": 533, + "nodeType": "StructuredDocumentation", + "src": "3528:56:3", + "text": " @dev See {IERC1155-safeTransferFrom}." + }, + "functionSelector": "f242432a", + "id": 576, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "3598:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 535, + "mutability": "mutable", + "name": "from", + "nameLocation": "3623:4:3", + "nodeType": "VariableDeclaration", + "scope": 576, + "src": "3615:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3615:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 537, + "mutability": "mutable", + "name": "to", + "nameLocation": "3637:2:3", + "nodeType": "VariableDeclaration", + "scope": 576, + "src": "3629:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3629:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 539, + "mutability": "mutable", + "name": "id", + "nameLocation": "3649:2:3", + "nodeType": "VariableDeclaration", + "scope": 576, + "src": "3641:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3641:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 541, + "mutability": "mutable", + "name": "value", + "nameLocation": "3661:5:3", + "nodeType": "VariableDeclaration", + "scope": 576, + "src": "3653:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3653:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 543, + "mutability": "mutable", + "name": "data", + "nameLocation": "3681:4:3", + "nodeType": "VariableDeclaration", + "scope": 576, + "src": "3668:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 542, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3668:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3614:72:3" + }, + "returnParameters": { + "id": 545, + "nodeType": "ParameterList", + "parameters": [], + "src": "3702:0:3" + }, + "scope": 1226, + "src": "3589:351:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1348 + ], + "body": { + "id": 621, + "nodeType": "Block", + "src": "4196:245:3", + "statements": [ + { + "assignments": [ + 593 + ], + "declarations": [ + { + "constant": false, + "id": 593, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4214:6:3", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "4206:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4206:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 596, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 594, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "4223:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4223:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4206:29:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 597, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "4249:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 598, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "4257:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4249:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4267:31:3", + "subExpression": { + "arguments": [ + { + "id": 601, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "4285:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 602, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "4291:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 600, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 532, + "src": "4268:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4268:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4249:49:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 612, + "nodeType": "IfStatement", + "src": "4245:129:3", + "trueBody": { + "id": 611, + "nodeType": "Block", + "src": "4300:74:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 607, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "4350:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 608, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "4358:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 606, + "name": "ERC1155MissingApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "4321:28:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4321:42:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 610, + "nodeType": "RevertStatement", + "src": "4314:49:3" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 614, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "4406:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 615, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "4412:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 616, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 584, + "src": "4416:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 617, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 587, + "src": "4421:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 618, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 589, + "src": "4429:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 613, + "name": "_safeBatchTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 976, + "src": "4383:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4383:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 620, + "nodeType": "ExpressionStatement", + "src": "4383:51:3" + } + ] + }, + "documentation": { + "id": 577, + "nodeType": "StructuredDocumentation", + "src": "3946:61:3", + "text": " @dev See {IERC1155-safeBatchTransferFrom}." + }, + "functionSelector": "2eb2c2d6", + "id": 622, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeBatchTransferFrom", + "nameLocation": "4021:21:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 579, + "mutability": "mutable", + "name": "from", + "nameLocation": "4060:4:3", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "4052:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4052:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 581, + "mutability": "mutable", + "name": "to", + "nameLocation": "4082:2:3", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "4074:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4074:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 584, + "mutability": "mutable", + "name": "ids", + "nameLocation": "4111:3:3", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "4094:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4094:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 583, + "nodeType": "ArrayTypeName", + "src": "4094:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 587, + "mutability": "mutable", + "name": "values", + "nameLocation": "4141:6:3", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "4124:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 585, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4124:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 586, + "nodeType": "ArrayTypeName", + "src": "4124:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 589, + "mutability": "mutable", + "name": "data", + "nameLocation": "4170:4:3", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "4157:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 588, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4157:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4042:138:3" + }, + "returnParameters": { + "id": 591, + "nodeType": "ParameterList", + "parameters": [], + "src": "4196:0:3" + }, + "scope": 1226, + "src": "4012:429:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 774, + "nodeType": "Block", + "src": "5249:1174:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 636, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5263:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5267:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5263:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 638, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "5277:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5284:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5277:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5263:27:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 649, + "nodeType": "IfStatement", + "src": "5259:117:3", + "trueBody": { + "id": 648, + "nodeType": "Block", + "src": "5292:84:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 642, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5339:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5343:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5339:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 644, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "5351:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5358:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5351:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 641, + "name": "ERC1155InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "5313:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5313:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 647, + "nodeType": "RevertStatement", + "src": "5306:59:3" + } + ] + } + }, + { + "assignments": [ + 651 + ], + "declarations": [ + { + "constant": false, + "id": 651, + "mutability": "mutable", + "name": "operator", + "nameLocation": "5394:8:3", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "5386:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5386:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 654, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 652, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "5405:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5405:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5386:31:3" + }, + { + "body": { + "id": 735, + "nodeType": "Block", + "src": "5469:650:3", + "statements": [ + { + "assignments": [ + 667 + ], + "declarations": [ + { + "constant": false, + "id": 667, + "mutability": "mutable", + "name": "id", + "nameLocation": "5491:2:3", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "5483:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5483:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 672, + "initialValue": { + "arguments": [ + { + "id": 670, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "5519:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 668, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5496:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5500:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "5496:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5496:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5483:38:3" + }, + { + "assignments": [ + 674 + ], + "declarations": [ + { + "constant": false, + "id": 674, + "mutability": "mutable", + "name": "value", + "nameLocation": "5543:5:3", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "5535:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 673, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5535:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 679, + "initialValue": { + "arguments": [ + { + "id": 677, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "5577:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 675, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "5551:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5558:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "5551:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5551:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5535:44:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 680, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 625, + "src": "5598:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5614:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5606:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5606:7:3", + "typeDescriptions": {} + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5606:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5598:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 718, + "nodeType": "IfStatement", + "src": "5594:420:3", + "trueBody": { + "id": 717, + "nodeType": "Block", + "src": "5618:396:3", + "statements": [ + { + "assignments": [ + 687 + ], + "declarations": [ + { + "constant": false, + "id": 687, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "5644:11:3", + "nodeType": "VariableDeclaration", + "scope": 717, + "src": "5636:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5636:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 693, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 688, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "5658:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(address => uint256))" + } + }, + "id": 690, + "indexExpression": { + "id": 689, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "5668:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5658:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 692, + "indexExpression": { + "id": 691, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 625, + "src": "5672:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5658:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5636:41:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 694, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "5699:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 695, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "5713:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5699:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 705, + "nodeType": "IfStatement", + "src": "5695:129:3", + "trueBody": { + "id": 704, + "nodeType": "Block", + "src": "5720:104:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 698, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 625, + "src": "5776:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 699, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "5782:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 700, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "5795:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 701, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "5802:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 697, + "name": "ERC1155InsufficientBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "5749:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256) pure" + } + }, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5749:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 703, + "nodeType": "RevertStatement", + "src": "5742:63:3" + } + ] + } + }, + { + "id": 716, + "nodeType": "UncheckedBlock", + "src": "5841:159:3", + "statements": [ + { + "expression": { + "id": 714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 706, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "5940:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(address => uint256))" + } + }, + "id": 709, + "indexExpression": { + "id": 707, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "5950:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5940:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 710, + "indexExpression": { + "id": 708, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 625, + "src": "5954:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5940:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 711, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "5962:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 712, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "5976:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5962:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5940:41:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 715, + "nodeType": "ExpressionStatement", + "src": "5940:41:3" + } + ] + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 719, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 627, + "src": "6032:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6046:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6038:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6038:7:3", + "typeDescriptions": {} + } + }, + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6038:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6032:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 734, + "nodeType": "IfStatement", + "src": "6028:81:3", + "trueBody": { + "id": 733, + "nodeType": "Block", + "src": "6050:59:3", + "statements": [ + { + "expression": { + "id": 731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 725, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "6068:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(address => uint256))" + } + }, + "id": 728, + "indexExpression": { + "id": 726, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "6078:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6068:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 729, + "indexExpression": { + "id": 727, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 627, + "src": "6082:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6068:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 730, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "6089:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6068:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 732, + "nodeType": "ExpressionStatement", + "src": "6068:26:3" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 659, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "5448:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 660, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "5452:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5456:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5452:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5448:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 736, + "initializationExpression": { + "assignments": [ + 656 + ], + "declarations": [ + { + "constant": false, + "id": 656, + "mutability": "mutable", + "name": "i", + "nameLocation": "5441:1:3", + "nodeType": "VariableDeclaration", + "scope": 736, + "src": "5433:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 655, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5433:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 658, + "initialValue": { + "hexValue": "30", + "id": 657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5445:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5433:13:3" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "5464:3:3", + "subExpression": { + "id": 663, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "5466:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 665, + "nodeType": "ExpressionStatement", + "src": "5464:3:3" + }, + "nodeType": "ForStatement", + "src": "5428:691:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 737, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "6133:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6137:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6133:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6147:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6133:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 772, + "nodeType": "Block", + "src": "6341:76:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 765, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "6374:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 766, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 625, + "src": "6384:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 767, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 627, + "src": "6390:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 768, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "6394:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 769, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "6399:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 764, + "name": "TransferBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "6360:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" + } + }, + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6360:46:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 771, + "nodeType": "EmitStatement", + "src": "6355:51:3" + } + ] + }, + "id": 773, + "nodeType": "IfStatement", + "src": "6129:288:3", + "trueBody": { + "id": 763, + "nodeType": "Block", + "src": "6150:185:3", + "statements": [ + { + "assignments": [ + 742 + ], + "declarations": [ + { + "constant": false, + "id": 742, + "mutability": "mutable", + "name": "id", + "nameLocation": "6172:2:3", + "nodeType": "VariableDeclaration", + "scope": 763, + "src": "6164:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 741, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6164:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 747, + "initialValue": { + "arguments": [ + { + "hexValue": "30", + "id": 745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6200:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 743, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "6177:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6181:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "6177:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6177:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6164:38:3" + }, + { + "assignments": [ + 749 + ], + "declarations": [ + { + "constant": false, + "id": 749, + "mutability": "mutable", + "name": "value", + "nameLocation": "6224:5:3", + "nodeType": "VariableDeclaration", + "scope": 763, + "src": "6216:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 748, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6216:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 754, + "initialValue": { + "arguments": [ + { + "hexValue": "30", + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6258:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 750, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "6232:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6239:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "6232:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6232:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6216:44:3" + }, + { + "eventCall": { + "arguments": [ + { + "id": 756, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "6294:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 757, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 625, + "src": "6304:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 758, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 627, + "src": "6310:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 759, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "6314:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 760, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "6318:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 755, + "name": "TransferSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1246, + "src": "6279:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,address,uint256,uint256)" + } + }, + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6279:45:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 762, + "nodeType": "EmitStatement", + "src": "6274:50:3" + } + ] + } + } + ] + }, + "documentation": { + "id": 623, + "nodeType": "StructuredDocumentation", + "src": "4447:690:3", + "text": " @dev Transfers a `value` amount of tokens of type `id` from `from` to `to`. Will mint (or burn) if `from`\n (or `to`) is the zero address.\n Emits a {TransferSingle} event if the arrays contain one element, and {TransferBatch} otherwise.\n Requirements:\n - If `to` refers to a smart contract, it must implement either {IERC1155Receiver-onERC1155Received}\n or {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\n - `ids` and `values` must have the same length.\n NOTE: The ERC-1155 acceptance check is not performed in this function. See {_updateWithAcceptanceCheck} instead." + }, + "id": 775, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_update", + "nameLocation": "5151:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 625, + "mutability": "mutable", + "name": "from", + "nameLocation": "5167:4:3", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "5159:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5159:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 627, + "mutability": "mutable", + "name": "to", + "nameLocation": "5181:2:3", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "5173:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 626, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5173:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "ids", + "nameLocation": "5202:3:3", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "5185:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 629, + "nodeType": "ArrayTypeName", + "src": "5185:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 633, + "mutability": "mutable", + "name": "values", + "nameLocation": "5224:6:3", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "5207:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5207:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 632, + "nodeType": "ArrayTypeName", + "src": "5207:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "5158:73:3" + }, + "returnParameters": { + "id": 635, + "nodeType": "ParameterList", + "parameters": [], + "src": "5249:0:3" + }, + "scope": 1226, + "src": "5142:1281:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 854, + "nodeType": "Block", + "src": "7193:509:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 792, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "7211:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 793, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "7217:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 794, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "7221:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 795, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "7226:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 791, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "7203:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory)" + } + }, + "id": 796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7203:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 797, + "nodeType": "ExpressionStatement", + "src": "7203:30:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 798, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "7247:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7261:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7253:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7253:7:3", + "typeDescriptions": {} + } + }, + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7253:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7247:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 853, + "nodeType": "IfStatement", + "src": "7243:453:3", + "trueBody": { + "id": 852, + "nodeType": "Block", + "src": "7265:431:3", + "statements": [ + { + "assignments": [ + 805 + ], + "declarations": [ + { + "constant": false, + "id": 805, + "mutability": "mutable", + "name": "operator", + "nameLocation": "7287:8:3", + "nodeType": "VariableDeclaration", + "scope": 852, + "src": "7279:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7279:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 808, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 806, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "7298:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7298:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7279:31:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 809, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "7328:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7332:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7328:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7342:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7328:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 850, + "nodeType": "Block", + "src": "7574:112:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 842, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 805, + "src": "7633:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 843, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "7643:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 844, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "7649:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 845, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "7653:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 846, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "7658:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 847, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "7666:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 839, + "name": "ERC1155Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "7592:12:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1155Utils_$1561_$", + "typeString": "type(library ERC1155Utils)" + } + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7605:27:3", + "memberName": "checkOnERC1155BatchReceived", + "nodeType": "MemberAccess", + "referencedDeclaration": 1560, + "src": "7592:40:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7592:79:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 849, + "nodeType": "ExpressionStatement", + "src": "7592:79:3" + } + ] + }, + "id": 851, + "nodeType": "IfStatement", + "src": "7324:362:3", + "trueBody": { + "id": 838, + "nodeType": "Block", + "src": "7345:223:3", + "statements": [ + { + "assignments": [ + 814 + ], + "declarations": [ + { + "constant": false, + "id": 814, + "mutability": "mutable", + "name": "id", + "nameLocation": "7371:2:3", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "7363:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7363:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 819, + "initialValue": { + "arguments": [ + { + "hexValue": "30", + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7399:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 815, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "7376:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7380:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "7376:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7376:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7363:38:3" + }, + { + "assignments": [ + 821 + ], + "declarations": [ + { + "constant": false, + "id": 821, + "mutability": "mutable", + "name": "value", + "nameLocation": "7427:5:3", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "7419:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7419:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 826, + "initialValue": { + "arguments": [ + { + "hexValue": "30", + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7461:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 822, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "7435:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7442:18:3", + "memberName": "unsafeMemoryAccess", + "nodeType": "MemberAccess", + "referencedDeclaration": 3260, + "src": "7435:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7435:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7419:44:3" + }, + { + "expression": { + "arguments": [ + { + "id": 830, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 805, + "src": "7517:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 831, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "7527:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 832, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "7533:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 833, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "7537:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 834, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 821, + "src": "7541:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 835, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "7548:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 827, + "name": "ERC1155Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "7481:12:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1155Utils_$1561_$", + "typeString": "type(library ERC1155Utils)" + } + }, + "id": 829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7494:22:3", + "memberName": "checkOnERC1155Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 1486, + "src": "7481:35:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,uint256,uint256,bytes memory)" + } + }, + "id": 836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7481:72:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 837, + "nodeType": "ExpressionStatement", + "src": "7481:72:3" + } + ] + } + } + ] + } + } + ] + }, + "documentation": { + "id": 776, + "nodeType": "StructuredDocumentation", + "src": "6429:568:3", + "text": " @dev Version of {_update} that performs the token acceptance check by calling\n {IERC1155Receiver-onERC1155Received} or {IERC1155Receiver-onERC1155BatchReceived} on the receiver address if it\n contains code (eg. is a smart contract at the moment of execution).\n IMPORTANT: Overriding this function is discouraged because it poses a reentrancy risk from the receiver. So any\n update to the contract state after this function would break the check-effect-interaction pattern. Consider\n overriding {_update} instead." + }, + "id": 855, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_updateWithAcceptanceCheck", + "nameLocation": "7011:26:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 778, + "mutability": "mutable", + "name": "from", + "nameLocation": "7055:4:3", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "7047:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 777, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7047:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 780, + "mutability": "mutable", + "name": "to", + "nameLocation": "7077:2:3", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "7069:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 779, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7069:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 783, + "mutability": "mutable", + "name": "ids", + "nameLocation": "7106:3:3", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "7089:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7089:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 782, + "nodeType": "ArrayTypeName", + "src": "7089:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 786, + "mutability": "mutable", + "name": "values", + "nameLocation": "7136:6:3", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "7119:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7119:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 785, + "nodeType": "ArrayTypeName", + "src": "7119:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 788, + "mutability": "mutable", + "name": "data", + "nameLocation": "7165:4:3", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "7152:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 787, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7152:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7037:138:3" + }, + "returnParameters": { + "id": 790, + "nodeType": "ParameterList", + "parameters": [], + "src": "7193:0:3" + }, + "scope": 1226, + "src": "7002:700:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 920, + "nodeType": "Block", + "src": "8267:355:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 869, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "8281:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8295:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8287:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 870, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8287:7:3", + "typeDescriptions": {} + } + }, + "id": 873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8287:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8281:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 883, + "nodeType": "IfStatement", + "src": "8277:88:3", + "trueBody": { + "id": 882, + "nodeType": "Block", + "src": "8299:66:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8351:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8343:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8343:7:3", + "typeDescriptions": {} + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8343:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 875, + "name": "ERC1155InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "8320:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8320:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 881, + "nodeType": "RevertStatement", + "src": "8313:41:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 884, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "8378:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8394:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8386:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 885, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8386:7:3", + "typeDescriptions": {} + } + }, + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8386:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8378:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 898, + "nodeType": "IfStatement", + "src": "8374:88:3", + "trueBody": { + "id": 897, + "nodeType": "Block", + "src": "8398:64:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8448:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 892, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8440:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8440:7:3", + "typeDescriptions": {} + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8440:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 890, + "name": "ERC1155InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "8419:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8419:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 896, + "nodeType": "RevertStatement", + "src": "8412:39:3" + } + ] + } + }, + { + "assignments": [ + 903, + 906 + ], + "declarations": [ + { + "constant": false, + "id": 903, + "mutability": "mutable", + "name": "ids", + "nameLocation": "8489:3:3", + "nodeType": "VariableDeclaration", + "scope": 920, + "src": "8472:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8472:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 902, + "nodeType": "ArrayTypeName", + "src": "8472:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 906, + "mutability": "mutable", + "name": "values", + "nameLocation": "8511:6:3", + "nodeType": "VariableDeclaration", + "scope": 920, + "src": "8494:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8494:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 905, + "nodeType": "ArrayTypeName", + "src": "8494:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 911, + "initialValue": { + "arguments": [ + { + "id": 908, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 862, + "src": "8540:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 909, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 864, + "src": "8544:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 907, + "name": "_asSingletonArrays", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1225, + "src": "8521:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8521:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8471:79:3" + }, + { + "expression": { + "arguments": [ + { + "id": 913, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "8587:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 914, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "8593:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 915, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 903, + "src": "8597:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 916, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 906, + "src": "8602:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 917, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "8610:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 912, + "name": "_updateWithAcceptanceCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 855, + "src": "8560:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8560:55:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 919, + "nodeType": "ExpressionStatement", + "src": "8560:55:3" + } + ] + }, + "documentation": { + "id": 856, + "nodeType": "StructuredDocumentation", + "src": "7708:446:3", + "text": " @dev Transfers a `value` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - `from` must have a balance of tokens of type `id` of at least `value` amount.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value." + }, + "id": 921, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeTransferFrom", + "nameLocation": "8168:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 867, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "mutability": "mutable", + "name": "from", + "nameLocation": "8194:4:3", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "8186:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8186:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 860, + "mutability": "mutable", + "name": "to", + "nameLocation": "8208:2:3", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "8200:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8200:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 862, + "mutability": "mutable", + "name": "id", + "nameLocation": "8220:2:3", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "8212:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8212:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 864, + "mutability": "mutable", + "name": "value", + "nameLocation": "8232:5:3", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "8224:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 863, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8224:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 866, + "mutability": "mutable", + "name": "data", + "nameLocation": "8252:4:3", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "8239:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 865, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8239:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8185:72:3" + }, + "returnParameters": { + "id": 868, + "nodeType": "ParameterList", + "parameters": [], + "src": "8267:0:3" + }, + "scope": 1226, + "src": "8159:463:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 975, + "nodeType": "Block", + "src": "9202:266:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 937, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "9216:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9230:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9222:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9222:7:3", + "typeDescriptions": {} + } + }, + "id": 941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9222:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9216:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 951, + "nodeType": "IfStatement", + "src": "9212:88:3", + "trueBody": { + "id": 950, + "nodeType": "Block", + "src": "9234:66:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9286:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9278:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9278:7:3", + "typeDescriptions": {} + } + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9278:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 943, + "name": "ERC1155InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "9255:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9255:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 949, + "nodeType": "RevertStatement", + "src": "9248:41:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 952, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 924, + "src": "9313:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9329:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9321:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9321:7:3", + "typeDescriptions": {} + } + }, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9321:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9313:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 966, + "nodeType": "IfStatement", + "src": "9309:88:3", + "trueBody": { + "id": 965, + "nodeType": "Block", + "src": "9333:64:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9383:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9375:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9375:7:3", + "typeDescriptions": {} + } + }, + "id": 962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9375:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 958, + "name": "ERC1155InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "9354:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9354:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 964, + "nodeType": "RevertStatement", + "src": "9347:39:3" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 968, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 924, + "src": "9433:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 969, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "9439:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 970, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 929, + "src": "9443:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 971, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 932, + "src": "9448:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 972, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "9456:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 967, + "name": "_updateWithAcceptanceCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 855, + "src": "9406:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9406:55:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 974, + "nodeType": "ExpressionStatement", + "src": "9406:55:3" + } + ] + }, + "documentation": { + "id": 922, + "nodeType": "StructuredDocumentation", + "src": "8628:390:3", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value.\n - `ids` and `values` must have the same length." + }, + "id": 976, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeBatchTransferFrom", + "nameLocation": "9032:22:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 924, + "mutability": "mutable", + "name": "from", + "nameLocation": "9072:4:3", + "nodeType": "VariableDeclaration", + "scope": 976, + "src": "9064:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 923, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9064:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 926, + "mutability": "mutable", + "name": "to", + "nameLocation": "9094:2:3", + "nodeType": "VariableDeclaration", + "scope": 976, + "src": "9086:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9086:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 929, + "mutability": "mutable", + "name": "ids", + "nameLocation": "9123:3:3", + "nodeType": "VariableDeclaration", + "scope": 976, + "src": "9106:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9106:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 928, + "nodeType": "ArrayTypeName", + "src": "9106:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 932, + "mutability": "mutable", + "name": "values", + "nameLocation": "9153:6:3", + "nodeType": "VariableDeclaration", + "scope": 976, + "src": "9136:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 930, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9136:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 931, + "nodeType": "ArrayTypeName", + "src": "9136:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 934, + "mutability": "mutable", + "name": "data", + "nameLocation": "9182:4:3", + "nodeType": "VariableDeclaration", + "scope": 976, + "src": "9169:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 933, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9169:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9054:138:3" + }, + "returnParameters": { + "id": 936, + "nodeType": "ParameterList", + "parameters": [], + "src": "9202:0:3" + }, + "scope": 1226, + "src": "9023:445:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 986, + "nodeType": "Block", + "src": "10346:30:3", + "statements": [ + { + "expression": { + "id": 984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 982, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "10356:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 983, + "name": "newuri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 979, + "src": "10363:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "10356:13:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 985, + "nodeType": "ExpressionStatement", + "src": "10356:13:3" + } + ] + }, + "documentation": { + "id": 977, + "nodeType": "StructuredDocumentation", + "src": "9474:811:3", + "text": " @dev Sets a new URI for all token types, by relying on the token type ID\n substitution mechanism\n https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC].\n By this mechanism, any occurrence of the `\\{id\\}` substring in either the\n URI or any of the values in the JSON file at said URI will be replaced by\n clients with the token type ID.\n For example, the `https://token-cdn-domain/\\{id\\}.json` URI would be\n interpreted by clients as\n `https://token-cdn-domain/000000000000000000000000000000000000000000000000000000000004cce0.json`\n for token type ID 0x4cce0.\n See {uri}.\n Because these URIs cannot be meaningfully represented by the {URI} event,\n this function emits no events." + }, + "id": 987, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setURI", + "nameLocation": "10299:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 979, + "mutability": "mutable", + "name": "newuri", + "nameLocation": "10321:6:3", + "nodeType": "VariableDeclaration", + "scope": 987, + "src": "10307:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 978, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10307:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10306:22:3" + }, + "returnParameters": { + "id": 981, + "nodeType": "ParameterList", + "parameters": [], + "src": "10346:0:3" + }, + "scope": 1226, + "src": "10290:86:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1038, + "nodeType": "Block", + "src": "10836:264:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 999, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 990, + "src": "10850:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10864:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10856:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10856:7:3", + "typeDescriptions": {} + } + }, + "id": 1003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10856:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10850:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1013, + "nodeType": "IfStatement", + "src": "10846:88:3", + "trueBody": { + "id": 1012, + "nodeType": "Block", + "src": "10868:66:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10920:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10912:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10912:7:3", + "typeDescriptions": {} + } + }, + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10912:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1005, + "name": "ERC1155InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "10889:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10889:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1011, + "nodeType": "RevertStatement", + "src": "10882:41:3" + } + ] + } + }, + { + "assignments": [ + 1018, + 1021 + ], + "declarations": [ + { + "constant": false, + "id": 1018, + "mutability": "mutable", + "name": "ids", + "nameLocation": "10961:3:3", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "10944:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1016, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10944:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1017, + "nodeType": "ArrayTypeName", + "src": "10944:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1021, + "mutability": "mutable", + "name": "values", + "nameLocation": "10983:6:3", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "10966:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10966:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1020, + "nodeType": "ArrayTypeName", + "src": "10966:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 1026, + "initialValue": { + "arguments": [ + { + "id": 1023, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 992, + "src": "11012:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1024, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 994, + "src": "11016:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1022, + "name": "_asSingletonArrays", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1225, + "src": "10993:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10993:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10943:79:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11067:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11059:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11059:7:3", + "typeDescriptions": {} + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11059:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1032, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 990, + "src": "11071:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1033, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1018, + "src": "11075:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1034, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "11080:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1035, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "11088:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1027, + "name": "_updateWithAcceptanceCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 855, + "src": "11032:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11032:61:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1037, + "nodeType": "ExpressionStatement", + "src": "11032:61:3" + } + ] + }, + "documentation": { + "id": 988, + "nodeType": "StructuredDocumentation", + "src": "10382:367:3", + "text": " @dev Creates a `value` amount of tokens of type `id`, and assigns them to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value." + }, + "id": 1039, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "10763:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 990, + "mutability": "mutable", + "name": "to", + "nameLocation": "10777:2:3", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "10769:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10769:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 992, + "mutability": "mutable", + "name": "id", + "nameLocation": "10789:2:3", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "10781:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10781:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 994, + "mutability": "mutable", + "name": "value", + "nameLocation": "10801:5:3", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "10793:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10793:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 996, + "mutability": "mutable", + "name": "data", + "nameLocation": "10821:4:3", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "10808:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 995, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10808:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10768:58:3" + }, + "returnParameters": { + "id": 998, + "nodeType": "ParameterList", + "parameters": [], + "src": "10836:0:3" + }, + "scope": 1226, + "src": "10754:346:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1079, + "nodeType": "Block", + "src": "11638:175:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1053, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1042, + "src": "11652:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11666:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11658:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11658:7:3", + "typeDescriptions": {} + } + }, + "id": 1057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11658:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11652:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1067, + "nodeType": "IfStatement", + "src": "11648:88:3", + "trueBody": { + "id": 1066, + "nodeType": "Block", + "src": "11670:66:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11722:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11714:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11714:7:3", + "typeDescriptions": {} + } + }, + "id": 1063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11714:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1059, + "name": "ERC1155InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "11691:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11691:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1065, + "nodeType": "RevertStatement", + "src": "11684:41:3" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11780:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11772:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11772:7:3", + "typeDescriptions": {} + } + }, + "id": 1072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11772:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1073, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1042, + "src": "11784:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1074, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "11788:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1075, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "11793:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1076, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1050, + "src": "11801:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1068, + "name": "_updateWithAcceptanceCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 855, + "src": "11745:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 1077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11745:61:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1078, + "nodeType": "ExpressionStatement", + "src": "11745:61:3" + } + ] + }, + "documentation": { + "id": 1040, + "nodeType": "StructuredDocumentation", + "src": "11106:420:3", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `values` must have the same length.\n - `to` cannot be the zero address.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value." + }, + "id": 1080, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mintBatch", + "nameLocation": "11540:10:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1042, + "mutability": "mutable", + "name": "to", + "nameLocation": "11559:2:3", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "11551:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1041, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11551:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1045, + "mutability": "mutable", + "name": "ids", + "nameLocation": "11580:3:3", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "11563:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11563:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1044, + "nodeType": "ArrayTypeName", + "src": "11563:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1048, + "mutability": "mutable", + "name": "values", + "nameLocation": "11602:6:3", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "11585:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1046, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11585:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1047, + "nodeType": "ArrayTypeName", + "src": "11585:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1050, + "mutability": "mutable", + "name": "data", + "nameLocation": "11623:4:3", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "11610:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1049, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11610:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11550:78:3" + }, + "returnParameters": { + "id": 1052, + "nodeType": "ParameterList", + "parameters": [], + "src": "11638:0:3" + }, + "scope": 1226, + "src": "11531:282:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1129, + "nodeType": "Block", + "src": "12172:264:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1090, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1083, + "src": "12186:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12202:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12194:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1091, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12194:7:3", + "typeDescriptions": {} + } + }, + "id": 1094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12194:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12186:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1104, + "nodeType": "IfStatement", + "src": "12182:88:3", + "trueBody": { + "id": 1103, + "nodeType": "Block", + "src": "12206:64:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12256:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12248:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12248:7:3", + "typeDescriptions": {} + } + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12248:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1096, + "name": "ERC1155InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "12227:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12227:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1102, + "nodeType": "RevertStatement", + "src": "12220:39:3" + } + ] + } + }, + { + "assignments": [ + 1109, + 1112 + ], + "declarations": [ + { + "constant": false, + "id": 1109, + "mutability": "mutable", + "name": "ids", + "nameLocation": "12297:3:3", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "12280:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12280:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1108, + "nodeType": "ArrayTypeName", + "src": "12280:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1112, + "mutability": "mutable", + "name": "values", + "nameLocation": "12319:6:3", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "12302:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12302:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1111, + "nodeType": "ArrayTypeName", + "src": "12302:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 1117, + "initialValue": { + "arguments": [ + { + "id": 1114, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1085, + "src": "12348:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1115, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1087, + "src": "12352:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1113, + "name": "_asSingletonArrays", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1225, + "src": "12329:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 1116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12329:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12279:79:3" + }, + { + "expression": { + "arguments": [ + { + "id": 1119, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1083, + "src": "12395:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12409:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12401:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12401:7:3", + "typeDescriptions": {} + } + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12401:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1124, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "12413:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1125, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "12418:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "hexValue": "", + "id": 1126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12426:2:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 1118, + "name": "_updateWithAcceptanceCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 855, + "src": "12368:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12368:61:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1128, + "nodeType": "ExpressionStatement", + "src": "12368:61:3" + } + ] + }, + "documentation": { + "id": 1081, + "nodeType": "StructuredDocumentation", + "src": "11819:283:3", + "text": " @dev Destroys a `value` amount of tokens of type `id` from `from`\n Emits a {TransferSingle} event.\n Requirements:\n - `from` cannot be the zero address.\n - `from` must have at least `value` amount of tokens of type `id`." + }, + "id": 1130, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "12116:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1083, + "mutability": "mutable", + "name": "from", + "nameLocation": "12130:4:3", + "nodeType": "VariableDeclaration", + "scope": 1130, + "src": "12122:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12122:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1085, + "mutability": "mutable", + "name": "id", + "nameLocation": "12144:2:3", + "nodeType": "VariableDeclaration", + "scope": 1130, + "src": "12136:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12136:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1087, + "mutability": "mutable", + "name": "value", + "nameLocation": "12156:5:3", + "nodeType": "VariableDeclaration", + "scope": 1130, + "src": "12148:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12148:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12121:41:3" + }, + "returnParameters": { + "id": 1089, + "nodeType": "ParameterList", + "parameters": [], + "src": "12172:0:3" + }, + "scope": 1226, + "src": "12107:329:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1168, + "nodeType": "Block", + "src": "12882:175:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1142, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1133, + "src": "12896:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12912:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12904:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12904:7:3", + "typeDescriptions": {} + } + }, + "id": 1146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12904:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12896:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1156, + "nodeType": "IfStatement", + "src": "12892:88:3", + "trueBody": { + "id": 1155, + "nodeType": "Block", + "src": "12916:64:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12966:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12958:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1149, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12958:7:3", + "typeDescriptions": {} + } + }, + "id": 1152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12958:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1148, + "name": "ERC1155InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "12937:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12937:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1154, + "nodeType": "RevertStatement", + "src": "12930:39:3" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1158, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1133, + "src": "13016:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13030:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13022:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13022:7:3", + "typeDescriptions": {} + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13022:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1163, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1136, + "src": "13034:3:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1164, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "13039:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "hexValue": "", + "id": 1165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13047:2:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 1157, + "name": "_updateWithAcceptanceCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 855, + "src": "12989:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 1166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12989:61:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1167, + "nodeType": "ExpressionStatement", + "src": "12989:61:3" + } + ] + }, + "documentation": { + "id": 1131, + "nodeType": "StructuredDocumentation", + "src": "12442:345:3", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}.\n Emits a {TransferBatch} event.\n Requirements:\n - `from` cannot be the zero address.\n - `from` must have at least `value` amount of tokens of type `id`.\n - `ids` and `values` must have the same length." + }, + "id": 1169, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burnBatch", + "nameLocation": "12801:10:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1133, + "mutability": "mutable", + "name": "from", + "nameLocation": "12820:4:3", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "12812:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12812:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1136, + "mutability": "mutable", + "name": "ids", + "nameLocation": "12843:3:3", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "12826:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12826:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1135, + "nodeType": "ArrayTypeName", + "src": "12826:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "mutability": "mutable", + "name": "values", + "nameLocation": "12865:6:3", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "12848:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12848:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1138, + "nodeType": "ArrayTypeName", + "src": "12848:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "12811:61:3" + }, + "returnParameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [], + "src": "12882:0:3" + }, + "scope": 1226, + "src": "12792:265:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1208, + "nodeType": "Block", + "src": "13369:222:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1179, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "13383:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13403:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13395:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13395:7:3", + "typeDescriptions": {} + } + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13395:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13383:22:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1193, + "nodeType": "IfStatement", + "src": "13379:94:3", + "trueBody": { + "id": 1192, + "nodeType": "Block", + "src": "13407:66:3", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13459:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13451:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13451:7:3", + "typeDescriptions": {} + } + }, + "id": 1189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13451:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1185, + "name": "ERC1155InvalidOperator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "13428:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13428:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1191, + "nodeType": "RevertStatement", + "src": "13421:41:3" + } + ] + } + }, + { + "expression": { + "id": 1200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 1194, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 357, + "src": "13482:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 1197, + "indexExpression": { + "id": 1195, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1172, + "src": "13501:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13482:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1198, + "indexExpression": { + "id": 1196, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "13508:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13482:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1199, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1176, + "src": "13520:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13482:46:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1201, + "nodeType": "ExpressionStatement", + "src": "13482:46:3" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1203, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1172, + "src": "13558:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1204, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "13565:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1205, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1176, + "src": "13575:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1202, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1270, + "src": "13543:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13543:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1207, + "nodeType": "EmitStatement", + "src": "13538:46:3" + } + ] + }, + "documentation": { + "id": 1170, + "nodeType": "StructuredDocumentation", + "src": "13063:208:3", + "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the zero address." + }, + "id": 1209, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setApprovalForAll", + "nameLocation": "13285:18:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1172, + "mutability": "mutable", + "name": "owner", + "nameLocation": "13312:5:3", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "13304:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13304:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1174, + "mutability": "mutable", + "name": "operator", + "nameLocation": "13327:8:3", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "13319:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13319:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1176, + "mutability": "mutable", + "name": "approved", + "nameLocation": "13342:8:3", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "13337:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1175, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13337:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13303:48:3" + }, + "returnParameters": { + "id": 1178, + "nodeType": "ParameterList", + "parameters": [], + "src": "13369:0:3" + }, + "scope": 1226, + "src": "13276:315:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1224, + "nodeType": "Block", + "src": "13865:664:3", + "statements": [ + { + "AST": { + "nativeSrc": "13900:623:3", + "nodeType": "YulBlock", + "src": "13900:623:3", + "statements": [ + { + "nativeSrc": "13958:21:3", + "nodeType": "YulAssignment", + "src": "13958:21:3", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13974:4:3", + "nodeType": "YulLiteral", + "src": "13974:4:3", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13968:5:3", + "nodeType": "YulIdentifier", + "src": "13968:5:3" + }, + "nativeSrc": "13968:11:3", + "nodeType": "YulFunctionCall", + "src": "13968:11:3" + }, + "variableNames": [ + { + "name": "array1", + "nativeSrc": "13958:6:3", + "nodeType": "YulIdentifier", + "src": "13958:6:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array1", + "nativeSrc": "14036:6:3", + "nodeType": "YulIdentifier", + "src": "14036:6:3" + }, + { + "kind": "number", + "nativeSrc": "14044:1:3", + "nodeType": "YulLiteral", + "src": "14044:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14029:6:3", + "nodeType": "YulIdentifier", + "src": "14029:6:3" + }, + "nativeSrc": "14029:17:3", + "nodeType": "YulFunctionCall", + "src": "14029:17:3" + }, + "nativeSrc": "14029:17:3", + "nodeType": "YulExpressionStatement", + "src": "14029:17:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array1", + "nativeSrc": "14167:6:3", + "nodeType": "YulIdentifier", + "src": "14167:6:3" + }, + { + "kind": "number", + "nativeSrc": "14175:4:3", + "nodeType": "YulLiteral", + "src": "14175:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14163:3:3", + "nodeType": "YulIdentifier", + "src": "14163:3:3" + }, + "nativeSrc": "14163:17:3", + "nodeType": "YulFunctionCall", + "src": "14163:17:3" + }, + { + "name": "element1", + "nativeSrc": "14182:8:3", + "nodeType": "YulIdentifier", + "src": "14182:8:3" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14156:6:3", + "nodeType": "YulIdentifier", + "src": "14156:6:3" + }, + "nativeSrc": "14156:35:3", + "nodeType": "YulFunctionCall", + "src": "14156:35:3" + }, + "nativeSrc": "14156:35:3", + "nodeType": "YulExpressionStatement", + "src": "14156:35:3" + }, + { + "nativeSrc": "14282:27:3", + "nodeType": "YulAssignment", + "src": "14282:27:3", + "value": { + "arguments": [ + { + "name": "array1", + "nativeSrc": "14296:6:3", + "nodeType": "YulIdentifier", + "src": "14296:6:3" + }, + { + "kind": "number", + "nativeSrc": "14304:4:3", + "nodeType": "YulLiteral", + "src": "14304:4:3", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14292:3:3", + "nodeType": "YulIdentifier", + "src": "14292:3:3" + }, + "nativeSrc": "14292:17:3", + "nodeType": "YulFunctionCall", + "src": "14292:17:3" + }, + "variableNames": [ + { + "name": "array2", + "nativeSrc": "14282:6:3", + "nodeType": "YulIdentifier", + "src": "14282:6:3" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array2", + "nativeSrc": "14329:6:3", + "nodeType": "YulIdentifier", + "src": "14329:6:3" + }, + { + "kind": "number", + "nativeSrc": "14337:1:3", + "nodeType": "YulLiteral", + "src": "14337:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14322:6:3", + "nodeType": "YulIdentifier", + "src": "14322:6:3" + }, + "nativeSrc": "14322:17:3", + "nodeType": "YulFunctionCall", + "src": "14322:17:3" + }, + "nativeSrc": "14322:17:3", + "nodeType": "YulExpressionStatement", + "src": "14322:17:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array2", + "nativeSrc": "14363:6:3", + "nodeType": "YulIdentifier", + "src": "14363:6:3" + }, + { + "kind": "number", + "nativeSrc": "14371:4:3", + "nodeType": "YulLiteral", + "src": "14371:4:3", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14359:3:3", + "nodeType": "YulIdentifier", + "src": "14359:3:3" + }, + "nativeSrc": "14359:17:3", + "nodeType": "YulFunctionCall", + "src": "14359:17:3" + }, + { + "name": "element2", + "nativeSrc": "14378:8:3", + "nodeType": "YulIdentifier", + "src": "14378:8:3" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14352:6:3", + "nodeType": "YulIdentifier", + "src": "14352:6:3" + }, + "nativeSrc": "14352:35:3", + "nodeType": "YulFunctionCall", + "src": "14352:35:3" + }, + "nativeSrc": "14352:35:3", + "nodeType": "YulExpressionStatement", + "src": "14352:35:3" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14489:4:3", + "nodeType": "YulLiteral", + "src": "14489:4:3", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "array2", + "nativeSrc": "14499:6:3", + "nodeType": "YulIdentifier", + "src": "14499:6:3" + }, + { + "kind": "number", + "nativeSrc": "14507:4:3", + "nodeType": "YulLiteral", + "src": "14507:4:3", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14495:3:3", + "nodeType": "YulIdentifier", + "src": "14495:3:3" + }, + "nativeSrc": "14495:17:3", + "nodeType": "YulFunctionCall", + "src": "14495:17:3" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14482:6:3", + "nodeType": "YulIdentifier", + "src": "14482:6:3" + }, + "nativeSrc": "14482:31:3", + "nodeType": "YulFunctionCall", + "src": "14482:31:3" + }, + "nativeSrc": "14482:31:3", + "nodeType": "YulExpressionStatement", + "src": "14482:31:3" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1218, + "isOffset": false, + "isSlot": false, + "src": "13958:6:3", + "valueSize": 1 + }, + { + "declaration": 1218, + "isOffset": false, + "isSlot": false, + "src": "14036:6:3", + "valueSize": 1 + }, + { + "declaration": 1218, + "isOffset": false, + "isSlot": false, + "src": "14167:6:3", + "valueSize": 1 + }, + { + "declaration": 1218, + "isOffset": false, + "isSlot": false, + "src": "14296:6:3", + "valueSize": 1 + }, + { + "declaration": 1221, + "isOffset": false, + "isSlot": false, + "src": "14282:6:3", + "valueSize": 1 + }, + { + "declaration": 1221, + "isOffset": false, + "isSlot": false, + "src": "14329:6:3", + "valueSize": 1 + }, + { + "declaration": 1221, + "isOffset": false, + "isSlot": false, + "src": "14363:6:3", + "valueSize": 1 + }, + { + "declaration": 1221, + "isOffset": false, + "isSlot": false, + "src": "14499:6:3", + "valueSize": 1 + }, + { + "declaration": 1212, + "isOffset": false, + "isSlot": false, + "src": "14182:8:3", + "valueSize": 1 + }, + { + "declaration": 1214, + "isOffset": false, + "isSlot": false, + "src": "14378:8:3", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1223, + "nodeType": "InlineAssembly", + "src": "13875:648:3" + } + ] + }, + "documentation": { + "id": 1210, + "nodeType": "StructuredDocumentation", + "src": "13597:105:3", + "text": " @dev Creates an array in memory with only one value for each of the elements provided." + }, + "id": 1225, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_asSingletonArrays", + "nameLocation": "13716:18:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "mutability": "mutable", + "name": "element1", + "nameLocation": "13752:8:3", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "13744:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13744:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1214, + "mutability": "mutable", + "name": "element2", + "nameLocation": "13778:8:3", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "13770:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1213, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13770:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13734:58:3" + }, + "returnParameters": { + "id": 1222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1218, + "mutability": "mutable", + "name": "array1", + "nameLocation": "13832:6:3", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "13815:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13815:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1217, + "nodeType": "ArrayTypeName", + "src": "13815:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1221, + "mutability": "mutable", + "name": "array2", + "nameLocation": "13857:6:3", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "13840:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13840:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1220, + "nodeType": "ArrayTypeName", + "src": "13840:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "13814:50:3" + }, + "scope": 1226, + "src": "13707:822:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1227, + "src": "725:13806:3", + "usedErrors": [ + 274, + 279, + 284, + 291, + 296, + 301, + 308 + ], + "usedEvents": [ + 1246, + 1261, + 1270, + 1277 + ] + } + ], + "src": "109:14423:3" + }, + "id": 3 + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "exportedSymbols": { + "IERC1155": [ + 1349 + ], + "IERC165": [ + 6065 + ] + }, + "id": 1350, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1228, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "110:24:4" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 1230, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1350, + "sourceUnit": 6066, + "src": "136:62:4", + "symbolAliases": [ + { + "foreign": { + "id": 1229, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "144:7:4", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1232, + "name": "IERC165", + "nameLocations": [ + "359:7:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6065, + "src": "359:7:4" + }, + "id": 1233, + "nodeType": "InheritanceSpecifier", + "src": "359:7:4" + } + ], + "canonicalName": "IERC1155", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1231, + "nodeType": "StructuredDocumentation", + "src": "200:136:4", + "text": " @dev Required interface of an ERC-1155 compliant contract, as defined in the\n https://eips.ethereum.org/EIPS/eip-1155[ERC]." + }, + "fullyImplemented": false, + "id": 1349, + "linearizedBaseContracts": [ + 1349, + 6065 + ], + "name": "IERC1155", + "nameLocation": "347:8:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 1234, + "nodeType": "StructuredDocumentation", + "src": "373:125:4", + "text": " @dev Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`." + }, + "eventSelector": "c3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62", + "id": 1246, + "name": "TransferSingle", + "nameLocation": "509:14:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 1245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1236, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "540:8:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "524:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "524:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1238, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "566:4:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "550:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "550:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "588:2:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "572:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1242, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "600:2:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "592:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "592:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1244, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "612:5:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "604:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "604:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "523:95:4" + }, + "src": "503:116:4" + }, + { + "anonymous": false, + "documentation": { + "id": 1247, + "nodeType": "StructuredDocumentation", + "src": "625:144:4", + "text": " @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers." + }, + "eventSelector": "4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb", + "id": 1261, + "name": "TransferBatch", + "nameLocation": "780:13:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 1260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1249, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "819:8:4", + "nodeType": "VariableDeclaration", + "scope": 1261, + "src": "803:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1251, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "853:4:4", + "nodeType": "VariableDeclaration", + "scope": 1261, + "src": "837:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "837:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1253, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "883:2:4", + "nodeType": "VariableDeclaration", + "scope": 1261, + "src": "867:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "867:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1256, + "indexed": false, + "mutability": "mutable", + "name": "ids", + "nameLocation": "905:3:4", + "nodeType": "VariableDeclaration", + "scope": 1261, + "src": "895:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "895:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1255, + "nodeType": "ArrayTypeName", + "src": "895:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1259, + "indexed": false, + "mutability": "mutable", + "name": "values", + "nameLocation": "928:6:4", + "nodeType": "VariableDeclaration", + "scope": 1261, + "src": "918:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "918:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1258, + "nodeType": "ArrayTypeName", + "src": "918:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "793:147:4" + }, + "src": "774:167:4" + }, + { + "anonymous": false, + "documentation": { + "id": 1262, + "nodeType": "StructuredDocumentation", + "src": "947:147:4", + "text": " @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 1270, + "name": "ApprovalForAll", + "nameLocation": "1105:14:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "1136:7:4", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "1120:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1120:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1266, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1161:8:4", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "1145:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1145:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1268, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "1176:8:4", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "1171:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1267, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1171:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1119:66:4" + }, + "src": "1099:87:4" + }, + { + "anonymous": false, + "documentation": { + "id": 1271, + "nodeType": "StructuredDocumentation", + "src": "1192:343:4", + "text": " @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n If an {URI} event was emitted for `id`, the standard\n https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n returned by {IERC1155MetadataURI-uri}." + }, + "eventSelector": "6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b", + "id": 1277, + "name": "URI", + "nameLocation": "1546:3:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 1276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1273, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1557:5:4", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "1550:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1272, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1550:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1275, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1580:2:4", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "1564:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1564:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1549:34:4" + }, + "src": "1540:44:4" + }, + { + "documentation": { + "id": 1278, + "nodeType": "StructuredDocumentation", + "src": "1590:90:4", + "text": " @dev Returns the value of tokens of token type `id` owned by `account`." + }, + "functionSelector": "00fdd58e", + "id": 1287, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1694:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1280, + "mutability": "mutable", + "name": "account", + "nameLocation": "1712:7:4", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "1704:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1704:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1282, + "mutability": "mutable", + "name": "id", + "nameLocation": "1729:2:4", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "1721:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1721:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1703:29:4" + }, + "returnParameters": { + "id": 1286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1285, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "1756:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1756:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1755:9:4" + }, + "scope": 1349, + "src": "1685:80:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1288, + "nodeType": "StructuredDocumentation", + "src": "1771:188:4", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n Requirements:\n - `accounts` and `ids` must have the same length." + }, + "functionSelector": "4e1273f4", + "id": 1300, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOfBatch", + "nameLocation": "1973:14:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1291, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2016:8:4", + "nodeType": "VariableDeclaration", + "scope": 1300, + "src": "1997:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1997:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1290, + "nodeType": "ArrayTypeName", + "src": "1997:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1294, + "mutability": "mutable", + "name": "ids", + "nameLocation": "2053:3:4", + "nodeType": "VariableDeclaration", + "scope": 1300, + "src": "2034:22:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2034:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1293, + "nodeType": "ArrayTypeName", + "src": "2034:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1987:75:4" + }, + "returnParameters": { + "id": 1299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1298, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1300, + "src": "2086:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1296, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2086:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1297, + "nodeType": "ArrayTypeName", + "src": "2086:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2085:18:4" + }, + "scope": 1349, + "src": "1964:140:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1301, + "nodeType": "StructuredDocumentation", + "src": "2110:254:4", + "text": " @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the zero address." + }, + "functionSelector": "a22cb465", + "id": 1308, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "2378:17:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1303, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2404:8:4", + "nodeType": "VariableDeclaration", + "scope": 1308, + "src": "2396:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2396:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1305, + "mutability": "mutable", + "name": "approved", + "nameLocation": "2419:8:4", + "nodeType": "VariableDeclaration", + "scope": 1308, + "src": "2414:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1304, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2414:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2395:33:4" + }, + "returnParameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [], + "src": "2437:0:4" + }, + "scope": 1349, + "src": "2369:69:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1309, + "nodeType": "StructuredDocumentation", + "src": "2444:135:4", + "text": " @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}." + }, + "functionSelector": "e985e9c5", + "id": 1318, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "2593:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1311, + "mutability": "mutable", + "name": "account", + "nameLocation": "2618:7:4", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "2610:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2610:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2635:8:4", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "2627:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2627:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2609:35:4" + }, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "2668:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2668:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2667:6:4" + }, + "scope": 1349, + "src": "2584:90:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1319, + "nodeType": "StructuredDocumentation", + "src": "2680:910:4", + "text": " @dev Transfers a `value` amount of tokens of type `id` from `from` to `to`.\n WARNING: This function can potentially allow a reentrancy attack when transferring tokens\n to an untrusted contract, when invoking {onERC1155Received} on the receiver.\n Ensure to follow the checks-effects-interactions pattern and consider employing\n reentrancy guards when interacting with untrusted contracts.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n - `from` must have a balance of tokens of type `id` of at least `value` amount.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value." + }, + "functionSelector": "f242432a", + "id": 1332, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "3604:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1321, + "mutability": "mutable", + "name": "from", + "nameLocation": "3629:4:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "3621:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3621:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1323, + "mutability": "mutable", + "name": "to", + "nameLocation": "3643:2:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "3635:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3635:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "mutability": "mutable", + "name": "id", + "nameLocation": "3655:2:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "3647:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3647:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1327, + "mutability": "mutable", + "name": "value", + "nameLocation": "3667:5:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "3659:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3659:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1329, + "mutability": "mutable", + "name": "data", + "nameLocation": "3689:4:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "3674:19:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1328, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3674:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3620:74:4" + }, + "returnParameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [], + "src": "3703:0:4" + }, + "scope": 1349, + "src": "3595:109:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1333, + "nodeType": "StructuredDocumentation", + "src": "3710:814:4", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n WARNING: This function can potentially allow a reentrancy attack when transferring tokens\n to an untrusted contract, when invoking {onERC1155BatchReceived} on the receiver.\n Ensure to follow the checks-effects-interactions pattern and consider employing\n reentrancy guards when interacting with untrusted contracts.\n Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments.\n Requirements:\n - `ids` and `values` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value." + }, + "functionSelector": "2eb2c2d6", + "id": 1348, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeBatchTransferFrom", + "nameLocation": "4538:21:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "mutability": "mutable", + "name": "from", + "nameLocation": "4577:4:4", + "nodeType": "VariableDeclaration", + "scope": 1348, + "src": "4569:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4569:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1337, + "mutability": "mutable", + "name": "to", + "nameLocation": "4599:2:4", + "nodeType": "VariableDeclaration", + "scope": 1348, + "src": "4591:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4591:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "ids", + "nameLocation": "4630:3:4", + "nodeType": "VariableDeclaration", + "scope": 1348, + "src": "4611:22:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4611:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1339, + "nodeType": "ArrayTypeName", + "src": "4611:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1343, + "mutability": "mutable", + "name": "values", + "nameLocation": "4662:6:4", + "nodeType": "VariableDeclaration", + "scope": 1348, + "src": "4643:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1341, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4643:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1342, + "nodeType": "ArrayTypeName", + "src": "4643:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "mutability": "mutable", + "name": "data", + "nameLocation": "4693:4:4", + "nodeType": "VariableDeclaration", + "scope": 1348, + "src": "4678:19:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1344, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4678:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4559:144:4" + }, + "returnParameters": { + "id": 1347, + "nodeType": "ParameterList", + "parameters": [], + "src": "4712:0:4" + }, + "scope": 1349, + "src": "4529:184:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1350, + "src": "337:4378:4", + "usedErrors": [], + "usedEvents": [ + 1246, + 1261, + 1270, + 1277 + ] + } + ], + "src": "110:4606:4" + }, + "id": 4 + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol", + "exportedSymbols": { + "IERC1155Receiver": [ + 1391 + ], + "IERC165": [ + 6065 + ] + }, + "id": 1392, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1351, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "118:24:5" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 1353, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1392, + "sourceUnit": 6066, + "src": "144:62:5", + "symbolAliases": [ + { + "foreign": { + "id": 1352, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "152:7:5", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1355, + "name": "IERC165", + "nameLocations": [ + "357:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6065, + "src": "357:7:5" + }, + "id": 1356, + "nodeType": "InheritanceSpecifier", + "src": "357:7:5" + } + ], + "canonicalName": "IERC1155Receiver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1354, + "nodeType": "StructuredDocumentation", + "src": "208:118:5", + "text": " @dev Interface that must be implemented by smart contracts in order to receive\n ERC-1155 token transfers." + }, + "fullyImplemented": false, + "id": 1391, + "linearizedBaseContracts": [ + 1391, + 6065 + ], + "name": "IERC1155Receiver", + "nameLocation": "337:16:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1357, + "nodeType": "StructuredDocumentation", + "src": "371:827:5", + "text": " @dev Handles the receipt of a single ERC-1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n NOTE: To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed" + }, + "functionSelector": "f23a6e61", + "id": 1372, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC1155Received", + "nameLocation": "1212:17:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1359, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1247:8:5", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "1239:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1239:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1361, + "mutability": "mutable", + "name": "from", + "nameLocation": "1273:4:5", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "1265:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1265:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1363, + "mutability": "mutable", + "name": "id", + "nameLocation": "1295:2:5", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "1287:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1365, + "mutability": "mutable", + "name": "value", + "nameLocation": "1315:5:5", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "1307:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1307:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1367, + "mutability": "mutable", + "name": "data", + "nameLocation": "1345:4:5", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "1330:19:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1366, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1330:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1229:126:5" + }, + "returnParameters": { + "id": 1371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1370, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "1374:6:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1369, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1374:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1373:8:5" + }, + "scope": 1391, + "src": "1203:179:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1373, + "nodeType": "StructuredDocumentation", + "src": "1388:995:5", + "text": " @dev Handles the receipt of a multiple ERC-1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated.\n NOTE: To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed" + }, + "functionSelector": "bc197c81", + "id": 1390, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC1155BatchReceived", + "nameLocation": "2397:22:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1375, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2437:8:5", + "nodeType": "VariableDeclaration", + "scope": 1390, + "src": "2429:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2429:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "mutability": "mutable", + "name": "from", + "nameLocation": "2463:4:5", + "nodeType": "VariableDeclaration", + "scope": 1390, + "src": "2455:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2455:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1380, + "mutability": "mutable", + "name": "ids", + "nameLocation": "2496:3:5", + "nodeType": "VariableDeclaration", + "scope": 1390, + "src": "2477:22:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1378, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2477:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1379, + "nodeType": "ArrayTypeName", + "src": "2477:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1383, + "mutability": "mutable", + "name": "values", + "nameLocation": "2528:6:5", + "nodeType": "VariableDeclaration", + "scope": 1390, + "src": "2509:25:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2509:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1382, + "nodeType": "ArrayTypeName", + "src": "2509:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1385, + "mutability": "mutable", + "name": "data", + "nameLocation": "2559:4:5", + "nodeType": "VariableDeclaration", + "scope": 1390, + "src": "2544:19:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1384, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2544:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2419:150:5" + }, + "returnParameters": { + "id": 1389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1388, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1390, + "src": "2588:6:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1387, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2588:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2587:8:5" + }, + "scope": 1391, + "src": "2388:208:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1392, + "src": "327:2271:5", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "118:2481:5" + }, + "id": 5 + }, + "@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol", + "exportedSymbols": { + "IERC1155": [ + 1349 + ], + "IERC1155MetadataURI": [ + 1407 + ] + }, + "id": 1408, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1393, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "132:24:6" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "file": "../IERC1155.sol", + "id": 1395, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1408, + "sourceUnit": 1350, + "src": "158:41:6", + "symbolAliases": [ + { + "foreign": { + "id": 1394, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "166:8:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1397, + "name": "IERC1155", + "nameLocations": [ + "399:8:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1349, + "src": "399:8:6" + }, + "id": 1398, + "nodeType": "InheritanceSpecifier", + "src": "399:8:6" + } + ], + "canonicalName": "IERC1155MetadataURI", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1396, + "nodeType": "StructuredDocumentation", + "src": "201:164:6", + "text": " @dev Interface of the optional ERC1155MetadataExtension interface, as defined\n in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[ERC]." + }, + "fullyImplemented": false, + "id": 1407, + "linearizedBaseContracts": [ + 1407, + 1349, + 6065 + ], + "name": "IERC1155MetadataURI", + "nameLocation": "376:19:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1399, + "nodeType": "StructuredDocumentation", + "src": "414:192:6", + "text": " @dev Returns the URI for token type `id`.\n If the `\\{id\\}` substring is present in the URI, it must be replaced by\n clients with the actual token type ID." + }, + "functionSelector": "0e89341c", + "id": 1406, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "uri", + "nameLocation": "620:3:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1401, + "mutability": "mutable", + "name": "id", + "nameLocation": "632:2:6", + "nodeType": "VariableDeclaration", + "scope": 1406, + "src": "624:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "624:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "623:12:6" + }, + "returnParameters": { + "id": 1405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1404, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1406, + "src": "659:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "659:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "658:15:6" + }, + "scope": 1407, + "src": "611:63:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1408, + "src": "366:310:6", + "usedErrors": [], + "usedEvents": [ + 1246, + 1261, + 1270, + 1277 + ] + } + ], + "src": "132:545:6" + }, + "id": 6 + }, + "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol", + "exportedSymbols": { + "ERC1155Utils": [ + 1561 + ], + "IERC1155Errors": [ + 309 + ], + "IERC1155Receiver": [ + 1391 + ] + }, + "id": 1562, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1409, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "120:24:7" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol", + "file": "../IERC1155Receiver.sol", + "id": 1411, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1562, + "sourceUnit": 1392, + "src": "146:57:7", + "symbolAliases": [ + { + "foreign": { + "id": 1410, + "name": "IERC1155Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "154:16:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", + "file": "../../../interfaces/draft-IERC6093.sol", + "id": 1413, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1562, + "sourceUnit": 310, + "src": "204:70:7", + "symbolAliases": [ + { + "foreign": { + "id": 1412, + "name": "IERC1155Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "212:14:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ERC1155Utils", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1414, + "nodeType": "StructuredDocumentation", + "src": "276:162:7", + "text": " @dev Library that provide common ERC-1155 utility functions.\n See https://eips.ethereum.org/EIPS/eip-1155[ERC-1155].\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 1561, + "linearizedBaseContracts": [ + 1561 + ], + "name": "ERC1155Utils", + "nameLocation": "447:12:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1485, + "nodeType": "Block", + "src": "1183:774:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 1430, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1421, + "src": "1197:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1200:4:7", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1197:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1205:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1197:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1214:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1197:18:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1484, + "nodeType": "IfStatement", + "src": "1193:758:7", + "trueBody": { + "id": 1483, + "nodeType": "Block", + "src": "1217:734:7", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 1461, + "nodeType": "Block", + "src": "1333:221:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1448, + "name": "response", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "1355:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "expression": { + "id": 1449, + "name": "IERC1155Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "1367:16:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$1391_$", + "typeString": "type(contract IERC1155Receiver)" + } + }, + "id": 1450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1384:17:7", + "memberName": "onERC1155Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 1372, + "src": "1367:34:7", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", + "typeString": "function IERC1155Receiver.onERC1155Received(address,address,uint256,uint256,bytes calldata) returns (bytes4)" + } + }, + "id": 1451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1402:8:7", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "1367:43:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1355:55:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1460, + "nodeType": "IfStatement", + "src": "1351:189:7", + "trueBody": { + "id": 1459, + "nodeType": "Block", + "src": "1412:128:7", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1456, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1421, + "src": "1518:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1453, + "name": "IERC1155Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1480:14:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Errors_$309_$", + "typeString": "type(contract IERC1155Errors)" + } + }, + "id": 1455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1495:22:7", + "memberName": "ERC1155InvalidReceiver", + "nodeType": "MemberAccess", + "referencedDeclaration": 284, + "src": "1480:37:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1480:41:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1458, + "nodeType": "RevertStatement", + "src": "1473:48:7" + } + ] + } + } + ] + }, + "errorName": "", + "id": 1462, + "nodeType": "TryCatchClause", + "parameters": { + "id": 1447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1446, + "mutability": "mutable", + "name": "response", + "nameLocation": "1323:8:7", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "1316:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1445, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1316:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1315:17:7" + }, + "src": "1307:247:7" + }, + { + "block": { + "id": 1480, + "nodeType": "Block", + "src": "1583:358:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1466, + "name": "reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1464, + "src": "1605:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1612:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1605:13:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1622:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1605:18:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1478, + "nodeType": "Block", + "src": "1776:151:7", + "statements": [ + { + "AST": { + "nativeSrc": "1823:86:7", + "nodeType": "YulBlock", + "src": "1823:86:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1860:2:7", + "nodeType": "YulLiteral", + "src": "1860:2:7", + "type": "", + "value": "32" + }, + { + "name": "reason", + "nativeSrc": "1864:6:7", + "nodeType": "YulIdentifier", + "src": "1864:6:7" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1856:3:7", + "nodeType": "YulIdentifier", + "src": "1856:3:7" + }, + "nativeSrc": "1856:15:7", + "nodeType": "YulFunctionCall", + "src": "1856:15:7" + }, + { + "arguments": [ + { + "name": "reason", + "nativeSrc": "1879:6:7", + "nodeType": "YulIdentifier", + "src": "1879:6:7" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1873:5:7", + "nodeType": "YulIdentifier", + "src": "1873:5:7" + }, + "nativeSrc": "1873:13:7", + "nodeType": "YulFunctionCall", + "src": "1873:13:7" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1849:6:7", + "nodeType": "YulIdentifier", + "src": "1849:6:7" + }, + "nativeSrc": "1849:38:7", + "nodeType": "YulFunctionCall", + "src": "1849:38:7" + }, + "nativeSrc": "1849:38:7", + "nodeType": "YulExpressionStatement", + "src": "1849:38:7" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1464, + "isOffset": false, + "isSlot": false, + "src": "1864:6:7", + "valueSize": 1 + }, + { + "declaration": 1464, + "isOffset": false, + "isSlot": false, + "src": "1879:6:7", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1477, + "nodeType": "InlineAssembly", + "src": "1798:111:7" + } + ] + }, + "id": 1479, + "nodeType": "IfStatement", + "src": "1601:326:7", + "trueBody": { + "id": 1476, + "nodeType": "Block", + "src": "1625:145:7", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1473, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1421, + "src": "1748:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1470, + "name": "IERC1155Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1710:14:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Errors_$309_$", + "typeString": "type(contract IERC1155Errors)" + } + }, + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1725:22:7", + "memberName": "ERC1155InvalidReceiver", + "nodeType": "MemberAccess", + "referencedDeclaration": 284, + "src": "1710:37:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1710:41:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1475, + "nodeType": "RevertStatement", + "src": "1703:48:7" + } + ] + } + } + ] + }, + "errorName": "", + "id": 1481, + "nodeType": "TryCatchClause", + "parameters": { + "id": 1465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1464, + "mutability": "mutable", + "name": "reason", + "nameLocation": "1575:6:7", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "1562:19:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1463, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1562:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1561:21:7" + }, + "src": "1555:386:7" + } + ], + "externalCall": { + "arguments": [ + { + "id": 1439, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1274:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1440, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1419, + "src": "1284:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1441, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "1290:2:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1442, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1425, + "src": "1294:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1443, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1427, + "src": "1301:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 1436, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1421, + "src": "1252:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1435, + "name": "IERC1155Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "1235:16:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$1391_$", + "typeString": "type(contract IERC1155Receiver)" + } + }, + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1235:20:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155Receiver_$1391", + "typeString": "contract IERC1155Receiver" + } + }, + "id": 1438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1256:17:7", + "memberName": "onERC1155Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 1372, + "src": "1235:38:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 1444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1235:71:7", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 1482, + "nodeType": "TryStatement", + "src": "1231:710:7" + } + ] + } + } + ] + }, + "documentation": { + "id": 1415, + "nodeType": "StructuredDocumentation", + "src": "466:527:7", + "text": " @dev Performs an acceptance check for the provided `operator` by calling {IERC1155-onERC1155Received}\n on the `to` address. The `operator` is generally the address that initiated the token transfer (i.e. `msg.sender`).\n The acceptance call is not executed and treated as a no-op if the target address doesn't contain code (i.e. an EOA).\n Otherwise, the recipient must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value to accept\n the transfer." + }, + "id": 1486, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkOnERC1155Received", + "nameLocation": "1007:22:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1417, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1047:8:7", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1039:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1039:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1419, + "mutability": "mutable", + "name": "from", + "nameLocation": "1073:4:7", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1065:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1418, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1065:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1421, + "mutability": "mutable", + "name": "to", + "nameLocation": "1095:2:7", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1087:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1087:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "mutability": "mutable", + "name": "id", + "nameLocation": "1115:2:7", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1107:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1107:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1425, + "mutability": "mutable", + "name": "value", + "nameLocation": "1135:5:7", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1127:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1127:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "mutability": "mutable", + "name": "data", + "nameLocation": "1163:4:7", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1150:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1426, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1150:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1029:144:7" + }, + "returnParameters": { + "id": 1429, + "nodeType": "ParameterList", + "parameters": [], + "src": "1183:0:7" + }, + "scope": 1561, + "src": "998:959:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1559, + "nodeType": "Block", + "src": "2715:816:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 1504, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "2729:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2732:4:7", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "2729:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2737:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2729:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2746:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2729:18:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1558, + "nodeType": "IfStatement", + "src": "2725:800:7", + "trueBody": { + "id": 1557, + "nodeType": "Block", + "src": "2749:776:7", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 1535, + "nodeType": "Block", + "src": "2902:226:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1522, + "name": "response", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1520, + "src": "2924:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "expression": { + "id": 1523, + "name": "IERC1155Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "2936:16:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$1391_$", + "typeString": "type(contract IERC1155Receiver)" + } + }, + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2953:22:7", + "memberName": "onERC1155BatchReceived", + "nodeType": "MemberAccess", + "referencedDeclaration": 1390, + "src": "2936:39:7", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", + "typeString": "function IERC1155Receiver.onERC1155BatchReceived(address,address,uint256[] calldata,uint256[] calldata,bytes calldata) returns (bytes4)" + } + }, + "id": 1525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2976:8:7", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "2936:48:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2924:60:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1534, + "nodeType": "IfStatement", + "src": "2920:194:7", + "trueBody": { + "id": 1533, + "nodeType": "Block", + "src": "2986:128:7", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1530, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "3092:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1527, + "name": "IERC1155Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "3054:14:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Errors_$309_$", + "typeString": "type(contract IERC1155Errors)" + } + }, + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3069:22:7", + "memberName": "ERC1155InvalidReceiver", + "nodeType": "MemberAccess", + "referencedDeclaration": 284, + "src": "3054:37:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3054:41:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1532, + "nodeType": "RevertStatement", + "src": "3047:48:7" + } + ] + } + } + ] + }, + "errorName": "", + "id": 1536, + "nodeType": "TryCatchClause", + "parameters": { + "id": 1521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1520, + "mutability": "mutable", + "name": "response", + "nameLocation": "2879:8:7", + "nodeType": "VariableDeclaration", + "scope": 1536, + "src": "2872:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1519, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2872:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2854:47:7" + }, + "src": "2846:282:7" + }, + { + "block": { + "id": 1554, + "nodeType": "Block", + "src": "3157:358:7", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1540, + "name": "reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "3179:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3186:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3179:13:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3196:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3179:18:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1552, + "nodeType": "Block", + "src": "3350:151:7", + "statements": [ + { + "AST": { + "nativeSrc": "3397:86:7", + "nodeType": "YulBlock", + "src": "3397:86:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3434:2:7", + "nodeType": "YulLiteral", + "src": "3434:2:7", + "type": "", + "value": "32" + }, + { + "name": "reason", + "nativeSrc": "3438:6:7", + "nodeType": "YulIdentifier", + "src": "3438:6:7" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3430:3:7", + "nodeType": "YulIdentifier", + "src": "3430:3:7" + }, + "nativeSrc": "3430:15:7", + "nodeType": "YulFunctionCall", + "src": "3430:15:7" + }, + { + "arguments": [ + { + "name": "reason", + "nativeSrc": "3453:6:7", + "nodeType": "YulIdentifier", + "src": "3453:6:7" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3447:5:7", + "nodeType": "YulIdentifier", + "src": "3447:5:7" + }, + "nativeSrc": "3447:13:7", + "nodeType": "YulFunctionCall", + "src": "3447:13:7" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3423:6:7", + "nodeType": "YulIdentifier", + "src": "3423:6:7" + }, + "nativeSrc": "3423:38:7", + "nodeType": "YulFunctionCall", + "src": "3423:38:7" + }, + "nativeSrc": "3423:38:7", + "nodeType": "YulExpressionStatement", + "src": "3423:38:7" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1538, + "isOffset": false, + "isSlot": false, + "src": "3438:6:7", + "valueSize": 1 + }, + { + "declaration": 1538, + "isOffset": false, + "isSlot": false, + "src": "3453:6:7", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1551, + "nodeType": "InlineAssembly", + "src": "3372:111:7" + } + ] + }, + "id": 1553, + "nodeType": "IfStatement", + "src": "3175:326:7", + "trueBody": { + "id": 1550, + "nodeType": "Block", + "src": "3199:145:7", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1547, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "3322:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1544, + "name": "IERC1155Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "3284:14:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Errors_$309_$", + "typeString": "type(contract IERC1155Errors)" + } + }, + "id": 1546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3299:22:7", + "memberName": "ERC1155InvalidReceiver", + "nodeType": "MemberAccess", + "referencedDeclaration": 284, + "src": "3284:37:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3284:41:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1549, + "nodeType": "RevertStatement", + "src": "3277:48:7" + } + ] + } + } + ] + }, + "errorName": "", + "id": 1555, + "nodeType": "TryCatchClause", + "parameters": { + "id": 1539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1538, + "mutability": "mutable", + "name": "reason", + "nameLocation": "3149:6:7", + "nodeType": "VariableDeclaration", + "scope": 1555, + "src": "3136:19:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1537, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3136:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3135:21:7" + }, + "src": "3129:386:7" + } + ], + "externalCall": { + "arguments": [ + { + "id": 1513, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "2811:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1514, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1491, + "src": "2821:4:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1515, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1496, + "src": "2827:3:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1516, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "2832:6:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 1517, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "2840:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 1510, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "2784:2:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1509, + "name": "IERC1155Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1391, + "src": "2767:16:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$1391_$", + "typeString": "type(contract IERC1155Receiver)" + } + }, + "id": 1511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2767:20:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155Receiver_$1391", + "typeString": "contract IERC1155Receiver" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2788:22:7", + "memberName": "onERC1155BatchReceived", + "nodeType": "MemberAccess", + "referencedDeclaration": 1390, + "src": "2767:43:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2767:78:7", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 1556, + "nodeType": "TryStatement", + "src": "2763:752:7" + } + ] + } + } + ] + }, + "documentation": { + "id": 1487, + "nodeType": "StructuredDocumentation", + "src": "1963:537:7", + "text": " @dev Performs a batch acceptance check for the provided `operator` by calling {IERC1155-onERC1155BatchReceived}\n on the `to` address. The `operator` is generally the address that initiated the token transfer (i.e. `msg.sender`).\n The acceptance call is not executed and treated as a no-op if the target address doesn't contain code (i.e. an EOA).\n Otherwise, the recipient must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value to accept\n the transfer." + }, + "id": 1560, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkOnERC1155BatchReceived", + "nameLocation": "2514:27:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1489, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2559:8:7", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "2551:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2551:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1491, + "mutability": "mutable", + "name": "from", + "nameLocation": "2585:4:7", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "2577:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2577:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1493, + "mutability": "mutable", + "name": "to", + "nameLocation": "2607:2:7", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "2599:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2599:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1496, + "mutability": "mutable", + "name": "ids", + "nameLocation": "2636:3:7", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "2619:20:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2619:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1495, + "nodeType": "ArrayTypeName", + "src": "2619:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1499, + "mutability": "mutable", + "name": "values", + "nameLocation": "2666:6:7", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "2649:23:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2649:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1498, + "nodeType": "ArrayTypeName", + "src": "2649:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1501, + "mutability": "mutable", + "name": "data", + "nameLocation": "2695:4:7", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "2682:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1500, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2682:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2541:164:7" + }, + "returnParameters": { + "id": 1503, + "nodeType": "ParameterList", + "parameters": [], + "src": "2715:0:7" + }, + "scope": 1561, + "src": "2505:1026:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1562, + "src": "439:3094:7", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "120:3414:7" + }, + "id": 7 + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "exportedSymbols": { + "Context": [ + 3356 + ], + "ERC20": [ + 2076 + ], + "IERC20": [ + 2154 + ], + "IERC20Errors": [ + 214 + ], + "IERC20Metadata": [ + 2380 + ] + }, + "id": 2077, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1563, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "105:24:8" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "./IERC20.sol", + "id": 1565, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2077, + "sourceUnit": 2155, + "src": "131:36:8", + "symbolAliases": [ + { + "foreign": { + "id": 1564, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "139:6:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "./extensions/IERC20Metadata.sol", + "id": 1567, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2077, + "sourceUnit": 2381, + "src": "168:63:8", + "symbolAliases": [ + { + "foreign": { + "id": 1566, + "name": "IERC20Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2380, + "src": "176:14:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 1569, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2077, + "sourceUnit": 3357, + "src": "232:48:8", + "symbolAliases": [ + { + "foreign": { + "id": 1568, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "240:7:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", + "file": "../../interfaces/draft-IERC6093.sol", + "id": 1571, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2077, + "sourceUnit": 310, + "src": "281:65:8", + "symbolAliases": [ + { + "foreign": { + "id": 1570, + "name": "IERC20Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 214, + "src": "289:12:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1573, + "name": "Context", + "nameLocations": [ + "1133:7:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3356, + "src": "1133:7:8" + }, + "id": 1574, + "nodeType": "InheritanceSpecifier", + "src": "1133:7:8" + }, + { + "baseName": { + "id": 1575, + "name": "IERC20", + "nameLocations": [ + "1142:6:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2154, + "src": "1142:6:8" + }, + "id": 1576, + "nodeType": "InheritanceSpecifier", + "src": "1142:6:8" + }, + { + "baseName": { + "id": 1577, + "name": "IERC20Metadata", + "nameLocations": [ + "1150:14:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2380, + "src": "1150:14:8" + }, + "id": 1578, + "nodeType": "InheritanceSpecifier", + "src": "1150:14:8" + }, + { + "baseName": { + "id": 1579, + "name": "IERC20Errors", + "nameLocations": [ + "1166:12:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 214, + "src": "1166:12:8" + }, + "id": 1580, + "nodeType": "InheritanceSpecifier", + "src": "1166:12:8" + } + ], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1572, + "nodeType": "StructuredDocumentation", + "src": "348:757:8", + "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC-20\n applications." + }, + "fullyImplemented": true, + "id": 2076, + "linearizedBaseContracts": [ + 2076, + 214, + 2380, + 2154, + 3356 + ], + "name": "ERC20", + "nameLocation": "1124:5:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1584, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1229:9:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1185:53:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 1583, + "keyName": "account", + "keyNameLocation": "1201:7:8", + "keyType": { + "id": 1581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1193:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1185:35:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1212:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1590, + "mutability": "mutable", + "name": "_allowances", + "nameLocation": "1317:11:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1245:83:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 1589, + "keyName": "account", + "keyNameLocation": "1261:7:8", + "keyType": { + "id": 1585, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1253:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1245:63:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1588, + "keyName": "spender", + "keyNameLocation": "1288:7:8", + "keyType": { + "id": 1586, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1280:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1272:35:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1299:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1592, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1351:12:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1335:28:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1335:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1594, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1385:5:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1370:20:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 1593, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1370:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1596, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1411:7:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1396:22:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 1595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1396:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 1612, + "nodeType": "Block", + "src": "1657:57:8", + "statements": [ + { + "expression": { + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1604, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "1667:5:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1605, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1599, + "src": "1675:5:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1667:13:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1607, + "nodeType": "ExpressionStatement", + "src": "1667:13:8" + }, + { + "expression": { + "id": 1610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1608, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "1690:7:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1609, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "1700:7:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1690:17:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1611, + "nodeType": "ExpressionStatement", + "src": "1690:17:8" + } + ] + }, + "documentation": { + "id": 1597, + "nodeType": "StructuredDocumentation", + "src": "1425:171:8", + "text": " @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction." + }, + "id": 1613, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1599, + "mutability": "mutable", + "name": "name_", + "nameLocation": "1627:5:8", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "1613:19:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1598, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1613:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1601, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "1648:7:8", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "1634:21:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1600, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1634:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1612:44:8" + }, + "returnParameters": { + "id": 1603, + "nodeType": "ParameterList", + "parameters": [], + "src": "1657:0:8" + }, + "scope": 2076, + "src": "1601:113:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 2367 + ], + "body": { + "id": 1621, + "nodeType": "Block", + "src": "1839:29:8", + "statements": [ + { + "expression": { + "id": 1619, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "1856:5:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 1618, + "id": 1620, + "nodeType": "Return", + "src": "1849:12:8" + } + ] + }, + "documentation": { + "id": 1614, + "nodeType": "StructuredDocumentation", + "src": "1720:54:8", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 1622, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1788:4:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1615, + "nodeType": "ParameterList", + "parameters": [], + "src": "1792:2:8" + }, + "returnParameters": { + "id": 1618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1617, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "1824:13:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1616, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1824:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1823:15:8" + }, + "scope": 2076, + "src": "1779:89:8", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2373 + ], + "body": { + "id": 1630, + "nodeType": "Block", + "src": "2043:31:8", + "statements": [ + { + "expression": { + "id": 1628, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "2060:7:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 1627, + "id": 1629, + "nodeType": "Return", + "src": "2053:14:8" + } + ] + }, + "documentation": { + "id": 1623, + "nodeType": "StructuredDocumentation", + "src": "1874:102:8", + "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." + }, + "functionSelector": "95d89b41", + "id": 1631, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1990:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [], + "src": "1996:2:8" + }, + "returnParameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "2028:13:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1625, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2028:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2027:15:8" + }, + "scope": 2076, + "src": "1981:93:8", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2379 + ], + "body": { + "id": 1639, + "nodeType": "Block", + "src": "2763:26:8", + "statements": [ + { + "expression": { + "hexValue": "3138", + "id": 1637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2780:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "functionReturnParameters": 1636, + "id": 1638, + "nodeType": "Return", + "src": "2773:9:8" + } + ] + }, + "documentation": { + "id": 1632, + "nodeType": "StructuredDocumentation", + "src": "2080:622:8", + "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." + }, + "functionSelector": "313ce567", + "id": 1640, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "2716:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1633, + "nodeType": "ParameterList", + "parameters": [], + "src": "2724:2:8" + }, + "returnParameters": { + "id": 1636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1635, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1640, + "src": "2756:5:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1634, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2756:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2755:7:8" + }, + "scope": 2076, + "src": "2707:82:8", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2103 + ], + "body": { + "id": 1648, + "nodeType": "Block", + "src": "2910:36:8", + "statements": [ + { + "expression": { + "id": 1646, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "2927:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1645, + "id": 1647, + "nodeType": "Return", + "src": "2920:19:8" + } + ] + }, + "documentation": { + "id": 1641, + "nodeType": "StructuredDocumentation", + "src": "2795:49:8", + "text": " @dev See {IERC20-totalSupply}." + }, + "functionSelector": "18160ddd", + "id": 1649, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "2858:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [], + "src": "2869:2:8" + }, + "returnParameters": { + "id": 1645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1644, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1649, + "src": "2901:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2901:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2900:9:8" + }, + "scope": 2076, + "src": "2849:97:8", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2111 + ], + "body": { + "id": 1661, + "nodeType": "Block", + "src": "3078:42:8", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1657, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "3095:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1659, + "indexExpression": { + "id": 1658, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1652, + "src": "3105:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3095:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1656, + "id": 1660, + "nodeType": "Return", + "src": "3088:25:8" + } + ] + }, + "documentation": { + "id": 1650, + "nodeType": "StructuredDocumentation", + "src": "2952:47:8", + "text": " @dev See {IERC20-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 1662, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3013:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1653, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1652, + "mutability": "mutable", + "name": "account", + "nameLocation": "3031:7:8", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "3023:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1651, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3023:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3022:17:8" + }, + "returnParameters": { + "id": 1656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1655, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "3069:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1654, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3069:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3068:9:8" + }, + "scope": 2076, + "src": "3004:116:8", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2121 + ], + "body": { + "id": 1685, + "nodeType": "Block", + "src": "3390:103:8", + "statements": [ + { + "assignments": [ + 1673 + ], + "declarations": [ + { + "constant": false, + "id": 1673, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3408:5:8", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "3400:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1672, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3400:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1676, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1674, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "3416:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3416:12:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3400:28:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1678, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1673, + "src": "3448:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1679, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1665, + "src": "3455:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1680, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1667, + "src": "3459:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1677, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1806, + "src": "3438:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3438:27:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1682, + "nodeType": "ExpressionStatement", + "src": "3438:27:8" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3482:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1671, + "id": 1684, + "nodeType": "Return", + "src": "3475:11:8" + } + ] + }, + "documentation": { + "id": 1663, + "nodeType": "StructuredDocumentation", + "src": "3126:184:8", + "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `value`." + }, + "functionSelector": "a9059cbb", + "id": 1686, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "3324:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1665, + "mutability": "mutable", + "name": "to", + "nameLocation": "3341:2:8", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "3333:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3333:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1667, + "mutability": "mutable", + "name": "value", + "nameLocation": "3353:5:8", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "3345:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3345:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3332:27:8" + }, + "returnParameters": { + "id": 1671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1670, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "3384:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1669, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3384:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3383:6:8" + }, + "scope": 2076, + "src": "3315:178:8", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2131 + ], + "body": { + "id": 1702, + "nodeType": "Block", + "src": "3640:51:8", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 1696, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "3657:11:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1698, + "indexExpression": { + "id": 1697, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1689, + "src": "3669:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3657:18:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1700, + "indexExpression": { + "id": 1699, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1691, + "src": "3676:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3657:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1695, + "id": 1701, + "nodeType": "Return", + "src": "3650:34:8" + } + ] + }, + "documentation": { + "id": 1687, + "nodeType": "StructuredDocumentation", + "src": "3499:47:8", + "text": " @dev See {IERC20-allowance}." + }, + "functionSelector": "dd62ed3e", + "id": 1703, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "3560:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1689, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3578:5:8", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "3570:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3570:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1691, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3593:7:8", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "3585:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3585:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3569:32:8" + }, + "returnParameters": { + "id": 1695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1694, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "3631:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3631:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3630:9:8" + }, + "scope": 2076, + "src": "3551:140:8", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2141 + ], + "body": { + "id": 1726, + "nodeType": "Block", + "src": "4077:107:8", + "statements": [ + { + "assignments": [ + 1714 + ], + "declarations": [ + { + "constant": false, + "id": 1714, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4095:5:8", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "4087:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1713, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4087:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1717, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1715, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "4103:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4103:12:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4087:28:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1719, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "4134:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1720, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1706, + "src": "4141:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1721, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "4150:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1718, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1967, + 2027 + ], + "referencedDeclaration": 1967, + "src": "4125:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4125:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1723, + "nodeType": "ExpressionStatement", + "src": "4125:31:8" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4173:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1712, + "id": 1725, + "nodeType": "Return", + "src": "4166:11:8" + } + ] + }, + "documentation": { + "id": 1704, + "nodeType": "StructuredDocumentation", + "src": "3697:296:8", + "text": " @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "095ea7b3", + "id": 1727, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "4007:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4023:7:8", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4015:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1705, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4015:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1708, + "mutability": "mutable", + "name": "value", + "nameLocation": "4040:5:8", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4032:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4014:32:8" + }, + "returnParameters": { + "id": 1712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1711, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4071:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1710, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4071:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4070:6:8" + }, + "scope": 2076, + "src": "3998:186:8", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2153 + ], + "body": { + "id": 1758, + "nodeType": "Block", + "src": "4869:151:8", + "statements": [ + { + "assignments": [ + 1740 + ], + "declarations": [ + { + "constant": false, + "id": 1740, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4887:7:8", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "4879:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4879:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1743, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1741, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "4897:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4897:12:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4879:30:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1745, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "4935:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1746, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "4941:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1747, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1734, + "src": "4950:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1744, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2075, + "src": "4919:15:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4919:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1749, + "nodeType": "ExpressionStatement", + "src": "4919:37:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1751, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "4976:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1752, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1732, + "src": "4982:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1753, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1734, + "src": "4986:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1750, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1806, + "src": "4966:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4966:26:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1755, + "nodeType": "ExpressionStatement", + "src": "4966:26:8" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5009:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1738, + "id": 1757, + "nodeType": "Return", + "src": "5002:11:8" + } + ] + }, + "documentation": { + "id": 1728, + "nodeType": "StructuredDocumentation", + "src": "4190:581:8", + "text": " @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`." + }, + "functionSelector": "23b872dd", + "id": 1759, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "4785:12:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1730, + "mutability": "mutable", + "name": "from", + "nameLocation": "4806:4:8", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "4798:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4798:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1732, + "mutability": "mutable", + "name": "to", + "nameLocation": "4820:2:8", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "4812:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4812:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1734, + "mutability": "mutable", + "name": "value", + "nameLocation": "4832:5:8", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "4824:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1733, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4824:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4797:41:8" + }, + "returnParameters": { + "id": 1738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "4863:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1736, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4863:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4862:6:8" + }, + "scope": 2076, + "src": "4776:244:8", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1805, + "nodeType": "Block", + "src": "5462:231:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1769, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1762, + "src": "5476:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5492:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5484:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5484:7:8", + "typeDescriptions": {} + } + }, + "id": 1773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5484:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5476:18:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1783, + "nodeType": "IfStatement", + "src": "5472:86:8", + "trueBody": { + "id": 1782, + "nodeType": "Block", + "src": "5496:62:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5544:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5536:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5536:7:8", + "typeDescriptions": {} + } + }, + "id": 1779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5536:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1775, + "name": "ERC20InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 189, + "src": "5517:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5517:30:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1781, + "nodeType": "RevertStatement", + "src": "5510:37:8" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1784, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "5571:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5585:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5577:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5577:7:8", + "typeDescriptions": {} + } + }, + "id": 1788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5577:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5571:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1798, + "nodeType": "IfStatement", + "src": "5567:86:8", + "trueBody": { + "id": 1797, + "nodeType": "Block", + "src": "5589:64:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5639:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5631:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5631:7:8", + "typeDescriptions": {} + } + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5631:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1790, + "name": "ERC20InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 194, + "src": "5610:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5610:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1796, + "nodeType": "RevertStatement", + "src": "5603:39:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1800, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1762, + "src": "5670:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1801, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "5676:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1802, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1766, + "src": "5680:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1799, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "5662:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5662:24:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1804, + "nodeType": "ExpressionStatement", + "src": "5662:24:8" + } + ] + }, + "documentation": { + "id": 1760, + "nodeType": "StructuredDocumentation", + "src": "5026:362:8", + "text": " @dev Moves a `value` amount of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n NOTE: This function is not virtual, {_update} should be overridden instead." + }, + "id": 1806, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "5402:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1762, + "mutability": "mutable", + "name": "from", + "nameLocation": "5420:4:8", + "nodeType": "VariableDeclaration", + "scope": 1806, + "src": "5412:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5412:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1764, + "mutability": "mutable", + "name": "to", + "nameLocation": "5434:2:8", + "nodeType": "VariableDeclaration", + "scope": 1806, + "src": "5426:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5426:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1766, + "mutability": "mutable", + "name": "value", + "nameLocation": "5446:5:8", + "nodeType": "VariableDeclaration", + "scope": 1806, + "src": "5438:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1765, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5438:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5411:41:8" + }, + "returnParameters": { + "id": 1768, + "nodeType": "ParameterList", + "parameters": [], + "src": "5462:0:8" + }, + "scope": 2076, + "src": "5393:300:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1882, + "nodeType": "Block", + "src": "6083:1032:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1816, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1809, + "src": "6097:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6113:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6105:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6105:7:8", + "typeDescriptions": {} + } + }, + "id": 1820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6105:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6097:18:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1853, + "nodeType": "Block", + "src": "6271:362:8", + "statements": [ + { + "assignments": [ + 1828 + ], + "declarations": [ + { + "constant": false, + "id": 1828, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "6293:11:8", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6285:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6285:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1832, + "initialValue": { + "baseExpression": { + "id": 1829, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "6307:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1831, + "indexExpression": { + "id": 1830, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1809, + "src": "6317:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6307:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6285:37:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1833, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1828, + "src": "6340:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1834, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "6354:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6340:19:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1843, + "nodeType": "IfStatement", + "src": "6336:115:8", + "trueBody": { + "id": 1842, + "nodeType": "Block", + "src": "6361:90:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1837, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1809, + "src": "6411:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1838, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1828, + "src": "6417:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1839, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "6430:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1836, + "name": "ERC20InsufficientBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "6386:24:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256) pure" + } + }, + "id": 1840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6386:50:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1841, + "nodeType": "RevertStatement", + "src": "6379:57:8" + } + ] + } + }, + { + "id": 1852, + "nodeType": "UncheckedBlock", + "src": "6464:159:8", + "statements": [ + { + "expression": { + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1844, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "6571:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1846, + "indexExpression": { + "id": 1845, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1809, + "src": "6581:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6571:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1847, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1828, + "src": "6589:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1848, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "6603:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6589:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6571:37:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1851, + "nodeType": "ExpressionStatement", + "src": "6571:37:8" + } + ] + } + ] + }, + "id": 1854, + "nodeType": "IfStatement", + "src": "6093:540:8", + "trueBody": { + "id": 1826, + "nodeType": "Block", + "src": "6117:148:8", + "statements": [ + { + "expression": { + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1822, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "6233:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 1823, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "6249:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6233:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1825, + "nodeType": "ExpressionStatement", + "src": "6233:21:8" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1855, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1811, + "src": "6647:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6661:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6653:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6653:7:8", + "typeDescriptions": {} + } + }, + "id": 1859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6653:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6647:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1874, + "nodeType": "Block", + "src": "6862:206:8", + "statements": [ + { + "id": 1873, + "nodeType": "UncheckedBlock", + "src": "6876:182:8", + "statements": [ + { + "expression": { + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1867, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "7021:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1869, + "indexExpression": { + "id": 1868, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1811, + "src": "7031:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7021:13:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 1870, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "7038:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7021:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1872, + "nodeType": "ExpressionStatement", + "src": "7021:22:8" + } + ] + } + ] + }, + "id": 1875, + "nodeType": "IfStatement", + "src": "6643:425:8", + "trueBody": { + "id": 1866, + "nodeType": "Block", + "src": "6665:191:8", + "statements": [ + { + "id": 1865, + "nodeType": "UncheckedBlock", + "src": "6679:167:8", + "statements": [ + { + "expression": { + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1861, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "6810:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 1862, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "6826:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6810:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1864, + "nodeType": "ExpressionStatement", + "src": "6810:21:8" + } + ] + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "id": 1877, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1809, + "src": "7092:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1878, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1811, + "src": "7098:2:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1879, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "7102:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1876, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2088, + "src": "7083:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7083:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1881, + "nodeType": "EmitStatement", + "src": "7078:30:8" + } + ] + }, + "documentation": { + "id": 1807, + "nodeType": "StructuredDocumentation", + "src": "5699:304:8", + "text": " @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event." + }, + "id": 1883, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_update", + "nameLocation": "6017:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1809, + "mutability": "mutable", + "name": "from", + "nameLocation": "6033:4:8", + "nodeType": "VariableDeclaration", + "scope": 1883, + "src": "6025:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6025:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1811, + "mutability": "mutable", + "name": "to", + "nameLocation": "6047:2:8", + "nodeType": "VariableDeclaration", + "scope": 1883, + "src": "6039:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6039:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1813, + "mutability": "mutable", + "name": "value", + "nameLocation": "6059:5:8", + "nodeType": "VariableDeclaration", + "scope": 1883, + "src": "6051:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6051:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6024:41:8" + }, + "returnParameters": { + "id": 1815, + "nodeType": "ParameterList", + "parameters": [], + "src": "6083:0:8" + }, + "scope": 2076, + "src": "6008:1107:8", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1915, + "nodeType": "Block", + "src": "7514:152:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1891, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1886, + "src": "7528:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7547:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7539:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7539:7:8", + "typeDescriptions": {} + } + }, + "id": 1895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7539:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7528:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1905, + "nodeType": "IfStatement", + "src": "7524:91:8", + "trueBody": { + "id": 1904, + "nodeType": "Block", + "src": "7551:64:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7601:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7593:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1898, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7593:7:8", + "typeDescriptions": {} + } + }, + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7593:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1897, + "name": "ERC20InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 194, + "src": "7572:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7572:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1903, + "nodeType": "RevertStatement", + "src": "7565:39:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7640:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7632:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1907, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7632:7:8", + "typeDescriptions": {} + } + }, + "id": 1910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7632:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1911, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1886, + "src": "7644:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1912, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1888, + "src": "7653:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1906, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "7624:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7624:35:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1914, + "nodeType": "ExpressionStatement", + "src": "7624:35:8" + } + ] + }, + "documentation": { + "id": 1884, + "nodeType": "StructuredDocumentation", + "src": "7121:332:8", + "text": " @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead." + }, + "id": 1916, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "7467:5:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1886, + "mutability": "mutable", + "name": "account", + "nameLocation": "7481:7:8", + "nodeType": "VariableDeclaration", + "scope": 1916, + "src": "7473:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1885, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7473:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1888, + "mutability": "mutable", + "name": "value", + "nameLocation": "7498:5:8", + "nodeType": "VariableDeclaration", + "scope": 1916, + "src": "7490:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1887, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7490:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7472:32:8" + }, + "returnParameters": { + "id": 1890, + "nodeType": "ParameterList", + "parameters": [], + "src": "7514:0:8" + }, + "scope": 2076, + "src": "7458:208:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1948, + "nodeType": "Block", + "src": "8040:150:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1924, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1919, + "src": "8054:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8073:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8065:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8065:7:8", + "typeDescriptions": {} + } + }, + "id": 1928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8065:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8054:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1938, + "nodeType": "IfStatement", + "src": "8050:89:8", + "trueBody": { + "id": 1937, + "nodeType": "Block", + "src": "8077:62:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8125:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8117:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8117:7:8", + "typeDescriptions": {} + } + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8117:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1930, + "name": "ERC20InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 189, + "src": "8098:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8098:30:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1936, + "nodeType": "RevertStatement", + "src": "8091:37:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1940, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1919, + "src": "8156:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 1943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8173:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8165:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8165:7:8", + "typeDescriptions": {} + } + }, + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8165:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1945, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1921, + "src": "8177:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1939, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "8148:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8148:35:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1947, + "nodeType": "ExpressionStatement", + "src": "8148:35:8" + } + ] + }, + "documentation": { + "id": 1917, + "nodeType": "StructuredDocumentation", + "src": "7672:307:8", + "text": " @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead" + }, + "id": 1949, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "7993:5:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1919, + "mutability": "mutable", + "name": "account", + "nameLocation": "8007:7:8", + "nodeType": "VariableDeclaration", + "scope": 1949, + "src": "7999:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7999:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1921, + "mutability": "mutable", + "name": "value", + "nameLocation": "8024:5:8", + "nodeType": "VariableDeclaration", + "scope": 1949, + "src": "8016:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8016:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7998:32:8" + }, + "returnParameters": { + "id": 1923, + "nodeType": "ParameterList", + "parameters": [], + "src": "8040:0:8" + }, + "scope": 2076, + "src": "7984:206:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1966, + "nodeType": "Block", + "src": "8800:54:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1960, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8819:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1961, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1954, + "src": "8826:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1962, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "8835:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8842:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1959, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1967, + 2027 + ], + "referencedDeclaration": 2027, + "src": "8810:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (address,address,uint256,bool)" + } + }, + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8810:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1965, + "nodeType": "ExpressionStatement", + "src": "8810:37:8" + } + ] + }, + "documentation": { + "id": 1950, + "nodeType": "StructuredDocumentation", + "src": "8196:525:8", + "text": " @dev Sets `value` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument." + }, + "id": 1967, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "8735:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1952, + "mutability": "mutable", + "name": "owner", + "nameLocation": "8752:5:8", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "8744:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1951, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8744:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1954, + "mutability": "mutable", + "name": "spender", + "nameLocation": "8767:7:8", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "8759:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8759:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1956, + "mutability": "mutable", + "name": "value", + "nameLocation": "8784:5:8", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "8776:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8776:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8743:47:8" + }, + "returnParameters": { + "id": 1958, + "nodeType": "ParameterList", + "parameters": [], + "src": "8800:0:8" + }, + "scope": 2076, + "src": "8726:128:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2026, + "nodeType": "Block", + "src": "9799:334:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1979, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1970, + "src": "9813:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9830:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9822:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1980, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9822:7:8", + "typeDescriptions": {} + } + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9822:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9813:19:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1993, + "nodeType": "IfStatement", + "src": "9809:89:8", + "trueBody": { + "id": 1992, + "nodeType": "Block", + "src": "9834:64:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9884:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9876:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9876:7:8", + "typeDescriptions": {} + } + }, + "id": 1989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9876:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1985, + "name": "ERC20InvalidApprover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 208, + "src": "9855:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9855:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1991, + "nodeType": "RevertStatement", + "src": "9848:39:8" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1994, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1972, + "src": "9911:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9930:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9922:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1995, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9922:7:8", + "typeDescriptions": {} + } + }, + "id": 1998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9922:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9911:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2008, + "nodeType": "IfStatement", + "src": "9907:90:8", + "trueBody": { + "id": 2007, + "nodeType": "Block", + "src": "9934:63:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9983:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9975:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2001, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9975:7:8", + "typeDescriptions": {} + } + }, + "id": 2004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9975:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2000, + "name": "ERC20InvalidSpender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "9955:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9955:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2006, + "nodeType": "RevertStatement", + "src": "9948:38:8" + } + ] + } + }, + { + "expression": { + "id": 2015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 2009, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "10006:11:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2012, + "indexExpression": { + "id": 2010, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1970, + "src": "10018:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10006:18:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2013, + "indexExpression": { + "id": 2011, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1972, + "src": "10025:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10006:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2014, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1974, + "src": "10036:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10006:35:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2016, + "nodeType": "ExpressionStatement", + "src": "10006:35:8" + }, + { + "condition": { + "id": 2017, + "name": "emitEvent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1976, + "src": "10055:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2025, + "nodeType": "IfStatement", + "src": "10051:76:8", + "trueBody": { + "id": 2024, + "nodeType": "Block", + "src": "10066:61:8", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 2019, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1970, + "src": "10094:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2020, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1972, + "src": "10101:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2021, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1974, + "src": "10110:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2018, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2097, + "src": "10085:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10085:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2023, + "nodeType": "EmitStatement", + "src": "10080:36:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 1968, + "nodeType": "StructuredDocumentation", + "src": "8860:836:8", + "text": " @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}." + }, + "id": 2027, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "9710:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1970, + "mutability": "mutable", + "name": "owner", + "nameLocation": "9727:5:8", + "nodeType": "VariableDeclaration", + "scope": 2027, + "src": "9719:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9719:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1972, + "mutability": "mutable", + "name": "spender", + "nameLocation": "9742:7:8", + "nodeType": "VariableDeclaration", + "scope": 2027, + "src": "9734:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1971, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9734:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1974, + "mutability": "mutable", + "name": "value", + "nameLocation": "9759:5:8", + "nodeType": "VariableDeclaration", + "scope": 2027, + "src": "9751:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9751:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1976, + "mutability": "mutable", + "name": "emitEvent", + "nameLocation": "9771:9:8", + "nodeType": "VariableDeclaration", + "scope": 2027, + "src": "9766:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1975, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9766:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9718:63:8" + }, + "returnParameters": { + "id": 1978, + "nodeType": "ParameterList", + "parameters": [], + "src": "9799:0:8" + }, + "scope": 2076, + "src": "9701:432:8", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2074, + "nodeType": "Block", + "src": "10504:388:8", + "statements": [ + { + "assignments": [ + 2038 + ], + "declarations": [ + { + "constant": false, + "id": 2038, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "10522:16:8", + "nodeType": "VariableDeclaration", + "scope": 2074, + "src": "10514:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2037, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10514:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2043, + "initialValue": { + "arguments": [ + { + "id": 2040, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "10551:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2041, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "10558:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2039, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "10541:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10541:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10514:52:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2044, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10580:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10605:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2046, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10605:7:8", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 2045, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10600:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10600:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10614:3:8", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "10600:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10580:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2073, + "nodeType": "IfStatement", + "src": "10576:310:8", + "trueBody": { + "id": 2072, + "nodeType": "Block", + "src": "10619:267:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2051, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10637:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2052, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2034, + "src": "10656:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10637:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2061, + "nodeType": "IfStatement", + "src": "10633:130:8", + "trueBody": { + "id": 2060, + "nodeType": "Block", + "src": "10663:100:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 2055, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "10715:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2056, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10724:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2057, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2034, + "src": "10742:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2054, + "name": "ERC20InsufficientAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 203, + "src": "10688:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256) pure" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10688:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2059, + "nodeType": "RevertStatement", + "src": "10681:67:8" + } + ] + } + }, + { + "id": 2071, + "nodeType": "UncheckedBlock", + "src": "10776:100:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2063, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "10813:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2064, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "10820:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2065, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10829:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2066, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2034, + "src": "10848:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10829:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "66616c7365", + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10855:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2062, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1967, + 2027 + ], + "referencedDeclaration": 2027, + "src": "10804:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (address,address,uint256,bool)" + } + }, + "id": 2069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10804:57:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2070, + "nodeType": "ExpressionStatement", + "src": "10804:57:8" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 2028, + "nodeType": "StructuredDocumentation", + "src": "10139:271:8", + "text": " @dev Updates `owner` s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event." + }, + "id": 2075, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_spendAllowance", + "nameLocation": "10424:15:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2030, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10448:5:8", + "nodeType": "VariableDeclaration", + "scope": 2075, + "src": "10440:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2029, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10440:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2032, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10463:7:8", + "nodeType": "VariableDeclaration", + "scope": 2075, + "src": "10455:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2031, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10455:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2034, + "mutability": "mutable", + "name": "value", + "nameLocation": "10480:5:8", + "nodeType": "VariableDeclaration", + "scope": 2075, + "src": "10472:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10472:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10439:47:8" + }, + "returnParameters": { + "id": 2036, + "nodeType": "ParameterList", + "parameters": [], + "src": "10504:0:8" + }, + "scope": 2076, + "src": "10415:477:8", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 2077, + "src": "1106:9788:8", + "usedErrors": [ + 184, + 189, + 194, + 203, + 208, + 213 + ], + "usedEvents": [ + 2088, + 2097 + ] + } + ], + "src": "105:10790:8" + }, + "id": 8 + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 2154 + ] + }, + "id": 2155, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2078, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "106:24:9" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2079, + "nodeType": "StructuredDocumentation", + "src": "132:71:9", + "text": " @dev Interface of the ERC-20 standard as defined in the ERC." + }, + "fullyImplemented": false, + "id": 2154, + "linearizedBaseContracts": [ + 2154 + ], + "name": "IERC20", + "nameLocation": "214:6:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 2080, + "nodeType": "StructuredDocumentation", + "src": "227:158:9", + "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 2088, + "name": "Transfer", + "nameLocation": "396:8:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 2087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2082, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "421:4:9", + "nodeType": "VariableDeclaration", + "scope": 2088, + "src": "405:20:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "405:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2084, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "443:2:9", + "nodeType": "VariableDeclaration", + "scope": 2088, + "src": "427:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2083, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "427:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2086, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "455:5:9", + "nodeType": "VariableDeclaration", + "scope": 2088, + "src": "447:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "447:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "404:57:9" + }, + "src": "390:72:9" + }, + { + "anonymous": false, + "documentation": { + "id": 2089, + "nodeType": "StructuredDocumentation", + "src": "468:148:9", + "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 2097, + "name": "Approval", + "nameLocation": "627:8:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 2096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2091, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "652:5:9", + "nodeType": "VariableDeclaration", + "scope": 2097, + "src": "636:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "636:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2093, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "675:7:9", + "nodeType": "VariableDeclaration", + "scope": 2097, + "src": "659:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "659:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2095, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "692:5:9", + "nodeType": "VariableDeclaration", + "scope": 2097, + "src": "684:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "684:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "635:63:9" + }, + "src": "621:78:9" + }, + { + "documentation": { + "id": 2098, + "nodeType": "StructuredDocumentation", + "src": "705:65:9", + "text": " @dev Returns the value of tokens in existence." + }, + "functionSelector": "18160ddd", + "id": 2103, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "784:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2099, + "nodeType": "ParameterList", + "parameters": [], + "src": "795:2:9" + }, + "returnParameters": { + "id": 2102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2101, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2103, + "src": "821:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "821:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "820:9:9" + }, + "scope": 2154, + "src": "775:55:9", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2104, + "nodeType": "StructuredDocumentation", + "src": "836:71:9", + "text": " @dev Returns the value of tokens owned by `account`." + }, + "functionSelector": "70a08231", + "id": 2111, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "921:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2106, + "mutability": "mutable", + "name": "account", + "nameLocation": "939:7:9", + "nodeType": "VariableDeclaration", + "scope": 2111, + "src": "931:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "931:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "930:17:9" + }, + "returnParameters": { + "id": 2110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2109, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2111, + "src": "971:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "971:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "970:9:9" + }, + "scope": 2154, + "src": "912:68:9", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2112, + "nodeType": "StructuredDocumentation", + "src": "986:213:9", + "text": " @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." + }, + "functionSelector": "a9059cbb", + "id": 2121, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1213:8:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2114, + "mutability": "mutable", + "name": "to", + "nameLocation": "1230:2:9", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "1222:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1222:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2116, + "mutability": "mutable", + "name": "value", + "nameLocation": "1242:5:9", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "1234:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1234:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1221:27:9" + }, + "returnParameters": { + "id": 2120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2119, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "1267:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2118, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1267:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1266:6:9" + }, + "scope": 2154, + "src": "1204:69:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2122, + "nodeType": "StructuredDocumentation", + "src": "1279:264:9", + "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." + }, + "functionSelector": "dd62ed3e", + "id": 2131, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1557:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2124, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1575:5:9", + "nodeType": "VariableDeclaration", + "scope": 2131, + "src": "1567:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1567:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2126, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1590:7:9", + "nodeType": "VariableDeclaration", + "scope": 2131, + "src": "1582:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1582:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1566:32:9" + }, + "returnParameters": { + "id": 2130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2129, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2131, + "src": "1622:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2128, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1622:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1621:9:9" + }, + "scope": 2154, + "src": "1548:83:9", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2132, + "nodeType": "StructuredDocumentation", + "src": "1637:667:9", + "text": " @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 2141, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "2318:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2134, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2334:7:9", + "nodeType": "VariableDeclaration", + "scope": 2141, + "src": "2326:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2133, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2326:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2136, + "mutability": "mutable", + "name": "value", + "nameLocation": "2351:5:9", + "nodeType": "VariableDeclaration", + "scope": 2141, + "src": "2343:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2343:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2325:32:9" + }, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2139, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2141, + "src": "2376:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2138, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2376:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2375:6:9" + }, + "scope": 2154, + "src": "2309:73:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2142, + "nodeType": "StructuredDocumentation", + "src": "2388:297:9", + "text": " @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 2153, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2699:12:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2144, + "mutability": "mutable", + "name": "from", + "nameLocation": "2720:4:9", + "nodeType": "VariableDeclaration", + "scope": 2153, + "src": "2712:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2712:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2146, + "mutability": "mutable", + "name": "to", + "nameLocation": "2734:2:9", + "nodeType": "VariableDeclaration", + "scope": 2153, + "src": "2726:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2726:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2148, + "mutability": "mutable", + "name": "value", + "nameLocation": "2746:5:9", + "nodeType": "VariableDeclaration", + "scope": 2153, + "src": "2738:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2147, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2738:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2711:41:9" + }, + "returnParameters": { + "id": 2152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2151, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2153, + "src": "2771:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2150, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2771:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2770:6:9" + }, + "scope": 2154, + "src": "2690:87:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2155, + "src": "204:2575:9", + "usedErrors": [], + "usedEvents": [ + 2088, + 2097 + ] + } + ], + "src": "106:2674:9" + }, + "id": 9 + }, + "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "exportedSymbols": { + "Context": [ + 3356 + ], + "ERC20": [ + 2076 + ], + "ERC20Burnable": [ + 2200 + ] + }, + "id": 2201, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2156, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "124:24:10" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "../ERC20.sol", + "id": 2158, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2201, + "sourceUnit": 2077, + "src": "150:35:10", + "symbolAliases": [ + { + "foreign": { + "id": 2157, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2076, + "src": "158:5:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../../utils/Context.sol", + "id": 2160, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2201, + "sourceUnit": 3357, + "src": "186:51:10", + "symbolAliases": [ + { + "foreign": { + "id": 2159, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "194:7:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 2162, + "name": "Context", + "nameLocations": [ + "483:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3356, + "src": "483:7:10" + }, + "id": 2163, + "nodeType": "InheritanceSpecifier", + "src": "483:7:10" + }, + { + "baseName": { + "id": 2164, + "name": "ERC20", + "nameLocations": [ + "492:5:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2076, + "src": "492:5:10" + }, + "id": 2165, + "nodeType": "InheritanceSpecifier", + "src": "492:5:10" + } + ], + "canonicalName": "ERC20Burnable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2161, + "nodeType": "StructuredDocumentation", + "src": "239:208:10", + "text": " @dev Extension of {ERC20} that allows token holders to destroy both their own\n tokens and those that they have an allowance for, in a way that can be\n recognized off-chain (via event analysis)." + }, + "fullyImplemented": true, + "id": 2200, + "linearizedBaseContracts": [ + 2200, + 2076, + 214, + 2380, + 2154, + 3356 + ], + "name": "ERC20Burnable", + "nameLocation": "466:13:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2177, + "nodeType": "Block", + "src": "662:43:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2172, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "678:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "678:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2174, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "692:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2171, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1949, + "src": "672:5:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "672:26:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2176, + "nodeType": "ExpressionStatement", + "src": "672:26:10" + } + ] + }, + "documentation": { + "id": 2166, + "nodeType": "StructuredDocumentation", + "src": "504:109:10", + "text": " @dev Destroys a `value` amount of tokens from the caller.\n See {ERC20-_burn}." + }, + "functionSelector": "42966c68", + "id": 2178, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "627:4:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2168, + "mutability": "mutable", + "name": "value", + "nameLocation": "640:5:10", + "nodeType": "VariableDeclaration", + "scope": 2178, + "src": "632:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "632:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "631:15:10" + }, + "returnParameters": { + "id": 2170, + "nodeType": "ParameterList", + "parameters": [], + "src": "662:0:10" + }, + "scope": 2200, + "src": "618:87:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2198, + "nodeType": "Block", + "src": "1086:93:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2187, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2181, + "src": "1112:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2188, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3338, + "src": "1121:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1121:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2190, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "1135:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2186, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2075, + "src": "1096:15:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1096:45:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2192, + "nodeType": "ExpressionStatement", + "src": "1096:45:10" + }, + { + "expression": { + "arguments": [ + { + "id": 2194, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2181, + "src": "1157:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2195, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "1166:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2193, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1949, + "src": "1151:5:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1151:21:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2197, + "nodeType": "ExpressionStatement", + "src": "1151:21:10" + } + ] + }, + "documentation": { + "id": 2179, + "nodeType": "StructuredDocumentation", + "src": "711:305:10", + "text": " @dev Destroys a `value` amount of tokens from `account`, deducting from\n the caller's allowance.\n See {ERC20-_burn} and {ERC20-allowance}.\n Requirements:\n - the caller must have allowance for ``accounts``'s tokens of at least\n `value`." + }, + "functionSelector": "79cc6790", + "id": 2199, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burnFrom", + "nameLocation": "1030:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2181, + "mutability": "mutable", + "name": "account", + "nameLocation": "1047:7:10", + "nodeType": "VariableDeclaration", + "scope": 2199, + "src": "1039:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1039:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2183, + "mutability": "mutable", + "name": "value", + "nameLocation": "1064:5:10", + "nodeType": "VariableDeclaration", + "scope": 2199, + "src": "1056:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1056:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1038:32:10" + }, + "returnParameters": { + "id": 2185, + "nodeType": "ParameterList", + "parameters": [], + "src": "1086:0:10" + }, + "scope": 2200, + "src": "1021:158:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 2201, + "src": "448:733:10", + "usedErrors": [ + 184, + 189, + 194, + 203, + 208, + 213 + ], + "usedEvents": [ + 2088, + 2097 + ] + } + ], + "src": "124:1058:10" + }, + "id": 10 + }, + "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol", + "exportedSymbols": { + "ECDSA": [ + 4615 + ], + "EIP712": [ + 4842 + ], + "ERC20": [ + 2076 + ], + "ERC20Permit": [ + 2354 + ], + "IERC20Permit": [ + 2416 + ], + "Nonces": [ + 3424 + ] + }, + "id": 2355, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2202, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "122:24:11" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol", + "file": "./IERC20Permit.sol", + "id": 2204, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2355, + "sourceUnit": 2417, + "src": "148:48:11", + "symbolAliases": [ + { + "foreign": { + "id": 2203, + "name": "IERC20Permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2416, + "src": "156:12:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "../ERC20.sol", + "id": 2206, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2355, + "sourceUnit": 2077, + "src": "197:35:11", + "symbolAliases": [ + { + "foreign": { + "id": 2205, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2076, + "src": "205:5:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "../../../utils/cryptography/ECDSA.sol", + "id": 2208, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2355, + "sourceUnit": 4616, + "src": "233:60:11", + "symbolAliases": [ + { + "foreign": { + "id": 2207, + "name": "ECDSA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4615, + "src": "241:5:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/EIP712.sol", + "file": "../../../utils/cryptography/EIP712.sol", + "id": 2210, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2355, + "sourceUnit": 4843, + "src": "294:62:11", + "symbolAliases": [ + { + "foreign": { + "id": 2209, + "name": "EIP712", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4842, + "src": "302:6:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Nonces.sol", + "file": "../../../utils/Nonces.sol", + "id": 2212, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2355, + "sourceUnit": 3425, + "src": "357:49:11", + "symbolAliases": [ + { + "foreign": { + "id": 2211, + "name": "Nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3424, + "src": "365:6:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 2214, + "name": "ERC20", + "nameLocations": [ + "931:5:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2076, + "src": "931:5:11" + }, + "id": 2215, + "nodeType": "InheritanceSpecifier", + "src": "931:5:11" + }, + { + "baseName": { + "id": 2216, + "name": "IERC20Permit", + "nameLocations": [ + "938:12:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2416, + "src": "938:12:11" + }, + "id": 2217, + "nodeType": "InheritanceSpecifier", + "src": "938:12:11" + }, + { + "baseName": { + "id": 2218, + "name": "EIP712", + "nameLocations": [ + "952:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4842, + "src": "952:6:11" + }, + "id": 2219, + "nodeType": "InheritanceSpecifier", + "src": "952:6:11" + }, + { + "baseName": { + "id": 2220, + "name": "Nonces", + "nameLocations": [ + "960:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3424, + "src": "960:6:11" + }, + "id": 2221, + "nodeType": "InheritanceSpecifier", + "src": "960:6:11" + } + ], + "canonicalName": "ERC20Permit", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2213, + "nodeType": "StructuredDocumentation", + "src": "408:489:11", + "text": " @dev Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all." + }, + "fullyImplemented": true, + "id": 2354, + "linearizedBaseContracts": [ + 2354, + 3424, + 4842, + 172, + 2416, + 2076, + 214, + 2380, + 2154, + 3356 + ], + "name": "ERC20Permit", + "nameLocation": "916:11:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 2226, + "mutability": "constant", + "name": "PERMIT_TYPEHASH", + "nameLocation": "998:15:11", + "nodeType": "VariableDeclaration", + "scope": 2354, + "src": "973:146:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2222, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "973:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529", + "id": 2224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1034:84:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9", + "typeString": "literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" + }, + "value": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9", + "typeString": "literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" + } + ], + "id": 2223, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1024:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1024:95:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "documentation": { + "id": 2227, + "nodeType": "StructuredDocumentation", + "src": "1126:52:11", + "text": " @dev Permit deadline has expired." + }, + "errorSelector": "62791302", + "id": 2231, + "name": "ERC2612ExpiredSignature", + "nameLocation": "1189:23:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 2230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2229, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "1221:8:11", + "nodeType": "VariableDeclaration", + "scope": 2231, + "src": "1213:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1213:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1212:18:11" + }, + "src": "1183:48:11" + }, + { + "documentation": { + "id": 2232, + "nodeType": "StructuredDocumentation", + "src": "1237:45:11", + "text": " @dev Mismatched signature." + }, + "errorSelector": "4b800e46", + "id": 2238, + "name": "ERC2612InvalidSigner", + "nameLocation": "1293:20:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 2237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2234, + "mutability": "mutable", + "name": "signer", + "nameLocation": "1322:6:11", + "nodeType": "VariableDeclaration", + "scope": 2238, + "src": "1314:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1314:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2236, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1338:5:11", + "nodeType": "VariableDeclaration", + "scope": 2238, + "src": "1330:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1330:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1313:31:11" + }, + "src": "1287:58:11" + }, + { + "body": { + "id": 2248, + "nodeType": "Block", + "src": "1627:2:11", + "statements": [] + }, + "documentation": { + "id": 2239, + "nodeType": "StructuredDocumentation", + "src": "1351:221:11", + "text": " @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n It's a good idea to use the same `name` that is defined as the ERC-20 token name." + }, + "id": 2249, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2244, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "1616:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "31", + "id": 2245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1622:3:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", + "typeString": "literal_string \"1\"" + }, + "value": "1" + } + ], + "id": 2246, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2243, + "name": "EIP712", + "nameLocations": [ + "1609:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4842, + "src": "1609:6:11" + }, + "nodeType": "ModifierInvocation", + "src": "1609:17:11" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2241, + "mutability": "mutable", + "name": "name", + "nameLocation": "1603:4:11", + "nodeType": "VariableDeclaration", + "scope": 2249, + "src": "1589:18:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2240, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1589:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1588:20:11" + }, + "returnParameters": { + "id": 2247, + "nodeType": "ParameterList", + "parameters": [], + "src": "1627:0:11" + }, + "scope": 2354, + "src": "1577:52:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 2401 + ], + "body": { + "id": 2325, + "nodeType": "Block", + "src": "1872:483:11", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2267, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1886:5:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1892:9:11", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1886:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2269, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "1904:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1886:26:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2276, + "nodeType": "IfStatement", + "src": "1882:97:11", + "trueBody": { + "id": 2275, + "nodeType": "Block", + "src": "1914:65:11", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 2272, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "1959:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2271, + "name": "ERC2612ExpiredSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2231, + "src": "1935:23:11", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1935:33:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2274, + "nodeType": "RevertStatement", + "src": "1928:40:11" + } + ] + } + }, + { + "assignments": [ + 2278 + ], + "declarations": [ + { + "constant": false, + "id": 2278, + "mutability": "mutable", + "name": "structHash", + "nameLocation": "1997:10:11", + "nodeType": "VariableDeclaration", + "scope": 2325, + "src": "1989:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2277, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1989:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2292, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 2282, + "name": "PERMIT_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2226, + "src": "2031:15:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2283, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2252, + "src": "2048:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2284, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2254, + "src": "2055:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2285, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2256, + "src": "2064:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2287, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2252, + "src": "2081:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2286, + "name": "_useNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3398, + "src": "2071:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2071:16:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2289, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "2089:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2280, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2020:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2024:6:11", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2020:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2020:78:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2279, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2010:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2010:89:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1989:110:11" + }, + { + "assignments": [ + 2294 + ], + "declarations": [ + { + "constant": false, + "id": 2294, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2118:4:11", + "nodeType": "VariableDeclaration", + "scope": 2325, + "src": "2110:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2110:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2298, + "initialValue": { + "arguments": [ + { + "id": 2296, + "name": "structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2278, + "src": "2142:10:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2295, + "name": "_hashTypedDataV4", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "2125:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 2297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2125:28:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2110:43:11" + }, + { + "assignments": [ + 2300 + ], + "declarations": [ + { + "constant": false, + "id": 2300, + "mutability": "mutable", + "name": "signer", + "nameLocation": "2172:6:11", + "nodeType": "VariableDeclaration", + "scope": 2325, + "src": "2164:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2299, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2164:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2308, + "initialValue": { + "arguments": [ + { + "id": 2303, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2294, + "src": "2195:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2304, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "2201:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 2305, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2262, + "src": "2204:1:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2306, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "2207:1:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2301, + "name": "ECDSA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4615, + "src": "2181:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ECDSA_$4615_$", + "typeString": "type(library ECDSA)" + } + }, + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2187:7:11", + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 4565, + "src": "2181:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 2307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2181:28:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2164:45:11" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2309, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "2223:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2310, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2252, + "src": "2233:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2223:15:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2318, + "nodeType": "IfStatement", + "src": "2219:88:11", + "trueBody": { + "id": 2317, + "nodeType": "Block", + "src": "2240:67:11", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 2313, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "2282:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2314, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2252, + "src": "2290:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2312, + "name": "ERC2612InvalidSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "2261:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 2315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2261:35:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2316, + "nodeType": "RevertStatement", + "src": "2254:42:11" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 2320, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2252, + "src": "2326:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2321, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2254, + "src": "2333:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2322, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2256, + "src": "2342:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2319, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1967, + 2027 + ], + "referencedDeclaration": 1967, + "src": "2317:8:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2317:31:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2324, + "nodeType": "ExpressionStatement", + "src": "2317:31:11" + } + ] + }, + "documentation": { + "id": 2250, + "nodeType": "StructuredDocumentation", + "src": "1635:43:11", + "text": " @inheritdoc IERC20Permit" + }, + "functionSelector": "d505accf", + "id": 2326, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "1692:6:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2252, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1716:5:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1708:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1708:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2254, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1739:7:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1731:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2253, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1731:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2256, + "mutability": "mutable", + "name": "value", + "nameLocation": "1764:5:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1756:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1756:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2258, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "1787:8:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1779:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1779:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2260, + "mutability": "mutable", + "name": "v", + "nameLocation": "1811:1:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1805:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2259, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1805:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2262, + "mutability": "mutable", + "name": "r", + "nameLocation": "1830:1:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1822:9:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1822:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2264, + "mutability": "mutable", + "name": "s", + "nameLocation": "1849:1:11", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "1841:9:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2263, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1841:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1698:158:11" + }, + "returnParameters": { + "id": 2266, + "nodeType": "ParameterList", + "parameters": [], + "src": "1872:0:11" + }, + "scope": 2354, + "src": "1683:672:11", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2409, + 3383 + ], + "body": { + "id": 2342, + "nodeType": "Block", + "src": "2509:43:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2339, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "2539:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 2337, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2526:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC20Permit_$2354_$", + "typeString": "type(contract super ERC20Permit)" + } + }, + "id": 2338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2532:6:11", + "memberName": "nonces", + "nodeType": "MemberAccess", + "referencedDeclaration": 3383, + "src": "2526:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 2340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2526:19:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2336, + "id": 2341, + "nodeType": "Return", + "src": "2519:26:11" + } + ] + }, + "documentation": { + "id": 2327, + "nodeType": "StructuredDocumentation", + "src": "2361:43:11", + "text": " @inheritdoc IERC20Permit" + }, + "functionSelector": "7ecebe00", + "id": 2343, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nonces", + "nameLocation": "2418:6:11", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2333, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 2331, + "name": "IERC20Permit", + "nameLocations": [ + "2469:12:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2416, + "src": "2469:12:11" + }, + { + "id": 2332, + "name": "Nonces", + "nameLocations": [ + "2483:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3424, + "src": "2483:6:11" + } + ], + "src": "2460:30:11" + }, + "parameters": { + "id": 2330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2329, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2433:5:11", + "nodeType": "VariableDeclaration", + "scope": 2343, + "src": "2425:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2425:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2424:15:11" + }, + "returnParameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2335, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2343, + "src": "2500:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2500:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2499:9:11" + }, + "scope": 2354, + "src": "2409:143:11", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2415 + ], + "body": { + "id": 2352, + "nodeType": "Block", + "src": "2727:44:11", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2349, + "name": "_domainSeparatorV4", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4738, + "src": "2744:18:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 2350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2744:20:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2348, + "id": 2351, + "nodeType": "Return", + "src": "2737:27:11" + } + ] + }, + "documentation": { + "id": 2344, + "nodeType": "StructuredDocumentation", + "src": "2558:43:11", + "text": " @inheritdoc IERC20Permit" + }, + "functionSelector": "3644e515", + "id": 2353, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "DOMAIN_SEPARATOR", + "nameLocation": "2668:16:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2345, + "nodeType": "ParameterList", + "parameters": [], + "src": "2684:2:11" + }, + "returnParameters": { + "id": 2348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2347, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2353, + "src": "2718:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2718:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2717:9:11" + }, + "scope": 2354, + "src": "2659:112:11", + "stateMutability": "view", + "virtual": true, + "visibility": "external" + } + ], + "scope": 2355, + "src": "898:1875:11", + "usedErrors": [ + 184, + 189, + 194, + 203, + 208, + 213, + 2231, + 2238, + 3366, + 3490, + 3492, + 4278, + 4283, + 4288 + ], + "usedEvents": [ + 152, + 2088, + 2097 + ] + } + ], + "src": "122:2652:11" + }, + "id": 11 + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "exportedSymbols": { + "IERC20": [ + 2154 + ], + "IERC20Metadata": [ + 2380 + ] + }, + "id": 2381, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2356, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "125:24:12" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "../IERC20.sol", + "id": 2358, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2381, + "sourceUnit": 2155, + "src": "151:37:12", + "symbolAliases": [ + { + "foreign": { + "id": 2357, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "159:6:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2360, + "name": "IERC20", + "nameLocations": [ + "306:6:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2154, + "src": "306:6:12" + }, + "id": 2361, + "nodeType": "InheritanceSpecifier", + "src": "306:6:12" + } + ], + "canonicalName": "IERC20Metadata", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2359, + "nodeType": "StructuredDocumentation", + "src": "190:87:12", + "text": " @dev Interface for the optional metadata functions from the ERC-20 standard." + }, + "fullyImplemented": false, + "id": 2380, + "linearizedBaseContracts": [ + 2380, + 2154 + ], + "name": "IERC20Metadata", + "nameLocation": "288:14:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 2362, + "nodeType": "StructuredDocumentation", + "src": "319:54:12", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 2367, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "387:4:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2363, + "nodeType": "ParameterList", + "parameters": [], + "src": "391:2:12" + }, + "returnParameters": { + "id": 2366, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2365, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2367, + "src": "417:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2364, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "417:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "416:15:12" + }, + "scope": 2380, + "src": "378:54:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2368, + "nodeType": "StructuredDocumentation", + "src": "438:56:12", + "text": " @dev Returns the symbol of the token." + }, + "functionSelector": "95d89b41", + "id": 2373, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "508:6:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2369, + "nodeType": "ParameterList", + "parameters": [], + "src": "514:2:12" + }, + "returnParameters": { + "id": 2372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2371, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2373, + "src": "540:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2370, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "540:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "539:15:12" + }, + "scope": 2380, + "src": "499:56:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2374, + "nodeType": "StructuredDocumentation", + "src": "561:65:12", + "text": " @dev Returns the decimals places of the token." + }, + "functionSelector": "313ce567", + "id": 2379, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "640:8:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2375, + "nodeType": "ParameterList", + "parameters": [], + "src": "648:2:12" + }, + "returnParameters": { + "id": 2378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2377, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2379, + "src": "674:5:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2376, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "674:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "673:7:12" + }, + "scope": 2380, + "src": "631:50:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2381, + "src": "278:405:12", + "usedErrors": [], + "usedEvents": [ + 2088, + 2097 + ] + } + ], + "src": "125:559:12" + }, + "id": 12 + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol", + "exportedSymbols": { + "IERC20Permit": [ + 2416 + ] + }, + "id": 2417, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2382, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "123:24:13" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20Permit", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2383, + "nodeType": "StructuredDocumentation", + "src": "149:1965:13", + "text": " @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all.\n ==== Security Considerations\n There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n considered as an intention to spend the allowance in any specific way. The second is that because permits have\n built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n generally recommended is:\n ```solidity\n function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n doThing(..., value);\n }\n function doThing(..., uint256 value) public {\n token.safeTransferFrom(msg.sender, address(this), value);\n ...\n }\n ```\n Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n {SafeERC20-safeTransferFrom}).\n Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n contracts should have entry points that don't rely on permit." + }, + "fullyImplemented": false, + "id": 2416, + "linearizedBaseContracts": [ + 2416 + ], + "name": "IERC20Permit", + "nameLocation": "2125:12:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 2384, + "nodeType": "StructuredDocumentation", + "src": "2144:850:13", + "text": " @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section].\n CAUTION: See Security Considerations above." + }, + "functionSelector": "d505accf", + "id": 2401, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "3008:6:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2386, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3032:5:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3024:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3024:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2388, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3055:7:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3047:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2387, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3047:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2390, + "mutability": "mutable", + "name": "value", + "nameLocation": "3080:5:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3072:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3072:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2392, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "3103:8:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3095:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3095:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2394, + "mutability": "mutable", + "name": "v", + "nameLocation": "3127:1:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3121:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2393, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3121:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2396, + "mutability": "mutable", + "name": "r", + "nameLocation": "3146:1:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3138:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2395, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3138:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2398, + "mutability": "mutable", + "name": "s", + "nameLocation": "3165:1:13", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "3157:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2397, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3157:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3014:158:13" + }, + "returnParameters": { + "id": 2400, + "nodeType": "ParameterList", + "parameters": [], + "src": "3181:0:13" + }, + "scope": 2416, + "src": "2999:183:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2402, + "nodeType": "StructuredDocumentation", + "src": "3188:294:13", + "text": " @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times." + }, + "functionSelector": "7ecebe00", + "id": 2409, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nonces", + "nameLocation": "3496:6:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2404, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3511:5:13", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "3503:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3503:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3502:15:13" + }, + "returnParameters": { + "id": 2408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2407, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "3541:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3541:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3540:9:13" + }, + "scope": 2416, + "src": "3487:63:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2410, + "nodeType": "StructuredDocumentation", + "src": "3556:128:13", + "text": " @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}." + }, + "functionSelector": "3644e515", + "id": 2415, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "DOMAIN_SEPARATOR", + "nameLocation": "3751:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2411, + "nodeType": "ParameterList", + "parameters": [], + "src": "3767:2:13" + }, + "returnParameters": { + "id": 2414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2413, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "3793:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2412, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3793:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3792:9:13" + }, + "scope": 2416, + "src": "3742:60:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2417, + "src": "2115:1689:13", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "123:3682:13" + }, + "id": 13 + }, + "@openzeppelin/contracts/utils/Arrays.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Arrays.sol", + "exportedSymbols": { + "Arrays": [ + 3294 + ], + "Comparators": [ + 3326 + ], + "Math": [ + 7671 + ], + "SlotDerivation": [ + 3823 + ], + "StorageSlot": [ + 3947 + ] + }, + "id": 3295, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2418, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "183:24:14" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Comparators.sol", + "file": "./Comparators.sol", + "id": 2420, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3295, + "sourceUnit": 3327, + "src": "209:46:14", + "symbolAliases": [ + { + "foreign": { + "id": 2419, + "name": "Comparators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3326, + "src": "217:11:14", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/SlotDerivation.sol", + "file": "./SlotDerivation.sol", + "id": 2422, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3295, + "sourceUnit": 3824, + "src": "256:52:14", + "symbolAliases": [ + { + "foreign": { + "id": 2421, + "name": "SlotDerivation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "264:14:14", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "file": "./StorageSlot.sol", + "id": 2424, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3295, + "sourceUnit": 3948, + "src": "309:46:14", + "symbolAliases": [ + { + "foreign": { + "id": 2423, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3947, + "src": "317:11:14", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "file": "./math/Math.sol", + "id": 2426, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3295, + "sourceUnit": 7672, + "src": "356:37:14", + "symbolAliases": [ + { + "foreign": { + "id": 2425, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "364:4:14", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Arrays", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 2427, + "nodeType": "StructuredDocumentation", + "src": "395:63:14", + "text": " @dev Collection of functions related to array types." + }, + "fullyImplemented": true, + "id": 3294, + "linearizedBaseContracts": [ + 3294 + ], + "name": "Arrays", + "nameLocation": "467:6:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 2430, + "libraryName": { + "id": 2428, + "name": "SlotDerivation", + "nameLocations": [ + "486:14:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3823, + "src": "486:14:14" + }, + "nodeType": "UsingForDirective", + "src": "480:33:14", + "typeName": { + "id": 2429, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "505:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + { + "global": false, + "id": 2433, + "libraryName": { + "id": 2431, + "name": "StorageSlot", + "nameLocations": [ + "524:11:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3947, + "src": "524:11:14" + }, + "nodeType": "UsingForDirective", + "src": "518:30:14", + "typeName": { + "id": 2432, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "540:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + { + "body": { + "id": 2465, + "nodeType": "Block", + "src": "1628:83:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2455, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "1656:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 2454, + "name": "_begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "1649:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 2456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1649:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2458, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "1669:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 2457, + "name": "_end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "1664:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 2459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1664:11:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2460, + "name": "comp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2447, + "src": "1677:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2453, + "name": "_quickSort", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "1638:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$__$", + "typeString": "function (uint256,uint256,function (uint256,uint256) pure returns (bool)) pure" + } + }, + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1638:44:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2462, + "nodeType": "ExpressionStatement", + "src": "1638:44:14" + }, + { + "expression": { + "id": 2463, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "1699:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 2452, + "id": 2464, + "nodeType": "Return", + "src": "1692:12:14" + } + ] + }, + "documentation": { + "id": 2434, + "nodeType": "StructuredDocumentation", + "src": "554:915:14", + "text": " @dev Sort an array of uint256 (in memory) following the provided comparator function.\n This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n consume more gas than is available in a block, leading to potential DoS.\n IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way." + }, + "id": 2466, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sort", + "nameLocation": "1483:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2437, + "mutability": "mutable", + "name": "array", + "nameLocation": "1514:5:14", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "1497:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1497:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2436, + "nodeType": "ArrayTypeName", + "src": "1497:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2447, + "mutability": "mutable", + "name": "comp", + "nameLocation": "1576:4:14", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "1529:51:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "typeName": { + "id": 2446, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2439, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2446, + "src": "1538:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1538:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2441, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2446, + "src": "1547:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1547:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1537:18:14" + }, + "returnParameterTypes": { + "id": 2445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2444, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2446, + "src": "1570:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2443, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1570:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1569:6:14" + }, + "src": "1529:51:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "1487:99:14" + }, + "returnParameters": { + "id": 2452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2451, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "1610:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1610:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2450, + "nodeType": "ArrayTypeName", + "src": "1610:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1609:18:14" + }, + "scope": 3294, + "src": "1474:237:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2484, + "nodeType": "Block", + "src": "1894:66:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2477, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2470, + "src": "1909:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "expression": { + "id": 2478, + "name": "Comparators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3326, + "src": "1916:11:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Comparators_$3326_$", + "typeString": "type(library Comparators)" + } + }, + "id": 2479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1928:2:14", + "memberName": "lt", + "nodeType": "MemberAccess", + "referencedDeclaration": 3311, + "src": "1916:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2476, + "name": "sort", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2485, + 2517, + 2538, + 2570, + 2591 + ], + "referencedDeclaration": 2466, + "src": "1904:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1904:27:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2481, + "nodeType": "ExpressionStatement", + "src": "1904:27:14" + }, + { + "expression": { + "id": 2482, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2470, + "src": "1948:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 2475, + "id": 2483, + "nodeType": "Return", + "src": "1941:12:14" + } + ] + }, + "documentation": { + "id": 2467, + "nodeType": "StructuredDocumentation", + "src": "1717:93:14", + "text": " @dev Variant of {sort} that sorts an array of uint256 in increasing order." + }, + "id": 2485, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sort", + "nameLocation": "1824:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2470, + "mutability": "mutable", + "name": "array", + "nameLocation": "1846:5:14", + "nodeType": "VariableDeclaration", + "scope": 2485, + "src": "1829:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1829:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2469, + "nodeType": "ArrayTypeName", + "src": "1829:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1828:24:14" + }, + "returnParameters": { + "id": 2475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2474, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2485, + "src": "1876:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1876:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2473, + "nodeType": "ArrayTypeName", + "src": "1876:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1875:18:14" + }, + "scope": 3294, + "src": "1815:145:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2516, + "nodeType": "Block", + "src": "3040:97:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2507, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3075:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "id": 2506, + "name": "_castToUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2742, + 2754 + ], + "referencedDeclaration": 2742, + "src": "3055:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (address[] memory) pure returns (uint256[] memory)" + } + }, + "id": 2508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3055:26:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "arguments": [ + { + "id": 2510, + "name": "comp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2499, + "src": "3102:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + } + ], + "id": 2509, + "name": "_castToUint256Comp", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2780, + 2806 + ], + "referencedDeclaration": 2780, + "src": "3083:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$_$returns$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$", + "typeString": "function (function (address,address) pure returns (bool)) pure returns (function (uint256,uint256) pure returns (bool))" + } + }, + "id": 2511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3083:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2505, + "name": "sort", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2485, + 2517, + 2538, + 2570, + 2591 + ], + "referencedDeclaration": 2466, + "src": "3050:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)" + } + }, + "id": 2512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3050:58:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2513, + "nodeType": "ExpressionStatement", + "src": "3050:58:14" + }, + { + "expression": { + "id": 2514, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3125:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "functionReturnParameters": 2504, + "id": 2515, + "nodeType": "Return", + "src": "3118:12:14" + } + ] + }, + "documentation": { + "id": 2486, + "nodeType": "StructuredDocumentation", + "src": "1966:915:14", + "text": " @dev Sort an array of address (in memory) following the provided comparator function.\n This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n consume more gas than is available in a block, leading to potential DoS.\n IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way." + }, + "id": 2517, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sort", + "nameLocation": "2895:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2489, + "mutability": "mutable", + "name": "array", + "nameLocation": "2926:5:14", + "nodeType": "VariableDeclaration", + "scope": 2517, + "src": "2909:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2909:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2488, + "nodeType": "ArrayTypeName", + "src": "2909:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2499, + "mutability": "mutable", + "name": "comp", + "nameLocation": "2988:4:14", + "nodeType": "VariableDeclaration", + "scope": 2517, + "src": "2941:51:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + }, + "typeName": { + "id": 2498, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2498, + "src": "2950:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2950:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2493, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2498, + "src": "2959:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2959:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2949:18:14" + }, + "returnParameterTypes": { + "id": 2497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2496, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2498, + "src": "2982:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2495, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2982:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2981:6:14" + }, + "src": "2941:51:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "2899:99:14" + }, + "returnParameters": { + "id": 2504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2503, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2517, + "src": "3022:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2501, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3022:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2502, + "nodeType": "ArrayTypeName", + "src": "3022:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "3021:18:14" + }, + "scope": 3294, + "src": "2886:251:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2537, + "nodeType": "Block", + "src": "3320:87:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2529, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2521, + "src": "3355:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "id": 2528, + "name": "_castToUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2742, + 2754 + ], + "referencedDeclaration": 2742, + "src": "3335:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (address[] memory) pure returns (uint256[] memory)" + } + }, + "id": 2530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3335:26:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "expression": { + "id": 2531, + "name": "Comparators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3326, + "src": "3363:11:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Comparators_$3326_$", + "typeString": "type(library Comparators)" + } + }, + "id": 2532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3375:2:14", + "memberName": "lt", + "nodeType": "MemberAccess", + "referencedDeclaration": 3311, + "src": "3363:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2527, + "name": "sort", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2485, + 2517, + 2538, + 2570, + 2591 + ], + "referencedDeclaration": 2466, + "src": "3330:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)" + } + }, + "id": 2533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3330:48:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2534, + "nodeType": "ExpressionStatement", + "src": "3330:48:14" + }, + { + "expression": { + "id": 2535, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2521, + "src": "3395:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "functionReturnParameters": 2526, + "id": 2536, + "nodeType": "Return", + "src": "3388:12:14" + } + ] + }, + "documentation": { + "id": 2518, + "nodeType": "StructuredDocumentation", + "src": "3143:93:14", + "text": " @dev Variant of {sort} that sorts an array of address in increasing order." + }, + "id": 2538, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sort", + "nameLocation": "3250:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2521, + "mutability": "mutable", + "name": "array", + "nameLocation": "3272:5:14", + "nodeType": "VariableDeclaration", + "scope": 2538, + "src": "3255:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3255:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2520, + "nodeType": "ArrayTypeName", + "src": "3255:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "3254:24:14" + }, + "returnParameters": { + "id": 2526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2538, + "src": "3302:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3302:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2524, + "nodeType": "ArrayTypeName", + "src": "3302:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "3301:18:14" + }, + "scope": 3294, + "src": "3241:166:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2569, + "nodeType": "Block", + "src": "4487:97:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2560, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "4522:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 2559, + "name": "_castToUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2742, + 2754 + ], + "referencedDeclaration": 2754, + "src": "4502:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (bytes32[] memory) pure returns (uint256[] memory)" + } + }, + "id": 2561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4502:26:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "arguments": [ + { + "id": 2563, + "name": "comp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2552, + "src": "4549:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes32) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes32) pure returns (bool)" + } + ], + "id": 2562, + "name": "_castToUint256Comp", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2780, + 2806 + ], + "referencedDeclaration": 2806, + "src": "4530:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_$returns$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$", + "typeString": "function (function (bytes32,bytes32) pure returns (bool)) pure returns (function (uint256,uint256) pure returns (bool))" + } + }, + "id": 2564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4530:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2558, + "name": "sort", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2485, + 2517, + 2538, + 2570, + 2591 + ], + "referencedDeclaration": 2466, + "src": "4497:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)" + } + }, + "id": 2565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4497:58:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2566, + "nodeType": "ExpressionStatement", + "src": "4497:58:14" + }, + { + "expression": { + "id": 2567, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "4572:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "functionReturnParameters": 2557, + "id": 2568, + "nodeType": "Return", + "src": "4565:12:14" + } + ] + }, + "documentation": { + "id": 2539, + "nodeType": "StructuredDocumentation", + "src": "3413:915:14", + "text": " @dev Sort an array of bytes32 (in memory) following the provided comparator function.\n This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n consume more gas than is available in a block, leading to potential DoS.\n IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way." + }, + "id": 2570, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sort", + "nameLocation": "4342:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2542, + "mutability": "mutable", + "name": "array", + "nameLocation": "4373:5:14", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "4356:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4356:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2541, + "nodeType": "ArrayTypeName", + "src": "4356:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2552, + "mutability": "mutable", + "name": "comp", + "nameLocation": "4435:4:14", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "4388:51:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes32) pure returns (bool)" + }, + "typeName": { + "id": 2551, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2544, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2551, + "src": "4397:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2543, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4397:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2546, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2551, + "src": "4406:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2545, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4406:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4396:18:14" + }, + "returnParameterTypes": { + "id": 2550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2549, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2551, + "src": "4429:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2548, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4429:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4428:6:14" + }, + "src": "4388:51:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes32) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "4346:99:14" + }, + "returnParameters": { + "id": 2557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2556, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "4469:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2554, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4469:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2555, + "nodeType": "ArrayTypeName", + "src": "4469:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "4468:18:14" + }, + "scope": 3294, + "src": "4333:251:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2590, + "nodeType": "Block", + "src": "4767:87:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2582, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2574, + "src": "4802:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 2581, + "name": "_castToUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2742, + 2754 + ], + "referencedDeclaration": 2754, + "src": "4782:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (bytes32[] memory) pure returns (uint256[] memory)" + } + }, + "id": 2583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4782:26:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "expression": { + "id": 2584, + "name": "Comparators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3326, + "src": "4810:11:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Comparators_$3326_$", + "typeString": "type(library Comparators)" + } + }, + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4822:2:14", + "memberName": "lt", + "nodeType": "MemberAccess", + "referencedDeclaration": 3311, + "src": "4810:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2580, + "name": "sort", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2485, + 2517, + 2538, + 2570, + 2591 + ], + "referencedDeclaration": 2466, + "src": "4777:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)" + } + }, + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4777:48:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2587, + "nodeType": "ExpressionStatement", + "src": "4777:48:14" + }, + { + "expression": { + "id": 2588, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2574, + "src": "4842:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "functionReturnParameters": 2579, + "id": 2589, + "nodeType": "Return", + "src": "4835:12:14" + } + ] + }, + "documentation": { + "id": 2571, + "nodeType": "StructuredDocumentation", + "src": "4590:93:14", + "text": " @dev Variant of {sort} that sorts an array of bytes32 in increasing order." + }, + "id": 2591, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sort", + "nameLocation": "4697:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2574, + "mutability": "mutable", + "name": "array", + "nameLocation": "4719:5:14", + "nodeType": "VariableDeclaration", + "scope": 2591, + "src": "4702:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2572, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4702:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2573, + "nodeType": "ArrayTypeName", + "src": "4702:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "4701:24:14" + }, + "returnParameters": { + "id": 2579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2578, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2591, + "src": "4749:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2576, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4749:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2577, + "nodeType": "ArrayTypeName", + "src": "4749:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "4748:18:14" + }, + "scope": 3294, + "src": "4688:166:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2678, + "nodeType": "Block", + "src": "5470:889:14", + "statements": [ + { + "id": 2677, + "nodeType": "UncheckedBlock", + "src": "5480:873:14", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2609, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2596, + "src": "5508:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2610, + "name": "begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2594, + "src": "5514:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5508:11:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30783430", + "id": 2612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5522:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "0x40" + }, + "src": "5508:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2615, + "nodeType": "IfStatement", + "src": "5504:31:14", + "trueBody": { + "functionReturnParameters": 2608, + "id": 2614, + "nodeType": "Return", + "src": "5528:7:14" + } + }, + { + "assignments": [ + 2617 + ], + "declarations": [ + { + "constant": false, + "id": 2617, + "mutability": "mutable", + "name": "pivot", + "nameLocation": "5599:5:14", + "nodeType": "VariableDeclaration", + "scope": 2677, + "src": "5591:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5591:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2621, + "initialValue": { + "arguments": [ + { + "id": 2619, + "name": "begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2594, + "src": "5614:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2618, + "name": "_mload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2720, + "src": "5607:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5607:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5591:29:14" + }, + { + "assignments": [ + 2623 + ], + "declarations": [ + { + "constant": false, + "id": 2623, + "mutability": "mutable", + "name": "pos", + "nameLocation": "5715:3:14", + "nodeType": "VariableDeclaration", + "scope": 2677, + "src": "5707:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5707:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2625, + "initialValue": { + "id": 2624, + "name": "begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2594, + "src": "5721:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5707:19:14" + }, + { + "body": { + "id": 2656, + "nodeType": "Block", + "src": "5795:331:14", + "statements": [ + { + "condition": { + "arguments": [ + { + "arguments": [ + { + "id": 2641, + "name": "it", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "5829:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2640, + "name": "_mload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2720, + "src": "5822:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5822:10:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2643, + "name": "pivot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2617, + "src": "5834:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2639, + "name": "comp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "5817:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 2644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5817:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2655, + "nodeType": "IfStatement", + "src": "5813:299:14", + "trueBody": { + "id": 2654, + "nodeType": "Block", + "src": "5842:270:14", + "statements": [ + { + "expression": { + "id": 2647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2645, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6046:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "30783230", + "id": 2646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6053:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "6046:11:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2648, + "nodeType": "ExpressionStatement", + "src": "6046:11:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2650, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6085:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2651, + "name": "it", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "6090:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2649, + "name": "_swap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "6079:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 2652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6079:14:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2653, + "nodeType": "ExpressionStatement", + "src": "6079:14:14" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2632, + "name": "it", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "5773:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2633, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2596, + "src": "5778:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5773:8:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2657, + "initializationExpression": { + "assignments": [ + 2627 + ], + "declarations": [ + { + "constant": false, + "id": 2627, + "mutability": "mutable", + "name": "it", + "nameLocation": "5754:2:14", + "nodeType": "VariableDeclaration", + "scope": 2657, + "src": "5746:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5746:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2631, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2628, + "name": "begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2594, + "src": "5759:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "30783230", + "id": 2629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5767:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "5759:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5746:25:14" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 2637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2635, + "name": "it", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "5783:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "30783230", + "id": 2636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5789:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "5783:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2638, + "nodeType": "ExpressionStatement", + "src": "5783:10:14" + }, + "nodeType": "ForStatement", + "src": "5741:385:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2659, + "name": "begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2594, + "src": "6146:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2660, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6153:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2658, + "name": "_swap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "6140:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6140:17:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2662, + "nodeType": "ExpressionStatement", + "src": "6140:17:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2664, + "name": "begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2594, + "src": "6207:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2665, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6214:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2666, + "name": "comp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "6219:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2663, + "name": "_quickSort", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "6196:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$__$", + "typeString": "function (uint256,uint256,function (uint256,uint256) pure returns (bool)) pure" + } + }, + "id": 2667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6196:28:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2668, + "nodeType": "ExpressionStatement", + "src": "6196:28:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2670, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6284:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "30783230", + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6290:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "6284:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2673, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2596, + "src": "6296:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2674, + "name": "comp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2606, + "src": "6301:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + ], + "id": 2669, + "name": "_quickSort", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "6273:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$__$", + "typeString": "function (uint256,uint256,function (uint256,uint256) pure returns (bool)) pure" + } + }, + "id": 2675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6273:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2676, + "nodeType": "ExpressionStatement", + "src": "6273:33:14" + } + ] + } + ] + }, + "documentation": { + "id": 2592, + "nodeType": "StructuredDocumentation", + "src": "4860:491:14", + "text": " @dev Performs a quick sort of a segment of memory. The segment sorted starts at `begin` (inclusive), and stops\n at end (exclusive). Sorting follows the `comp` comparator.\n Invariant: `begin <= end`. This is the case when initially called by {sort} and is preserved in subcalls.\n IMPORTANT: Memory locations between `begin` and `end` are not validated/zeroed. This function should\n be used only if the limits are within a memory array." + }, + "id": 2679, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_quickSort", + "nameLocation": "5365:10:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2594, + "mutability": "mutable", + "name": "begin", + "nameLocation": "5384:5:14", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "5376:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5376:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2596, + "mutability": "mutable", + "name": "end", + "nameLocation": "5399:3:14", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "5391:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5391:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2606, + "mutability": "mutable", + "name": "comp", + "nameLocation": "5451:4:14", + "nodeType": "VariableDeclaration", + "scope": 2679, + "src": "5404:51:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "typeName": { + "id": 2605, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2598, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2605, + "src": "5413:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5413:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2600, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2605, + "src": "5422:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5422:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5412:18:14" + }, + "returnParameterTypes": { + "id": 2604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2603, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2605, + "src": "5445:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2602, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5445:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5444:6:14" + }, + "src": "5404:51:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "5375:81:14" + }, + "returnParameters": { + "id": 2608, + "nodeType": "ParameterList", + "parameters": [], + "src": "5470:0:14" + }, + "scope": 3294, + "src": "5356:1003:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2689, + "nodeType": "Block", + "src": "6532:88:14", + "statements": [ + { + "AST": { + "nativeSrc": "6567:47:14", + "nodeType": "YulBlock", + "src": "6567:47:14", + "statements": [ + { + "nativeSrc": "6581:23:14", + "nodeType": "YulAssignment", + "src": "6581:23:14", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "6592:5:14", + "nodeType": "YulIdentifier", + "src": "6592:5:14" + }, + { + "kind": "number", + "nativeSrc": "6599:4:14", + "nodeType": "YulLiteral", + "src": "6599:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6588:3:14", + "nodeType": "YulIdentifier", + "src": "6588:3:14" + }, + "nativeSrc": "6588:16:14", + "nodeType": "YulFunctionCall", + "src": "6588:16:14" + }, + "variableNames": [ + { + "name": "ptr", + "nativeSrc": "6581:3:14", + "nodeType": "YulIdentifier", + "src": "6581:3:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2683, + "isOffset": false, + "isSlot": false, + "src": "6592:5:14", + "valueSize": 1 + }, + { + "declaration": 2686, + "isOffset": false, + "isSlot": false, + "src": "6581:3:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 2688, + "nodeType": "InlineAssembly", + "src": "6542:72:14" + } + ] + }, + "documentation": { + "id": 2680, + "nodeType": "StructuredDocumentation", + "src": "6365:87:14", + "text": " @dev Pointer to the memory location of the first element of `array`." + }, + "id": 2690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_begin", + "nameLocation": "6466:6:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2683, + "mutability": "mutable", + "name": "array", + "nameLocation": "6490:5:14", + "nodeType": "VariableDeclaration", + "scope": 2690, + "src": "6473:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2681, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6473:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2682, + "nodeType": "ArrayTypeName", + "src": "6473:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6472:24:14" + }, + "returnParameters": { + "id": 2687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2686, + "mutability": "mutable", + "name": "ptr", + "nameLocation": "6527:3:14", + "nodeType": "VariableDeclaration", + "scope": 2690, + "src": "6519:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2685, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6519:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6518:13:14" + }, + "scope": 3294, + "src": "6457:163:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2709, + "nodeType": "Block", + "src": "6892:93:14", + "statements": [ + { + "id": 2708, + "nodeType": "UncheckedBlock", + "src": "6902:77:14", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2700, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2694, + "src": "6940:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 2699, + "name": "_begin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "6933:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6933:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2702, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2694, + "src": "6949:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6955:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6949:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "30783230", + "id": 2704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6964:4:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "6949:19:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6933:35:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2698, + "id": 2707, + "nodeType": "Return", + "src": "6926:42:14" + } + ] + } + ] + }, + "documentation": { + "id": 2691, + "nodeType": "StructuredDocumentation", + "src": "6626:188:14", + "text": " @dev Pointer to the memory location of the first memory word (32bytes) after `array`. This is the memory word\n that comes just after the last element of the array." + }, + "id": 2710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_end", + "nameLocation": "6828:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2694, + "mutability": "mutable", + "name": "array", + "nameLocation": "6850:5:14", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "6833:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2692, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6833:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2693, + "nodeType": "ArrayTypeName", + "src": "6833:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6832:24:14" + }, + "returnParameters": { + "id": 2698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2697, + "mutability": "mutable", + "name": "ptr", + "nameLocation": "6887:3:14", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "6879:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2696, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6879:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6878:13:14" + }, + "scope": 3294, + "src": "6819:166:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2719, + "nodeType": "Block", + "src": "7136:68:14", + "statements": [ + { + "AST": { + "nativeSrc": "7155:43:14", + "nodeType": "YulBlock", + "src": "7155:43:14", + "statements": [ + { + "nativeSrc": "7169:19:14", + "nodeType": "YulAssignment", + "src": "7169:19:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "7184:3:14", + "nodeType": "YulIdentifier", + "src": "7184:3:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7178:5:14", + "nodeType": "YulIdentifier", + "src": "7178:5:14" + }, + "nativeSrc": "7178:10:14", + "nodeType": "YulFunctionCall", + "src": "7178:10:14" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "7169:5:14", + "nodeType": "YulIdentifier", + "src": "7169:5:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2713, + "isOffset": false, + "isSlot": false, + "src": "7184:3:14", + "valueSize": 1 + }, + { + "declaration": 2716, + "isOffset": false, + "isSlot": false, + "src": "7169:5:14", + "valueSize": 1 + } + ], + "id": 2718, + "nodeType": "InlineAssembly", + "src": "7146:52:14" + } + ] + }, + "documentation": { + "id": 2711, + "nodeType": "StructuredDocumentation", + "src": "6991:74:14", + "text": " @dev Load memory word (as a uint256) at location `ptr`." + }, + "id": 2720, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mload", + "nameLocation": "7079:6:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2713, + "mutability": "mutable", + "name": "ptr", + "nameLocation": "7094:3:14", + "nodeType": "VariableDeclaration", + "scope": 2720, + "src": "7086:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2712, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7086:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7085:13:14" + }, + "returnParameters": { + "id": 2717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2716, + "mutability": "mutable", + "name": "value", + "nameLocation": "7129:5:14", + "nodeType": "VariableDeclaration", + "scope": 2720, + "src": "7121:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2715, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7121:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7120:15:14" + }, + "scope": 3294, + "src": "7070:134:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2729, + "nodeType": "Block", + "src": "7348:178:14", + "statements": [ + { + "AST": { + "nativeSrc": "7367:153:14", + "nodeType": "YulBlock", + "src": "7367:153:14", + "statements": [ + { + "nativeSrc": "7381:25:14", + "nodeType": "YulVariableDeclaration", + "src": "7381:25:14", + "value": { + "arguments": [ + { + "name": "ptr1", + "nativeSrc": "7401:4:14", + "nodeType": "YulIdentifier", + "src": "7401:4:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7395:5:14", + "nodeType": "YulIdentifier", + "src": "7395:5:14" + }, + "nativeSrc": "7395:11:14", + "nodeType": "YulFunctionCall", + "src": "7395:11:14" + }, + "variables": [ + { + "name": "value1", + "nativeSrc": "7385:6:14", + "nodeType": "YulTypedName", + "src": "7385:6:14", + "type": "" + } + ] + }, + { + "nativeSrc": "7419:25:14", + "nodeType": "YulVariableDeclaration", + "src": "7419:25:14", + "value": { + "arguments": [ + { + "name": "ptr2", + "nativeSrc": "7439:4:14", + "nodeType": "YulIdentifier", + "src": "7439:4:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7433:5:14", + "nodeType": "YulIdentifier", + "src": "7433:5:14" + }, + "nativeSrc": "7433:11:14", + "nodeType": "YulFunctionCall", + "src": "7433:11:14" + }, + "variables": [ + { + "name": "value2", + "nativeSrc": "7423:6:14", + "nodeType": "YulTypedName", + "src": "7423:6:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr1", + "nativeSrc": "7464:4:14", + "nodeType": "YulIdentifier", + "src": "7464:4:14" + }, + { + "name": "value2", + "nativeSrc": "7470:6:14", + "nodeType": "YulIdentifier", + "src": "7470:6:14" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7457:6:14", + "nodeType": "YulIdentifier", + "src": "7457:6:14" + }, + "nativeSrc": "7457:20:14", + "nodeType": "YulFunctionCall", + "src": "7457:20:14" + }, + "nativeSrc": "7457:20:14", + "nodeType": "YulExpressionStatement", + "src": "7457:20:14" + }, + { + "expression": { + "arguments": [ + { + "name": "ptr2", + "nativeSrc": "7497:4:14", + "nodeType": "YulIdentifier", + "src": "7497:4:14" + }, + { + "name": "value1", + "nativeSrc": "7503:6:14", + "nodeType": "YulIdentifier", + "src": "7503:6:14" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7490:6:14", + "nodeType": "YulIdentifier", + "src": "7490:6:14" + }, + "nativeSrc": "7490:20:14", + "nodeType": "YulFunctionCall", + "src": "7490:20:14" + }, + "nativeSrc": "7490:20:14", + "nodeType": "YulExpressionStatement", + "src": "7490:20:14" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2723, + "isOffset": false, + "isSlot": false, + "src": "7401:4:14", + "valueSize": 1 + }, + { + "declaration": 2723, + "isOffset": false, + "isSlot": false, + "src": "7464:4:14", + "valueSize": 1 + }, + { + "declaration": 2725, + "isOffset": false, + "isSlot": false, + "src": "7439:4:14", + "valueSize": 1 + }, + { + "declaration": 2725, + "isOffset": false, + "isSlot": false, + "src": "7497:4:14", + "valueSize": 1 + } + ], + "id": 2728, + "nodeType": "InlineAssembly", + "src": "7358:162:14" + } + ] + }, + "documentation": { + "id": 2721, + "nodeType": "StructuredDocumentation", + "src": "7210:77:14", + "text": " @dev Swaps the elements memory location `ptr1` and `ptr2`." + }, + "id": 2730, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_swap", + "nameLocation": "7301:5:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2723, + "mutability": "mutable", + "name": "ptr1", + "nameLocation": "7315:4:14", + "nodeType": "VariableDeclaration", + "scope": 2730, + "src": "7307:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7307:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2725, + "mutability": "mutable", + "name": "ptr2", + "nameLocation": "7329:4:14", + "nodeType": "VariableDeclaration", + "scope": 2730, + "src": "7321:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7321:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7306:28:14" + }, + "returnParameters": { + "id": 2727, + "nodeType": "ParameterList", + "parameters": [], + "src": "7348:0:14" + }, + "scope": 3294, + "src": "7292:234:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2741, + "nodeType": "Block", + "src": "7713:64:14", + "statements": [ + { + "AST": { + "nativeSrc": "7732:39:14", + "nodeType": "YulBlock", + "src": "7732:39:14", + "statements": [ + { + "nativeSrc": "7746:15:14", + "nodeType": "YulAssignment", + "src": "7746:15:14", + "value": { + "name": "input", + "nativeSrc": "7756:5:14", + "nodeType": "YulIdentifier", + "src": "7756:5:14" + }, + "variableNames": [ + { + "name": "output", + "nativeSrc": "7746:6:14", + "nodeType": "YulIdentifier", + "src": "7746:6:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2734, + "isOffset": false, + "isSlot": false, + "src": "7756:5:14", + "valueSize": 1 + }, + { + "declaration": 2738, + "isOffset": false, + "isSlot": false, + "src": "7746:6:14", + "valueSize": 1 + } + ], + "id": 2740, + "nodeType": "InlineAssembly", + "src": "7723:48:14" + } + ] + }, + "documentation": { + "id": 2731, + "nodeType": "StructuredDocumentation", + "src": "7532:76:14", + "text": "@dev Helper: low level cast address memory array to uint256 memory array" + }, + "id": 2742, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_castToUint256Array", + "nameLocation": "7622:19:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2734, + "mutability": "mutable", + "name": "input", + "nameLocation": "7659:5:14", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "7642:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7642:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2733, + "nodeType": "ArrayTypeName", + "src": "7642:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "7641:24:14" + }, + "returnParameters": { + "id": 2739, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2738, + "mutability": "mutable", + "name": "output", + "nameLocation": "7705:6:14", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "7688:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7688:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2737, + "nodeType": "ArrayTypeName", + "src": "7688:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "7687:25:14" + }, + "scope": 3294, + "src": "7613:164:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2753, + "nodeType": "Block", + "src": "7964:64:14", + "statements": [ + { + "AST": { + "nativeSrc": "7983:39:14", + "nodeType": "YulBlock", + "src": "7983:39:14", + "statements": [ + { + "nativeSrc": "7997:15:14", + "nodeType": "YulAssignment", + "src": "7997:15:14", + "value": { + "name": "input", + "nativeSrc": "8007:5:14", + "nodeType": "YulIdentifier", + "src": "8007:5:14" + }, + "variableNames": [ + { + "name": "output", + "nativeSrc": "7997:6:14", + "nodeType": "YulIdentifier", + "src": "7997:6:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2746, + "isOffset": false, + "isSlot": false, + "src": "8007:5:14", + "valueSize": 1 + }, + { + "declaration": 2750, + "isOffset": false, + "isSlot": false, + "src": "7997:6:14", + "valueSize": 1 + } + ], + "id": 2752, + "nodeType": "InlineAssembly", + "src": "7974:48:14" + } + ] + }, + "documentation": { + "id": 2743, + "nodeType": "StructuredDocumentation", + "src": "7783:76:14", + "text": "@dev Helper: low level cast bytes32 memory array to uint256 memory array" + }, + "id": 2754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_castToUint256Array", + "nameLocation": "7873:19:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2746, + "mutability": "mutable", + "name": "input", + "nameLocation": "7910:5:14", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "7893:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2744, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7893:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2745, + "nodeType": "ArrayTypeName", + "src": "7893:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "7892:24:14" + }, + "returnParameters": { + "id": 2751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2750, + "mutability": "mutable", + "name": "output", + "nameLocation": "7956:6:14", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "7939:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2748, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7939:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2749, + "nodeType": "ArrayTypeName", + "src": "7939:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "7938:25:14" + }, + "scope": 3294, + "src": "7864:164:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2779, + "nodeType": "Block", + "src": "8290:64:14", + "statements": [ + { + "AST": { + "nativeSrc": "8309:39:14", + "nodeType": "YulBlock", + "src": "8309:39:14", + "statements": [ + { + "nativeSrc": "8323:15:14", + "nodeType": "YulAssignment", + "src": "8323:15:14", + "value": { + "name": "input", + "nativeSrc": "8333:5:14", + "nodeType": "YulIdentifier", + "src": "8333:5:14" + }, + "variableNames": [ + { + "name": "output", + "nativeSrc": "8323:6:14", + "nodeType": "YulIdentifier", + "src": "8323:6:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2765, + "isOffset": false, + "isSlot": false, + "src": "8333:5:14", + "valueSize": 1 + }, + { + "declaration": 2776, + "isOffset": false, + "isSlot": false, + "src": "8323:6:14", + "valueSize": 1 + } + ], + "id": 2778, + "nodeType": "InlineAssembly", + "src": "8300:48:14" + } + ] + }, + "documentation": { + "id": 2755, + "nodeType": "StructuredDocumentation", + "src": "8034:78:14", + "text": "@dev Helper: low level cast address comp function to uint256 comp function" + }, + "id": 2780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_castToUint256Comp", + "nameLocation": "8126:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2765, + "mutability": "mutable", + "name": "input", + "nameLocation": "8201:5:14", + "nodeType": "VariableDeclaration", + "scope": 2780, + "src": "8154:52:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + }, + "typeName": { + "id": 2764, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2757, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "8163:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2756, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8163:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2759, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "8172:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8172:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8162:18:14" + }, + "returnParameterTypes": { + "id": 2763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2762, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "8195:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2761, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8195:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8194:6:14" + }, + "src": "8154:52:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "8144:68:14" + }, + "returnParameters": { + "id": 2777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2776, + "mutability": "mutable", + "name": "output", + "nameLocation": "8282:6:14", + "nodeType": "VariableDeclaration", + "scope": 2780, + "src": "8235:53:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "typeName": { + "id": 2775, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2768, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2775, + "src": "8244:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8244:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2770, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2775, + "src": "8253:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2769, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8253:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8243:18:14" + }, + "returnParameterTypes": { + "id": 2774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2773, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2775, + "src": "8276:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2772, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8276:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8275:6:14" + }, + "src": "8235:53:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "8234:55:14" + }, + "scope": 3294, + "src": "8117:237:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2805, + "nodeType": "Block", + "src": "8616:64:14", + "statements": [ + { + "AST": { + "nativeSrc": "8635:39:14", + "nodeType": "YulBlock", + "src": "8635:39:14", + "statements": [ + { + "nativeSrc": "8649:15:14", + "nodeType": "YulAssignment", + "src": "8649:15:14", + "value": { + "name": "input", + "nativeSrc": "8659:5:14", + "nodeType": "YulIdentifier", + "src": "8659:5:14" + }, + "variableNames": [ + { + "name": "output", + "nativeSrc": "8649:6:14", + "nodeType": "YulIdentifier", + "src": "8649:6:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2791, + "isOffset": false, + "isSlot": false, + "src": "8659:5:14", + "valueSize": 1 + }, + { + "declaration": 2802, + "isOffset": false, + "isSlot": false, + "src": "8649:6:14", + "valueSize": 1 + } + ], + "id": 2804, + "nodeType": "InlineAssembly", + "src": "8626:48:14" + } + ] + }, + "documentation": { + "id": 2781, + "nodeType": "StructuredDocumentation", + "src": "8360:78:14", + "text": "@dev Helper: low level cast bytes32 comp function to uint256 comp function" + }, + "id": 2806, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_castToUint256Comp", + "nameLocation": "8452:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2791, + "mutability": "mutable", + "name": "input", + "nameLocation": "8527:5:14", + "nodeType": "VariableDeclaration", + "scope": 2806, + "src": "8480:52:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes32) pure returns (bool)" + }, + "typeName": { + "id": 2790, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2783, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2790, + "src": "8489:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8489:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2790, + "src": "8498:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2784, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8498:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8488:18:14" + }, + "returnParameterTypes": { + "id": 2789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2788, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2790, + "src": "8521:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2787, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8521:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8520:6:14" + }, + "src": "8480:52:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes32) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "8470:68:14" + }, + "returnParameters": { + "id": 2803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2802, + "mutability": "mutable", + "name": "output", + "nameLocation": "8608:6:14", + "nodeType": "VariableDeclaration", + "scope": 2806, + "src": "8561:53:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "typeName": { + "id": 2801, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 2797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2794, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "8570:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2793, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8570:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2796, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "8579:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2795, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8579:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8569:18:14" + }, + "returnParameterTypes": { + "id": 2800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2799, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "8602:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8602:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8601:6:14" + }, + "src": "8561:53:14", + "stateMutability": "pure", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "8560:55:14" + }, + "scope": 3294, + "src": "8443:237:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2888, + "nodeType": "Block", + "src": "9405:834:14", + "statements": [ + { + "assignments": [ + 2818 + ], + "declarations": [ + { + "constant": false, + "id": 2818, + "mutability": "mutable", + "name": "low", + "nameLocation": "9423:3:14", + "nodeType": "VariableDeclaration", + "scope": 2888, + "src": "9415:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9415:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2820, + "initialValue": { + "hexValue": "30", + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9429:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9415:15:14" + }, + { + "assignments": [ + 2822 + ], + "declarations": [ + { + "constant": false, + "id": 2822, + "mutability": "mutable", + "name": "high", + "nameLocation": "9448:4:14", + "nodeType": "VariableDeclaration", + "scope": 2888, + "src": "9440:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9440:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2825, + "initialValue": { + "expression": { + "id": 2823, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2810, + "src": "9455:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + "id": 2824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9461:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9455:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9440:27:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2826, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "9482:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9490:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9482:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2832, + "nodeType": "IfStatement", + "src": "9478:48:14", + "trueBody": { + "id": 2831, + "nodeType": "Block", + "src": "9493:33:14", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 2829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9514:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 2816, + "id": 2830, + "nodeType": "Return", + "src": "9507:8:14" + } + ] + } + }, + { + "body": { + "id": 2864, + "nodeType": "Block", + "src": "9555:423:14", + "statements": [ + { + "assignments": [ + 2837 + ], + "declarations": [ + { + "constant": false, + "id": 2837, + "mutability": "mutable", + "name": "mid", + "nameLocation": "9577:3:14", + "nodeType": "VariableDeclaration", + "scope": 2864, + "src": "9569:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2836, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9569:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2843, + "initialValue": { + "arguments": [ + { + "id": 2840, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "9596:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2841, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "9601:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2838, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "9583:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 2839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9588:7:14", + "memberName": "average", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "9583:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9583:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9569:37:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2845, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2810, + "src": "9844:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + { + "id": 2846, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "9851:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2844, + "name": "unsafeAccess", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3169, + 3195, + 3221 + ], + "referencedDeclaration": 3221, + "src": "9831:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$3838_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)" + } + }, + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9831:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot storage pointer" + } + }, + "id": 2848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9856:5:14", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3837, + "src": "9831:30:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2849, + "name": "element", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "9864:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9831:40:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2862, + "nodeType": "Block", + "src": "9922:46:14", + "statements": [ + { + "expression": { + "id": 2860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2856, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "9940:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2857, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "9946:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9952:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9946:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9940:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2861, + "nodeType": "ExpressionStatement", + "src": "9940:13:14" + } + ] + }, + "id": 2863, + "nodeType": "IfStatement", + "src": "9827:141:14", + "trueBody": { + "id": 2855, + "nodeType": "Block", + "src": "9873:43:14", + "statements": [ + { + "expression": { + "id": 2853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2851, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "9891:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2852, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "9898:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9891:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2854, + "nodeType": "ExpressionStatement", + "src": "9891:10:14" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2833, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "9543:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2834, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "9549:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9543:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2865, + "nodeType": "WhileStatement", + "src": "9536:442:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2866, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "10095:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10101:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10095:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2870, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2810, + "src": "10119:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2871, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "10126:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 2872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10132:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10126:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2869, + "name": "unsafeAccess", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3169, + 3195, + 3221 + ], + "referencedDeclaration": 3221, + "src": "10106:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$3838_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)" + } + }, + "id": 2874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10106:28:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot storage pointer" + } + }, + "id": 2875, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10135:5:14", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3837, + "src": "10106:34:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2876, + "name": "element", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "10144:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10106:45:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10095:56:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2886, + "nodeType": "Block", + "src": "10198:35:14", + "statements": [ + { + "expression": { + "id": 2884, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "10219:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2816, + "id": 2885, + "nodeType": "Return", + "src": "10212:10:14" + } + ] + }, + "id": 2887, + "nodeType": "IfStatement", + "src": "10091:142:14", + "trueBody": { + "id": 2883, + "nodeType": "Block", + "src": "10153:39:14", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2879, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "10174:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 2880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10180:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10174:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2816, + "id": 2882, + "nodeType": "Return", + "src": "10167:14:14" + } + ] + } + } + ] + }, + "documentation": { + "id": 2807, + "nodeType": "StructuredDocumentation", + "src": "8686:616:14", + "text": " @dev Searches a sorted `array` and returns the first index that contains\n a value greater or equal to `element`. If no such index exists (i.e. all\n values in the array are strictly less than `element`), the array length is\n returned. Time complexity O(log n).\n NOTE: The `array` is expected to be sorted in ascending order, and to\n contain no repeated elements.\n IMPORTANT: Deprecated. This implementation behaves as {lowerBound} but lacks\n support for repeated elements in the array. The {lowerBound} function should\n be used instead." + }, + "id": 2889, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "findUpperBound", + "nameLocation": "9316:14:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2810, + "mutability": "mutable", + "name": "array", + "nameLocation": "9349:5:14", + "nodeType": "VariableDeclaration", + "scope": 2889, + "src": "9331:23:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9331:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2809, + "nodeType": "ArrayTypeName", + "src": "9331:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2812, + "mutability": "mutable", + "name": "element", + "nameLocation": "9364:7:14", + "nodeType": "VariableDeclaration", + "scope": 2889, + "src": "9356:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2811, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9356:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9330:42:14" + }, + "returnParameters": { + "id": 2816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2815, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2889, + "src": "9396:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9396:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9395:9:14" + }, + "scope": 3294, + "src": "9307:932:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2952, + "nodeType": "Block", + "src": "10756:709:14", + "statements": [ + { + "assignments": [ + 2901 + ], + "declarations": [ + { + "constant": false, + "id": 2901, + "mutability": "mutable", + "name": "low", + "nameLocation": "10774:3:14", + "nodeType": "VariableDeclaration", + "scope": 2952, + "src": "10766:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10766:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2903, + "initialValue": { + "hexValue": "30", + "id": 2902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10780:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10766:15:14" + }, + { + "assignments": [ + 2905 + ], + "declarations": [ + { + "constant": false, + "id": 2905, + "mutability": "mutable", + "name": "high", + "nameLocation": "10799:4:14", + "nodeType": "VariableDeclaration", + "scope": 2952, + "src": "10791:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10791:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2908, + "initialValue": { + "expression": { + "id": 2906, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10806:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + "id": 2907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10812:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10806:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10791:27:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2909, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "10833:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10841:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10833:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2915, + "nodeType": "IfStatement", + "src": "10829:48:14", + "trueBody": { + "id": 2914, + "nodeType": "Block", + "src": "10844:33:14", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 2912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10865:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 2899, + "id": 2913, + "nodeType": "Return", + "src": "10858:8:14" + } + ] + } + }, + { + "body": { + "id": 2948, + "nodeType": "Block", + "src": "10906:532:14", + "statements": [ + { + "assignments": [ + 2920 + ], + "declarations": [ + { + "constant": false, + "id": 2920, + "mutability": "mutable", + "name": "mid", + "nameLocation": "10928:3:14", + "nodeType": "VariableDeclaration", + "scope": 2948, + "src": "10920:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10920:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2926, + "initialValue": { + "arguments": [ + { + "id": 2923, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2901, + "src": "10947:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2924, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "10952:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2921, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "10934:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 2922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10939:7:14", + "memberName": "average", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "10934:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10934:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10920:37:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2928, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "11195:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + { + "id": 2929, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2920, + "src": "11202:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2927, + "name": "unsafeAccess", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3169, + 3195, + 3221 + ], + "referencedDeclaration": 3221, + "src": "11182:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$3838_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)" + } + }, + "id": 2930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11182:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot storage pointer" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11207:5:14", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3837, + "src": "11182:30:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2932, + "name": "element", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "11215:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11182:40:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2946, + "nodeType": "Block", + "src": "11385:43:14", + "statements": [ + { + "expression": { + "id": 2944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2942, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "11403:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2943, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2920, + "src": "11410:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11403:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2945, + "nodeType": "ExpressionStatement", + "src": "11403:10:14" + } + ] + }, + "id": 2947, + "nodeType": "IfStatement", + "src": "11178:250:14", + "trueBody": { + "id": 2941, + "nodeType": "Block", + "src": "11224:155:14", + "statements": [ + { + "id": 2940, + "nodeType": "UncheckedBlock", + "src": "11301:64:14", + "statements": [ + { + "expression": { + "id": 2938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2934, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2901, + "src": "11333:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2935, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2920, + "src": "11339:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11345:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11339:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11333:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2939, + "nodeType": "ExpressionStatement", + "src": "11333:13:14" + } + ] + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2916, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2901, + "src": "10894:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2917, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "10900:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10894:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2949, + "nodeType": "WhileStatement", + "src": "10887:551:14" + }, + { + "expression": { + "id": 2950, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2901, + "src": "11455:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2899, + "id": 2951, + "nodeType": "Return", + "src": "11448:10:14" + } + ] + }, + "documentation": { + "id": 2890, + "nodeType": "StructuredDocumentation", + "src": "10245:412:14", + "text": " @dev Searches an `array` sorted in ascending order and returns the first\n index that contains a value greater or equal than `element`. If no such index\n exists (i.e. all values in the array are strictly less than `element`), the array\n length is returned. Time complexity O(log n).\n See C++'s https://en.cppreference.com/w/cpp/algorithm/lower_bound[lower_bound]." + }, + "id": 2953, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "lowerBound", + "nameLocation": "10671:10:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2893, + "mutability": "mutable", + "name": "array", + "nameLocation": "10700:5:14", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "10682:23:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2891, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10682:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2892, + "nodeType": "ArrayTypeName", + "src": "10682:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2895, + "mutability": "mutable", + "name": "element", + "nameLocation": "10715:7:14", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "10707:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2894, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10707:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10681:42:14" + }, + "returnParameters": { + "id": 2899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2898, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "10747:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10747:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10746:9:14" + }, + "scope": 3294, + "src": "10662:803:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3016, + "nodeType": "Block", + "src": "11982:709:14", + "statements": [ + { + "assignments": [ + 2965 + ], + "declarations": [ + { + "constant": false, + "id": 2965, + "mutability": "mutable", + "name": "low", + "nameLocation": "12000:3:14", + "nodeType": "VariableDeclaration", + "scope": 3016, + "src": "11992:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11992:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2967, + "initialValue": { + "hexValue": "30", + "id": 2966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12006:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11992:15:14" + }, + { + "assignments": [ + 2969 + ], + "declarations": [ + { + "constant": false, + "id": 2969, + "mutability": "mutable", + "name": "high", + "nameLocation": "12025:4:14", + "nodeType": "VariableDeclaration", + "scope": 3016, + "src": "12017:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12017:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2972, + "initialValue": { + "expression": { + "id": 2970, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2957, + "src": "12032:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + "id": 2971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12038:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12032:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12017:27:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2973, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "12059:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12067:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12059:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2979, + "nodeType": "IfStatement", + "src": "12055:48:14", + "trueBody": { + "id": 2978, + "nodeType": "Block", + "src": "12070:33:14", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12091:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 2963, + "id": 2977, + "nodeType": "Return", + "src": "12084:8:14" + } + ] + } + }, + { + "body": { + "id": 3012, + "nodeType": "Block", + "src": "12132:532:14", + "statements": [ + { + "assignments": [ + 2984 + ], + "declarations": [ + { + "constant": false, + "id": 2984, + "mutability": "mutable", + "name": "mid", + "nameLocation": "12154:3:14", + "nodeType": "VariableDeclaration", + "scope": 3012, + "src": "12146:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12146:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2990, + "initialValue": { + "arguments": [ + { + "id": 2987, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "12173:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2988, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "12178:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2985, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "12160:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 2986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12165:7:14", + "memberName": "average", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "12160:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12160:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12146:37:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2992, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2957, + "src": "12421:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + } + }, + { + "id": 2993, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2984, + "src": "12428:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[] storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2991, + "name": "unsafeAccess", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3169, + 3195, + 3221 + ], + "referencedDeclaration": 3221, + "src": "12408:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$3838_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)" + } + }, + "id": 2994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12408:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot storage pointer" + } + }, + "id": 2995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12433:5:14", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3837, + "src": "12408:30:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2996, + "name": "element", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2959, + "src": "12441:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12408:40:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3010, + "nodeType": "Block", + "src": "12499:155:14", + "statements": [ + { + "id": 3009, + "nodeType": "UncheckedBlock", + "src": "12576:64:14", + "statements": [ + { + "expression": { + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3003, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "12608:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3004, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2984, + "src": "12614:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12620:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12614:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12608:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3008, + "nodeType": "ExpressionStatement", + "src": "12608:13:14" + } + ] + } + ] + }, + "id": 3011, + "nodeType": "IfStatement", + "src": "12404:250:14", + "trueBody": { + "id": 3002, + "nodeType": "Block", + "src": "12450:43:14", + "statements": [ + { + "expression": { + "id": 3000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2998, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "12468:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2999, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2984, + "src": "12475:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12468:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3001, + "nodeType": "ExpressionStatement", + "src": "12468:10:14" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2980, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "12120:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2981, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "12126:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12120:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3013, + "nodeType": "WhileStatement", + "src": "12113:551:14" + }, + { + "expression": { + "id": 3014, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "12681:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2963, + "id": 3015, + "nodeType": "Return", + "src": "12674:10:14" + } + ] + }, + "documentation": { + "id": 2954, + "nodeType": "StructuredDocumentation", + "src": "11471:412:14", + "text": " @dev Searches an `array` sorted in ascending order and returns the first\n index that contains a value strictly greater than `element`. If no such index\n exists (i.e. all values in the array are strictly less than `element`), the array\n length is returned. Time complexity O(log n).\n See C++'s https://en.cppreference.com/w/cpp/algorithm/upper_bound[upper_bound]." + }, + "id": 3017, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "upperBound", + "nameLocation": "11897:10:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2957, + "mutability": "mutable", + "name": "array", + "nameLocation": "11926:5:14", + "nodeType": "VariableDeclaration", + "scope": 3017, + "src": "11908:23:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11908:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2956, + "nodeType": "ArrayTypeName", + "src": "11908:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2959, + "mutability": "mutable", + "name": "element", + "nameLocation": "11941:7:14", + "nodeType": "VariableDeclaration", + "scope": 3017, + "src": "11933:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11933:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11907:42:14" + }, + "returnParameters": { + "id": 2963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2962, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3017, + "src": "11973:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11973:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11972:9:14" + }, + "scope": 3294, + "src": "11888:803:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3079, + "nodeType": "Block", + "src": "12875:709:14", + "statements": [ + { + "assignments": [ + 3029 + ], + "declarations": [ + { + "constant": false, + "id": 3029, + "mutability": "mutable", + "name": "low", + "nameLocation": "12893:3:14", + "nodeType": "VariableDeclaration", + "scope": 3079, + "src": "12885:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3028, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12885:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3031, + "initialValue": { + "hexValue": "30", + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12899:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12885:15:14" + }, + { + "assignments": [ + 3033 + ], + "declarations": [ + { + "constant": false, + "id": 3033, + "mutability": "mutable", + "name": "high", + "nameLocation": "12918:4:14", + "nodeType": "VariableDeclaration", + "scope": 3079, + "src": "12910:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3032, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12910:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3036, + "initialValue": { + "expression": { + "id": 3034, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3021, + "src": "12925:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12931:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12925:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12910:27:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3037, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3033, + "src": "12952:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12960:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12952:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3043, + "nodeType": "IfStatement", + "src": "12948:48:14", + "trueBody": { + "id": 3042, + "nodeType": "Block", + "src": "12963:33:14", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12984:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3027, + "id": 3041, + "nodeType": "Return", + "src": "12977:8:14" + } + ] + } + }, + { + "body": { + "id": 3075, + "nodeType": "Block", + "src": "13025:532:14", + "statements": [ + { + "assignments": [ + 3048 + ], + "declarations": [ + { + "constant": false, + "id": 3048, + "mutability": "mutable", + "name": "mid", + "nameLocation": "13047:3:14", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "13039:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13039:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3054, + "initialValue": { + "arguments": [ + { + "id": 3051, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3029, + "src": "13066:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3052, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3033, + "src": "13071:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3049, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "13053:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13058:7:14", + "memberName": "average", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "13053:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13053:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13039:37:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3056, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3021, + "src": "13320:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 3057, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3048, + "src": "13327:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3055, + "name": "unsafeMemoryAccess", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3234, + 3247, + 3260 + ], + "referencedDeclaration": 3260, + "src": "13301:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 3058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13301:30:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3059, + "name": "element", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "13334:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13301:40:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3073, + "nodeType": "Block", + "src": "13504:43:14", + "statements": [ + { + "expression": { + "id": 3071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3069, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3033, + "src": "13522:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3070, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3048, + "src": "13529:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13522:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3072, + "nodeType": "ExpressionStatement", + "src": "13522:10:14" + } + ] + }, + "id": 3074, + "nodeType": "IfStatement", + "src": "13297:250:14", + "trueBody": { + "id": 3068, + "nodeType": "Block", + "src": "13343:155:14", + "statements": [ + { + "id": 3067, + "nodeType": "UncheckedBlock", + "src": "13420:64:14", + "statements": [ + { + "expression": { + "id": 3065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3061, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3029, + "src": "13452:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3062, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3048, + "src": "13458:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13464:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13458:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13452:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3066, + "nodeType": "ExpressionStatement", + "src": "13452:13:14" + } + ] + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3044, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3029, + "src": "13013:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3045, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3033, + "src": "13019:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13013:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3076, + "nodeType": "WhileStatement", + "src": "13006:551:14" + }, + { + "expression": { + "id": 3077, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3029, + "src": "13574:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3027, + "id": 3078, + "nodeType": "Return", + "src": "13567:10:14" + } + ] + }, + "documentation": { + "id": 3018, + "nodeType": "StructuredDocumentation", + "src": "12697:74:14", + "text": " @dev Same as {lowerBound}, but with an array in memory." + }, + "id": 3080, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "lowerBoundMemory", + "nameLocation": "12785:16:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3021, + "mutability": "mutable", + "name": "array", + "nameLocation": "12819:5:14", + "nodeType": "VariableDeclaration", + "scope": 3080, + "src": "12802:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12802:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3020, + "nodeType": "ArrayTypeName", + "src": "12802:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3023, + "mutability": "mutable", + "name": "element", + "nameLocation": "12834:7:14", + "nodeType": "VariableDeclaration", + "scope": 3080, + "src": "12826:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12826:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12801:41:14" + }, + "returnParameters": { + "id": 3027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3026, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3080, + "src": "12866:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12866:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12865:9:14" + }, + "scope": 3294, + "src": "12776:808:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3142, + "nodeType": "Block", + "src": "13768:709:14", + "statements": [ + { + "assignments": [ + 3092 + ], + "declarations": [ + { + "constant": false, + "id": 3092, + "mutability": "mutable", + "name": "low", + "nameLocation": "13786:3:14", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "13778:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13778:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3094, + "initialValue": { + "hexValue": "30", + "id": 3093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13792:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "13778:15:14" + }, + { + "assignments": [ + 3096 + ], + "declarations": [ + { + "constant": false, + "id": 3096, + "mutability": "mutable", + "name": "high", + "nameLocation": "13811:4:14", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "13803:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13803:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3099, + "initialValue": { + "expression": { + "id": 3097, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3084, + "src": "13818:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13824:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13818:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13803:27:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3100, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3096, + "src": "13845:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13853:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13845:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3106, + "nodeType": "IfStatement", + "src": "13841:48:14", + "trueBody": { + "id": 3105, + "nodeType": "Block", + "src": "13856:33:14", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 3103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13877:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3090, + "id": 3104, + "nodeType": "Return", + "src": "13870:8:14" + } + ] + } + }, + { + "body": { + "id": 3138, + "nodeType": "Block", + "src": "13918:532:14", + "statements": [ + { + "assignments": [ + 3111 + ], + "declarations": [ + { + "constant": false, + "id": 3111, + "mutability": "mutable", + "name": "mid", + "nameLocation": "13940:3:14", + "nodeType": "VariableDeclaration", + "scope": 3138, + "src": "13932:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13932:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3117, + "initialValue": { + "arguments": [ + { + "id": 3114, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3092, + "src": "13959:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3115, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3096, + "src": "13964:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3112, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "13946:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 3113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13951:7:14", + "memberName": "average", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "13946:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13946:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13932:37:14" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3119, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3084, + "src": "14213:5:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 3120, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3111, + "src": "14220:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3118, + "name": "unsafeMemoryAccess", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3234, + 3247, + 3260 + ], + "referencedDeclaration": 3260, + "src": "14194:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14194:30:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 3122, + "name": "element", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3086, + "src": "14227:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14194:40:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3136, + "nodeType": "Block", + "src": "14285:155:14", + "statements": [ + { + "id": 3135, + "nodeType": "UncheckedBlock", + "src": "14362:64:14", + "statements": [ + { + "expression": { + "id": 3133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3129, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3092, + "src": "14394:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3130, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3111, + "src": "14400:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14406:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14400:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14394:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3134, + "nodeType": "ExpressionStatement", + "src": "14394:13:14" + } + ] + } + ] + }, + "id": 3137, + "nodeType": "IfStatement", + "src": "14190:250:14", + "trueBody": { + "id": 3128, + "nodeType": "Block", + "src": "14236:43:14", + "statements": [ + { + "expression": { + "id": 3126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3124, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3096, + "src": "14254:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3125, + "name": "mid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3111, + "src": "14261:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14254:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3127, + "nodeType": "ExpressionStatement", + "src": "14254:10:14" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3107, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3092, + "src": "13906:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3108, + "name": "high", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3096, + "src": "13912:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13906:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3139, + "nodeType": "WhileStatement", + "src": "13899:551:14" + }, + { + "expression": { + "id": 3140, + "name": "low", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3092, + "src": "14467:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3090, + "id": 3141, + "nodeType": "Return", + "src": "14460:10:14" + } + ] + }, + "documentation": { + "id": 3081, + "nodeType": "StructuredDocumentation", + "src": "13590:74:14", + "text": " @dev Same as {upperBound}, but with an array in memory." + }, + "id": 3143, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "upperBoundMemory", + "nameLocation": "13678:16:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3084, + "mutability": "mutable", + "name": "array", + "nameLocation": "13712:5:14", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "13695:22:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3082, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13695:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3083, + "nodeType": "ArrayTypeName", + "src": "13695:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3086, + "mutability": "mutable", + "name": "element", + "nameLocation": "13727:7:14", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "13719:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13719:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13694:41:14" + }, + "returnParameters": { + "id": 3090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3089, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "13759:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13759:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13758:9:14" + }, + "scope": 3294, + "src": "13669:808:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3168, + "nodeType": "Block", + "src": "14793:167:14", + "statements": [ + { + "assignments": [ + 3156 + ], + "declarations": [ + { + "constant": false, + "id": 3156, + "mutability": "mutable", + "name": "slot", + "nameLocation": "14811:4:14", + "nodeType": "VariableDeclaration", + "scope": 3168, + "src": "14803:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3155, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14803:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3157, + "nodeType": "VariableDeclarationStatement", + "src": "14803:12:14" + }, + { + "AST": { + "nativeSrc": "14850:40:14", + "nodeType": "YulBlock", + "src": "14850:40:14", + "statements": [ + { + "nativeSrc": "14864:16:14", + "nodeType": "YulAssignment", + "src": "14864:16:14", + "value": { + "name": "arr.slot", + "nativeSrc": "14872:8:14", + "nodeType": "YulIdentifier", + "src": "14872:8:14" + }, + "variableNames": [ + { + "name": "slot", + "nativeSrc": "14864:4:14", + "nodeType": "YulIdentifier", + "src": "14864:4:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3147, + "isOffset": false, + "isSlot": true, + "src": "14872:8:14", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3156, + "isOffset": false, + "isSlot": false, + "src": "14864:4:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3158, + "nodeType": "InlineAssembly", + "src": "14825:65:14" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 3163, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "14932:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3159, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "14906:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14911:11:14", + "memberName": "deriveArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 3738, + "src": "14906:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (bytes32)" + } + }, + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14906:18:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14925:6:14", + "memberName": "offset", + "nodeType": "MemberAccess", + "referencedDeclaration": 3728, + "src": "14906:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32,uint256) pure returns (bytes32)" + } + }, + "id": 3164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14906:30:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14937:14:14", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 3858, + "src": "14906:45:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$3829_storage_ptr_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 3166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14906:47:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$3829_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "functionReturnParameters": 3154, + "id": 3167, + "nodeType": "Return", + "src": "14899:54:14" + } + ] + }, + "documentation": { + "id": 3144, + "nodeType": "StructuredDocumentation", + "src": "14483:191:14", + "text": " @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length." + }, + "id": 3169, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeAccess", + "nameLocation": "14688:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3147, + "mutability": "mutable", + "name": "arr", + "nameLocation": "14719:3:14", + "nodeType": "VariableDeclaration", + "scope": 3169, + "src": "14701:21:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14701:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3146, + "nodeType": "ArrayTypeName", + "src": "14701:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3149, + "mutability": "mutable", + "name": "pos", + "nameLocation": "14732:3:14", + "nodeType": "VariableDeclaration", + "scope": 3169, + "src": "14724:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14724:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14700:36:14" + }, + "returnParameters": { + "id": 3154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3153, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3169, + "src": "14760:31:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$3829_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + }, + "typeName": { + "id": 3152, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3151, + "name": "StorageSlot.AddressSlot", + "nameLocations": [ + "14760:11:14", + "14772:11:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3829, + "src": "14760:23:14" + }, + "referencedDeclaration": 3829, + "src": "14760:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$3829_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + } + }, + "visibility": "internal" + } + ], + "src": "14759:33:14" + }, + "scope": 3294, + "src": "14679:281:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3194, + "nodeType": "Block", + "src": "15276:167:14", + "statements": [ + { + "assignments": [ + 3182 + ], + "declarations": [ + { + "constant": false, + "id": 3182, + "mutability": "mutable", + "name": "slot", + "nameLocation": "15294:4:14", + "nodeType": "VariableDeclaration", + "scope": 3194, + "src": "15286:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15286:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3183, + "nodeType": "VariableDeclarationStatement", + "src": "15286:12:14" + }, + { + "AST": { + "nativeSrc": "15333:40:14", + "nodeType": "YulBlock", + "src": "15333:40:14", + "statements": [ + { + "nativeSrc": "15347:16:14", + "nodeType": "YulAssignment", + "src": "15347:16:14", + "value": { + "name": "arr.slot", + "nativeSrc": "15355:8:14", + "nodeType": "YulIdentifier", + "src": "15355:8:14" + }, + "variableNames": [ + { + "name": "slot", + "nativeSrc": "15347:4:14", + "nodeType": "YulIdentifier", + "src": "15347:4:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3173, + "isOffset": false, + "isSlot": true, + "src": "15355:8:14", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3182, + "isOffset": false, + "isSlot": false, + "src": "15347:4:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3184, + "nodeType": "InlineAssembly", + "src": "15308:65:14" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 3189, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3175, + "src": "15415:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3185, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3182, + "src": "15389:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15394:11:14", + "memberName": "deriveArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 3738, + "src": "15389:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (bytes32)" + } + }, + "id": 3187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15389:18:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15408:6:14", + "memberName": "offset", + "nodeType": "MemberAccess", + "referencedDeclaration": 3728, + "src": "15389:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32,uint256) pure returns (bytes32)" + } + }, + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15389:30:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15420:14:14", + "memberName": "getBytes32Slot", + "nodeType": "MemberAccess", + "referencedDeclaration": 3880, + "src": "15389:45:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Bytes32Slot_$3835_storage_ptr_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.Bytes32Slot storage pointer)" + } + }, + "id": 3192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15389:47:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$3835_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot storage pointer" + } + }, + "functionReturnParameters": 3180, + "id": 3193, + "nodeType": "Return", + "src": "15382:54:14" + } + ] + }, + "documentation": { + "id": 3170, + "nodeType": "StructuredDocumentation", + "src": "14966:191:14", + "text": " @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length." + }, + "id": 3195, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeAccess", + "nameLocation": "15171:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3173, + "mutability": "mutable", + "name": "arr", + "nameLocation": "15202:3:14", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "15184:21:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3171, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15184:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3172, + "nodeType": "ArrayTypeName", + "src": "15184:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3175, + "mutability": "mutable", + "name": "pos", + "nameLocation": "15215:3:14", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "15207:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15207:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15183:36:14" + }, + "returnParameters": { + "id": 3180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3179, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "15243:31:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$3835_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + }, + "typeName": { + "id": 3178, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3177, + "name": "StorageSlot.Bytes32Slot", + "nameLocations": [ + "15243:11:14", + "15255:11:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3835, + "src": "15243:23:14" + }, + "referencedDeclaration": 3835, + "src": "15243:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$3835_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + } + }, + "visibility": "internal" + } + ], + "src": "15242:33:14" + }, + "scope": 3294, + "src": "15162:281:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3220, + "nodeType": "Block", + "src": "15759:167:14", + "statements": [ + { + "assignments": [ + 3208 + ], + "declarations": [ + { + "constant": false, + "id": 3208, + "mutability": "mutable", + "name": "slot", + "nameLocation": "15777:4:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "15769:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3207, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15769:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3209, + "nodeType": "VariableDeclarationStatement", + "src": "15769:12:14" + }, + { + "AST": { + "nativeSrc": "15816:40:14", + "nodeType": "YulBlock", + "src": "15816:40:14", + "statements": [ + { + "nativeSrc": "15830:16:14", + "nodeType": "YulAssignment", + "src": "15830:16:14", + "value": { + "name": "arr.slot", + "nativeSrc": "15838:8:14", + "nodeType": "YulIdentifier", + "src": "15838:8:14" + }, + "variableNames": [ + { + "name": "slot", + "nativeSrc": "15830:4:14", + "nodeType": "YulIdentifier", + "src": "15830:4:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3199, + "isOffset": false, + "isSlot": true, + "src": "15838:8:14", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3208, + "isOffset": false, + "isSlot": false, + "src": "15830:4:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3210, + "nodeType": "InlineAssembly", + "src": "15791:65:14" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 3215, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3201, + "src": "15898:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3211, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3208, + "src": "15872:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15877:11:14", + "memberName": "deriveArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 3738, + "src": "15872:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (bytes32)" + } + }, + "id": 3213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15872:18:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15891:6:14", + "memberName": "offset", + "nodeType": "MemberAccess", + "referencedDeclaration": 3728, + "src": "15872:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32,uint256) pure returns (bytes32)" + } + }, + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15872:30:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15903:14:14", + "memberName": "getUint256Slot", + "nodeType": "MemberAccess", + "referencedDeclaration": 3891, + "src": "15872:45:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$3838_storage_ptr_$attached_to$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)" + } + }, + "id": 3218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15872:47:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot storage pointer" + } + }, + "functionReturnParameters": 3206, + "id": 3219, + "nodeType": "Return", + "src": "15865:54:14" + } + ] + }, + "documentation": { + "id": 3196, + "nodeType": "StructuredDocumentation", + "src": "15449:191:14", + "text": " @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length." + }, + "id": 3221, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeAccess", + "nameLocation": "15654:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3199, + "mutability": "mutable", + "name": "arr", + "nameLocation": "15685:3:14", + "nodeType": "VariableDeclaration", + "scope": 3221, + "src": "15667:21:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15667:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3198, + "nodeType": "ArrayTypeName", + "src": "15667:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3201, + "mutability": "mutable", + "name": "pos", + "nameLocation": "15698:3:14", + "nodeType": "VariableDeclaration", + "scope": 3221, + "src": "15690:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15690:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15666:36:14" + }, + "returnParameters": { + "id": 3206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3205, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3221, + "src": "15726:31:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + }, + "typeName": { + "id": 3204, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3203, + "name": "StorageSlot.Uint256Slot", + "nameLocations": [ + "15726:11:14", + "15738:11:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3838, + "src": "15726:23:14" + }, + "referencedDeclaration": 3838, + "src": "15726:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + } + }, + "visibility": "internal" + } + ], + "src": "15725:33:14" + }, + "scope": 3294, + "src": "15645:281:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3233, + "nodeType": "Block", + "src": "16227:98:14", + "statements": [ + { + "AST": { + "nativeSrc": "16246:73:14", + "nodeType": "YulBlock", + "src": "16246:73:14", + "statements": [ + { + "nativeSrc": "16260:49:14", + "nodeType": "YulAssignment", + "src": "16260:49:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "arr", + "nativeSrc": "16281:3:14", + "nodeType": "YulIdentifier", + "src": "16281:3:14" + }, + { + "kind": "number", + "nativeSrc": "16286:4:14", + "nodeType": "YulLiteral", + "src": "16286:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16277:3:14", + "nodeType": "YulIdentifier", + "src": "16277:3:14" + }, + "nativeSrc": "16277:14:14", + "nodeType": "YulFunctionCall", + "src": "16277:14:14" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16297:3:14", + "nodeType": "YulIdentifier", + "src": "16297:3:14" + }, + { + "kind": "number", + "nativeSrc": "16302:4:14", + "nodeType": "YulLiteral", + "src": "16302:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "16293:3:14", + "nodeType": "YulIdentifier", + "src": "16293:3:14" + }, + "nativeSrc": "16293:14:14", + "nodeType": "YulFunctionCall", + "src": "16293:14:14" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16273:3:14", + "nodeType": "YulIdentifier", + "src": "16273:3:14" + }, + "nativeSrc": "16273:35:14", + "nodeType": "YulFunctionCall", + "src": "16273:35:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "16267:5:14", + "nodeType": "YulIdentifier", + "src": "16267:5:14" + }, + "nativeSrc": "16267:42:14", + "nodeType": "YulFunctionCall", + "src": "16267:42:14" + }, + "variableNames": [ + { + "name": "res", + "nativeSrc": "16260:3:14", + "nodeType": "YulIdentifier", + "src": "16260:3:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3225, + "isOffset": false, + "isSlot": false, + "src": "16281:3:14", + "valueSize": 1 + }, + { + "declaration": 3227, + "isOffset": false, + "isSlot": false, + "src": "16297:3:14", + "valueSize": 1 + }, + { + "declaration": 3230, + "isOffset": false, + "isSlot": false, + "src": "16260:3:14", + "valueSize": 1 + } + ], + "id": 3232, + "nodeType": "InlineAssembly", + "src": "16237:82:14" + } + ] + }, + "documentation": { + "id": 3222, + "nodeType": "StructuredDocumentation", + "src": "15932:191:14", + "text": " @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length." + }, + "id": 3234, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeMemoryAccess", + "nameLocation": "16137:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3225, + "mutability": "mutable", + "name": "arr", + "nameLocation": "16173:3:14", + "nodeType": "VariableDeclaration", + "scope": 3234, + "src": "16156:20:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3223, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16156:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3224, + "nodeType": "ArrayTypeName", + "src": "16156:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3227, + "mutability": "mutable", + "name": "pos", + "nameLocation": "16186:3:14", + "nodeType": "VariableDeclaration", + "scope": 3234, + "src": "16178:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3226, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16178:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16155:35:14" + }, + "returnParameters": { + "id": 3231, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3230, + "mutability": "mutable", + "name": "res", + "nameLocation": "16222:3:14", + "nodeType": "VariableDeclaration", + "scope": 3234, + "src": "16214:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3229, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16214:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "16213:13:14" + }, + "scope": 3294, + "src": "16128:197:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3246, + "nodeType": "Block", + "src": "16626:98:14", + "statements": [ + { + "AST": { + "nativeSrc": "16645:73:14", + "nodeType": "YulBlock", + "src": "16645:73:14", + "statements": [ + { + "nativeSrc": "16659:49:14", + "nodeType": "YulAssignment", + "src": "16659:49:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "arr", + "nativeSrc": "16680:3:14", + "nodeType": "YulIdentifier", + "src": "16680:3:14" + }, + { + "kind": "number", + "nativeSrc": "16685:4:14", + "nodeType": "YulLiteral", + "src": "16685:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16676:3:14", + "nodeType": "YulIdentifier", + "src": "16676:3:14" + }, + "nativeSrc": "16676:14:14", + "nodeType": "YulFunctionCall", + "src": "16676:14:14" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16696:3:14", + "nodeType": "YulIdentifier", + "src": "16696:3:14" + }, + { + "kind": "number", + "nativeSrc": "16701:4:14", + "nodeType": "YulLiteral", + "src": "16701:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "16692:3:14", + "nodeType": "YulIdentifier", + "src": "16692:3:14" + }, + "nativeSrc": "16692:14:14", + "nodeType": "YulFunctionCall", + "src": "16692:14:14" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16672:3:14", + "nodeType": "YulIdentifier", + "src": "16672:3:14" + }, + "nativeSrc": "16672:35:14", + "nodeType": "YulFunctionCall", + "src": "16672:35:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "16666:5:14", + "nodeType": "YulIdentifier", + "src": "16666:5:14" + }, + "nativeSrc": "16666:42:14", + "nodeType": "YulFunctionCall", + "src": "16666:42:14" + }, + "variableNames": [ + { + "name": "res", + "nativeSrc": "16659:3:14", + "nodeType": "YulIdentifier", + "src": "16659:3:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3238, + "isOffset": false, + "isSlot": false, + "src": "16680:3:14", + "valueSize": 1 + }, + { + "declaration": 3240, + "isOffset": false, + "isSlot": false, + "src": "16696:3:14", + "valueSize": 1 + }, + { + "declaration": 3243, + "isOffset": false, + "isSlot": false, + "src": "16659:3:14", + "valueSize": 1 + } + ], + "id": 3245, + "nodeType": "InlineAssembly", + "src": "16636:82:14" + } + ] + }, + "documentation": { + "id": 3235, + "nodeType": "StructuredDocumentation", + "src": "16331:191:14", + "text": " @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length." + }, + "id": 3247, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeMemoryAccess", + "nameLocation": "16536:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3238, + "mutability": "mutable", + "name": "arr", + "nameLocation": "16572:3:14", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "16555:20:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3236, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16555:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3237, + "nodeType": "ArrayTypeName", + "src": "16555:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3240, + "mutability": "mutable", + "name": "pos", + "nameLocation": "16585:3:14", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "16577:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16577:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16554:35:14" + }, + "returnParameters": { + "id": 3244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3243, + "mutability": "mutable", + "name": "res", + "nameLocation": "16621:3:14", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "16613:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3242, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16613:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16612:13:14" + }, + "scope": 3294, + "src": "16527:197:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3259, + "nodeType": "Block", + "src": "17025:98:14", + "statements": [ + { + "AST": { + "nativeSrc": "17044:73:14", + "nodeType": "YulBlock", + "src": "17044:73:14", + "statements": [ + { + "nativeSrc": "17058:49:14", + "nodeType": "YulAssignment", + "src": "17058:49:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "arr", + "nativeSrc": "17079:3:14", + "nodeType": "YulIdentifier", + "src": "17079:3:14" + }, + { + "kind": "number", + "nativeSrc": "17084:4:14", + "nodeType": "YulLiteral", + "src": "17084:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17075:3:14", + "nodeType": "YulIdentifier", + "src": "17075:3:14" + }, + "nativeSrc": "17075:14:14", + "nodeType": "YulFunctionCall", + "src": "17075:14:14" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17095:3:14", + "nodeType": "YulIdentifier", + "src": "17095:3:14" + }, + { + "kind": "number", + "nativeSrc": "17100:4:14", + "nodeType": "YulLiteral", + "src": "17100:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "17091:3:14", + "nodeType": "YulIdentifier", + "src": "17091:3:14" + }, + "nativeSrc": "17091:14:14", + "nodeType": "YulFunctionCall", + "src": "17091:14:14" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17071:3:14", + "nodeType": "YulIdentifier", + "src": "17071:3:14" + }, + "nativeSrc": "17071:35:14", + "nodeType": "YulFunctionCall", + "src": "17071:35:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17065:5:14", + "nodeType": "YulIdentifier", + "src": "17065:5:14" + }, + "nativeSrc": "17065:42:14", + "nodeType": "YulFunctionCall", + "src": "17065:42:14" + }, + "variableNames": [ + { + "name": "res", + "nativeSrc": "17058:3:14", + "nodeType": "YulIdentifier", + "src": "17058:3:14" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3251, + "isOffset": false, + "isSlot": false, + "src": "17079:3:14", + "valueSize": 1 + }, + { + "declaration": 3253, + "isOffset": false, + "isSlot": false, + "src": "17095:3:14", + "valueSize": 1 + }, + { + "declaration": 3256, + "isOffset": false, + "isSlot": false, + "src": "17058:3:14", + "valueSize": 1 + } + ], + "id": 3258, + "nodeType": "InlineAssembly", + "src": "17035:82:14" + } + ] + }, + "documentation": { + "id": 3248, + "nodeType": "StructuredDocumentation", + "src": "16730:191:14", + "text": " @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length." + }, + "id": 3260, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeMemoryAccess", + "nameLocation": "16935:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3251, + "mutability": "mutable", + "name": "arr", + "nameLocation": "16971:3:14", + "nodeType": "VariableDeclaration", + "scope": 3260, + "src": "16954:20:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3249, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16954:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3250, + "nodeType": "ArrayTypeName", + "src": "16954:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3253, + "mutability": "mutable", + "name": "pos", + "nameLocation": "16984:3:14", + "nodeType": "VariableDeclaration", + "scope": 3260, + "src": "16976:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16976:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16953:35:14" + }, + "returnParameters": { + "id": 3257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3256, + "mutability": "mutable", + "name": "res", + "nameLocation": "17020:3:14", + "nodeType": "VariableDeclaration", + "scope": 3260, + "src": "17012:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17012:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17011:13:14" + }, + "scope": 3294, + "src": "16926:197:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3270, + "nodeType": "Block", + "src": "17440:88:14", + "statements": [ + { + "AST": { + "nativeSrc": "17475:47:14", + "nodeType": "YulBlock", + "src": "17475:47:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "array.slot", + "nativeSrc": "17496:10:14", + "nodeType": "YulIdentifier", + "src": "17496:10:14" + }, + { + "name": "len", + "nativeSrc": "17508:3:14", + "nodeType": "YulIdentifier", + "src": "17508:3:14" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "17489:6:14", + "nodeType": "YulIdentifier", + "src": "17489:6:14" + }, + "nativeSrc": "17489:23:14", + "nodeType": "YulFunctionCall", + "src": "17489:23:14" + }, + "nativeSrc": "17489:23:14", + "nodeType": "YulExpressionStatement", + "src": "17489:23:14" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3264, + "isOffset": false, + "isSlot": true, + "src": "17496:10:14", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3266, + "isOffset": false, + "isSlot": false, + "src": "17508:3:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3269, + "nodeType": "InlineAssembly", + "src": "17450:72:14" + } + ] + }, + "documentation": { + "id": 3261, + "nodeType": "StructuredDocumentation", + "src": "17129:234:14", + "text": " @dev Helper to set the length of an dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased." + }, + "id": 3271, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeSetLength", + "nameLocation": "17377:15:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3264, + "mutability": "mutable", + "name": "array", + "nameLocation": "17411:5:14", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "17393:23:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3262, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17393:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3263, + "nodeType": "ArrayTypeName", + "src": "17393:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3266, + "mutability": "mutable", + "name": "len", + "nameLocation": "17426:3:14", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "17418:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17418:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17392:38:14" + }, + "returnParameters": { + "id": 3268, + "nodeType": "ParameterList", + "parameters": [], + "src": "17440:0:14" + }, + "scope": 3294, + "src": "17368:160:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3281, + "nodeType": "Block", + "src": "17845:88:14", + "statements": [ + { + "AST": { + "nativeSrc": "17880:47:14", + "nodeType": "YulBlock", + "src": "17880:47:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "array.slot", + "nativeSrc": "17901:10:14", + "nodeType": "YulIdentifier", + "src": "17901:10:14" + }, + { + "name": "len", + "nativeSrc": "17913:3:14", + "nodeType": "YulIdentifier", + "src": "17913:3:14" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "17894:6:14", + "nodeType": "YulIdentifier", + "src": "17894:6:14" + }, + "nativeSrc": "17894:23:14", + "nodeType": "YulFunctionCall", + "src": "17894:23:14" + }, + "nativeSrc": "17894:23:14", + "nodeType": "YulExpressionStatement", + "src": "17894:23:14" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3275, + "isOffset": false, + "isSlot": true, + "src": "17901:10:14", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3277, + "isOffset": false, + "isSlot": false, + "src": "17913:3:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3280, + "nodeType": "InlineAssembly", + "src": "17855:72:14" + } + ] + }, + "documentation": { + "id": 3272, + "nodeType": "StructuredDocumentation", + "src": "17534:234:14", + "text": " @dev Helper to set the length of an dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased." + }, + "id": 3282, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeSetLength", + "nameLocation": "17782:15:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3275, + "mutability": "mutable", + "name": "array", + "nameLocation": "17816:5:14", + "nodeType": "VariableDeclaration", + "scope": 3282, + "src": "17798:23:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3273, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17798:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3274, + "nodeType": "ArrayTypeName", + "src": "17798:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3277, + "mutability": "mutable", + "name": "len", + "nameLocation": "17831:3:14", + "nodeType": "VariableDeclaration", + "scope": 3282, + "src": "17823:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17823:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17797:38:14" + }, + "returnParameters": { + "id": 3279, + "nodeType": "ParameterList", + "parameters": [], + "src": "17845:0:14" + }, + "scope": 3294, + "src": "17773:160:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3292, + "nodeType": "Block", + "src": "18250:88:14", + "statements": [ + { + "AST": { + "nativeSrc": "18285:47:14", + "nodeType": "YulBlock", + "src": "18285:47:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "array.slot", + "nativeSrc": "18306:10:14", + "nodeType": "YulIdentifier", + "src": "18306:10:14" + }, + { + "name": "len", + "nativeSrc": "18318:3:14", + "nodeType": "YulIdentifier", + "src": "18318:3:14" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "18299:6:14", + "nodeType": "YulIdentifier", + "src": "18299:6:14" + }, + "nativeSrc": "18299:23:14", + "nodeType": "YulFunctionCall", + "src": "18299:23:14" + }, + "nativeSrc": "18299:23:14", + "nodeType": "YulExpressionStatement", + "src": "18299:23:14" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3286, + "isOffset": false, + "isSlot": true, + "src": "18306:10:14", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3288, + "isOffset": false, + "isSlot": false, + "src": "18318:3:14", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3291, + "nodeType": "InlineAssembly", + "src": "18260:72:14" + } + ] + }, + "documentation": { + "id": 3283, + "nodeType": "StructuredDocumentation", + "src": "17939:234:14", + "text": " @dev Helper to set the length of an dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased." + }, + "id": 3293, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsafeSetLength", + "nameLocation": "18187:15:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3286, + "mutability": "mutable", + "name": "array", + "nameLocation": "18221:5:14", + "nodeType": "VariableDeclaration", + "scope": 3293, + "src": "18203:23:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18203:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3285, + "nodeType": "ArrayTypeName", + "src": "18203:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3288, + "mutability": "mutable", + "name": "len", + "nameLocation": "18236:3:14", + "nodeType": "VariableDeclaration", + "scope": 3293, + "src": "18228:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18228:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18202:38:14" + }, + "returnParameters": { + "id": 3290, + "nodeType": "ParameterList", + "parameters": [], + "src": "18250:0:14" + }, + "scope": 3294, + "src": "18178:160:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3295, + "src": "459:17881:14", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "183:18158:14" + }, + "id": 14 + }, + "@openzeppelin/contracts/utils/Comparators.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Comparators.sol", + "exportedSymbols": { + "Comparators": [ + 3326 + ] + }, + "id": 3327, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3296, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "105:24:15" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Comparators", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3297, + "nodeType": "StructuredDocumentation", + "src": "131:92:15", + "text": " @dev Provides a set of functions to compare values.\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 3326, + "linearizedBaseContracts": [ + 3326 + ], + "name": "Comparators", + "nameLocation": "232:11:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3310, + "nodeType": "Block", + "src": "313:29:15", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3306, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "330:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3307, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "334:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "330:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3305, + "id": 3309, + "nodeType": "Return", + "src": "323:12:15" + } + ] + }, + "id": 3311, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "lt", + "nameLocation": "259:2:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3299, + "mutability": "mutable", + "name": "a", + "nameLocation": "270:1:15", + "nodeType": "VariableDeclaration", + "scope": 3311, + "src": "262:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "262:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3301, + "mutability": "mutable", + "name": "b", + "nameLocation": "281:1:15", + "nodeType": "VariableDeclaration", + "scope": 3311, + "src": "273:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3300, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "273:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "261:22:15" + }, + "returnParameters": { + "id": 3305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3304, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3311, + "src": "307:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3303, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "307:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "306:6:15" + }, + "scope": 3326, + "src": "250:92:15", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3324, + "nodeType": "Block", + "src": "411:29:15", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3320, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3313, + "src": "428:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 3321, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3315, + "src": "432:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "428:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3319, + "id": 3323, + "nodeType": "Return", + "src": "421:12:15" + } + ] + }, + "id": 3325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "gt", + "nameLocation": "357:2:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3313, + "mutability": "mutable", + "name": "a", + "nameLocation": "368:1:15", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "360:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "360:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3315, + "mutability": "mutable", + "name": "b", + "nameLocation": "379:1:15", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "371:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "371:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "359:22:15" + }, + "returnParameters": { + "id": 3319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3318, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "405:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3317, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "405:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "404:6:15" + }, + "scope": 3326, + "src": "348:92:15", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3327, + "src": "224:218:15", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "105:338:15" + }, + "id": 15 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 3356 + ] + }, + "id": 3357, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3328, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:16" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 3329, + "nodeType": "StructuredDocumentation", + "src": "127:496:16", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 3356, + "linearizedBaseContracts": [ + 3356 + ], + "name": "Context", + "nameLocation": "642:7:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3337, + "nodeType": "Block", + "src": "718:34:16", + "statements": [ + { + "expression": { + "expression": { + "id": 3334, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "735:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "739:6:16", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "735:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3333, + "id": 3336, + "nodeType": "Return", + "src": "728:17:16" + } + ] + }, + "id": 3338, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "665:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3330, + "nodeType": "ParameterList", + "parameters": [], + "src": "675:2:16" + }, + "returnParameters": { + "id": 3333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3332, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3338, + "src": "709:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "709:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "708:9:16" + }, + "scope": 3356, + "src": "656:96:16", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3346, + "nodeType": "Block", + "src": "825:32:16", + "statements": [ + { + "expression": { + "expression": { + "id": 3343, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "842:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "846:4:16", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "842:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 3342, + "id": 3345, + "nodeType": "Return", + "src": "835:15:16" + } + ] + }, + "id": 3347, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "767:8:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3339, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:16" + }, + "returnParameters": { + "id": 3342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3341, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3347, + "src": "809:14:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3340, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "809:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "808:16:16" + }, + "scope": 3356, + "src": "758:99:16", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3354, + "nodeType": "Block", + "src": "935:25:16", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "952:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3351, + "id": 3353, + "nodeType": "Return", + "src": "945:8:16" + } + ] + }, + "id": 3355, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contextSuffixLength", + "nameLocation": "872:20:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3348, + "nodeType": "ParameterList", + "parameters": [], + "src": "892:2:16" + }, + "returnParameters": { + "id": 3351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3350, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3355, + "src": "926:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "926:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "925:9:16" + }, + "scope": 3356, + "src": "863:97:16", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 3357, + "src": "624:338:16", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:862:16" + }, + "id": 16 + }, + "@openzeppelin/contracts/utils/Nonces.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Nonces.sol", + "exportedSymbols": { + "Nonces": [ + 3424 + ] + }, + "id": 3425, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3358, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "99:24:17" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Nonces", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 3359, + "nodeType": "StructuredDocumentation", + "src": "125:83:17", + "text": " @dev Provides tracking nonces for addresses. Nonces will only increment." + }, + "fullyImplemented": true, + "id": 3424, + "linearizedBaseContracts": [ + 3424 + ], + "name": "Nonces", + "nameLocation": "227:6:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3360, + "nodeType": "StructuredDocumentation", + "src": "240:90:17", + "text": " @dev The nonce used for an `account` is not the expected current nonce." + }, + "errorSelector": "752d88c0", + "id": 3366, + "name": "InvalidAccountNonce", + "nameLocation": "341:19:17", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3362, + "mutability": "mutable", + "name": "account", + "nameLocation": "369:7:17", + "nodeType": "VariableDeclaration", + "scope": 3366, + "src": "361:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3361, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "361:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3364, + "mutability": "mutable", + "name": "currentNonce", + "nameLocation": "386:12:17", + "nodeType": "VariableDeclaration", + "scope": 3366, + "src": "378:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "378:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "360:39:17" + }, + "src": "335:65:17" + }, + { + "constant": false, + "id": 3370, + "mutability": "mutable", + "name": "_nonces", + "nameLocation": "450:7:17", + "nodeType": "VariableDeclaration", + "scope": 3424, + "src": "406:51:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 3369, + "keyName": "account", + "keyNameLocation": "422:7:17", + "keyType": { + "id": 3367, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "414:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "406:35:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "433:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 3382, + "nodeType": "Block", + "src": "607:38:17", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 3378, + "name": "_nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3370, + "src": "624:7:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3380, + "indexExpression": { + "id": 3379, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3373, + "src": "632:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "624:14:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3377, + "id": 3381, + "nodeType": "Return", + "src": "617:21:17" + } + ] + }, + "documentation": { + "id": 3371, + "nodeType": "StructuredDocumentation", + "src": "464:69:17", + "text": " @dev Returns the next unused nonce for an address." + }, + "functionSelector": "7ecebe00", + "id": 3383, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nonces", + "nameLocation": "547:6:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3373, + "mutability": "mutable", + "name": "owner", + "nameLocation": "562:5:17", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "554:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3372, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "554:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "553:15:17" + }, + "returnParameters": { + "id": 3377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3376, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "598:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "598:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "597:9:17" + }, + "scope": 3424, + "src": "538:107:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 3397, + "nodeType": "Block", + "src": "828:326:17", + "statements": [ + { + "id": 3396, + "nodeType": "UncheckedBlock", + "src": "1031:117:17", + "statements": [ + { + "expression": { + "id": 3394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1121:16:17", + "subExpression": { + "baseExpression": { + "id": 3391, + "name": "_nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3370, + "src": "1121:7:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3393, + "indexExpression": { + "id": 3392, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3386, + "src": "1129:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1121:14:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3390, + "id": 3395, + "nodeType": "Return", + "src": "1114:23:17" + } + ] + } + ] + }, + "documentation": { + "id": 3384, + "nodeType": "StructuredDocumentation", + "src": "651:103:17", + "text": " @dev Consumes a nonce.\n Returns the current value and increments nonce." + }, + "id": 3398, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_useNonce", + "nameLocation": "768:9:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3386, + "mutability": "mutable", + "name": "owner", + "nameLocation": "786:5:17", + "nodeType": "VariableDeclaration", + "scope": 3398, + "src": "778:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "778:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "777:15:17" + }, + "returnParameters": { + "id": 3390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3389, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3398, + "src": "819:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "819:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "818:9:17" + }, + "scope": 3424, + "src": "759:395:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3422, + "nodeType": "Block", + "src": "1338:149:17", + "statements": [ + { + "assignments": [ + 3407 + ], + "declarations": [ + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "current", + "nameLocation": "1356:7:17", + "nodeType": "VariableDeclaration", + "scope": 3422, + "src": "1348:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1348:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3411, + "initialValue": { + "arguments": [ + { + "id": 3409, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "1376:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3408, + "name": "_useNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3398, + "src": "1366:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 3410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1366:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1348:34:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3412, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3403, + "src": "1396:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 3413, + "name": "current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "1405:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1396:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3421, + "nodeType": "IfStatement", + "src": "1392:89:17", + "trueBody": { + "id": 3420, + "nodeType": "Block", + "src": "1414:67:17", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 3416, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "1455:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3417, + "name": "current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "1462:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3415, + "name": "InvalidAccountNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "1435:19:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) pure" + } + }, + "id": 3418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1435:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3419, + "nodeType": "RevertStatement", + "src": "1428:42:17" + } + ] + } + } + ] + }, + "documentation": { + "id": 3399, + "nodeType": "StructuredDocumentation", + "src": "1160:100:17", + "text": " @dev Same as {_useNonce} but checking that `nonce` is the next valid for `owner`." + }, + "id": 3423, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_useCheckedNonce", + "nameLocation": "1274:16:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3404, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3401, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1299:5:17", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "1291:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1291:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3403, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1314:5:17", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "1306:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1306:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1290:30:17" + }, + "returnParameters": { + "id": 3405, + "nodeType": "ParameterList", + "parameters": [], + "src": "1338:0:17" + }, + "scope": 3424, + "src": "1265:222:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 3425, + "src": "209:1280:17", + "usedErrors": [ + 3366 + ], + "usedEvents": [] + } + ], + "src": "99:1391:17" + }, + "id": 17 + }, + "@openzeppelin/contracts/utils/Panic.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Panic.sol", + "exportedSymbols": { + "Panic": [ + 3476 + ] + }, + "id": 3477, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3426, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "99:24:18" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Panic", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3427, + "nodeType": "StructuredDocumentation", + "src": "125:489:18", + "text": " @dev Helper library for emitting standardized panic codes.\n ```solidity\n contract Example {\n using Panic for uint256;\n // Use any of the declared internal constants\n function foo() { Panic.GENERIC.panic(); }\n // Alternatively\n function foo() { Panic.panic(Panic.GENERIC); }\n }\n ```\n Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 3476, + "linearizedBaseContracts": [ + 3476 + ], + "name": "Panic", + "nameLocation": "665:5:18", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "documentation": { + "id": 3428, + "nodeType": "StructuredDocumentation", + "src": "677:36:18", + "text": "@dev generic / unspecified error" + }, + "id": 3431, + "mutability": "constant", + "name": "GENERIC", + "nameLocation": "744:7:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "718:40:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "718:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783030", + "id": 3430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "754:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3432, + "nodeType": "StructuredDocumentation", + "src": "764:37:18", + "text": "@dev used by the assert() builtin" + }, + "id": 3435, + "mutability": "constant", + "name": "ASSERT", + "nameLocation": "832:6:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "806:39:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "806:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783031", + "id": 3434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "841:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3436, + "nodeType": "StructuredDocumentation", + "src": "851:41:18", + "text": "@dev arithmetic underflow or overflow" + }, + "id": 3439, + "mutability": "constant", + "name": "UNDER_OVERFLOW", + "nameLocation": "923:14:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "897:47:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3437, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783131", + "id": 3438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "940:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "0x11" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3440, + "nodeType": "StructuredDocumentation", + "src": "950:35:18", + "text": "@dev division or modulo by zero" + }, + "id": 3443, + "mutability": "constant", + "name": "DIVISION_BY_ZERO", + "nameLocation": "1016:16:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "990:49:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3441, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "990:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783132", + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1035:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "0x12" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3444, + "nodeType": "StructuredDocumentation", + "src": "1045:30:18", + "text": "@dev enum conversion error" + }, + "id": 3447, + "mutability": "constant", + "name": "ENUM_CONVERSION_ERROR", + "nameLocation": "1106:21:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "1080:54:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1080:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783231", + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1130:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "0x21" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3448, + "nodeType": "StructuredDocumentation", + "src": "1140:36:18", + "text": "@dev invalid encoding in storage" + }, + "id": 3451, + "mutability": "constant", + "name": "STORAGE_ENCODING_ERROR", + "nameLocation": "1207:22:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "1181:55:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1181:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783232", + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1232:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + }, + "value": "0x22" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3452, + "nodeType": "StructuredDocumentation", + "src": "1242:24:18", + "text": "@dev empty array pop" + }, + "id": 3455, + "mutability": "constant", + "name": "EMPTY_ARRAY_POP", + "nameLocation": "1297:15:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "1271:48:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1271:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783331", + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1315:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "0x31" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3456, + "nodeType": "StructuredDocumentation", + "src": "1325:35:18", + "text": "@dev array out of bounds access" + }, + "id": 3459, + "mutability": "constant", + "name": "ARRAY_OUT_OF_BOUNDS", + "nameLocation": "1391:19:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "1365:52:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1365:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783332", + "id": 3458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1413:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "0x32" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3460, + "nodeType": "StructuredDocumentation", + "src": "1423:65:18", + "text": "@dev resource error (too large allocation or too large array)" + }, + "id": 3463, + "mutability": "constant", + "name": "RESOURCE_ERROR", + "nameLocation": "1519:14:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "1493:47:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3461, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1493:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783431", + "id": 3462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1536:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "0x41" + }, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 3464, + "nodeType": "StructuredDocumentation", + "src": "1546:42:18", + "text": "@dev calling invalid internal function" + }, + "id": 3467, + "mutability": "constant", + "name": "INVALID_INTERNAL_FUNCTION", + "nameLocation": "1619:25:18", + "nodeType": "VariableDeclaration", + "scope": 3476, + "src": "1593:58:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3465, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1593:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30783531", + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1647:4:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_81_by_1", + "typeString": "int_const 81" + }, + "value": "0x51" + }, + "visibility": "internal" + }, + { + "body": { + "id": 3474, + "nodeType": "Block", + "src": "1819:151:18", + "statements": [ + { + "AST": { + "nativeSrc": "1854:110:18", + "nodeType": "YulBlock", + "src": "1854:110:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1875:4:18", + "nodeType": "YulLiteral", + "src": "1875:4:18", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "1881:10:18", + "nodeType": "YulLiteral", + "src": "1881:10:18", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1868:6:18", + "nodeType": "YulIdentifier", + "src": "1868:6:18" + }, + "nativeSrc": "1868:24:18", + "nodeType": "YulFunctionCall", + "src": "1868:24:18" + }, + "nativeSrc": "1868:24:18", + "nodeType": "YulExpressionStatement", + "src": "1868:24:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1912:4:18", + "nodeType": "YulLiteral", + "src": "1912:4:18", + "type": "", + "value": "0x20" + }, + { + "name": "code", + "nativeSrc": "1918:4:18", + "nodeType": "YulIdentifier", + "src": "1918:4:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1905:6:18", + "nodeType": "YulIdentifier", + "src": "1905:6:18" + }, + "nativeSrc": "1905:18:18", + "nodeType": "YulFunctionCall", + "src": "1905:18:18" + }, + "nativeSrc": "1905:18:18", + "nodeType": "YulExpressionStatement", + "src": "1905:18:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1943:4:18", + "nodeType": "YulLiteral", + "src": "1943:4:18", + "type": "", + "value": "0x1c" + }, + { + "kind": "number", + "nativeSrc": "1949:4:18", + "nodeType": "YulLiteral", + "src": "1949:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1936:6:18", + "nodeType": "YulIdentifier", + "src": "1936:6:18" + }, + "nativeSrc": "1936:18:18", + "nodeType": "YulFunctionCall", + "src": "1936:18:18" + }, + "nativeSrc": "1936:18:18", + "nodeType": "YulExpressionStatement", + "src": "1936:18:18" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3470, + "isOffset": false, + "isSlot": false, + "src": "1918:4:18", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3473, + "nodeType": "InlineAssembly", + "src": "1829:135:18" + } + ] + }, + "documentation": { + "id": 3468, + "nodeType": "StructuredDocumentation", + "src": "1658:113:18", + "text": "@dev Reverts with a panic code. Recommended to use with\n the internal constants with predefined codes." + }, + "id": 3475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "panic", + "nameLocation": "1785:5:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3470, + "mutability": "mutable", + "name": "code", + "nameLocation": "1799:4:18", + "nodeType": "VariableDeclaration", + "scope": 3475, + "src": "1791:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1791:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1790:14:18" + }, + "returnParameters": { + "id": 3472, + "nodeType": "ParameterList", + "parameters": [], + "src": "1819:0:18" + }, + "scope": 3476, + "src": "1776:194:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3477, + "src": "657:1315:18", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "99:1874:18" + }, + "id": 18 + }, + "@openzeppelin/contracts/utils/ShortStrings.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/ShortStrings.sol", + "exportedSymbols": { + "ShortString": [ + 3482 + ], + "ShortStrings": [ + 3693 + ], + "StorageSlot": [ + 3947 + ] + }, + "id": 3694, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3478, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "106:24:19" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "file": "./StorageSlot.sol", + "id": 3480, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3694, + "sourceUnit": 3948, + "src": "132:46:19", + "symbolAliases": [ + { + "foreign": { + "id": 3479, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3947, + "src": "140:11:19", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "canonicalName": "ShortString", + "id": 3482, + "name": "ShortString", + "nameLocation": "353:11:19", + "nodeType": "UserDefinedValueTypeDefinition", + "src": "348:28:19", + "underlyingType": { + "id": 3481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "368:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ShortStrings", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3483, + "nodeType": "StructuredDocumentation", + "src": "378:876:19", + "text": " @dev This library provides functions to convert short memory strings\n into a `ShortString` type that can be used as an immutable variable.\n Strings of arbitrary length can be optimized using this library if\n they are short enough (up to 31 bytes) by packing them with their\n length (1 byte) in a single EVM word (32 bytes). Additionally, a\n fallback mechanism can be used for every other case.\n Usage example:\n ```solidity\n contract Named {\n using ShortStrings for *;\n ShortString private immutable _name;\n string private _nameFallback;\n constructor(string memory contractName) {\n _name = contractName.toShortStringWithFallback(_nameFallback);\n }\n function name() external view returns (string memory) {\n return _name.toStringWithFallback(_nameFallback);\n }\n }\n ```" + }, + "fullyImplemented": true, + "id": 3693, + "linearizedBaseContracts": [ + 3693 + ], + "name": "ShortStrings", + "nameLocation": "1263:12:19", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 3486, + "mutability": "constant", + "name": "FALLBACK_SENTINEL", + "nameLocation": "1370:17:19", + "nodeType": "VariableDeclaration", + "scope": 3693, + "src": "1345:111:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1345:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030304646", + "id": 3485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1390:66:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0x00000000000000000000000000000000000000000000000000000000000000FF" + }, + "visibility": "private" + }, + { + "errorSelector": "305a27a9", + "id": 3490, + "name": "StringTooLong", + "nameLocation": "1469:13:19", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3488, + "mutability": "mutable", + "name": "str", + "nameLocation": "1490:3:19", + "nodeType": "VariableDeclaration", + "scope": 3490, + "src": "1483:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3487, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1483:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1482:12:19" + }, + "src": "1463:32:19" + }, + { + "errorSelector": "b3512b0c", + "id": 3492, + "name": "InvalidShortString", + "nameLocation": "1506:18:19", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3491, + "nodeType": "ParameterList", + "parameters": [], + "src": "1524:2:19" + }, + "src": "1500:27:19" + }, + { + "body": { + "id": 3535, + "nodeType": "Block", + "src": "1786:208:19", + "statements": [ + { + "assignments": [ + 3502 + ], + "declarations": [ + { + "constant": false, + "id": 3502, + "mutability": "mutable", + "name": "bstr", + "nameLocation": "1809:4:19", + "nodeType": "VariableDeclaration", + "scope": 3535, + "src": "1796:17:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3501, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1796:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3507, + "initialValue": { + "arguments": [ + { + "id": 3505, + "name": "str", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3495, + "src": "1822:3:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1816:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3503, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1816:5:19", + "typeDescriptions": {} + } + }, + "id": 3506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1816:10:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1796:30:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3508, + "name": "bstr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "1840:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1845:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1840:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3331", + "id": 3510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1854:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "src": "1840:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3517, + "nodeType": "IfStatement", + "src": "1836:72:19", + "trueBody": { + "id": 3516, + "nodeType": "Block", + "src": "1858:50:19", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 3513, + "name": "str", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3495, + "src": "1893:3:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3512, + "name": "StringTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3490, + "src": "1879:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1879:18:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3515, + "nodeType": "RevertStatement", + "src": "1872:25:19" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 3526, + "name": "bstr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "1965:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1957:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3524, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1957:7:19", + "typeDescriptions": {} + } + }, + "id": 3527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1957:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1949:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1949:7:19", + "typeDescriptions": {} + } + }, + "id": 3528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1949:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "expression": { + "id": 3529, + "name": "bstr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "1974:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1979:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1974:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1949:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1941:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3520, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1941:7:19", + "typeDescriptions": {} + } + }, + "id": 3532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1941:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3518, + "name": "ShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3482, + "src": "1924:11:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "type(ShortString)" + } + }, + "id": 3519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1936:4:19", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "1924:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "function (bytes32) pure returns (ShortString)" + } + }, + "id": 3533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1924:63:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "functionReturnParameters": 3500, + "id": 3534, + "nodeType": "Return", + "src": "1917:70:19" + } + ] + }, + "documentation": { + "id": 3493, + "nodeType": "StructuredDocumentation", + "src": "1533:170:19", + "text": " @dev Encode a string of at most 31 chars into a `ShortString`.\n This will trigger a `StringTooLong` error is the input string is too long." + }, + "id": 3536, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toShortString", + "nameLocation": "1717:13:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3495, + "mutability": "mutable", + "name": "str", + "nameLocation": "1745:3:19", + "nodeType": "VariableDeclaration", + "scope": 3536, + "src": "1731:17:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3494, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1731:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1730:19:19" + }, + "returnParameters": { + "id": 3500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3499, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3536, + "src": "1773:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 3498, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3497, + "name": "ShortString", + "nameLocations": [ + "1773:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "1773:11:19" + }, + "referencedDeclaration": 3482, + "src": "1773:11:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "internal" + } + ], + "src": "1772:13:19" + }, + "scope": 3693, + "src": "1708:286:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3561, + "nodeType": "Block", + "src": "2152:304:19", + "statements": [ + { + "assignments": [ + 3546 + ], + "declarations": [ + { + "constant": false, + "id": 3546, + "mutability": "mutable", + "name": "len", + "nameLocation": "2170:3:19", + "nodeType": "VariableDeclaration", + "scope": 3561, + "src": "2162:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2162:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3550, + "initialValue": { + "arguments": [ + { + "id": 3548, + "name": "sstr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3540, + "src": "2187:4:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + ], + "id": 3547, + "name": "byteLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3594, + "src": "2176:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_ShortString_$3482_$returns$_t_uint256_$", + "typeString": "function (ShortString) pure returns (uint256)" + } + }, + "id": 3549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2176:16:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2162:30:19" + }, + { + "assignments": [ + 3552 + ], + "declarations": [ + { + "constant": false, + "id": 3552, + "mutability": "mutable", + "name": "str", + "nameLocation": "2294:3:19", + "nodeType": "VariableDeclaration", + "scope": 3561, + "src": "2280:17:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2280:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3557, + "initialValue": { + "arguments": [ + { + "hexValue": "3332", + "id": 3555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2311:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 3554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2300:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + }, + "typeName": { + "id": 3553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2304:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "id": 3556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2300:14:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2280:34:19" + }, + { + "AST": { + "nativeSrc": "2349:81:19", + "nodeType": "YulBlock", + "src": "2349:81:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "str", + "nativeSrc": "2370:3:19", + "nodeType": "YulIdentifier", + "src": "2370:3:19" + }, + { + "name": "len", + "nativeSrc": "2375:3:19", + "nodeType": "YulIdentifier", + "src": "2375:3:19" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2363:6:19", + "nodeType": "YulIdentifier", + "src": "2363:6:19" + }, + "nativeSrc": "2363:16:19", + "nodeType": "YulFunctionCall", + "src": "2363:16:19" + }, + "nativeSrc": "2363:16:19", + "nodeType": "YulExpressionStatement", + "src": "2363:16:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "str", + "nativeSrc": "2403:3:19", + "nodeType": "YulIdentifier", + "src": "2403:3:19" + }, + { + "kind": "number", + "nativeSrc": "2408:4:19", + "nodeType": "YulLiteral", + "src": "2408:4:19", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2399:3:19", + "nodeType": "YulIdentifier", + "src": "2399:3:19" + }, + "nativeSrc": "2399:14:19", + "nodeType": "YulFunctionCall", + "src": "2399:14:19" + }, + { + "name": "sstr", + "nativeSrc": "2415:4:19", + "nodeType": "YulIdentifier", + "src": "2415:4:19" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2392:6:19", + "nodeType": "YulIdentifier", + "src": "2392:6:19" + }, + "nativeSrc": "2392:28:19", + "nodeType": "YulFunctionCall", + "src": "2392:28:19" + }, + "nativeSrc": "2392:28:19", + "nodeType": "YulExpressionStatement", + "src": "2392:28:19" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3546, + "isOffset": false, + "isSlot": false, + "src": "2375:3:19", + "valueSize": 1 + }, + { + "declaration": 3540, + "isOffset": false, + "isSlot": false, + "src": "2415:4:19", + "valueSize": 1 + }, + { + "declaration": 3552, + "isOffset": false, + "isSlot": false, + "src": "2370:3:19", + "valueSize": 1 + }, + { + "declaration": 3552, + "isOffset": false, + "isSlot": false, + "src": "2403:3:19", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3558, + "nodeType": "InlineAssembly", + "src": "2324:106:19" + }, + { + "expression": { + "id": 3559, + "name": "str", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3552, + "src": "2446:3:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3544, + "id": 3560, + "nodeType": "Return", + "src": "2439:10:19" + } + ] + }, + "documentation": { + "id": 3537, + "nodeType": "StructuredDocumentation", + "src": "2000:73:19", + "text": " @dev Decode a `ShortString` back to a \"normal\" string." + }, + "id": 3562, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "2087:8:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3540, + "mutability": "mutable", + "name": "sstr", + "nameLocation": "2108:4:19", + "nodeType": "VariableDeclaration", + "scope": 3562, + "src": "2096:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 3539, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3538, + "name": "ShortString", + "nameLocations": [ + "2096:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "2096:11:19" + }, + "referencedDeclaration": 3482, + "src": "2096:11:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "internal" + } + ], + "src": "2095:18:19" + }, + "returnParameters": { + "id": 3544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3543, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3562, + "src": "2137:13:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3542, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2137:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2136:15:19" + }, + "scope": 3693, + "src": "2078:378:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3593, + "nodeType": "Block", + "src": "2598:175:19", + "statements": [ + { + "assignments": [ + 3572 + ], + "declarations": [ + { + "constant": false, + "id": 3572, + "mutability": "mutable", + "name": "result", + "nameLocation": "2616:6:19", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2608:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3571, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2608:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3582, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 3577, + "name": "sstr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "2652:4:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + ], + "expression": { + "id": 3575, + "name": "ShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3482, + "src": "2633:11:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "type(ShortString)" + } + }, + "id": 3576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2645:6:19", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "2633:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ShortString_$3482_$returns$_t_bytes32_$", + "typeString": "function (ShortString) pure returns (bytes32)" + } + }, + "id": 3578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2633:24:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2625:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2625:7:19", + "typeDescriptions": {} + } + }, + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2625:33:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "30784646", + "id": 3580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2661:4:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0xFF" + }, + "src": "2625:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2608:57:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3583, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3572, + "src": "2679:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3331", + "id": 3584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2688:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "src": "2679:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3590, + "nodeType": "IfStatement", + "src": "2675:69:19", + "trueBody": { + "id": 3589, + "nodeType": "Block", + "src": "2692:52:19", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3586, + "name": "InvalidShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3492, + "src": "2713:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2713:20:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3588, + "nodeType": "RevertStatement", + "src": "2706:27:19" + } + ] + } + }, + { + "expression": { + "id": 3591, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3572, + "src": "2760:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3570, + "id": 3592, + "nodeType": "Return", + "src": "2753:13:19" + } + ] + }, + "documentation": { + "id": 3563, + "nodeType": "StructuredDocumentation", + "src": "2462:61:19", + "text": " @dev Return the length of a `ShortString`." + }, + "id": 3594, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "byteLength", + "nameLocation": "2537:10:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3566, + "mutability": "mutable", + "name": "sstr", + "nameLocation": "2560:4:19", + "nodeType": "VariableDeclaration", + "scope": 3594, + "src": "2548:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 3565, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3564, + "name": "ShortString", + "nameLocations": [ + "2548:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "2548:11:19" + }, + "referencedDeclaration": 3482, + "src": "2548:11:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "internal" + } + ], + "src": "2547:18:19" + }, + "returnParameters": { + "id": 3570, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3569, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3594, + "src": "2589:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3568, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2589:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2588:9:19" + }, + "scope": 3693, + "src": "2528:245:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3633, + "nodeType": "Block", + "src": "2996:231:19", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 3607, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "3016:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3010:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3605, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3010:5:19", + "typeDescriptions": {} + } + }, + "id": 3608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3010:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3023:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3010:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 3610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3032:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3010:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3631, + "nodeType": "Block", + "src": "3094:127:19", + "statements": [ + { + "expression": { + "id": 3624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 3620, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3599, + "src": "3134:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + ], + "expression": { + "id": 3617, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3947, + "src": "3108:11:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3947_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3120:13:19", + "memberName": "getStringSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 3924, + "src": "3108:25:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_storage_ptr_$returns$_t_struct$_StringSlot_$3844_storage_ptr_$", + "typeString": "function (string storage pointer) pure returns (struct StorageSlot.StringSlot storage pointer)" + } + }, + "id": 3621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3108:32:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$3844_storage_ptr", + "typeString": "struct StorageSlot.StringSlot storage pointer" + } + }, + "id": 3622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3141:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3843, + "src": "3108:38:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3623, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "3149:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3108:46:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 3625, + "nodeType": "ExpressionStatement", + "src": "3108:46:19" + }, + { + "expression": { + "arguments": [ + { + "id": 3628, + "name": "FALLBACK_SENTINEL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3486, + "src": "3192:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3626, + "name": "ShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3482, + "src": "3175:11:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "type(ShortString)" + } + }, + "id": 3627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3187:4:19", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "3175:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "function (bytes32) pure returns (ShortString)" + } + }, + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3175:35:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "functionReturnParameters": 3604, + "id": 3630, + "nodeType": "Return", + "src": "3168:42:19" + } + ] + }, + "id": 3632, + "nodeType": "IfStatement", + "src": "3006:215:19", + "trueBody": { + "id": 3616, + "nodeType": "Block", + "src": "3036:52:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3613, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "3071:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3612, + "name": "toShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3536, + "src": "3057:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "function (string memory) pure returns (ShortString)" + } + }, + "id": 3614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3057:20:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "functionReturnParameters": 3604, + "id": 3615, + "nodeType": "Return", + "src": "3050:27:19" + } + ] + } + } + ] + }, + "documentation": { + "id": 3595, + "nodeType": "StructuredDocumentation", + "src": "2779:103:19", + "text": " @dev Encode a string into a `ShortString`, or write it to storage if it is too long." + }, + "id": 3634, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toShortStringWithFallback", + "nameLocation": "2896:25:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3597, + "mutability": "mutable", + "name": "value", + "nameLocation": "2936:5:19", + "nodeType": "VariableDeclaration", + "scope": 3634, + "src": "2922:19:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3596, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2922:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3599, + "mutability": "mutable", + "name": "store", + "nameLocation": "2958:5:19", + "nodeType": "VariableDeclaration", + "scope": 3634, + "src": "2943:20:19", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3598, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2943:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2921:43:19" + }, + "returnParameters": { + "id": 3604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3603, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3634, + "src": "2983:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 3602, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3601, + "name": "ShortString", + "nameLocations": [ + "2983:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "2983:11:19" + }, + "referencedDeclaration": 3482, + "src": "2983:11:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "internal" + } + ], + "src": "2982:13:19" + }, + "scope": 3693, + "src": "2887:340:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3660, + "nodeType": "Block", + "src": "3467:158:19", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3647, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3638, + "src": "3500:5:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + ], + "expression": { + "id": 3645, + "name": "ShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3482, + "src": "3481:11:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "type(ShortString)" + } + }, + "id": 3646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3493:6:19", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "3481:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ShortString_$3482_$returns$_t_bytes32_$", + "typeString": "function (ShortString) pure returns (bytes32)" + } + }, + "id": 3648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3481:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 3649, + "name": "FALLBACK_SENTINEL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3486, + "src": "3510:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3481:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3658, + "nodeType": "Block", + "src": "3582:37:19", + "statements": [ + { + "expression": { + "id": 3656, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3640, + "src": "3603:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "functionReturnParameters": 3644, + "id": 3657, + "nodeType": "Return", + "src": "3596:12:19" + } + ] + }, + "id": 3659, + "nodeType": "IfStatement", + "src": "3477:142:19", + "trueBody": { + "id": 3655, + "nodeType": "Block", + "src": "3529:47:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3652, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3638, + "src": "3559:5:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + ], + "id": 3651, + "name": "toString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3562, + "src": "3550:8:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_ShortString_$3482_$returns$_t_string_memory_ptr_$", + "typeString": "function (ShortString) pure returns (string memory)" + } + }, + "id": 3653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3550:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3644, + "id": 3654, + "nodeType": "Return", + "src": "3543:22:19" + } + ] + } + } + ] + }, + "documentation": { + "id": 3635, + "nodeType": "StructuredDocumentation", + "src": "3233:120:19", + "text": " @dev Decode a string that was encoded to `ShortString` or written to storage using {setWithFallback}." + }, + "id": 3661, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toStringWithFallback", + "nameLocation": "3367:20:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3638, + "mutability": "mutable", + "name": "value", + "nameLocation": "3400:5:19", + "nodeType": "VariableDeclaration", + "scope": 3661, + "src": "3388:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 3637, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3636, + "name": "ShortString", + "nameLocations": [ + "3388:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "3388:11:19" + }, + "referencedDeclaration": 3482, + "src": "3388:11:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3640, + "mutability": "mutable", + "name": "store", + "nameLocation": "3422:5:19", + "nodeType": "VariableDeclaration", + "scope": 3661, + "src": "3407:20:19", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3639, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3407:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3387:41:19" + }, + "returnParameters": { + "id": 3644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3643, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3661, + "src": "3452:13:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3452:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3451:15:19" + }, + "scope": 3693, + "src": "3358:267:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3691, + "nodeType": "Block", + "src": "4105:174:19", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3674, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3665, + "src": "4138:5:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + ], + "expression": { + "id": 3672, + "name": "ShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3482, + "src": "4119:11:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "type(ShortString)" + } + }, + "id": 3673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4131:6:19", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "4119:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ShortString_$3482_$returns$_t_bytes32_$", + "typeString": "function (ShortString) pure returns (bytes32)" + } + }, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4119:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 3676, + "name": "FALLBACK_SENTINEL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3486, + "src": "4148:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4119:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3689, + "nodeType": "Block", + "src": "4222:51:19", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 3685, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3667, + "src": "4249:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + ], + "id": 3684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4243:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3683, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4243:5:19", + "typeDescriptions": {} + } + }, + "id": 3686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4243:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "id": 3687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4256:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4243:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3671, + "id": 3688, + "nodeType": "Return", + "src": "4236:26:19" + } + ] + }, + "id": 3690, + "nodeType": "IfStatement", + "src": "4115:158:19", + "trueBody": { + "id": 3682, + "nodeType": "Block", + "src": "4167:49:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3679, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3665, + "src": "4199:5:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + ], + "id": 3678, + "name": "byteLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3594, + "src": "4188:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_ShortString_$3482_$returns$_t_uint256_$", + "typeString": "function (ShortString) pure returns (uint256)" + } + }, + "id": 3680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4188:17:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3671, + "id": 3681, + "nodeType": "Return", + "src": "4181:24:19" + } + ] + } + } + ] + }, + "documentation": { + "id": 3662, + "nodeType": "StructuredDocumentation", + "src": "3631:364:19", + "text": " @dev Return the length of a string that was encoded to `ShortString` or written to storage using\n {setWithFallback}.\n WARNING: This will return the \"byte length\" of the string. This may not reflect the actual length in terms of\n actual characters as the UTF-8 encoding of a single character can span over multiple bytes." + }, + "id": 3692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "byteLengthWithFallback", + "nameLocation": "4009:22:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3665, + "mutability": "mutable", + "name": "value", + "nameLocation": "4044:5:19", + "nodeType": "VariableDeclaration", + "scope": 3692, + "src": "4032:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 3664, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3663, + "name": "ShortString", + "nameLocations": [ + "4032:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "4032:11:19" + }, + "referencedDeclaration": 3482, + "src": "4032:11:19", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3667, + "mutability": "mutable", + "name": "store", + "nameLocation": "4066:5:19", + "nodeType": "VariableDeclaration", + "scope": 3692, + "src": "4051:20:19", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3666, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4051:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4031:41:19" + }, + "returnParameters": { + "id": 3671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3670, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3692, + "src": "4096:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3669, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4096:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4095:9:19" + }, + "scope": 3693, + "src": "4000:279:19", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3694, + "src": "1255:3026:19", + "usedErrors": [ + 3490, + 3492 + ], + "usedEvents": [] + } + ], + "src": "106:4176:19" + }, + "id": 19 + }, + "@openzeppelin/contracts/utils/SlotDerivation.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/SlotDerivation.sol", + "exportedSymbols": { + "SlotDerivation": [ + 3823 + ] + }, + "id": 3824, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3695, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "199:24:20" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SlotDerivation", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3696, + "nodeType": "StructuredDocumentation", + "src": "225:1372:20", + "text": " @dev Library for computing storage (and transient storage) locations from namespaces and deriving slots\n corresponding to standard patterns. The derivation method for array and mapping matches the storage layout used by\n the solidity language / compiler.\n See https://docs.soliditylang.org/en/v0.8.20/internals/layout_in_storage.html#mappings-and-dynamic-arrays[Solidity docs for mappings and dynamic arrays.].\n Example usage:\n ```solidity\n contract Example {\n // Add the library methods\n using StorageSlot for bytes32;\n using SlotDerivation for bytes32;\n // Declare a namespace\n string private constant _NAMESPACE = \"\" // eg. OpenZeppelin.Slot\n function setValueInNamespace(uint256 key, address newValue) internal {\n _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue;\n }\n function getValueInNamespace(uint256 key) internal view returns (address) {\n return _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value;\n }\n }\n ```\n TIP: Consider using this library along with {StorageSlot}.\n NOTE: This library provides a way to manipulate storage locations in a non-standard way. Tooling for checking\n upgrade safety will ignore the slots accessed through this library.\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 3823, + "linearizedBaseContracts": [ + 3823 + ], + "name": "SlotDerivation", + "nameLocation": "1606:14:20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3705, + "nodeType": "Block", + "src": "1789:194:20", + "statements": [ + { + "AST": { + "nativeSrc": "1824:153:20", + "nodeType": "YulBlock", + "src": "1824:153:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1845:4:20", + "nodeType": "YulLiteral", + "src": "1845:4:20", + "type": "", + "value": "0x00" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "namespace", + "nativeSrc": "1869:9:20", + "nodeType": "YulIdentifier", + "src": "1869:9:20" + }, + { + "kind": "number", + "nativeSrc": "1880:4:20", + "nodeType": "YulLiteral", + "src": "1880:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1865:3:20", + "nodeType": "YulIdentifier", + "src": "1865:3:20" + }, + "nativeSrc": "1865:20:20", + "nodeType": "YulFunctionCall", + "src": "1865:20:20" + }, + { + "arguments": [ + { + "name": "namespace", + "nativeSrc": "1893:9:20", + "nodeType": "YulIdentifier", + "src": "1893:9:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1887:5:20", + "nodeType": "YulIdentifier", + "src": "1887:5:20" + }, + "nativeSrc": "1887:16:20", + "nodeType": "YulFunctionCall", + "src": "1887:16:20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "1855:9:20", + "nodeType": "YulIdentifier", + "src": "1855:9:20" + }, + "nativeSrc": "1855:49:20", + "nodeType": "YulFunctionCall", + "src": "1855:49:20" + }, + { + "kind": "number", + "nativeSrc": "1906:1:20", + "nodeType": "YulLiteral", + "src": "1906:1:20", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1851:3:20", + "nodeType": "YulIdentifier", + "src": "1851:3:20" + }, + "nativeSrc": "1851:57:20", + "nodeType": "YulFunctionCall", + "src": "1851:57:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1838:6:20", + "nodeType": "YulIdentifier", + "src": "1838:6:20" + }, + "nativeSrc": "1838:71:20", + "nodeType": "YulFunctionCall", + "src": "1838:71:20" + }, + "nativeSrc": "1838:71:20", + "nodeType": "YulExpressionStatement", + "src": "1838:71:20" + }, + { + "nativeSrc": "1922:45:20", + "nodeType": "YulAssignment", + "src": "1922:45:20", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1944:4:20", + "nodeType": "YulLiteral", + "src": "1944:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "1950:4:20", + "nodeType": "YulLiteral", + "src": "1950:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "1934:9:20", + "nodeType": "YulIdentifier", + "src": "1934:9:20" + }, + "nativeSrc": "1934:21:20", + "nodeType": "YulFunctionCall", + "src": "1934:21:20" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1961:4:20", + "nodeType": "YulLiteral", + "src": "1961:4:20", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1957:3:20", + "nodeType": "YulIdentifier", + "src": "1957:3:20" + }, + "nativeSrc": "1957:9:20", + "nodeType": "YulFunctionCall", + "src": "1957:9:20" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1930:3:20", + "nodeType": "YulIdentifier", + "src": "1930:3:20" + }, + "nativeSrc": "1930:37:20", + "nodeType": "YulFunctionCall", + "src": "1930:37:20" + }, + "variableNames": [ + { + "name": "slot", + "nativeSrc": "1922:4:20", + "nodeType": "YulIdentifier", + "src": "1922:4:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3699, + "isOffset": false, + "isSlot": false, + "src": "1869:9:20", + "valueSize": 1 + }, + { + "declaration": 3699, + "isOffset": false, + "isSlot": false, + "src": "1893:9:20", + "valueSize": 1 + }, + { + "declaration": 3702, + "isOffset": false, + "isSlot": false, + "src": "1922:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3704, + "nodeType": "InlineAssembly", + "src": "1799:178:20" + } + ] + }, + "documentation": { + "id": 3697, + "nodeType": "StructuredDocumentation", + "src": "1627:74:20", + "text": " @dev Derive an ERC-7201 slot from a string (namespace)." + }, + "id": 3706, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "erc7201Slot", + "nameLocation": "1715:11:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3699, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "1741:9:20", + "nodeType": "VariableDeclaration", + "scope": 3706, + "src": "1727:23:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3698, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1727:6:20", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1726:25:20" + }, + "returnParameters": { + "id": 3703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3702, + "mutability": "mutable", + "name": "slot", + "nameLocation": "1783:4:20", + "nodeType": "VariableDeclaration", + "scope": 3706, + "src": "1775:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3701, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1775:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1774:14:20" + }, + "scope": 3823, + "src": "1706:277:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3727, + "nodeType": "Block", + "src": "2175:86:20", + "statements": [ + { + "id": 3726, + "nodeType": "UncheckedBlock", + "src": "2185:70:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3720, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3709, + "src": "2232:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2224:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2224:7:20", + "typeDescriptions": {} + } + }, + "id": 3721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2224:13:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3722, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3711, + "src": "2240:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2224:19:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2216:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3716, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2216:7:20", + "typeDescriptions": {} + } + }, + "id": 3724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2216:28:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 3715, + "id": 3725, + "nodeType": "Return", + "src": "2209:35:20" + } + ] + } + ] + }, + "documentation": { + "id": 3707, + "nodeType": "StructuredDocumentation", + "src": "1989:99:20", + "text": " @dev Add an offset to a slot to get the n-th element of a structure or an array." + }, + "id": 3728, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "offset", + "nameLocation": "2102:6:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3709, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2117:4:20", + "nodeType": "VariableDeclaration", + "scope": 3728, + "src": "2109:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2109:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3711, + "mutability": "mutable", + "name": "pos", + "nameLocation": "2131:3:20", + "nodeType": "VariableDeclaration", + "scope": 3728, + "src": "2123:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2123:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2108:27:20" + }, + "returnParameters": { + "id": 3715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3714, + "mutability": "mutable", + "name": "result", + "nameLocation": "2167:6:20", + "nodeType": "VariableDeclaration", + "scope": 3728, + "src": "2159:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2159:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2158:16:20" + }, + "scope": 3823, + "src": "2093:168:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3737, + "nodeType": "Block", + "src": "2464:127:20", + "statements": [ + { + "AST": { + "nativeSrc": "2499:86:20", + "nodeType": "YulBlock", + "src": "2499:86:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2520:4:20", + "nodeType": "YulLiteral", + "src": "2520:4:20", + "type": "", + "value": "0x00" + }, + { + "name": "slot", + "nativeSrc": "2526:4:20", + "nodeType": "YulIdentifier", + "src": "2526:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2513:6:20", + "nodeType": "YulIdentifier", + "src": "2513:6:20" + }, + "nativeSrc": "2513:18:20", + "nodeType": "YulFunctionCall", + "src": "2513:18:20" + }, + "nativeSrc": "2513:18:20", + "nodeType": "YulExpressionStatement", + "src": "2513:18:20" + }, + { + "nativeSrc": "2544:31:20", + "nodeType": "YulAssignment", + "src": "2544:31:20", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2564:4:20", + "nodeType": "YulLiteral", + "src": "2564:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "2570:4:20", + "nodeType": "YulLiteral", + "src": "2570:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "2554:9:20", + "nodeType": "YulIdentifier", + "src": "2554:9:20" + }, + "nativeSrc": "2554:21:20", + "nodeType": "YulFunctionCall", + "src": "2554:21:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2544:6:20", + "nodeType": "YulIdentifier", + "src": "2544:6:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3734, + "isOffset": false, + "isSlot": false, + "src": "2544:6:20", + "valueSize": 1 + }, + { + "declaration": 3731, + "isOffset": false, + "isSlot": false, + "src": "2526:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3736, + "nodeType": "InlineAssembly", + "src": "2474:111:20" + } + ] + }, + "documentation": { + "id": 3729, + "nodeType": "StructuredDocumentation", + "src": "2267:118:20", + "text": " @dev Derive the location of the first element in an array from the slot where the length is stored." + }, + "id": 3738, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveArray", + "nameLocation": "2399:11:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3731, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2419:4:20", + "nodeType": "VariableDeclaration", + "scope": 3738, + "src": "2411:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2411:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2410:14:20" + }, + "returnParameters": { + "id": 3735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3734, + "mutability": "mutable", + "name": "result", + "nameLocation": "2456:6:20", + "nodeType": "VariableDeclaration", + "scope": 3738, + "src": "2448:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2448:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2447:16:20" + }, + "scope": 3823, + "src": "2390:201:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3749, + "nodeType": "Block", + "src": "2769:179:20", + "statements": [ + { + "AST": { + "nativeSrc": "2804:138:20", + "nodeType": "YulBlock", + "src": "2804:138:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2825:4:20", + "nodeType": "YulLiteral", + "src": "2825:4:20", + "type": "", + "value": "0x00" + }, + { + "arguments": [ + { + "name": "key", + "nativeSrc": "2835:3:20", + "nodeType": "YulIdentifier", + "src": "2835:3:20" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2844:2:20", + "nodeType": "YulLiteral", + "src": "2844:2:20", + "type": "", + "value": "96" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2852:1:20", + "nodeType": "YulLiteral", + "src": "2852:1:20", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2848:3:20", + "nodeType": "YulIdentifier", + "src": "2848:3:20" + }, + "nativeSrc": "2848:6:20", + "nodeType": "YulFunctionCall", + "src": "2848:6:20" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "2840:3:20", + "nodeType": "YulIdentifier", + "src": "2840:3:20" + }, + "nativeSrc": "2840:15:20", + "nodeType": "YulFunctionCall", + "src": "2840:15:20" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2831:3:20", + "nodeType": "YulIdentifier", + "src": "2831:3:20" + }, + "nativeSrc": "2831:25:20", + "nodeType": "YulFunctionCall", + "src": "2831:25:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2818:6:20", + "nodeType": "YulIdentifier", + "src": "2818:6:20" + }, + "nativeSrc": "2818:39:20", + "nodeType": "YulFunctionCall", + "src": "2818:39:20" + }, + "nativeSrc": "2818:39:20", + "nodeType": "YulExpressionStatement", + "src": "2818:39:20" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2877:4:20", + "nodeType": "YulLiteral", + "src": "2877:4:20", + "type": "", + "value": "0x20" + }, + { + "name": "slot", + "nativeSrc": "2883:4:20", + "nodeType": "YulIdentifier", + "src": "2883:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2870:6:20", + "nodeType": "YulIdentifier", + "src": "2870:6:20" + }, + "nativeSrc": "2870:18:20", + "nodeType": "YulFunctionCall", + "src": "2870:18:20" + }, + "nativeSrc": "2870:18:20", + "nodeType": "YulExpressionStatement", + "src": "2870:18:20" + }, + { + "nativeSrc": "2901:31:20", + "nodeType": "YulAssignment", + "src": "2901:31:20", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2921:4:20", + "nodeType": "YulLiteral", + "src": "2921:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "2927:4:20", + "nodeType": "YulLiteral", + "src": "2927:4:20", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "2911:9:20", + "nodeType": "YulIdentifier", + "src": "2911:9:20" + }, + "nativeSrc": "2911:21:20", + "nodeType": "YulFunctionCall", + "src": "2911:21:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2901:6:20", + "nodeType": "YulIdentifier", + "src": "2901:6:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3743, + "isOffset": false, + "isSlot": false, + "src": "2835:3:20", + "valueSize": 1 + }, + { + "declaration": 3746, + "isOffset": false, + "isSlot": false, + "src": "2901:6:20", + "valueSize": 1 + }, + { + "declaration": 3741, + "isOffset": false, + "isSlot": false, + "src": "2883:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3748, + "nodeType": "InlineAssembly", + "src": "2779:163:20" + } + ] + }, + "documentation": { + "id": 3739, + "nodeType": "StructuredDocumentation", + "src": "2597:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3750, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "2689:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3741, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2711:4:20", + "nodeType": "VariableDeclaration", + "scope": 3750, + "src": "2703:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2703:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3743, + "mutability": "mutable", + "name": "key", + "nameLocation": "2725:3:20", + "nodeType": "VariableDeclaration", + "scope": 3750, + "src": "2717:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2717:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2702:27:20" + }, + "returnParameters": { + "id": 3747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3746, + "mutability": "mutable", + "name": "result", + "nameLocation": "2761:6:20", + "nodeType": "VariableDeclaration", + "scope": 3750, + "src": "2753:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3745, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2753:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2752:16:20" + }, + "scope": 3823, + "src": "2680:268:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3761, + "nodeType": "Block", + "src": "3123:173:20", + "statements": [ + { + "AST": { + "nativeSrc": "3158:132:20", + "nodeType": "YulBlock", + "src": "3158:132:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3179:4:20", + "nodeType": "YulLiteral", + "src": "3179:4:20", + "type": "", + "value": "0x00" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "key", + "nativeSrc": "3199:3:20", + "nodeType": "YulIdentifier", + "src": "3199:3:20" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3192:6:20", + "nodeType": "YulIdentifier", + "src": "3192:6:20" + }, + "nativeSrc": "3192:11:20", + "nodeType": "YulFunctionCall", + "src": "3192:11:20" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3185:6:20", + "nodeType": "YulIdentifier", + "src": "3185:6:20" + }, + "nativeSrc": "3185:19:20", + "nodeType": "YulFunctionCall", + "src": "3185:19:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3172:6:20", + "nodeType": "YulIdentifier", + "src": "3172:6:20" + }, + "nativeSrc": "3172:33:20", + "nodeType": "YulFunctionCall", + "src": "3172:33:20" + }, + "nativeSrc": "3172:33:20", + "nodeType": "YulExpressionStatement", + "src": "3172:33:20" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3225:4:20", + "nodeType": "YulLiteral", + "src": "3225:4:20", + "type": "", + "value": "0x20" + }, + { + "name": "slot", + "nativeSrc": "3231:4:20", + "nodeType": "YulIdentifier", + "src": "3231:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3218:6:20", + "nodeType": "YulIdentifier", + "src": "3218:6:20" + }, + "nativeSrc": "3218:18:20", + "nodeType": "YulFunctionCall", + "src": "3218:18:20" + }, + "nativeSrc": "3218:18:20", + "nodeType": "YulExpressionStatement", + "src": "3218:18:20" + }, + { + "nativeSrc": "3249:31:20", + "nodeType": "YulAssignment", + "src": "3249:31:20", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3269:4:20", + "nodeType": "YulLiteral", + "src": "3269:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "3275:4:20", + "nodeType": "YulLiteral", + "src": "3275:4:20", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "3259:9:20", + "nodeType": "YulIdentifier", + "src": "3259:9:20" + }, + "nativeSrc": "3259:21:20", + "nodeType": "YulFunctionCall", + "src": "3259:21:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "3249:6:20", + "nodeType": "YulIdentifier", + "src": "3249:6:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3755, + "isOffset": false, + "isSlot": false, + "src": "3199:3:20", + "valueSize": 1 + }, + { + "declaration": 3758, + "isOffset": false, + "isSlot": false, + "src": "3249:6:20", + "valueSize": 1 + }, + { + "declaration": 3753, + "isOffset": false, + "isSlot": false, + "src": "3231:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3760, + "nodeType": "InlineAssembly", + "src": "3133:157:20" + } + ] + }, + "documentation": { + "id": 3751, + "nodeType": "StructuredDocumentation", + "src": "2954:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3762, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "3046:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3753, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3068:4:20", + "nodeType": "VariableDeclaration", + "scope": 3762, + "src": "3060:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3060:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3755, + "mutability": "mutable", + "name": "key", + "nameLocation": "3079:3:20", + "nodeType": "VariableDeclaration", + "scope": 3762, + "src": "3074:8:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3754, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3074:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3059:24:20" + }, + "returnParameters": { + "id": 3759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3758, + "mutability": "mutable", + "name": "result", + "nameLocation": "3115:6:20", + "nodeType": "VariableDeclaration", + "scope": 3762, + "src": "3107:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3107:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3106:16:20" + }, + "scope": 3823, + "src": "3037:259:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3773, + "nodeType": "Block", + "src": "3474:157:20", + "statements": [ + { + "AST": { + "nativeSrc": "3509:116:20", + "nodeType": "YulBlock", + "src": "3509:116:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3530:4:20", + "nodeType": "YulLiteral", + "src": "3530:4:20", + "type": "", + "value": "0x00" + }, + { + "name": "key", + "nativeSrc": "3536:3:20", + "nodeType": "YulIdentifier", + "src": "3536:3:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3523:6:20", + "nodeType": "YulIdentifier", + "src": "3523:6:20" + }, + "nativeSrc": "3523:17:20", + "nodeType": "YulFunctionCall", + "src": "3523:17:20" + }, + "nativeSrc": "3523:17:20", + "nodeType": "YulExpressionStatement", + "src": "3523:17:20" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3560:4:20", + "nodeType": "YulLiteral", + "src": "3560:4:20", + "type": "", + "value": "0x20" + }, + { + "name": "slot", + "nativeSrc": "3566:4:20", + "nodeType": "YulIdentifier", + "src": "3566:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3553:6:20", + "nodeType": "YulIdentifier", + "src": "3553:6:20" + }, + "nativeSrc": "3553:18:20", + "nodeType": "YulFunctionCall", + "src": "3553:18:20" + }, + "nativeSrc": "3553:18:20", + "nodeType": "YulExpressionStatement", + "src": "3553:18:20" + }, + { + "nativeSrc": "3584:31:20", + "nodeType": "YulAssignment", + "src": "3584:31:20", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3604:4:20", + "nodeType": "YulLiteral", + "src": "3604:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "3610:4:20", + "nodeType": "YulLiteral", + "src": "3610:4:20", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "3594:9:20", + "nodeType": "YulIdentifier", + "src": "3594:9:20" + }, + "nativeSrc": "3594:21:20", + "nodeType": "YulFunctionCall", + "src": "3594:21:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "3584:6:20", + "nodeType": "YulIdentifier", + "src": "3584:6:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3767, + "isOffset": false, + "isSlot": false, + "src": "3536:3:20", + "valueSize": 1 + }, + { + "declaration": 3770, + "isOffset": false, + "isSlot": false, + "src": "3584:6:20", + "valueSize": 1 + }, + { + "declaration": 3765, + "isOffset": false, + "isSlot": false, + "src": "3566:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3772, + "nodeType": "InlineAssembly", + "src": "3484:141:20" + } + ] + }, + "documentation": { + "id": 3763, + "nodeType": "StructuredDocumentation", + "src": "3302:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3774, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "3394:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3768, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3765, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3416:4:20", + "nodeType": "VariableDeclaration", + "scope": 3774, + "src": "3408:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3764, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3408:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3767, + "mutability": "mutable", + "name": "key", + "nameLocation": "3430:3:20", + "nodeType": "VariableDeclaration", + "scope": 3774, + "src": "3422:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3766, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3422:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3407:27:20" + }, + "returnParameters": { + "id": 3771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3770, + "mutability": "mutable", + "name": "result", + "nameLocation": "3466:6:20", + "nodeType": "VariableDeclaration", + "scope": 3774, + "src": "3458:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3769, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3458:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3457:16:20" + }, + "scope": 3823, + "src": "3385:246:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3785, + "nodeType": "Block", + "src": "3809:157:20", + "statements": [ + { + "AST": { + "nativeSrc": "3844:116:20", + "nodeType": "YulBlock", + "src": "3844:116:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3865:4:20", + "nodeType": "YulLiteral", + "src": "3865:4:20", + "type": "", + "value": "0x00" + }, + { + "name": "key", + "nativeSrc": "3871:3:20", + "nodeType": "YulIdentifier", + "src": "3871:3:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3858:6:20", + "nodeType": "YulIdentifier", + "src": "3858:6:20" + }, + "nativeSrc": "3858:17:20", + "nodeType": "YulFunctionCall", + "src": "3858:17:20" + }, + "nativeSrc": "3858:17:20", + "nodeType": "YulExpressionStatement", + "src": "3858:17:20" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3895:4:20", + "nodeType": "YulLiteral", + "src": "3895:4:20", + "type": "", + "value": "0x20" + }, + { + "name": "slot", + "nativeSrc": "3901:4:20", + "nodeType": "YulIdentifier", + "src": "3901:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3888:6:20", + "nodeType": "YulIdentifier", + "src": "3888:6:20" + }, + "nativeSrc": "3888:18:20", + "nodeType": "YulFunctionCall", + "src": "3888:18:20" + }, + "nativeSrc": "3888:18:20", + "nodeType": "YulExpressionStatement", + "src": "3888:18:20" + }, + { + "nativeSrc": "3919:31:20", + "nodeType": "YulAssignment", + "src": "3919:31:20", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3939:4:20", + "nodeType": "YulLiteral", + "src": "3939:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "3945:4:20", + "nodeType": "YulLiteral", + "src": "3945:4:20", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "3929:9:20", + "nodeType": "YulIdentifier", + "src": "3929:9:20" + }, + "nativeSrc": "3929:21:20", + "nodeType": "YulFunctionCall", + "src": "3929:21:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "3919:6:20", + "nodeType": "YulIdentifier", + "src": "3919:6:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3779, + "isOffset": false, + "isSlot": false, + "src": "3871:3:20", + "valueSize": 1 + }, + { + "declaration": 3782, + "isOffset": false, + "isSlot": false, + "src": "3919:6:20", + "valueSize": 1 + }, + { + "declaration": 3777, + "isOffset": false, + "isSlot": false, + "src": "3901:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3784, + "nodeType": "InlineAssembly", + "src": "3819:141:20" + } + ] + }, + "documentation": { + "id": 3775, + "nodeType": "StructuredDocumentation", + "src": "3637:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3786, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "3729:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3777, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3751:4:20", + "nodeType": "VariableDeclaration", + "scope": 3786, + "src": "3743:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3776, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3743:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3779, + "mutability": "mutable", + "name": "key", + "nameLocation": "3765:3:20", + "nodeType": "VariableDeclaration", + "scope": 3786, + "src": "3757:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3778, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3757:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3742:27:20" + }, + "returnParameters": { + "id": 3783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3782, + "mutability": "mutable", + "name": "result", + "nameLocation": "3801:6:20", + "nodeType": "VariableDeclaration", + "scope": 3786, + "src": "3793:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3781, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3793:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3792:16:20" + }, + "scope": 3823, + "src": "3720:246:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3797, + "nodeType": "Block", + "src": "4143:157:20", + "statements": [ + { + "AST": { + "nativeSrc": "4178:116:20", + "nodeType": "YulBlock", + "src": "4178:116:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4199:4:20", + "nodeType": "YulLiteral", + "src": "4199:4:20", + "type": "", + "value": "0x00" + }, + { + "name": "key", + "nativeSrc": "4205:3:20", + "nodeType": "YulIdentifier", + "src": "4205:3:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4192:6:20", + "nodeType": "YulIdentifier", + "src": "4192:6:20" + }, + "nativeSrc": "4192:17:20", + "nodeType": "YulFunctionCall", + "src": "4192:17:20" + }, + "nativeSrc": "4192:17:20", + "nodeType": "YulExpressionStatement", + "src": "4192:17:20" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4229:4:20", + "nodeType": "YulLiteral", + "src": "4229:4:20", + "type": "", + "value": "0x20" + }, + { + "name": "slot", + "nativeSrc": "4235:4:20", + "nodeType": "YulIdentifier", + "src": "4235:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4222:6:20", + "nodeType": "YulIdentifier", + "src": "4222:6:20" + }, + "nativeSrc": "4222:18:20", + "nodeType": "YulFunctionCall", + "src": "4222:18:20" + }, + "nativeSrc": "4222:18:20", + "nodeType": "YulExpressionStatement", + "src": "4222:18:20" + }, + { + "nativeSrc": "4253:31:20", + "nodeType": "YulAssignment", + "src": "4253:31:20", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4273:4:20", + "nodeType": "YulLiteral", + "src": "4273:4:20", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "4279:4:20", + "nodeType": "YulLiteral", + "src": "4279:4:20", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "4263:9:20", + "nodeType": "YulIdentifier", + "src": "4263:9:20" + }, + "nativeSrc": "4263:21:20", + "nodeType": "YulFunctionCall", + "src": "4263:21:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4253:6:20", + "nodeType": "YulIdentifier", + "src": "4253:6:20" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3791, + "isOffset": false, + "isSlot": false, + "src": "4205:3:20", + "valueSize": 1 + }, + { + "declaration": 3794, + "isOffset": false, + "isSlot": false, + "src": "4253:6:20", + "valueSize": 1 + }, + { + "declaration": 3789, + "isOffset": false, + "isSlot": false, + "src": "4235:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3796, + "nodeType": "InlineAssembly", + "src": "4153:141:20" + } + ] + }, + "documentation": { + "id": 3787, + "nodeType": "StructuredDocumentation", + "src": "3972:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3798, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "4064:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3789, + "mutability": "mutable", + "name": "slot", + "nameLocation": "4086:4:20", + "nodeType": "VariableDeclaration", + "scope": 3798, + "src": "4078:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4078:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3791, + "mutability": "mutable", + "name": "key", + "nameLocation": "4099:3:20", + "nodeType": "VariableDeclaration", + "scope": 3798, + "src": "4092:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3790, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4092:6:20", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4077:26:20" + }, + "returnParameters": { + "id": 3795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3794, + "mutability": "mutable", + "name": "result", + "nameLocation": "4135:6:20", + "nodeType": "VariableDeclaration", + "scope": 3798, + "src": "4127:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3793, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4127:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4126:16:20" + }, + "scope": 3823, + "src": "4055:245:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3809, + "nodeType": "Block", + "src": "4484:326:20", + "statements": [ + { + "AST": { + "nativeSrc": "4519:285:20", + "nodeType": "YulBlock", + "src": "4519:285:20", + "statements": [ + { + "nativeSrc": "4533:24:20", + "nodeType": "YulVariableDeclaration", + "src": "4533:24:20", + "value": { + "arguments": [ + { + "name": "key", + "nativeSrc": "4553:3:20", + "nodeType": "YulIdentifier", + "src": "4553:3:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4547:5:20", + "nodeType": "YulIdentifier", + "src": "4547:5:20" + }, + "nativeSrc": "4547:10:20", + "nodeType": "YulFunctionCall", + "src": "4547:10:20" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "4537:6:20", + "nodeType": "YulTypedName", + "src": "4537:6:20", + "type": "" + } + ] + }, + { + "nativeSrc": "4570:27:20", + "nodeType": "YulVariableDeclaration", + "src": "4570:27:20", + "value": { + "arguments": [ + { + "name": "key", + "nativeSrc": "4587:3:20", + "nodeType": "YulIdentifier", + "src": "4587:3:20" + }, + { + "kind": "number", + "nativeSrc": "4592:4:20", + "nodeType": "YulLiteral", + "src": "4592:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4583:3:20", + "nodeType": "YulIdentifier", + "src": "4583:3:20" + }, + "nativeSrc": "4583:14:20", + "nodeType": "YulFunctionCall", + "src": "4583:14:20" + }, + "variables": [ + { + "name": "begin", + "nativeSrc": "4574:5:20", + "nodeType": "YulTypedName", + "src": "4574:5:20", + "type": "" + } + ] + }, + { + "nativeSrc": "4610:29:20", + "nodeType": "YulVariableDeclaration", + "src": "4610:29:20", + "value": { + "arguments": [ + { + "name": "begin", + "nativeSrc": "4625:5:20", + "nodeType": "YulIdentifier", + "src": "4625:5:20" + }, + { + "name": "length", + "nativeSrc": "4632:6:20", + "nodeType": "YulIdentifier", + "src": "4632:6:20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4621:3:20", + "nodeType": "YulIdentifier", + "src": "4621:3:20" + }, + "nativeSrc": "4621:18:20", + "nodeType": "YulFunctionCall", + "src": "4621:18:20" + }, + "variables": [ + { + "name": "end", + "nativeSrc": "4614:3:20", + "nodeType": "YulTypedName", + "src": "4614:3:20", + "type": "" + } + ] + }, + { + "nativeSrc": "4652:23:20", + "nodeType": "YulVariableDeclaration", + "src": "4652:23:20", + "value": { + "arguments": [ + { + "name": "end", + "nativeSrc": "4671:3:20", + "nodeType": "YulIdentifier", + "src": "4671:3:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4665:5:20", + "nodeType": "YulIdentifier", + "src": "4665:5:20" + }, + "nativeSrc": "4665:10:20", + "nodeType": "YulFunctionCall", + "src": "4665:10:20" + }, + "variables": [ + { + "name": "cache", + "nativeSrc": "4656:5:20", + "nodeType": "YulTypedName", + "src": "4656:5:20", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "end", + "nativeSrc": "4695:3:20", + "nodeType": "YulIdentifier", + "src": "4695:3:20" + }, + { + "name": "slot", + "nativeSrc": "4700:4:20", + "nodeType": "YulIdentifier", + "src": "4700:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4688:6:20", + "nodeType": "YulIdentifier", + "src": "4688:6:20" + }, + "nativeSrc": "4688:17:20", + "nodeType": "YulFunctionCall", + "src": "4688:17:20" + }, + "nativeSrc": "4688:17:20", + "nodeType": "YulExpressionStatement", + "src": "4688:17:20" + }, + { + "nativeSrc": "4718:45:20", + "nodeType": "YulAssignment", + "src": "4718:45:20", + "value": { + "arguments": [ + { + "name": "begin", + "nativeSrc": "4738:5:20", + "nodeType": "YulIdentifier", + "src": "4738:5:20" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "4749:6:20", + "nodeType": "YulIdentifier", + "src": "4749:6:20" + }, + { + "kind": "number", + "nativeSrc": "4757:4:20", + "nodeType": "YulLiteral", + "src": "4757:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4745:3:20", + "nodeType": "YulIdentifier", + "src": "4745:3:20" + }, + "nativeSrc": "4745:17:20", + "nodeType": "YulFunctionCall", + "src": "4745:17:20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "4728:9:20", + "nodeType": "YulIdentifier", + "src": "4728:9:20" + }, + "nativeSrc": "4728:35:20", + "nodeType": "YulFunctionCall", + "src": "4728:35:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4718:6:20", + "nodeType": "YulIdentifier", + "src": "4718:6:20" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "end", + "nativeSrc": "4783:3:20", + "nodeType": "YulIdentifier", + "src": "4783:3:20" + }, + { + "name": "cache", + "nativeSrc": "4788:5:20", + "nodeType": "YulIdentifier", + "src": "4788:5:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4776:6:20", + "nodeType": "YulIdentifier", + "src": "4776:6:20" + }, + "nativeSrc": "4776:18:20", + "nodeType": "YulFunctionCall", + "src": "4776:18:20" + }, + "nativeSrc": "4776:18:20", + "nodeType": "YulExpressionStatement", + "src": "4776:18:20" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3803, + "isOffset": false, + "isSlot": false, + "src": "4553:3:20", + "valueSize": 1 + }, + { + "declaration": 3803, + "isOffset": false, + "isSlot": false, + "src": "4587:3:20", + "valueSize": 1 + }, + { + "declaration": 3806, + "isOffset": false, + "isSlot": false, + "src": "4718:6:20", + "valueSize": 1 + }, + { + "declaration": 3801, + "isOffset": false, + "isSlot": false, + "src": "4700:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3808, + "nodeType": "InlineAssembly", + "src": "4494:310:20" + } + ] + }, + "documentation": { + "id": 3799, + "nodeType": "StructuredDocumentation", + "src": "4306:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3810, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "4398:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3801, + "mutability": "mutable", + "name": "slot", + "nameLocation": "4420:4:20", + "nodeType": "VariableDeclaration", + "scope": 3810, + "src": "4412:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4412:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3803, + "mutability": "mutable", + "name": "key", + "nameLocation": "4440:3:20", + "nodeType": "VariableDeclaration", + "scope": 3810, + "src": "4426:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4426:6:20", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4411:33:20" + }, + "returnParameters": { + "id": 3807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3806, + "mutability": "mutable", + "name": "result", + "nameLocation": "4476:6:20", + "nodeType": "VariableDeclaration", + "scope": 3810, + "src": "4468:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3805, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4468:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4467:16:20" + }, + "scope": 3823, + "src": "4389:421:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3821, + "nodeType": "Block", + "src": "4993:326:20", + "statements": [ + { + "AST": { + "nativeSrc": "5028:285:20", + "nodeType": "YulBlock", + "src": "5028:285:20", + "statements": [ + { + "nativeSrc": "5042:24:20", + "nodeType": "YulVariableDeclaration", + "src": "5042:24:20", + "value": { + "arguments": [ + { + "name": "key", + "nativeSrc": "5062:3:20", + "nodeType": "YulIdentifier", + "src": "5062:3:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5056:5:20", + "nodeType": "YulIdentifier", + "src": "5056:5:20" + }, + "nativeSrc": "5056:10:20", + "nodeType": "YulFunctionCall", + "src": "5056:10:20" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5046:6:20", + "nodeType": "YulTypedName", + "src": "5046:6:20", + "type": "" + } + ] + }, + { + "nativeSrc": "5079:27:20", + "nodeType": "YulVariableDeclaration", + "src": "5079:27:20", + "value": { + "arguments": [ + { + "name": "key", + "nativeSrc": "5096:3:20", + "nodeType": "YulIdentifier", + "src": "5096:3:20" + }, + { + "kind": "number", + "nativeSrc": "5101:4:20", + "nodeType": "YulLiteral", + "src": "5101:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5092:3:20", + "nodeType": "YulIdentifier", + "src": "5092:3:20" + }, + "nativeSrc": "5092:14:20", + "nodeType": "YulFunctionCall", + "src": "5092:14:20" + }, + "variables": [ + { + "name": "begin", + "nativeSrc": "5083:5:20", + "nodeType": "YulTypedName", + "src": "5083:5:20", + "type": "" + } + ] + }, + { + "nativeSrc": "5119:29:20", + "nodeType": "YulVariableDeclaration", + "src": "5119:29:20", + "value": { + "arguments": [ + { + "name": "begin", + "nativeSrc": "5134:5:20", + "nodeType": "YulIdentifier", + "src": "5134:5:20" + }, + { + "name": "length", + "nativeSrc": "5141:6:20", + "nodeType": "YulIdentifier", + "src": "5141:6:20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5130:3:20", + "nodeType": "YulIdentifier", + "src": "5130:3:20" + }, + "nativeSrc": "5130:18:20", + "nodeType": "YulFunctionCall", + "src": "5130:18:20" + }, + "variables": [ + { + "name": "end", + "nativeSrc": "5123:3:20", + "nodeType": "YulTypedName", + "src": "5123:3:20", + "type": "" + } + ] + }, + { + "nativeSrc": "5161:23:20", + "nodeType": "YulVariableDeclaration", + "src": "5161:23:20", + "value": { + "arguments": [ + { + "name": "end", + "nativeSrc": "5180:3:20", + "nodeType": "YulIdentifier", + "src": "5180:3:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5174:5:20", + "nodeType": "YulIdentifier", + "src": "5174:5:20" + }, + "nativeSrc": "5174:10:20", + "nodeType": "YulFunctionCall", + "src": "5174:10:20" + }, + "variables": [ + { + "name": "cache", + "nativeSrc": "5165:5:20", + "nodeType": "YulTypedName", + "src": "5165:5:20", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "end", + "nativeSrc": "5204:3:20", + "nodeType": "YulIdentifier", + "src": "5204:3:20" + }, + { + "name": "slot", + "nativeSrc": "5209:4:20", + "nodeType": "YulIdentifier", + "src": "5209:4:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5197:6:20", + "nodeType": "YulIdentifier", + "src": "5197:6:20" + }, + "nativeSrc": "5197:17:20", + "nodeType": "YulFunctionCall", + "src": "5197:17:20" + }, + "nativeSrc": "5197:17:20", + "nodeType": "YulExpressionStatement", + "src": "5197:17:20" + }, + { + "nativeSrc": "5227:45:20", + "nodeType": "YulAssignment", + "src": "5227:45:20", + "value": { + "arguments": [ + { + "name": "begin", + "nativeSrc": "5247:5:20", + "nodeType": "YulIdentifier", + "src": "5247:5:20" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5258:6:20", + "nodeType": "YulIdentifier", + "src": "5258:6:20" + }, + { + "kind": "number", + "nativeSrc": "5266:4:20", + "nodeType": "YulLiteral", + "src": "5266:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5254:3:20", + "nodeType": "YulIdentifier", + "src": "5254:3:20" + }, + "nativeSrc": "5254:17:20", + "nodeType": "YulFunctionCall", + "src": "5254:17:20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "5237:9:20", + "nodeType": "YulIdentifier", + "src": "5237:9:20" + }, + "nativeSrc": "5237:35:20", + "nodeType": "YulFunctionCall", + "src": "5237:35:20" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "5227:6:20", + "nodeType": "YulIdentifier", + "src": "5227:6:20" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "end", + "nativeSrc": "5292:3:20", + "nodeType": "YulIdentifier", + "src": "5292:3:20" + }, + { + "name": "cache", + "nativeSrc": "5297:5:20", + "nodeType": "YulIdentifier", + "src": "5297:5:20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5285:6:20", + "nodeType": "YulIdentifier", + "src": "5285:6:20" + }, + "nativeSrc": "5285:18:20", + "nodeType": "YulFunctionCall", + "src": "5285:18:20" + }, + "nativeSrc": "5285:18:20", + "nodeType": "YulExpressionStatement", + "src": "5285:18:20" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3815, + "isOffset": false, + "isSlot": false, + "src": "5062:3:20", + "valueSize": 1 + }, + { + "declaration": 3815, + "isOffset": false, + "isSlot": false, + "src": "5096:3:20", + "valueSize": 1 + }, + { + "declaration": 3818, + "isOffset": false, + "isSlot": false, + "src": "5227:6:20", + "valueSize": 1 + }, + { + "declaration": 3813, + "isOffset": false, + "isSlot": false, + "src": "5209:4:20", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3820, + "nodeType": "InlineAssembly", + "src": "5003:310:20" + } + ] + }, + "documentation": { + "id": 3811, + "nodeType": "StructuredDocumentation", + "src": "4816:78:20", + "text": " @dev Derive the location of a mapping element from the key." + }, + "id": 3822, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveMapping", + "nameLocation": "4908:13:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3813, + "mutability": "mutable", + "name": "slot", + "nameLocation": "4930:4:20", + "nodeType": "VariableDeclaration", + "scope": 3822, + "src": "4922:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3812, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4922:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3815, + "mutability": "mutable", + "name": "key", + "nameLocation": "4949:3:20", + "nodeType": "VariableDeclaration", + "scope": 3822, + "src": "4936:16:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3814, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4936:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4921:32:20" + }, + "returnParameters": { + "id": 3819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3818, + "mutability": "mutable", + "name": "result", + "nameLocation": "4985:6:20", + "nodeType": "VariableDeclaration", + "scope": 3822, + "src": "4977:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3817, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4977:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4976:16:20" + }, + "scope": 3823, + "src": "4899:420:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3824, + "src": "1598:3723:20", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "199:5123:20" + }, + "id": 20 + }, + "@openzeppelin/contracts/utils/StorageSlot.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "exportedSymbols": { + "StorageSlot": [ + 3947 + ] + }, + "id": 3948, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3825, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "193:24:21" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "StorageSlot", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3826, + "nodeType": "StructuredDocumentation", + "src": "219:1187:21", + "text": " @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC-1967 implementation slot:\n ```solidity\n contract ERC1967 {\n // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(newImplementation.code.length > 0);\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n TIP: Consider using this library along with {SlotDerivation}." + }, + "fullyImplemented": true, + "id": 3947, + "linearizedBaseContracts": [ + 3947 + ], + "name": "StorageSlot", + "nameLocation": "1415:11:21", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "StorageSlot.AddressSlot", + "id": 3829, + "members": [ + { + "constant": false, + "id": 3828, + "mutability": "mutable", + "name": "value", + "nameLocation": "1470:5:21", + "nodeType": "VariableDeclaration", + "scope": 3829, + "src": "1462:13:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1462:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "AddressSlot", + "nameLocation": "1440:11:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1433:49:21", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.BooleanSlot", + "id": 3832, + "members": [ + { + "constant": false, + "id": 3831, + "mutability": "mutable", + "name": "value", + "nameLocation": "1522:5:21", + "nodeType": "VariableDeclaration", + "scope": 3832, + "src": "1517:10:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3830, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1517:4:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "BooleanSlot", + "nameLocation": "1495:11:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1488:46:21", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Bytes32Slot", + "id": 3835, + "members": [ + { + "constant": false, + "id": 3834, + "mutability": "mutable", + "name": "value", + "nameLocation": "1577:5:21", + "nodeType": "VariableDeclaration", + "scope": 3835, + "src": "1569:13:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3833, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1569:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Bytes32Slot", + "nameLocation": "1547:11:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1540:49:21", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Uint256Slot", + "id": 3838, + "members": [ + { + "constant": false, + "id": 3837, + "mutability": "mutable", + "name": "value", + "nameLocation": "1632:5:21", + "nodeType": "VariableDeclaration", + "scope": 3838, + "src": "1624:13:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3836, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1624:7:21", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Uint256Slot", + "nameLocation": "1602:11:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1595:49:21", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Int256Slot", + "id": 3841, + "members": [ + { + "constant": false, + "id": 3840, + "mutability": "mutable", + "name": "value", + "nameLocation": "1685:5:21", + "nodeType": "VariableDeclaration", + "scope": 3841, + "src": "1678:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3839, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1678:6:21", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "name": "Int256Slot", + "nameLocation": "1657:10:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1650:47:21", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.StringSlot", + "id": 3844, + "members": [ + { + "constant": false, + "id": 3843, + "mutability": "mutable", + "name": "value", + "nameLocation": "1738:5:21", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "1731:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3842, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1731:6:21", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "StringSlot", + "nameLocation": "1710:10:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1703:47:21", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.BytesSlot", + "id": 3847, + "members": [ + { + "constant": false, + "id": 3846, + "mutability": "mutable", + "name": "value", + "nameLocation": "1789:5:21", + "nodeType": "VariableDeclaration", + "scope": 3847, + "src": "1783:11:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3845, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1783:5:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "BytesSlot", + "nameLocation": "1763:9:21", + "nodeType": "StructDefinition", + "scope": 3947, + "src": "1756:45:21", + "visibility": "public" + }, + { + "body": { + "id": 3857, + "nodeType": "Block", + "src": "1983:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "2018:38:21", + "nodeType": "YulBlock", + "src": "2018:38:21", + "statements": [ + { + "nativeSrc": "2032:14:21", + "nodeType": "YulAssignment", + "src": "2032:14:21", + "value": { + "name": "slot", + "nativeSrc": "2042:4:21", + "nodeType": "YulIdentifier", + "src": "2042:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2032:6:21", + "nodeType": "YulIdentifier", + "src": "2032:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3854, + "isOffset": false, + "isSlot": true, + "src": "2032:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3850, + "isOffset": false, + "isSlot": false, + "src": "2042:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3856, + "nodeType": "InlineAssembly", + "src": "1993:63:21" + } + ] + }, + "documentation": { + "id": 3848, + "nodeType": "StructuredDocumentation", + "src": "1807:87:21", + "text": " @dev Returns an `AddressSlot` with member `value` located at `slot`." + }, + "id": 3858, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAddressSlot", + "nameLocation": "1908:14:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3850, + "mutability": "mutable", + "name": "slot", + "nameLocation": "1931:4:21", + "nodeType": "VariableDeclaration", + "scope": 3858, + "src": "1923:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3849, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1923:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1922:14:21" + }, + "returnParameters": { + "id": 3855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3854, + "mutability": "mutable", + "name": "r", + "nameLocation": "1980:1:21", + "nodeType": "VariableDeclaration", + "scope": 3858, + "src": "1960:21:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$3829_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + }, + "typeName": { + "id": 3853, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3852, + "name": "AddressSlot", + "nameLocations": [ + "1960:11:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3829, + "src": "1960:11:21" + }, + "referencedDeclaration": 3829, + "src": "1960:11:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$3829_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + } + }, + "visibility": "internal" + } + ], + "src": "1959:23:21" + }, + "scope": 3947, + "src": "1899:163:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3868, + "nodeType": "Block", + "src": "2243:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "2278:38:21", + "nodeType": "YulBlock", + "src": "2278:38:21", + "statements": [ + { + "nativeSrc": "2292:14:21", + "nodeType": "YulAssignment", + "src": "2292:14:21", + "value": { + "name": "slot", + "nativeSrc": "2302:4:21", + "nodeType": "YulIdentifier", + "src": "2302:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2292:6:21", + "nodeType": "YulIdentifier", + "src": "2292:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3865, + "isOffset": false, + "isSlot": true, + "src": "2292:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3861, + "isOffset": false, + "isSlot": false, + "src": "2302:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3867, + "nodeType": "InlineAssembly", + "src": "2253:63:21" + } + ] + }, + "documentation": { + "id": 3859, + "nodeType": "StructuredDocumentation", + "src": "2068:86:21", + "text": " @dev Returns a `BooleanSlot` with member `value` located at `slot`." + }, + "id": 3869, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBooleanSlot", + "nameLocation": "2168:14:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3861, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2191:4:21", + "nodeType": "VariableDeclaration", + "scope": 3869, + "src": "2183:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3860, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2183:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2182:14:21" + }, + "returnParameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3865, + "mutability": "mutable", + "name": "r", + "nameLocation": "2240:1:21", + "nodeType": "VariableDeclaration", + "scope": 3869, + "src": "2220:21:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$3832_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot" + }, + "typeName": { + "id": 3864, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3863, + "name": "BooleanSlot", + "nameLocations": [ + "2220:11:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3832, + "src": "2220:11:21" + }, + "referencedDeclaration": 3832, + "src": "2220:11:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$3832_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot" + } + }, + "visibility": "internal" + } + ], + "src": "2219:23:21" + }, + "scope": 3947, + "src": "2159:163:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3879, + "nodeType": "Block", + "src": "2503:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "2538:38:21", + "nodeType": "YulBlock", + "src": "2538:38:21", + "statements": [ + { + "nativeSrc": "2552:14:21", + "nodeType": "YulAssignment", + "src": "2552:14:21", + "value": { + "name": "slot", + "nativeSrc": "2562:4:21", + "nodeType": "YulIdentifier", + "src": "2562:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2552:6:21", + "nodeType": "YulIdentifier", + "src": "2552:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3876, + "isOffset": false, + "isSlot": true, + "src": "2552:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3872, + "isOffset": false, + "isSlot": false, + "src": "2562:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3878, + "nodeType": "InlineAssembly", + "src": "2513:63:21" + } + ] + }, + "documentation": { + "id": 3870, + "nodeType": "StructuredDocumentation", + "src": "2328:86:21", + "text": " @dev Returns a `Bytes32Slot` with member `value` located at `slot`." + }, + "id": 3880, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytes32Slot", + "nameLocation": "2428:14:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3872, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2451:4:21", + "nodeType": "VariableDeclaration", + "scope": 3880, + "src": "2443:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3871, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2443:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2442:14:21" + }, + "returnParameters": { + "id": 3877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3876, + "mutability": "mutable", + "name": "r", + "nameLocation": "2500:1:21", + "nodeType": "VariableDeclaration", + "scope": 3880, + "src": "2480:21:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$3835_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + }, + "typeName": { + "id": 3875, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3874, + "name": "Bytes32Slot", + "nameLocations": [ + "2480:11:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3835, + "src": "2480:11:21" + }, + "referencedDeclaration": 3835, + "src": "2480:11:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$3835_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2479:23:21" + }, + "scope": 3947, + "src": "2419:163:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3890, + "nodeType": "Block", + "src": "2763:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "2798:38:21", + "nodeType": "YulBlock", + "src": "2798:38:21", + "statements": [ + { + "nativeSrc": "2812:14:21", + "nodeType": "YulAssignment", + "src": "2812:14:21", + "value": { + "name": "slot", + "nativeSrc": "2822:4:21", + "nodeType": "YulIdentifier", + "src": "2822:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2812:6:21", + "nodeType": "YulIdentifier", + "src": "2812:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3887, + "isOffset": false, + "isSlot": true, + "src": "2812:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3883, + "isOffset": false, + "isSlot": false, + "src": "2822:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3889, + "nodeType": "InlineAssembly", + "src": "2773:63:21" + } + ] + }, + "documentation": { + "id": 3881, + "nodeType": "StructuredDocumentation", + "src": "2588:86:21", + "text": " @dev Returns a `Uint256Slot` with member `value` located at `slot`." + }, + "id": 3891, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUint256Slot", + "nameLocation": "2688:14:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3883, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2711:4:21", + "nodeType": "VariableDeclaration", + "scope": 3891, + "src": "2703:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3882, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2703:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2702:14:21" + }, + "returnParameters": { + "id": 3888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3887, + "mutability": "mutable", + "name": "r", + "nameLocation": "2760:1:21", + "nodeType": "VariableDeclaration", + "scope": 3891, + "src": "2740:21:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + }, + "typeName": { + "id": 3886, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3885, + "name": "Uint256Slot", + "nameLocations": [ + "2740:11:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3838, + "src": "2740:11:21" + }, + "referencedDeclaration": 3838, + "src": "2740:11:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$3838_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2739:23:21" + }, + "scope": 3947, + "src": "2679:163:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3901, + "nodeType": "Block", + "src": "3020:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "3055:38:21", + "nodeType": "YulBlock", + "src": "3055:38:21", + "statements": [ + { + "nativeSrc": "3069:14:21", + "nodeType": "YulAssignment", + "src": "3069:14:21", + "value": { + "name": "slot", + "nativeSrc": "3079:4:21", + "nodeType": "YulIdentifier", + "src": "3079:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3069:6:21", + "nodeType": "YulIdentifier", + "src": "3069:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3898, + "isOffset": false, + "isSlot": true, + "src": "3069:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3894, + "isOffset": false, + "isSlot": false, + "src": "3079:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3900, + "nodeType": "InlineAssembly", + "src": "3030:63:21" + } + ] + }, + "documentation": { + "id": 3892, + "nodeType": "StructuredDocumentation", + "src": "2848:85:21", + "text": " @dev Returns a `Int256Slot` with member `value` located at `slot`." + }, + "id": 3902, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getInt256Slot", + "nameLocation": "2947:13:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3894, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2969:4:21", + "nodeType": "VariableDeclaration", + "scope": 3902, + "src": "2961:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3893, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2961:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2960:14:21" + }, + "returnParameters": { + "id": 3899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3898, + "mutability": "mutable", + "name": "r", + "nameLocation": "3017:1:21", + "nodeType": "VariableDeclaration", + "scope": 3902, + "src": "2998:20:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Int256Slot_$3841_storage_ptr", + "typeString": "struct StorageSlot.Int256Slot" + }, + "typeName": { + "id": 3897, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3896, + "name": "Int256Slot", + "nameLocations": [ + "2998:10:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3841, + "src": "2998:10:21" + }, + "referencedDeclaration": 3841, + "src": "2998:10:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Int256Slot_$3841_storage_ptr", + "typeString": "struct StorageSlot.Int256Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2997:22:21" + }, + "scope": 3947, + "src": "2938:161:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3912, + "nodeType": "Block", + "src": "3277:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "3312:38:21", + "nodeType": "YulBlock", + "src": "3312:38:21", + "statements": [ + { + "nativeSrc": "3326:14:21", + "nodeType": "YulAssignment", + "src": "3326:14:21", + "value": { + "name": "slot", + "nativeSrc": "3336:4:21", + "nodeType": "YulIdentifier", + "src": "3336:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3326:6:21", + "nodeType": "YulIdentifier", + "src": "3326:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3909, + "isOffset": false, + "isSlot": true, + "src": "3326:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3905, + "isOffset": false, + "isSlot": false, + "src": "3336:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3911, + "nodeType": "InlineAssembly", + "src": "3287:63:21" + } + ] + }, + "documentation": { + "id": 3903, + "nodeType": "StructuredDocumentation", + "src": "3105:85:21", + "text": " @dev Returns a `StringSlot` with member `value` located at `slot`." + }, + "id": 3913, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStringSlot", + "nameLocation": "3204:13:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3905, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3226:4:21", + "nodeType": "VariableDeclaration", + "scope": 3913, + "src": "3218:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3904, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3218:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3217:14:21" + }, + "returnParameters": { + "id": 3910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3909, + "mutability": "mutable", + "name": "r", + "nameLocation": "3274:1:21", + "nodeType": "VariableDeclaration", + "scope": 3913, + "src": "3255:20:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$3844_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + }, + "typeName": { + "id": 3908, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3907, + "name": "StringSlot", + "nameLocations": [ + "3255:10:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3844, + "src": "3255:10:21" + }, + "referencedDeclaration": 3844, + "src": "3255:10:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$3844_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + } + }, + "visibility": "internal" + } + ], + "src": "3254:22:21" + }, + "scope": 3947, + "src": "3195:161:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3923, + "nodeType": "Block", + "src": "3558:85:21", + "statements": [ + { + "AST": { + "nativeSrc": "3593:44:21", + "nodeType": "YulBlock", + "src": "3593:44:21", + "statements": [ + { + "nativeSrc": "3607:20:21", + "nodeType": "YulAssignment", + "src": "3607:20:21", + "value": { + "name": "store.slot", + "nativeSrc": "3617:10:21", + "nodeType": "YulIdentifier", + "src": "3617:10:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3607:6:21", + "nodeType": "YulIdentifier", + "src": "3607:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3920, + "isOffset": false, + "isSlot": true, + "src": "3607:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3916, + "isOffset": false, + "isSlot": true, + "src": "3617:10:21", + "suffix": "slot", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3922, + "nodeType": "InlineAssembly", + "src": "3568:69:21" + } + ] + }, + "documentation": { + "id": 3914, + "nodeType": "StructuredDocumentation", + "src": "3362:101:21", + "text": " @dev Returns an `StringSlot` representation of the string storage pointer `store`." + }, + "id": 3924, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStringSlot", + "nameLocation": "3477:13:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3916, + "mutability": "mutable", + "name": "store", + "nameLocation": "3506:5:21", + "nodeType": "VariableDeclaration", + "scope": 3924, + "src": "3491:20:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3915, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3491:6:21", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3490:22:21" + }, + "returnParameters": { + "id": 3921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3920, + "mutability": "mutable", + "name": "r", + "nameLocation": "3555:1:21", + "nodeType": "VariableDeclaration", + "scope": 3924, + "src": "3536:20:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$3844_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + }, + "typeName": { + "id": 3919, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3918, + "name": "StringSlot", + "nameLocations": [ + "3536:10:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3844, + "src": "3536:10:21" + }, + "referencedDeclaration": 3844, + "src": "3536:10:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$3844_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + } + }, + "visibility": "internal" + } + ], + "src": "3535:22:21" + }, + "scope": 3947, + "src": "3468:175:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3934, + "nodeType": "Block", + "src": "3818:79:21", + "statements": [ + { + "AST": { + "nativeSrc": "3853:38:21", + "nodeType": "YulBlock", + "src": "3853:38:21", + "statements": [ + { + "nativeSrc": "3867:14:21", + "nodeType": "YulAssignment", + "src": "3867:14:21", + "value": { + "name": "slot", + "nativeSrc": "3877:4:21", + "nodeType": "YulIdentifier", + "src": "3877:4:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3867:6:21", + "nodeType": "YulIdentifier", + "src": "3867:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3931, + "isOffset": false, + "isSlot": true, + "src": "3867:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3927, + "isOffset": false, + "isSlot": false, + "src": "3877:4:21", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3933, + "nodeType": "InlineAssembly", + "src": "3828:63:21" + } + ] + }, + "documentation": { + "id": 3925, + "nodeType": "StructuredDocumentation", + "src": "3649:84:21", + "text": " @dev Returns a `BytesSlot` with member `value` located at `slot`." + }, + "id": 3935, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytesSlot", + "nameLocation": "3747:12:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3927, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3768:4:21", + "nodeType": "VariableDeclaration", + "scope": 3935, + "src": "3760:12:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3926, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3760:7:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3759:14:21" + }, + "returnParameters": { + "id": 3932, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3931, + "mutability": "mutable", + "name": "r", + "nameLocation": "3815:1:21", + "nodeType": "VariableDeclaration", + "scope": 3935, + "src": "3797:19:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$3847_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + }, + "typeName": { + "id": 3930, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3929, + "name": "BytesSlot", + "nameLocations": [ + "3797:9:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3847, + "src": "3797:9:21" + }, + "referencedDeclaration": 3847, + "src": "3797:9:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$3847_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + } + }, + "visibility": "internal" + } + ], + "src": "3796:21:21" + }, + "scope": 3947, + "src": "3738:159:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3945, + "nodeType": "Block", + "src": "4094:85:21", + "statements": [ + { + "AST": { + "nativeSrc": "4129:44:21", + "nodeType": "YulBlock", + "src": "4129:44:21", + "statements": [ + { + "nativeSrc": "4143:20:21", + "nodeType": "YulAssignment", + "src": "4143:20:21", + "value": { + "name": "store.slot", + "nativeSrc": "4153:10:21", + "nodeType": "YulIdentifier", + "src": "4153:10:21" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "4143:6:21", + "nodeType": "YulIdentifier", + "src": "4143:6:21" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3942, + "isOffset": false, + "isSlot": true, + "src": "4143:6:21", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 3938, + "isOffset": false, + "isSlot": true, + "src": "4153:10:21", + "suffix": "slot", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3944, + "nodeType": "InlineAssembly", + "src": "4104:69:21" + } + ] + }, + "documentation": { + "id": 3936, + "nodeType": "StructuredDocumentation", + "src": "3903:99:21", + "text": " @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`." + }, + "id": 3946, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytesSlot", + "nameLocation": "4016:12:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3938, + "mutability": "mutable", + "name": "store", + "nameLocation": "4043:5:21", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "4029:19:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3937, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4029:5:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4028:21:21" + }, + "returnParameters": { + "id": 3943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3942, + "mutability": "mutable", + "name": "r", + "nameLocation": "4091:1:21", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "4073:19:21", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$3847_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + }, + "typeName": { + "id": 3941, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3940, + "name": "BytesSlot", + "nameLocations": [ + "4073:9:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3847, + "src": "4073:9:21" + }, + "referencedDeclaration": 3847, + "src": "4073:9:21", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$3847_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + } + }, + "visibility": "internal" + } + ], + "src": "4072:21:21" + }, + "scope": 3947, + "src": "4007:172:21", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3948, + "src": "1407:2774:21", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "193:3989:21" + }, + "id": 21 + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "exportedSymbols": { + "Math": [ + 7671 + ], + "SignedMath": [ + 9580 + ], + "Strings": [ + 4267 + ] + }, + "id": 4268, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3949, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:22" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "file": "./math/Math.sol", + "id": 3951, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4268, + "sourceUnit": 7672, + "src": "127:37:22", + "symbolAliases": [ + { + "foreign": { + "id": 3950, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "135:4:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "file": "./math/SignedMath.sol", + "id": 3953, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4268, + "sourceUnit": 9581, + "src": "165:49:22", + "symbolAliases": [ + { + "foreign": { + "id": 3952, + "name": "SignedMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9580, + "src": "173:10:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Strings", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3954, + "nodeType": "StructuredDocumentation", + "src": "216:34:22", + "text": " @dev String operations." + }, + "fullyImplemented": true, + "id": 4267, + "linearizedBaseContracts": [ + 4267 + ], + "name": "Strings", + "nameLocation": "259:7:22", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 3957, + "mutability": "constant", + "name": "HEX_DIGITS", + "nameLocation": "298:10:22", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "273:56:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 3955, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "273:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": { + "hexValue": "30313233343536373839616263646566", + "id": 3956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "311:18:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", + "typeString": "literal_string \"0123456789abcdef\"" + }, + "value": "0123456789abcdef" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 3960, + "mutability": "constant", + "name": "ADDRESS_LENGTH", + "nameLocation": "358:14:22", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "335:42:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3958, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "335:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "3230", + "id": 3959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "375:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "visibility": "private" + }, + { + "documentation": { + "id": 3961, + "nodeType": "StructuredDocumentation", + "src": "384:81:22", + "text": " @dev The `value` string doesn't fit in the specified `length`." + }, + "errorSelector": "e22e27eb", + "id": 3967, + "name": "StringsInsufficientHexLength", + "nameLocation": "476:28:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3963, + "mutability": "mutable", + "name": "value", + "nameLocation": "513:5:22", + "nodeType": "VariableDeclaration", + "scope": 3967, + "src": "505:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "505:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3965, + "mutability": "mutable", + "name": "length", + "nameLocation": "528:6:22", + "nodeType": "VariableDeclaration", + "scope": 3967, + "src": "520:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "520:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "504:31:22" + }, + "src": "470:66:22" + }, + { + "body": { + "id": 4014, + "nodeType": "Block", + "src": "708:561:22", + "statements": [ + { + "id": 4013, + "nodeType": "UncheckedBlock", + "src": "718:545:22", + "statements": [ + { + "assignments": [ + 3976 + ], + "declarations": [ + { + "constant": false, + "id": 3976, + "mutability": "mutable", + "name": "length", + "nameLocation": "750:6:22", + "nodeType": "VariableDeclaration", + "scope": 4013, + "src": "742:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "742:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3983, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3979, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3970, + "src": "770:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3977, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "759:4:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 3978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "764:5:22", + "memberName": "log10", + "nodeType": "MemberAccess", + "referencedDeclaration": 7443, + "src": "759:10:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 3980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "759:17:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "779:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "759:21:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "742:38:22" + }, + { + "assignments": [ + 3985 + ], + "declarations": [ + { + "constant": false, + "id": 3985, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "808:6:22", + "nodeType": "VariableDeclaration", + "scope": 4013, + "src": "794:20:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3984, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "794:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3990, + "initialValue": { + "arguments": [ + { + "id": 3988, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3976, + "src": "828:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "817:10:22", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + }, + "typeName": { + "id": 3986, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "821:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "817:18:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "794:41:22" + }, + { + "assignments": [ + 3992 + ], + "declarations": [ + { + "constant": false, + "id": 3992, + "mutability": "mutable", + "name": "ptr", + "nameLocation": "857:3:22", + "nodeType": "VariableDeclaration", + "scope": 4013, + "src": "849:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "849:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3993, + "nodeType": "VariableDeclarationStatement", + "src": "849:11:22" + }, + { + "AST": { + "nativeSrc": "899:67:22", + "nodeType": "YulBlock", + "src": "899:67:22", + "statements": [ + { + "nativeSrc": "917:35:22", + "nodeType": "YulAssignment", + "src": "917:35:22", + "value": { + "arguments": [ + { + "name": "buffer", + "nativeSrc": "928:6:22", + "nodeType": "YulIdentifier", + "src": "928:6:22" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "940:2:22", + "nodeType": "YulLiteral", + "src": "940:2:22", + "type": "", + "value": "32" + }, + { + "name": "length", + "nativeSrc": "944:6:22", + "nodeType": "YulIdentifier", + "src": "944:6:22" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "936:3:22", + "nodeType": "YulIdentifier", + "src": "936:3:22" + }, + "nativeSrc": "936:15:22", + "nodeType": "YulFunctionCall", + "src": "936:15:22" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "924:3:22", + "nodeType": "YulIdentifier", + "src": "924:3:22" + }, + "nativeSrc": "924:28:22", + "nodeType": "YulFunctionCall", + "src": "924:28:22" + }, + "variableNames": [ + { + "name": "ptr", + "nativeSrc": "917:3:22", + "nodeType": "YulIdentifier", + "src": "917:3:22" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3985, + "isOffset": false, + "isSlot": false, + "src": "928:6:22", + "valueSize": 1 + }, + { + "declaration": 3976, + "isOffset": false, + "isSlot": false, + "src": "944:6:22", + "valueSize": 1 + }, + { + "declaration": 3992, + "isOffset": false, + "isSlot": false, + "src": "917:3:22", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3994, + "nodeType": "InlineAssembly", + "src": "874:92:22" + }, + { + "body": { + "id": 4009, + "nodeType": "Block", + "src": "992:234:22", + "statements": [ + { + "expression": { + "id": 3997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1010:5:22", + "subExpression": { + "id": 3996, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3992, + "src": "1010:3:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3998, + "nodeType": "ExpressionStatement", + "src": "1010:5:22" + }, + { + "AST": { + "nativeSrc": "1058:86:22", + "nodeType": "YulBlock", + "src": "1058:86:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "1088:3:22", + "nodeType": "YulIdentifier", + "src": "1088:3:22" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1102:5:22", + "nodeType": "YulIdentifier", + "src": "1102:5:22" + }, + { + "kind": "number", + "nativeSrc": "1109:2:22", + "nodeType": "YulLiteral", + "src": "1109:2:22", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "mod", + "nativeSrc": "1098:3:22", + "nodeType": "YulIdentifier", + "src": "1098:3:22" + }, + "nativeSrc": "1098:14:22", + "nodeType": "YulFunctionCall", + "src": "1098:14:22" + }, + { + "name": "HEX_DIGITS", + "nativeSrc": "1114:10:22", + "nodeType": "YulIdentifier", + "src": "1114:10:22" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "1093:4:22", + "nodeType": "YulIdentifier", + "src": "1093:4:22" + }, + "nativeSrc": "1093:32:22", + "nodeType": "YulFunctionCall", + "src": "1093:32:22" + } + ], + "functionName": { + "name": "mstore8", + "nativeSrc": "1080:7:22", + "nodeType": "YulIdentifier", + "src": "1080:7:22" + }, + "nativeSrc": "1080:46:22", + "nodeType": "YulFunctionCall", + "src": "1080:46:22" + }, + "nativeSrc": "1080:46:22", + "nodeType": "YulExpressionStatement", + "src": "1080:46:22" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3957, + "isOffset": false, + "isSlot": false, + "src": "1114:10:22", + "valueSize": 1 + }, + { + "declaration": 3992, + "isOffset": false, + "isSlot": false, + "src": "1088:3:22", + "valueSize": 1 + }, + { + "declaration": 3970, + "isOffset": false, + "isSlot": false, + "src": "1102:5:22", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 3999, + "nodeType": "InlineAssembly", + "src": "1033:111:22" + }, + { + "expression": { + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4000, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3970, + "src": "1161:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 4001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1170:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "1161:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4003, + "nodeType": "ExpressionStatement", + "src": "1161:11:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4004, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3970, + "src": "1194:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1203:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1194:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4008, + "nodeType": "IfStatement", + "src": "1190:21:22", + "trueBody": { + "id": 4007, + "nodeType": "Break", + "src": "1206:5:22" + } + } + ] + }, + "condition": { + "hexValue": "74727565", + "id": 3995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "986:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "id": 4010, + "nodeType": "WhileStatement", + "src": "979:247:22" + }, + { + "expression": { + "id": 4011, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3985, + "src": "1246:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3974, + "id": 4012, + "nodeType": "Return", + "src": "1239:13:22" + } + ] + } + ] + }, + "documentation": { + "id": 3968, + "nodeType": "StructuredDocumentation", + "src": "542:90:22", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." + }, + "id": 4015, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "646:8:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3970, + "mutability": "mutable", + "name": "value", + "nameLocation": "663:5:22", + "nodeType": "VariableDeclaration", + "scope": 4015, + "src": "655:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "655:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "654:15:22" + }, + "returnParameters": { + "id": 3974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3973, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4015, + "src": "693:13:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3972, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "693:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "692:15:22" + }, + "scope": 4267, + "src": "637:632:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4040, + "nodeType": "Block", + "src": "1445:92:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 4028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4026, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4018, + "src": "1476:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 4027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1484:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1476:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "", + "id": 4030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1494:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "id": 4031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1476:20:22", + "trueExpression": { + "hexValue": "2d", + "id": 4029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1488:3:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", + "typeString": "literal_string \"-\"" + }, + "value": "-" + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 4035, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4018, + "src": "1522:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 4033, + "name": "SignedMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9580, + "src": "1507:10:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignedMath_$9580_$", + "typeString": "type(library SignedMath)" + } + }, + "id": 4034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1518:3:22", + "memberName": "abs", + "nodeType": "MemberAccess", + "referencedDeclaration": 9579, + "src": "1507:14:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 4036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1507:21:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4032, + "name": "toString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4015, + "src": "1498:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 4037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1498:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1462:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4023, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1462:6:22", + "typeDescriptions": {} + } + }, + "id": 4025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1469:6:22", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "1462:13:22", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 4038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1462:68:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4022, + "id": 4039, + "nodeType": "Return", + "src": "1455:75:22" + } + ] + }, + "documentation": { + "id": 4016, + "nodeType": "StructuredDocumentation", + "src": "1275:89:22", + "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." + }, + "id": 4041, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toStringSigned", + "nameLocation": "1378:14:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4018, + "mutability": "mutable", + "name": "value", + "nameLocation": "1400:5:22", + "nodeType": "VariableDeclaration", + "scope": 4041, + "src": "1393:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 4017, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1393:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1392:14:22" + }, + "returnParameters": { + "id": 4022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4021, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4041, + "src": "1430:13:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4020, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1430:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1429:15:22" + }, + "scope": 4267, + "src": "1369:168:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4060, + "nodeType": "Block", + "src": "1716:100:22", + "statements": [ + { + "id": 4059, + "nodeType": "UncheckedBlock", + "src": "1726:84:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4050, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4044, + "src": "1769:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4053, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4044, + "src": "1788:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 4051, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "1776:4:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 4052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1781:6:22", + "memberName": "log256", + "nodeType": "MemberAccess", + "referencedDeclaration": 7614, + "src": "1776:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 4054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1776:18:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 4055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1797:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1776:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4049, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4061, + 4144, + 4164 + ], + "referencedDeclaration": 4144, + "src": "1757:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 4057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1757:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4048, + "id": 4058, + "nodeType": "Return", + "src": "1750:49:22" + } + ] + } + ] + }, + "documentation": { + "id": 4042, + "nodeType": "StructuredDocumentation", + "src": "1543:94:22", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." + }, + "id": 4061, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1651:11:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4044, + "mutability": "mutable", + "name": "value", + "nameLocation": "1671:5:22", + "nodeType": "VariableDeclaration", + "scope": 4061, + "src": "1663:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1663:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1662:15:22" + }, + "returnParameters": { + "id": 4048, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4047, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4061, + "src": "1701:13:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4046, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1701:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1700:15:22" + }, + "scope": 4267, + "src": "1642:174:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4143, + "nodeType": "Block", + "src": "2029:435:22", + "statements": [ + { + "assignments": [ + 4072 + ], + "declarations": [ + { + "constant": false, + "id": 4072, + "mutability": "mutable", + "name": "localValue", + "nameLocation": "2047:10:22", + "nodeType": "VariableDeclaration", + "scope": 4143, + "src": "2039:18:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4071, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2039:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4074, + "initialValue": { + "id": 4073, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4064, + "src": "2060:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2039:26:22" + }, + { + "assignments": [ + 4076 + ], + "declarations": [ + { + "constant": false, + "id": 4076, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "2088:6:22", + "nodeType": "VariableDeclaration", + "scope": 4143, + "src": "2075:19:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4075, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2075:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4085, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 4079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2107:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 4080, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "2111:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2107:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 4082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2120:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2107:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2097:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 4077, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2101:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 4084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2097:25:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2075:47:22" + }, + { + "expression": { + "id": 4090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4086, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4076, + "src": "2132:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4088, + "indexExpression": { + "hexValue": "30", + "id": 4087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2139:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2132:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 4089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2144:3:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "src": "2132:15:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 4091, + "nodeType": "ExpressionStatement", + "src": "2132:15:22" + }, + { + "expression": { + "id": 4096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4092, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4076, + "src": "2157:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4094, + "indexExpression": { + "hexValue": "31", + "id": 4093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2164:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2157:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "78", + "id": 4095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2169:3:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", + "typeString": "literal_string \"x\"" + }, + "value": "x" + }, + "src": "2157:15:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 4097, + "nodeType": "ExpressionStatement", + "src": "2157:15:22" + }, + { + "body": { + "id": 4126, + "nodeType": "Block", + "src": "2227:95:22", + "statements": [ + { + "expression": { + "id": 4120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4112, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4076, + "src": "2241:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4114, + "indexExpression": { + "id": 4113, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "2248:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2241:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 4115, + "name": "HEX_DIGITS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "2253:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "id": 4119, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4116, + "name": "localValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4072, + "src": "2264:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 4117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2277:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "2264:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2253:28:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "2241:40:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 4121, + "nodeType": "ExpressionStatement", + "src": "2241:40:22" + }, + { + "expression": { + "id": 4124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4122, + "name": "localValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4072, + "src": "2295:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 4123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2310:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "2295:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4125, + "nodeType": "ExpressionStatement", + "src": "2295:16:22" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4106, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "2215:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2219:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2215:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4127, + "initializationExpression": { + "assignments": [ + 4099 + ], + "declarations": [ + { + "constant": false, + "id": 4099, + "mutability": "mutable", + "name": "i", + "nameLocation": "2195:1:22", + "nodeType": "VariableDeclaration", + "scope": 4127, + "src": "2187:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2187:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4105, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 4100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2199:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 4101, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "2203:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2199:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 4103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2212:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2199:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2187:26:22" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 4110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "2222:3:22", + "subExpression": { + "id": 4109, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "2224:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4111, + "nodeType": "ExpressionStatement", + "src": "2222:3:22" + }, + "nodeType": "ForStatement", + "src": "2182:140:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4128, + "name": "localValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4072, + "src": "2335:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2349:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2335:15:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4137, + "nodeType": "IfStatement", + "src": "2331:96:22", + "trueBody": { + "id": 4136, + "nodeType": "Block", + "src": "2352:75:22", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 4132, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4064, + "src": "2402:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4133, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "2409:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4131, + "name": "StringsInsufficientHexLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3967, + "src": "2373:28:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 4134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2373:43:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4135, + "nodeType": "RevertStatement", + "src": "2366:50:22" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 4140, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4076, + "src": "2450:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2443:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4138, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2443:6:22", + "typeDescriptions": {} + } + }, + "id": 4141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2443:14:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4070, + "id": 4142, + "nodeType": "Return", + "src": "2436:21:22" + } + ] + }, + "documentation": { + "id": 4062, + "nodeType": "StructuredDocumentation", + "src": "1822:112:22", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." + }, + "id": 4144, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1948:11:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4064, + "mutability": "mutable", + "name": "value", + "nameLocation": "1968:5:22", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1960:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1960:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4066, + "mutability": "mutable", + "name": "length", + "nameLocation": "1983:6:22", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1975:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1975:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1959:31:22" + }, + "returnParameters": { + "id": 4070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4069, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "2014:13:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4068, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2014:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2013:15:22" + }, + "scope": 4267, + "src": "1939:525:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4163, + "nodeType": "Block", + "src": "2696:75:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 4157, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4147, + "src": "2741:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2733:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 4155, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2733:7:22", + "typeDescriptions": {} + } + }, + "id": 4158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2733:13:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 4154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2725:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 4153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2725:7:22", + "typeDescriptions": {} + } + }, + "id": 4159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2725:22:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4160, + "name": "ADDRESS_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3960, + "src": "2749:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 4152, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4061, + 4144, + 4164 + ], + "referencedDeclaration": 4144, + "src": "2713:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 4161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2713:51:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4151, + "id": 4162, + "nodeType": "Return", + "src": "2706:58:22" + } + ] + }, + "documentation": { + "id": 4145, + "nodeType": "StructuredDocumentation", + "src": "2470:148:22", + "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation." + }, + "id": 4164, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "2632:11:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4147, + "mutability": "mutable", + "name": "addr", + "nameLocation": "2652:4:22", + "nodeType": "VariableDeclaration", + "scope": 4164, + "src": "2644:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2644:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2643:14:22" + }, + "returnParameters": { + "id": 4151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4150, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4164, + "src": "2681:13:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4149, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2681:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2680:15:22" + }, + "scope": 4267, + "src": "2623:148:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4228, + "nodeType": "Block", + "src": "3028:642:22", + "statements": [ + { + "assignments": [ + 4173 + ], + "declarations": [ + { + "constant": false, + "id": 4173, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "3051:6:22", + "nodeType": "VariableDeclaration", + "scope": 4228, + "src": "3038:19:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4172, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3038:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4180, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 4177, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4167, + "src": "3078:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4176, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4061, + 4144, + 4164 + ], + "referencedDeclaration": 4164, + "src": "3066:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", + "typeString": "function (address) pure returns (string memory)" + } + }, + "id": 4178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3066:17:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3060:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4174, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3060:5:22", + "typeDescriptions": {} + } + }, + "id": 4179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3060:24:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3038:46:22" + }, + { + "assignments": [ + 4182 + ], + "declarations": [ + { + "constant": false, + "id": 4182, + "mutability": "mutable", + "name": "hashValue", + "nameLocation": "3177:9:22", + "nodeType": "VariableDeclaration", + "scope": 4228, + "src": "3169:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3169:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4183, + "nodeType": "VariableDeclarationStatement", + "src": "3169:17:22" + }, + { + "AST": { + "nativeSrc": "3221:78:22", + "nodeType": "YulBlock", + "src": "3221:78:22", + "statements": [ + { + "nativeSrc": "3235:54:22", + "nodeType": "YulAssignment", + "src": "3235:54:22", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:2:22", + "nodeType": "YulLiteral", + "src": "3252:2:22", + "type": "", + "value": "96" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "buffer", + "nativeSrc": "3270:6:22", + "nodeType": "YulIdentifier", + "src": "3270:6:22" + }, + { + "kind": "number", + "nativeSrc": "3278:4:22", + "nodeType": "YulLiteral", + "src": "3278:4:22", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3266:3:22", + "nodeType": "YulIdentifier", + "src": "3266:3:22" + }, + "nativeSrc": "3266:17:22", + "nodeType": "YulFunctionCall", + "src": "3266:17:22" + }, + { + "kind": "number", + "nativeSrc": "3285:2:22", + "nodeType": "YulLiteral", + "src": "3285:2:22", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "3256:9:22", + "nodeType": "YulIdentifier", + "src": "3256:9:22" + }, + "nativeSrc": "3256:32:22", + "nodeType": "YulFunctionCall", + "src": "3256:32:22" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "3248:3:22", + "nodeType": "YulIdentifier", + "src": "3248:3:22" + }, + "nativeSrc": "3248:41:22", + "nodeType": "YulFunctionCall", + "src": "3248:41:22" + }, + "variableNames": [ + { + "name": "hashValue", + "nativeSrc": "3235:9:22", + "nodeType": "YulIdentifier", + "src": "3235:9:22" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 4173, + "isOffset": false, + "isSlot": false, + "src": "3270:6:22", + "valueSize": 1 + }, + { + "declaration": 4182, + "isOffset": false, + "isSlot": false, + "src": "3235:9:22", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 4184, + "nodeType": "InlineAssembly", + "src": "3196:103:22" + }, + { + "body": { + "id": 4221, + "nodeType": "Block", + "src": "3342:291:22", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4195, + "name": "hashValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "3448:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 4196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3460:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "3448:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "37", + "id": 4198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3466:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "3448:19:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "baseExpression": { + "id": 4202, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "3477:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4204, + "indexExpression": { + "id": 4203, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4186, + "src": "3484:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3477:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 4201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3471:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 4200, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3471:5:22", + "typeDescriptions": {} + } + }, + "id": 4205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3471:16:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3936", + "id": 4206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3490:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + "value": "96" + }, + "src": "3471:21:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3448:44:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4216, + "nodeType": "IfStatement", + "src": "3444:150:22", + "trueBody": { + "id": 4215, + "nodeType": "Block", + "src": "3494:100:22", + "statements": [ + { + "expression": { + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4209, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "3562:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4211, + "indexExpression": { + "id": 4210, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4186, + "src": "3569:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3562:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "^=", + "rightHandSide": { + "hexValue": "30783230", + "id": 4212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3575:4:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "3562:17:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 4214, + "nodeType": "ExpressionStatement", + "src": "3562:17:22" + } + ] + } + }, + { + "expression": { + "id": 4219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4217, + "name": "hashValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "3607:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3621:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "3607:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4220, + "nodeType": "ExpressionStatement", + "src": "3607:15:22" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4186, + "src": "3330:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 4190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3334:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3330:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4222, + "initializationExpression": { + "assignments": [ + 4186 + ], + "declarations": [ + { + "constant": false, + "id": 4186, + "mutability": "mutable", + "name": "i", + "nameLocation": "3322:1:22", + "nodeType": "VariableDeclaration", + "scope": 4222, + "src": "3314:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3314:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4188, + "initialValue": { + "hexValue": "3431", + "id": 4187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3326:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_41_by_1", + "typeString": "int_const 41" + }, + "value": "41" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3314:14:22" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 4193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "3337:3:22", + "subExpression": { + "id": 4192, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4186, + "src": "3339:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4194, + "nodeType": "ExpressionStatement", + "src": "3337:3:22" + }, + "nodeType": "ForStatement", + "src": "3309:324:22" + }, + { + "expression": { + "arguments": [ + { + "id": 4225, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "3656:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3649:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4223, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3649:6:22", + "typeDescriptions": {} + } + }, + "id": 4226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3649:14:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4171, + "id": 4227, + "nodeType": "Return", + "src": "3642:21:22" + } + ] + }, + "documentation": { + "id": 4165, + "nodeType": "StructuredDocumentation", + "src": "2777:165:22", + "text": " @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n representation, according to EIP-55." + }, + "id": 4229, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toChecksumHexString", + "nameLocation": "2956:19:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4167, + "mutability": "mutable", + "name": "addr", + "nameLocation": "2984:4:22", + "nodeType": "VariableDeclaration", + "scope": 4229, + "src": "2976:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2976:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2975:14:22" + }, + "returnParameters": { + "id": 4171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4170, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4229, + "src": "3013:13:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4169, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3013:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3012:15:22" + }, + "scope": 4267, + "src": "2947:723:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4265, + "nodeType": "Block", + "src": "3825:104:22", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 4241, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4232, + "src": "3848:1:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3842:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4239, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3842:5:22", + "typeDescriptions": {} + } + }, + "id": 4242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3842:8:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3851:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3842:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 4246, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4234, + "src": "3867:1:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3861:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4244, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3861:5:22", + "typeDescriptions": {} + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3861:8:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3870:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3861:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3842:34:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4253, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4232, + "src": "3896:1:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3890:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4251, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3890:5:22", + "typeDescriptions": {} + } + }, + "id": 4254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3890:8:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4250, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3880:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3880:19:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4259, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4234, + "src": "3919:1:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3913:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4257, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3913:5:22", + "typeDescriptions": {} + } + }, + "id": 4260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3913:8:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4256, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3903:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3903:19:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3880:42:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3842:80:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4238, + "id": 4264, + "nodeType": "Return", + "src": "3835:87:22" + } + ] + }, + "documentation": { + "id": 4230, + "nodeType": "StructuredDocumentation", + "src": "3676:66:22", + "text": " @dev Returns true if the two strings are equal." + }, + "id": 4266, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equal", + "nameLocation": "3756:5:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4235, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4232, + "mutability": "mutable", + "name": "a", + "nameLocation": "3776:1:22", + "nodeType": "VariableDeclaration", + "scope": 4266, + "src": "3762:15:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4231, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3762:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4234, + "mutability": "mutable", + "name": "b", + "nameLocation": "3793:1:22", + "nodeType": "VariableDeclaration", + "scope": 4266, + "src": "3779:15:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4233, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3779:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3761:34:22" + }, + "returnParameters": { + "id": 4238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4237, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4266, + "src": "3819:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3819:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3818:6:22" + }, + "scope": 4267, + "src": "3747:182:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 4268, + "src": "251:3680:22", + "usedErrors": [ + 3967 + ], + "usedEvents": [] + } + ], + "src": "101:3831:22" + }, + "id": 22 + }, + "@openzeppelin/contracts/utils/cryptography/ECDSA.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "exportedSymbols": { + "ECDSA": [ + 4615 + ] + }, + "id": 4616, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4269, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "112:24:23" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ECDSA", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 4270, + "nodeType": "StructuredDocumentation", + "src": "138:205:23", + "text": " @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address." + }, + "fullyImplemented": true, + "id": 4615, + "linearizedBaseContracts": [ + 4615 + ], + "name": "ECDSA", + "nameLocation": "352:5:23", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "ECDSA.RecoverError", + "id": 4275, + "members": [ + { + "id": 4271, + "name": "NoError", + "nameLocation": "392:7:23", + "nodeType": "EnumValue", + "src": "392:7:23" + }, + { + "id": 4272, + "name": "InvalidSignature", + "nameLocation": "409:16:23", + "nodeType": "EnumValue", + "src": "409:16:23" + }, + { + "id": 4273, + "name": "InvalidSignatureLength", + "nameLocation": "435:22:23", + "nodeType": "EnumValue", + "src": "435:22:23" + }, + { + "id": 4274, + "name": "InvalidSignatureS", + "nameLocation": "467:17:23", + "nodeType": "EnumValue", + "src": "467:17:23" + } + ], + "name": "RecoverError", + "nameLocation": "369:12:23", + "nodeType": "EnumDefinition", + "src": "364:126:23" + }, + { + "documentation": { + "id": 4276, + "nodeType": "StructuredDocumentation", + "src": "496:63:23", + "text": " @dev The signature derives the `address(0)`." + }, + "errorSelector": "f645eedf", + "id": 4278, + "name": "ECDSAInvalidSignature", + "nameLocation": "570:21:23", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 4277, + "nodeType": "ParameterList", + "parameters": [], + "src": "591:2:23" + }, + "src": "564:30:23" + }, + { + "documentation": { + "id": 4279, + "nodeType": "StructuredDocumentation", + "src": "600:60:23", + "text": " @dev The signature has an invalid length." + }, + "errorSelector": "fce698f7", + "id": 4283, + "name": "ECDSAInvalidSignatureLength", + "nameLocation": "671:27:23", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 4282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4281, + "mutability": "mutable", + "name": "length", + "nameLocation": "707:6:23", + "nodeType": "VariableDeclaration", + "scope": 4283, + "src": "699:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "699:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "698:16:23" + }, + "src": "665:50:23" + }, + { + "documentation": { + "id": 4284, + "nodeType": "StructuredDocumentation", + "src": "721:85:23", + "text": " @dev The signature has an S value that is in the upper half order." + }, + "errorSelector": "d78bce0c", + "id": 4288, + "name": "ECDSAInvalidSignatureS", + "nameLocation": "817:22:23", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 4287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4286, + "mutability": "mutable", + "name": "s", + "nameLocation": "848:1:23", + "nodeType": "VariableDeclaration", + "scope": 4288, + "src": "840:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "840:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "839:11:23" + }, + "src": "811:40:23" + }, + { + "body": { + "id": 4340, + "nodeType": "Block", + "src": "2285:622:23", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4303, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4293, + "src": "2299:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2309:6:23", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2299:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3635", + "id": 4305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2319:2:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "2299:22:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4338, + "nodeType": "Block", + "src": "2793:108:23", + "statements": [ + { + "expression": { + "components": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2823:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2815:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2815:7:23", + "typeDescriptions": {} + } + }, + "id": 4328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2815:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4329, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "2827:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2840:22:23", + "memberName": "InvalidSignatureLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 4273, + "src": "2827:35:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "arguments": [ + { + "expression": { + "id": 4333, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4293, + "src": "2872:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2882:6:23", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2872:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2864:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 4331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2864:7:23", + "typeDescriptions": {} + } + }, + "id": 4335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2864:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 4336, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2814:76:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "functionReturnParameters": 4302, + "id": 4337, + "nodeType": "Return", + "src": "2807:83:23" + } + ] + }, + "id": 4339, + "nodeType": "IfStatement", + "src": "2295:606:23", + "trueBody": { + "id": 4324, + "nodeType": "Block", + "src": "2323:464:23", + "statements": [ + { + "assignments": [ + 4308 + ], + "declarations": [ + { + "constant": false, + "id": 4308, + "mutability": "mutable", + "name": "r", + "nameLocation": "2345:1:23", + "nodeType": "VariableDeclaration", + "scope": 4324, + "src": "2337:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2337:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4309, + "nodeType": "VariableDeclarationStatement", + "src": "2337:9:23" + }, + { + "assignments": [ + 4311 + ], + "declarations": [ + { + "constant": false, + "id": 4311, + "mutability": "mutable", + "name": "s", + "nameLocation": "2368:1:23", + "nodeType": "VariableDeclaration", + "scope": 4324, + "src": "2360:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4310, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2360:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4312, + "nodeType": "VariableDeclarationStatement", + "src": "2360:9:23" + }, + { + "assignments": [ + 4314 + ], + "declarations": [ + { + "constant": false, + "id": 4314, + "mutability": "mutable", + "name": "v", + "nameLocation": "2389:1:23", + "nodeType": "VariableDeclaration", + "scope": 4324, + "src": "2383:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4313, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2383:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 4315, + "nodeType": "VariableDeclarationStatement", + "src": "2383:7:23" + }, + { + "AST": { + "nativeSrc": "2560:171:23", + "nodeType": "YulBlock", + "src": "2560:171:23", + "statements": [ + { + "nativeSrc": "2578:32:23", + "nodeType": "YulAssignment", + "src": "2578:32:23", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "signature", + "nativeSrc": "2593:9:23", + "nodeType": "YulIdentifier", + "src": "2593:9:23" + }, + { + "kind": "number", + "nativeSrc": "2604:4:23", + "nodeType": "YulLiteral", + "src": "2604:4:23", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2589:3:23", + "nodeType": "YulIdentifier", + "src": "2589:3:23" + }, + "nativeSrc": "2589:20:23", + "nodeType": "YulFunctionCall", + "src": "2589:20:23" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2583:5:23", + "nodeType": "YulIdentifier", + "src": "2583:5:23" + }, + "nativeSrc": "2583:27:23", + "nodeType": "YulFunctionCall", + "src": "2583:27:23" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "2578:1:23", + "nodeType": "YulIdentifier", + "src": "2578:1:23" + } + ] + }, + { + "nativeSrc": "2627:32:23", + "nodeType": "YulAssignment", + "src": "2627:32:23", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "signature", + "nativeSrc": "2642:9:23", + "nodeType": "YulIdentifier", + "src": "2642:9:23" + }, + { + "kind": "number", + "nativeSrc": "2653:4:23", + "nodeType": "YulLiteral", + "src": "2653:4:23", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2638:3:23", + "nodeType": "YulIdentifier", + "src": "2638:3:23" + }, + "nativeSrc": "2638:20:23", + "nodeType": "YulFunctionCall", + "src": "2638:20:23" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2632:5:23", + "nodeType": "YulIdentifier", + "src": "2632:5:23" + }, + "nativeSrc": "2632:27:23", + "nodeType": "YulFunctionCall", + "src": "2632:27:23" + }, + "variableNames": [ + { + "name": "s", + "nativeSrc": "2627:1:23", + "nodeType": "YulIdentifier", + "src": "2627:1:23" + } + ] + }, + { + "nativeSrc": "2676:41:23", + "nodeType": "YulAssignment", + "src": "2676:41:23", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2686:1:23", + "nodeType": "YulLiteral", + "src": "2686:1:23", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "signature", + "nativeSrc": "2699:9:23", + "nodeType": "YulIdentifier", + "src": "2699:9:23" + }, + { + "kind": "number", + "nativeSrc": "2710:4:23", + "nodeType": "YulLiteral", + "src": "2710:4:23", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2695:3:23", + "nodeType": "YulIdentifier", + "src": "2695:3:23" + }, + "nativeSrc": "2695:20:23", + "nodeType": "YulFunctionCall", + "src": "2695:20:23" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2689:5:23", + "nodeType": "YulIdentifier", + "src": "2689:5:23" + }, + "nativeSrc": "2689:27:23", + "nodeType": "YulFunctionCall", + "src": "2689:27:23" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "2681:4:23", + "nodeType": "YulIdentifier", + "src": "2681:4:23" + }, + "nativeSrc": "2681:36:23", + "nodeType": "YulFunctionCall", + "src": "2681:36:23" + }, + "variableNames": [ + { + "name": "v", + "nativeSrc": "2676:1:23", + "nodeType": "YulIdentifier", + "src": "2676:1:23" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 4308, + "isOffset": false, + "isSlot": false, + "src": "2578:1:23", + "valueSize": 1 + }, + { + "declaration": 4311, + "isOffset": false, + "isSlot": false, + "src": "2627:1:23", + "valueSize": 1 + }, + { + "declaration": 4293, + "isOffset": false, + "isSlot": false, + "src": "2593:9:23", + "valueSize": 1 + }, + { + "declaration": 4293, + "isOffset": false, + "isSlot": false, + "src": "2642:9:23", + "valueSize": 1 + }, + { + "declaration": 4293, + "isOffset": false, + "isSlot": false, + "src": "2699:9:23", + "valueSize": 1 + }, + { + "declaration": 4314, + "isOffset": false, + "isSlot": false, + "src": "2676:1:23", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 4316, + "nodeType": "InlineAssembly", + "src": "2535:196:23" + }, + { + "expression": { + "arguments": [ + { + "id": 4318, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "2762:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4319, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "2768:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 4320, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4308, + "src": "2771:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4321, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4311, + "src": "2774:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4317, + "name": "tryRecover", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4341, + 4421, + 4529 + ], + "referencedDeclaration": 4529, + "src": "2751:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)" + } + }, + "id": 4322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2751:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "functionReturnParameters": 4302, + "id": 4323, + "nodeType": "Return", + "src": "2744:32:23" + } + ] + } + } + ] + }, + "documentation": { + "id": 4289, + "nodeType": "StructuredDocumentation", + "src": "857:1267:23", + "text": " @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n return address(0) without also returning an error description. Errors are documented using an enum (error type)\n and a bytes32 providing additional information about the error.\n If no error is returned, then the address can be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]" + }, + "id": 4341, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryRecover", + "nameLocation": "2138:10:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4291, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2166:4:23", + "nodeType": "VariableDeclaration", + "scope": 4341, + "src": "2158:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2158:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4293, + "mutability": "mutable", + "name": "signature", + "nameLocation": "2193:9:23", + "nodeType": "VariableDeclaration", + "scope": 4341, + "src": "2180:22:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4292, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2180:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2148:60:23" + }, + "returnParameters": { + "id": 4302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4296, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "2240:9:23", + "nodeType": "VariableDeclaration", + "scope": 4341, + "src": "2232:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4295, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2232:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4299, + "mutability": "mutable", + "name": "err", + "nameLocation": "2264:3:23", + "nodeType": "VariableDeclaration", + "scope": 4341, + "src": "2251:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4298, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4297, + "name": "RecoverError", + "nameLocations": [ + "2251:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "2251:12:23" + }, + "referencedDeclaration": 4275, + "src": "2251:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4301, + "mutability": "mutable", + "name": "errArg", + "nameLocation": "2277:6:23", + "nodeType": "VariableDeclaration", + "scope": 4341, + "src": "2269:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2269:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2231:53:23" + }, + "scope": 4615, + "src": "2129:778:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4370, + "nodeType": "Block", + "src": "3801:168:23", + "statements": [ + { + "assignments": [ + 4352, + 4355, + 4357 + ], + "declarations": [ + { + "constant": false, + "id": 4352, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "3820:9:23", + "nodeType": "VariableDeclaration", + "scope": 4370, + "src": "3812:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3812:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4355, + "mutability": "mutable", + "name": "error", + "nameLocation": "3844:5:23", + "nodeType": "VariableDeclaration", + "scope": 4370, + "src": "3831:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4354, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4353, + "name": "RecoverError", + "nameLocations": [ + "3831:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "3831:12:23" + }, + "referencedDeclaration": 4275, + "src": "3831:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4357, + "mutability": "mutable", + "name": "errorArg", + "nameLocation": "3859:8:23", + "nodeType": "VariableDeclaration", + "scope": 4370, + "src": "3851:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3851:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4362, + "initialValue": { + "arguments": [ + { + "id": 4359, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4344, + "src": "3882:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4360, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4346, + "src": "3888:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4358, + "name": "tryRecover", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4341, + 4421, + 4529 + ], + "referencedDeclaration": 4341, + "src": "3871:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError,bytes32)" + } + }, + "id": 4361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3871:27:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3811:87:23" + }, + { + "expression": { + "arguments": [ + { + "id": 4364, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4355, + "src": "3920:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "id": 4365, + "name": "errorArg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4357, + "src": "3927:8:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4363, + "name": "_throwError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4614, + "src": "3908:11:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_RecoverError_$4275_$_t_bytes32_$returns$__$", + "typeString": "function (enum ECDSA.RecoverError,bytes32) pure" + } + }, + "id": 4366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3908:28:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4367, + "nodeType": "ExpressionStatement", + "src": "3908:28:23" + }, + { + "expression": { + "id": 4368, + "name": "recovered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4352, + "src": "3953:9:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4350, + "id": 4369, + "nodeType": "Return", + "src": "3946:16:23" + } + ] + }, + "documentation": { + "id": 4342, + "nodeType": "StructuredDocumentation", + "src": "2913:796:23", + "text": " @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it." + }, + "id": 4371, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recover", + "nameLocation": "3723:7:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4344, + "mutability": "mutable", + "name": "hash", + "nameLocation": "3739:4:23", + "nodeType": "VariableDeclaration", + "scope": 4371, + "src": "3731:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4343, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3731:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4346, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3758:9:23", + "nodeType": "VariableDeclaration", + "scope": 4371, + "src": "3745:22:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4345, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3745:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3730:38:23" + }, + "returnParameters": { + "id": 4350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4349, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4371, + "src": "3792:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3792:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3791:9:23" + }, + "scope": 4615, + "src": "3714:255:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4420, + "nodeType": "Block", + "src": "4348:342:23", + "statements": [ + { + "id": 4419, + "nodeType": "UncheckedBlock", + "src": "4358:326:23", + "statements": [ + { + "assignments": [ + 4389 + ], + "declarations": [ + { + "constant": false, + "id": 4389, + "mutability": "mutable", + "name": "s", + "nameLocation": "4390:1:23", + "nodeType": "VariableDeclaration", + "scope": 4419, + "src": "4382:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4388, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4382:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4396, + "initialValue": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4390, + "name": "vs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4378, + "src": "4394:2:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "arguments": [ + { + "hexValue": "307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666", + "id": 4393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4407:66:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9967" + }, + "value": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9967" + } + ], + "id": 4392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4399:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 4391, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4399:7:23", + "typeDescriptions": {} + } + }, + "id": 4394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4399:75:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4394:80:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4382:92:23" + }, + { + "assignments": [ + 4398 + ], + "declarations": [ + { + "constant": false, + "id": 4398, + "mutability": "mutable", + "name": "v", + "nameLocation": "4591:1:23", + "nodeType": "VariableDeclaration", + "scope": 4419, + "src": "4585:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4397, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4585:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 4411, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4403, + "name": "vs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4378, + "src": "4610:2:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4602:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 4401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4602:7:23", + "typeDescriptions": {} + } + }, + "id": 4404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4602:11:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "323535", + "id": 4405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4617:3:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "src": "4602:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4407, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4601:20:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3237", + "id": 4408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4624:2:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "4601:25:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4595:5:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 4399, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4595:5:23", + "typeDescriptions": {} + } + }, + "id": 4410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4595:32:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4585:42:23" + }, + { + "expression": { + "arguments": [ + { + "id": 4413, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "4659:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4414, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "4665:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 4415, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4376, + "src": "4668:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4416, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4389, + "src": "4671:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4412, + "name": "tryRecover", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4341, + 4421, + 4529 + ], + "referencedDeclaration": 4529, + "src": "4648:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)" + } + }, + "id": 4417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4648:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "functionReturnParameters": 4387, + "id": 4418, + "nodeType": "Return", + "src": "4641:32:23" + } + ] + } + ] + }, + "documentation": { + "id": 4372, + "nodeType": "StructuredDocumentation", + "src": "3975:205:23", + "text": " @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]" + }, + "id": 4421, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryRecover", + "nameLocation": "4194:10:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4374, + "mutability": "mutable", + "name": "hash", + "nameLocation": "4222:4:23", + "nodeType": "VariableDeclaration", + "scope": 4421, + "src": "4214:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4373, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4214:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4376, + "mutability": "mutable", + "name": "r", + "nameLocation": "4244:1:23", + "nodeType": "VariableDeclaration", + "scope": 4421, + "src": "4236:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4375, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4236:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4378, + "mutability": "mutable", + "name": "vs", + "nameLocation": "4263:2:23", + "nodeType": "VariableDeclaration", + "scope": 4421, + "src": "4255:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4377, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4255:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4204:67:23" + }, + "returnParameters": { + "id": 4387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4381, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "4303:9:23", + "nodeType": "VariableDeclaration", + "scope": 4421, + "src": "4295:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4380, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4295:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4384, + "mutability": "mutable", + "name": "err", + "nameLocation": "4327:3:23", + "nodeType": "VariableDeclaration", + "scope": 4421, + "src": "4314:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4383, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4382, + "name": "RecoverError", + "nameLocations": [ + "4314:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "4314:12:23" + }, + "referencedDeclaration": 4275, + "src": "4314:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4386, + "mutability": "mutable", + "name": "errArg", + "nameLocation": "4340:6:23", + "nodeType": "VariableDeclaration", + "scope": 4421, + "src": "4332:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4332:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4294:53:23" + }, + "scope": 4615, + "src": "4185:505:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4453, + "nodeType": "Block", + "src": "4903:164:23", + "statements": [ + { + "assignments": [ + 4434, + 4437, + 4439 + ], + "declarations": [ + { + "constant": false, + "id": 4434, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "4922:9:23", + "nodeType": "VariableDeclaration", + "scope": 4453, + "src": "4914:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4433, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4914:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4437, + "mutability": "mutable", + "name": "error", + "nameLocation": "4946:5:23", + "nodeType": "VariableDeclaration", + "scope": 4453, + "src": "4933:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4436, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4435, + "name": "RecoverError", + "nameLocations": [ + "4933:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "4933:12:23" + }, + "referencedDeclaration": 4275, + "src": "4933:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4439, + "mutability": "mutable", + "name": "errorArg", + "nameLocation": "4961:8:23", + "nodeType": "VariableDeclaration", + "scope": 4453, + "src": "4953:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4953:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4445, + "initialValue": { + "arguments": [ + { + "id": 4441, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4424, + "src": "4984:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4442, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4426, + "src": "4990:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4443, + "name": "vs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4428, + "src": "4993:2:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4440, + "name": "tryRecover", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4341, + 4421, + 4529 + ], + "referencedDeclaration": 4421, + "src": "4973:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4973:23:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4913:83:23" + }, + { + "expression": { + "arguments": [ + { + "id": 4447, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4437, + "src": "5018:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "id": 4448, + "name": "errorArg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4439, + "src": "5025:8:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4446, + "name": "_throwError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4614, + "src": "5006:11:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_RecoverError_$4275_$_t_bytes32_$returns$__$", + "typeString": "function (enum ECDSA.RecoverError,bytes32) pure" + } + }, + "id": 4449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5006:28:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4450, + "nodeType": "ExpressionStatement", + "src": "5006:28:23" + }, + { + "expression": { + "id": 4451, + "name": "recovered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4434, + "src": "5051:9:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4432, + "id": 4452, + "nodeType": "Return", + "src": "5044:16:23" + } + ] + }, + "documentation": { + "id": 4422, + "nodeType": "StructuredDocumentation", + "src": "4696:116:23", + "text": " @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately." + }, + "id": 4454, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recover", + "nameLocation": "4826:7:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4424, + "mutability": "mutable", + "name": "hash", + "nameLocation": "4842:4:23", + "nodeType": "VariableDeclaration", + "scope": 4454, + "src": "4834:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4423, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4834:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4426, + "mutability": "mutable", + "name": "r", + "nameLocation": "4856:1:23", + "nodeType": "VariableDeclaration", + "scope": 4454, + "src": "4848:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4425, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4848:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4428, + "mutability": "mutable", + "name": "vs", + "nameLocation": "4867:2:23", + "nodeType": "VariableDeclaration", + "scope": 4454, + "src": "4859:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4427, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4859:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4833:37:23" + }, + "returnParameters": { + "id": 4432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4431, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4454, + "src": "4894:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4894:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4893:9:23" + }, + "scope": 4615, + "src": "4817:250:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4528, + "nodeType": "Block", + "src": "5382:1372:23", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4475, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4463, + "src": "6278:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6270:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 4473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6270:7:23", + "typeDescriptions": {} + } + }, + "id": 4476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6270:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130", + "id": 4477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6283:66:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1", + "typeString": "int_const 5789...(69 digits omitted)...7168" + }, + "value": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0" + }, + "src": "6270:79:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4489, + "nodeType": "IfStatement", + "src": "6266:164:23", + "trueBody": { + "id": 4488, + "nodeType": "Block", + "src": "6351:79:23", + "statements": [ + { + "expression": { + "components": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 4481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6381:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6373:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6373:7:23", + "typeDescriptions": {} + } + }, + "id": 4482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6373:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4483, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "6385:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6398:17:23", + "memberName": "InvalidSignatureS", + "nodeType": "MemberAccess", + "referencedDeclaration": 4274, + "src": "6385:30:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "id": 4485, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4463, + "src": "6417:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 4486, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6372:47:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "functionReturnParameters": 4472, + "id": 4487, + "nodeType": "Return", + "src": "6365:54:23" + } + ] + } + }, + { + "assignments": [ + 4491 + ], + "declarations": [ + { + "constant": false, + "id": 4491, + "mutability": "mutable", + "name": "signer", + "nameLocation": "6532:6:23", + "nodeType": "VariableDeclaration", + "scope": 4528, + "src": "6524:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6524:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 4498, + "initialValue": { + "arguments": [ + { + "id": 4493, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4457, + "src": "6551:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4494, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4459, + "src": "6557:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 4495, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "6560:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4496, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4463, + "src": "6563:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4492, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -6, + "src": "6541:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 4497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6541:24:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6524:41:23" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4499, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4491, + "src": "6579:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 4502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6597:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6589:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6589:7:23", + "typeDescriptions": {} + } + }, + "id": 4503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6589:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6579:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4518, + "nodeType": "IfStatement", + "src": "6575:113:23", + "trueBody": { + "id": 4517, + "nodeType": "Block", + "src": "6601:87:23", + "statements": [ + { + "expression": { + "components": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 4507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6631:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6623:7:23", + "typeDescriptions": {} + } + }, + "id": 4508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6623:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4509, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "6635:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6648:16:23", + "memberName": "InvalidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 4272, + "src": "6635:29:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 4513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6674:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6666:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 4511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6666:7:23", + "typeDescriptions": {} + } + }, + "id": 4514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6666:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 4515, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6622:55:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "functionReturnParameters": 4472, + "id": 4516, + "nodeType": "Return", + "src": "6615:62:23" + } + ] + } + }, + { + "expression": { + "components": [ + { + "id": 4519, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4491, + "src": "6706:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4520, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "6714:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6727:7:23", + "memberName": "NoError", + "nodeType": "MemberAccess", + "referencedDeclaration": 4271, + "src": "6714:20:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 4524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6744:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6736:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 4522, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6736:7:23", + "typeDescriptions": {} + } + }, + "id": 4525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6736:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 4526, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6705:42:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "functionReturnParameters": 4472, + "id": 4527, + "nodeType": "Return", + "src": "6698:49:23" + } + ] + }, + "documentation": { + "id": 4455, + "nodeType": "StructuredDocumentation", + "src": "5073:125:23", + "text": " @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately." + }, + "id": 4529, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryRecover", + "nameLocation": "5212:10:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4457, + "mutability": "mutable", + "name": "hash", + "nameLocation": "5240:4:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5232:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4456, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5232:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4459, + "mutability": "mutable", + "name": "v", + "nameLocation": "5260:1:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5254:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4458, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5254:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4461, + "mutability": "mutable", + "name": "r", + "nameLocation": "5279:1:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5271:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4460, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5271:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4463, + "mutability": "mutable", + "name": "s", + "nameLocation": "5298:1:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5290:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4462, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5290:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5222:83:23" + }, + "returnParameters": { + "id": 4472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4466, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "5337:9:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5329:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5329:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4469, + "mutability": "mutable", + "name": "err", + "nameLocation": "5361:3:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5348:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4468, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4467, + "name": "RecoverError", + "nameLocations": [ + "5348:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "5348:12:23" + }, + "referencedDeclaration": 4275, + "src": "5348:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4471, + "mutability": "mutable", + "name": "errArg", + "nameLocation": "5374:6:23", + "nodeType": "VariableDeclaration", + "scope": 4529, + "src": "5366:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5366:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5328:53:23" + }, + "scope": 4615, + "src": "5203:1551:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4564, + "nodeType": "Block", + "src": "6981:166:23", + "statements": [ + { + "assignments": [ + 4544, + 4547, + 4549 + ], + "declarations": [ + { + "constant": false, + "id": 4544, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "7000:9:23", + "nodeType": "VariableDeclaration", + "scope": 4564, + "src": "6992:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4543, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6992:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4547, + "mutability": "mutable", + "name": "error", + "nameLocation": "7024:5:23", + "nodeType": "VariableDeclaration", + "scope": 4564, + "src": "7011:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4546, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4545, + "name": "RecoverError", + "nameLocations": [ + "7011:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "7011:12:23" + }, + "referencedDeclaration": 4275, + "src": "7011:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4549, + "mutability": "mutable", + "name": "errorArg", + "nameLocation": "7039:8:23", + "nodeType": "VariableDeclaration", + "scope": 4564, + "src": "7031:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4548, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7031:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4556, + "initialValue": { + "arguments": [ + { + "id": 4551, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "7062:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4552, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4534, + "src": "7068:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 4553, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4536, + "src": "7071:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4554, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4538, + "src": "7074:1:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4550, + "name": "tryRecover", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4341, + 4421, + 4529 + ], + "referencedDeclaration": 4529, + "src": "7051:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)" + } + }, + "id": 4555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7051:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4275_$_t_bytes32_$", + "typeString": "tuple(address,enum ECDSA.RecoverError,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6991:85:23" + }, + { + "expression": { + "arguments": [ + { + "id": 4558, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4547, + "src": "7098:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + { + "id": 4559, + "name": "errorArg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4549, + "src": "7105:8:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4557, + "name": "_throwError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4614, + "src": "7086:11:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_RecoverError_$4275_$_t_bytes32_$returns$__$", + "typeString": "function (enum ECDSA.RecoverError,bytes32) pure" + } + }, + "id": 4560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7086:28:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4561, + "nodeType": "ExpressionStatement", + "src": "7086:28:23" + }, + { + "expression": { + "id": 4562, + "name": "recovered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "7131:9:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4542, + "id": 4563, + "nodeType": "Return", + "src": "7124:16:23" + } + ] + }, + "documentation": { + "id": 4530, + "nodeType": "StructuredDocumentation", + "src": "6760:122:23", + "text": " @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately." + }, + "id": 4565, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recover", + "nameLocation": "6896:7:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4532, + "mutability": "mutable", + "name": "hash", + "nameLocation": "6912:4:23", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6904:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4531, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6904:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4534, + "mutability": "mutable", + "name": "v", + "nameLocation": "6924:1:23", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6918:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4533, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6918:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4536, + "mutability": "mutable", + "name": "r", + "nameLocation": "6935:1:23", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6927:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4535, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6927:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4538, + "mutability": "mutable", + "name": "s", + "nameLocation": "6946:1:23", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6938:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4537, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6938:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6903:45:23" + }, + "returnParameters": { + "id": 4542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4541, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6972:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6972:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6971:9:23" + }, + "scope": 4615, + "src": "6887:260:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4613, + "nodeType": "Block", + "src": "7352:460:23", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "id": 4577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4574, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4569, + "src": "7366:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 4575, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "7375:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7388:7:23", + "memberName": "NoError", + "nodeType": "MemberAccess", + "referencedDeclaration": 4271, + "src": "7375:20:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "src": "7366:29:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "id": 4583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4580, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4569, + "src": "7462:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 4581, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "7471:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7484:16:23", + "memberName": "InvalidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 4272, + "src": "7471:29:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "src": "7462:38:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "id": 4591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4588, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4569, + "src": "7567:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 4589, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "7576:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7589:22:23", + "memberName": "InvalidSignatureLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 4273, + "src": "7576:35:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "src": "7567:44:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "id": 4603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4600, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4569, + "src": "7701:5:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 4601, + "name": "RecoverError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "7710:12:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RecoverError_$4275_$", + "typeString": "type(enum ECDSA.RecoverError)" + } + }, + "id": 4602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7723:17:23", + "memberName": "InvalidSignatureS", + "nodeType": "MemberAccess", + "referencedDeclaration": 4274, + "src": "7710:30:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "src": "7701:39:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4609, + "nodeType": "IfStatement", + "src": "7697:109:23", + "trueBody": { + "id": 4608, + "nodeType": "Block", + "src": "7742:64:23", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 4605, + "name": "errorArg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4571, + "src": "7786:8:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4604, + "name": "ECDSAInvalidSignatureS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4288, + "src": "7763:22:23", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 4606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7763:32:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4607, + "nodeType": "RevertStatement", + "src": "7756:39:23" + } + ] + } + }, + "id": 4610, + "nodeType": "IfStatement", + "src": "7563:243:23", + "trueBody": { + "id": 4599, + "nodeType": "Block", + "src": "7613:78:23", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "id": 4595, + "name": "errorArg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4571, + "src": "7670:8:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7662:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 4593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7662:7:23", + "typeDescriptions": {} + } + }, + "id": 4596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7662:17:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4592, + "name": "ECDSAInvalidSignatureLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4283, + "src": "7634:27:23", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 4597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7634:46:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4598, + "nodeType": "RevertStatement", + "src": "7627:53:23" + } + ] + } + }, + "id": 4611, + "nodeType": "IfStatement", + "src": "7458:348:23", + "trueBody": { + "id": 4587, + "nodeType": "Block", + "src": "7502:55:23", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4584, + "name": "ECDSAInvalidSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4278, + "src": "7523:21:23", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 4585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7523:23:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4586, + "nodeType": "RevertStatement", + "src": "7516:30:23" + } + ] + } + }, + "id": 4612, + "nodeType": "IfStatement", + "src": "7362:444:23", + "trueBody": { + "id": 4579, + "nodeType": "Block", + "src": "7397:55:23", + "statements": [ + { + "functionReturnParameters": 4573, + "id": 4578, + "nodeType": "Return", + "src": "7411:7:23" + } + ] + } + } + ] + }, + "documentation": { + "id": 4566, + "nodeType": "StructuredDocumentation", + "src": "7153:122:23", + "text": " @dev Optionally reverts with the corresponding custom error according to the `error` argument provided." + }, + "id": 4614, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_throwError", + "nameLocation": "7289:11:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4569, + "mutability": "mutable", + "name": "error", + "nameLocation": "7314:5:23", + "nodeType": "VariableDeclaration", + "scope": 4614, + "src": "7301:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + }, + "typeName": { + "id": 4568, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4567, + "name": "RecoverError", + "nameLocations": [ + "7301:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4275, + "src": "7301:12:23" + }, + "referencedDeclaration": 4275, + "src": "7301:12:23", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RecoverError_$4275", + "typeString": "enum ECDSA.RecoverError" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4571, + "mutability": "mutable", + "name": "errorArg", + "nameLocation": "7329:8:23", + "nodeType": "VariableDeclaration", + "scope": 4614, + "src": "7321:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4570, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7321:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7300:38:23" + }, + "returnParameters": { + "id": 4573, + "nodeType": "ParameterList", + "parameters": [], + "src": "7352:0:23" + }, + "scope": 4615, + "src": "7280:532:23", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 4616, + "src": "344:7470:23", + "usedErrors": [ + 4278, + 4283, + 4288 + ], + "usedEvents": [] + } + ], + "src": "112:7703:23" + }, + "id": 23 + }, + "@openzeppelin/contracts/utils/cryptography/EIP712.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/EIP712.sol", + "exportedSymbols": { + "EIP712": [ + 4842 + ], + "IERC5267": [ + 172 + ], + "MessageHashUtils": [ + 6029 + ], + "ShortString": [ + 3482 + ], + "ShortStrings": [ + 3693 + ] + }, + "id": 4843, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4617, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "113:24:24" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol", + "file": "./MessageHashUtils.sol", + "id": 4619, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4843, + "sourceUnit": 6030, + "src": "139:56:24", + "symbolAliases": [ + { + "foreign": { + "id": 4618, + "name": "MessageHashUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "147:16:24", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/ShortStrings.sol", + "file": "../ShortStrings.sol", + "id": 4622, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4843, + "sourceUnit": 3694, + "src": "196:62:24", + "symbolAliases": [ + { + "foreign": { + "id": 4620, + "name": "ShortStrings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3693, + "src": "204:12:24", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 4621, + "name": "ShortString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3482, + "src": "218:11:24", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/IERC5267.sol", + "file": "../../interfaces/IERC5267.sol", + "id": 4624, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4843, + "sourceUnit": 173, + "src": "259:55:24", + "symbolAliases": [ + { + "foreign": { + "id": 4623, + "name": "IERC5267", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "267:8:24", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 4626, + "name": "IERC5267", + "nameLocations": [ + "1988:8:24" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 172, + "src": "1988:8:24" + }, + "id": 4627, + "nodeType": "InheritanceSpecifier", + "src": "1988:8:24" + } + ], + "canonicalName": "EIP712", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4625, + "nodeType": "StructuredDocumentation", + "src": "316:1643:24", + "text": " @dev https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data.\n The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose\n encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract\n does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to\n produce the hash of their typed data using a combination of `abi.encode` and `keccak256`.\n This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n ({_hashTypedDataV4}).\n The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n the chain id to protect against replay attacks on an eventual fork of the chain.\n NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain\n separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the\n separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\n @custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "fullyImplemented": true, + "id": 4842, + "linearizedBaseContracts": [ + 4842, + 172 + ], + "name": "EIP712", + "nameLocation": "1978:6:24", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 4629, + "libraryName": { + "id": 4628, + "name": "ShortStrings", + "nameLocations": [ + "2009:12:24" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3693, + "src": "2009:12:24" + }, + "nodeType": "UsingForDirective", + "src": "2003:25:24" + }, + { + "constant": true, + "id": 4634, + "mutability": "constant", + "name": "TYPE_HASH", + "nameLocation": "2059:9:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2034:140:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4630, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2034:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", + "id": 4632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2089:84:24", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", + "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" + }, + "value": "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", + "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" + } + ], + "id": 4631, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2079:9:24", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2079:95:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4636, + "mutability": "immutable", + "name": "_cachedDomainSeparator", + "nameLocation": "2399:22:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2373:48:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4635, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2373:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4638, + "mutability": "immutable", + "name": "_cachedChainId", + "nameLocation": "2453:14:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2427:40:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2427:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4640, + "mutability": "immutable", + "name": "_cachedThis", + "nameLocation": "2499:11:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2473:37:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4639, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2473:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4642, + "mutability": "immutable", + "name": "_hashedName", + "nameLocation": "2543:11:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2517:37:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4641, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2517:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4644, + "mutability": "immutable", + "name": "_hashedVersion", + "nameLocation": "2586:14:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2560:40:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4643, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2560:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4647, + "mutability": "immutable", + "name": "_name", + "nameLocation": "2637:5:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2607:35:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 4646, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4645, + "name": "ShortString", + "nameLocations": [ + "2607:11:24" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "2607:11:24" + }, + "referencedDeclaration": 3482, + "src": "2607:11:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4650, + "mutability": "immutable", + "name": "_version", + "nameLocation": "2678:8:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2648:38:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + }, + "typeName": { + "id": 4649, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4648, + "name": "ShortString", + "nameLocations": [ + "2648:11:24" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3482, + "src": "2648:11:24" + }, + "referencedDeclaration": 3482, + "src": "2648:11:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4652, + "mutability": "mutable", + "name": "_nameFallback", + "nameLocation": "2707:13:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2692:28:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 4651, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2692:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4654, + "mutability": "mutable", + "name": "_versionFallback", + "nameLocation": "2741:16:24", + "nodeType": "VariableDeclaration", + "scope": 4842, + "src": "2726:31:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 4653, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2726:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 4711, + "nodeType": "Block", + "src": "3383:376:24", + "statements": [ + { + "expression": { + "id": 4667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4662, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4647, + "src": "3393:5:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 4665, + "name": "_nameFallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4652, + "src": "3432:13:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 4663, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4657, + "src": "3401:4:24", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3406:25:24", + "memberName": "toShortStringWithFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 3634, + "src": "3401:30:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_storage_ptr_$returns$_t_userDefinedValueType$_ShortString_$3482_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory,string storage pointer) returns (ShortString)" + } + }, + "id": 4666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3401:45:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "src": "3393:53:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "id": 4668, + "nodeType": "ExpressionStatement", + "src": "3393:53:24" + }, + { + "expression": { + "id": 4674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4669, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4650, + "src": "3456:8:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 4672, + "name": "_versionFallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4654, + "src": "3501:16:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 4670, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4659, + "src": "3467:7:24", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3475:25:24", + "memberName": "toShortStringWithFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 3634, + "src": "3467:33:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_storage_ptr_$returns$_t_userDefinedValueType$_ShortString_$3482_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory,string storage pointer) returns (ShortString)" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3467:51:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "src": "3456:62:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "id": 4675, + "nodeType": "ExpressionStatement", + "src": "3456:62:24" + }, + { + "expression": { + "id": 4683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4676, + "name": "_hashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4642, + "src": "3528:11:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 4680, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4657, + "src": "3558:4:24", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3552:5:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4678, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3552:5:24", + "typeDescriptions": {} + } + }, + "id": 4681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3552:11:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4677, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3542:9:24", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3542:22:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3528:36:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4684, + "nodeType": "ExpressionStatement", + "src": "3528:36:24" + }, + { + "expression": { + "id": 4692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4685, + "name": "_hashedVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "3574:14:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 4689, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4659, + "src": "3607:7:24", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3601:5:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4687, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3601:5:24", + "typeDescriptions": {} + } + }, + "id": 4690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3601:14:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4686, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3591:9:24", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3591:25:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3574:42:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4693, + "nodeType": "ExpressionStatement", + "src": "3574:42:24" + }, + { + "expression": { + "id": 4697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4694, + "name": "_cachedChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4638, + "src": "3627:14:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4695, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3644:5:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3650:7:24", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "3644:13:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3627:30:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4698, + "nodeType": "ExpressionStatement", + "src": "3627:30:24" + }, + { + "expression": { + "id": 4702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4699, + "name": "_cachedDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4636, + "src": "3667:22:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4700, + "name": "_buildDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4759, + "src": "3692:21:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 4701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3692:23:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3667:48:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4703, + "nodeType": "ExpressionStatement", + "src": "3667:48:24" + }, + { + "expression": { + "id": 4709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4704, + "name": "_cachedThis", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4640, + "src": "3725:11:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 4707, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3747:4:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + ], + "id": 4706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3739:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4705, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3739:7:24", + "typeDescriptions": {} + } + }, + "id": 4708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3739:13:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3725:27:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4710, + "nodeType": "ExpressionStatement", + "src": "3725:27:24" + } + ] + }, + "documentation": { + "id": 4655, + "nodeType": "StructuredDocumentation", + "src": "2764:559:24", + "text": " @dev Initializes the domain separator and parameter caches.\n The meaning of `name` and `version` is specified in\n https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]:\n - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n - `version`: the current major version of the signing domain.\n NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n contract upgrade]." + }, + "id": 4712, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4657, + "mutability": "mutable", + "name": "name", + "nameLocation": "3354:4:24", + "nodeType": "VariableDeclaration", + "scope": 4712, + "src": "3340:18:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4656, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3340:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4659, + "mutability": "mutable", + "name": "version", + "nameLocation": "3374:7:24", + "nodeType": "VariableDeclaration", + "scope": 4712, + "src": "3360:21:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4658, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3360:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3339:43:24" + }, + "returnParameters": { + "id": 4661, + "nodeType": "ParameterList", + "parameters": [], + "src": "3383:0:24" + }, + "scope": 4842, + "src": "3328:431:24", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4737, + "nodeType": "Block", + "src": "3907:200:24", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4720, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3929:4:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + ], + "id": 4719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3921:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4718, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3921:7:24", + "typeDescriptions": {} + } + }, + "id": 4721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3921:13:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4722, + "name": "_cachedThis", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4640, + "src": "3938:11:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3921:28:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4724, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3953:5:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3959:7:24", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "3953:13:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4726, + "name": "_cachedChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4638, + "src": "3970:14:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3953:31:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3921:63:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4735, + "nodeType": "Block", + "src": "4046:55:24", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4732, + "name": "_buildDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4759, + "src": "4067:21:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 4733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4067:23:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4717, + "id": 4734, + "nodeType": "Return", + "src": "4060:30:24" + } + ] + }, + "id": 4736, + "nodeType": "IfStatement", + "src": "3917:184:24", + "trueBody": { + "id": 4731, + "nodeType": "Block", + "src": "3986:54:24", + "statements": [ + { + "expression": { + "id": 4729, + "name": "_cachedDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4636, + "src": "4007:22:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4717, + "id": 4730, + "nodeType": "Return", + "src": "4000:29:24" + } + ] + } + } + ] + }, + "documentation": { + "id": 4713, + "nodeType": "StructuredDocumentation", + "src": "3765:75:24", + "text": " @dev Returns the domain separator for the current chain." + }, + "id": 4738, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_domainSeparatorV4", + "nameLocation": "3854:18:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4714, + "nodeType": "ParameterList", + "parameters": [], + "src": "3872:2:24" + }, + "returnParameters": { + "id": 4717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4716, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4738, + "src": "3898:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3898:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3897:9:24" + }, + "scope": 4842, + "src": "3845:262:24", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4758, + "nodeType": "Block", + "src": "4177:115:24", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4746, + "name": "TYPE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4634, + "src": "4215:9:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4747, + "name": "_hashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4642, + "src": "4226:11:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4748, + "name": "_hashedVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "4239:14:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 4749, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4255:5:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4261:7:24", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "4255:13:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 4753, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4278:4:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + ], + "id": 4752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4270:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4270:7:24", + "typeDescriptions": {} + } + }, + "id": 4754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4270:13:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 4744, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4204:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4208:6:24", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4204:10:24", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4204:80:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4743, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4194:9:24", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4194:91:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4742, + "id": 4757, + "nodeType": "Return", + "src": "4187:98:24" + } + ] + }, + "id": 4759, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_buildDomainSeparator", + "nameLocation": "4122:21:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4739, + "nodeType": "ParameterList", + "parameters": [], + "src": "4143:2:24" + }, + "returnParameters": { + "id": 4742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4741, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "4168:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4168:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4167:9:24" + }, + "scope": 4842, + "src": "4113:179:24", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 4774, + "nodeType": "Block", + "src": "5003:90:24", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4769, + "name": "_domainSeparatorV4", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4738, + "src": "5053:18:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 4770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5053:20:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4771, + "name": "structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4762, + "src": "5075:10:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 4767, + "name": "MessageHashUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "5020:16:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MessageHashUtils_$6029_$", + "typeString": "type(library MessageHashUtils)" + } + }, + "id": 4768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5037:15:24", + "memberName": "toTypedDataHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 6028, + "src": "5020:32:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 4772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5020:66:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4766, + "id": 4773, + "nodeType": "Return", + "src": "5013:73:24" + } + ] + }, + "documentation": { + "id": 4760, + "nodeType": "StructuredDocumentation", + "src": "4298:614:24", + "text": " @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n function returns the hash of the fully encoded EIP712 message for this domain.\n This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n ```solidity\n bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n keccak256(\"Mail(address to,string contents)\"),\n mailTo,\n keccak256(bytes(mailContents))\n )));\n address signer = ECDSA.recover(digest, signature);\n ```" + }, + "id": 4775, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_hashTypedDataV4", + "nameLocation": "4926:16:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4762, + "mutability": "mutable", + "name": "structHash", + "nameLocation": "4951:10:24", + "nodeType": "VariableDeclaration", + "scope": 4775, + "src": "4943:18:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4761, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4943:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4942:20:24" + }, + "returnParameters": { + "id": 4766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4765, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4775, + "src": "4994:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4764, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4994:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4993:9:24" + }, + "scope": 4842, + "src": "4917:176:24", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 171 + ], + "body": { + "id": 4816, + "nodeType": "Block", + "src": "5472:229:24", + "statements": [ + { + "expression": { + "components": [ + { + "hexValue": "0f", + "id": 4794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5503:7:24", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d725c5ee53025f027da36bea8d3af3b6a3e9d2d1542d47c162631de48e66c1c", + "typeString": "literal_string hex\"0f\"" + }, + "value": "\u000f" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4795, + "name": "_EIP712Name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4829, + "src": "5533:11:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 4796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5533:13:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4797, + "name": "_EIP712Version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4841, + "src": "5560:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 4798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5560:16:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 4799, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5590:5:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5596:7:24", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "5590:13:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 4803, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5625:4:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EIP712_$4842", + "typeString": "contract EIP712" + } + ], + "id": 4802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5617:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5617:7:24", + "typeDescriptions": {} + } + }, + "id": 4804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5617:13:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 4807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5652:1:24", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5644:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 4805, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5644:7:24", + "typeDescriptions": {} + } + }, + "id": 4808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5644:10:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 4812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5682:1:24", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5668:13:24", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 4809, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5672:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4810, + "nodeType": "ArrayTypeName", + "src": "5672:9:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 4813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5668:16:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 4814, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5489:205:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_stringliteral_3d725c5ee53025f027da36bea8d3af3b6a3e9d2d1542d47c162631de48e66c1c_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(literal_string hex\"0f\",string memory,string memory,uint256,address,bytes32,uint256[] memory)" + } + }, + "functionReturnParameters": 4793, + "id": 4815, + "nodeType": "Return", + "src": "5482:212:24" + } + ] + }, + "documentation": { + "id": 4776, + "nodeType": "StructuredDocumentation", + "src": "5099:40:24", + "text": " @dev See {IERC-5267}." + }, + "functionSelector": "84b0196e", + "id": 4817, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "eip712Domain", + "nameLocation": "5153:12:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4777, + "nodeType": "ParameterList", + "parameters": [], + "src": "5165:2:24" + }, + "returnParameters": { + "id": 4793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4779, + "mutability": "mutable", + "name": "fields", + "nameLocation": "5249:6:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5242:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 4778, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5242:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4781, + "mutability": "mutable", + "name": "name", + "nameLocation": "5283:4:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5269:18:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4780, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5269:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4783, + "mutability": "mutable", + "name": "version", + "nameLocation": "5315:7:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5301:21:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4782, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5301:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4785, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "5344:7:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5336:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5336:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4787, + "mutability": "mutable", + "name": "verifyingContract", + "nameLocation": "5373:17:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5365:25:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4786, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5365:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4789, + "mutability": "mutable", + "name": "salt", + "nameLocation": "5412:4:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5404:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5404:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4792, + "mutability": "mutable", + "name": "extensions", + "nameLocation": "5447:10:24", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "5430:27:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 4790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5430:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4791, + "nodeType": "ArrayTypeName", + "src": "5430:9:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "5228:239:24" + }, + "scope": 4842, + "src": "5144:557:24", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 4828, + "nodeType": "Block", + "src": "6082:65:24", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4825, + "name": "_nameFallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4652, + "src": "6126:13:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 4823, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4647, + "src": "6099:5:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "id": 4824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6105:20:24", + "memberName": "toStringWithFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 3661, + "src": "6099:26:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_ShortString_$3482_$_t_string_storage_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "function (ShortString,string storage pointer) pure returns (string memory)" + } + }, + "id": 4826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6099:41:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4822, + "id": 4827, + "nodeType": "Return", + "src": "6092:48:24" + } + ] + }, + "documentation": { + "id": 4818, + "nodeType": "StructuredDocumentation", + "src": "5707:256:24", + "text": " @dev The name parameter for the EIP712 domain.\n NOTE: By default this function reads _name which is an immutable value.\n It only reads from storage if necessary (in case the value is too large to fit in a ShortString)." + }, + "id": 4829, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_EIP712Name", + "nameLocation": "6030:11:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4819, + "nodeType": "ParameterList", + "parameters": [], + "src": "6041:2:24" + }, + "returnParameters": { + "id": 4822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4821, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4829, + "src": "6067:13:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4820, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6067:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6066:15:24" + }, + "scope": 4842, + "src": "6021:126:24", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4840, + "nodeType": "Block", + "src": "6537:71:24", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4837, + "name": "_versionFallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4654, + "src": "6584:16:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 4835, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4650, + "src": "6554:8:24", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_ShortString_$3482", + "typeString": "ShortString" + } + }, + "id": 4836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6563:20:24", + "memberName": "toStringWithFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 3661, + "src": "6554:29:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_ShortString_$3482_$_t_string_storage_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_userDefinedValueType$_ShortString_$3482_$", + "typeString": "function (ShortString,string storage pointer) pure returns (string memory)" + } + }, + "id": 4838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6554:47:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4834, + "id": 4839, + "nodeType": "Return", + "src": "6547:54:24" + } + ] + }, + "documentation": { + "id": 4830, + "nodeType": "StructuredDocumentation", + "src": "6153:262:24", + "text": " @dev The version parameter for the EIP712 domain.\n NOTE: By default this function reads _version which is an immutable value.\n It only reads from storage if necessary (in case the value is too large to fit in a ShortString)." + }, + "id": 4841, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_EIP712Version", + "nameLocation": "6482:14:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4831, + "nodeType": "ParameterList", + "parameters": [], + "src": "6496:2:24" + }, + "returnParameters": { + "id": 4834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4833, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4841, + "src": "6522:13:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4832, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6522:6:24", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6521:15:24" + }, + "scope": 4842, + "src": "6473:135:24", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 4843, + "src": "1960:4650:24", + "usedErrors": [ + 3490, + 3492 + ], + "usedEvents": [ + 152 + ] + } + ], + "src": "113:6498:24" + }, + "id": 24 + }, + "@openzeppelin/contracts/utils/cryptography/Hashes.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/Hashes.sol", + "exportedSymbols": { + "Hashes": [ + 4882 + ] + }, + "id": 4883, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4844, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "113:24:25" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Hashes", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 4845, + "nodeType": "StructuredDocumentation", + "src": "139:81:25", + "text": " @dev Library of standard hash functions.\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 4882, + "linearizedBaseContracts": [ + 4882 + ], + "name": "Hashes", + "nameLocation": "229:6:25", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 4868, + "nodeType": "Block", + "src": "588:85:25", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4855, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "605:1:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 4856, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "609:1:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "605:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "arguments": [ + { + "id": 4863, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "661:1:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4864, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "664:1:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4862, + "name": "_efficientKeccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4881, + "src": "641:19:25", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 4865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "641:25:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "605:61:25", + "trueExpression": { + "arguments": [ + { + "id": 4859, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "633:1:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4860, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "636:1:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4858, + "name": "_efficientKeccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4881, + "src": "613:19:25", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 4861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "613:25:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4854, + "id": 4867, + "nodeType": "Return", + "src": "598:68:25" + } + ] + }, + "documentation": { + "id": 4846, + "nodeType": "StructuredDocumentation", + "src": "242:257:25", + "text": " @dev Commutative Keccak256 hash of a sorted pair of bytes32. Frequently used when working with merkle proofs.\n NOTE: Equivalent to the `standardNodeHash` in our https://github.com/OpenZeppelin/merkle-tree[JavaScript library]." + }, + "id": 4869, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "commutativeKeccak256", + "nameLocation": "513:20:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4848, + "mutability": "mutable", + "name": "a", + "nameLocation": "542:1:25", + "nodeType": "VariableDeclaration", + "scope": 4869, + "src": "534:9:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4847, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "534:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4850, + "mutability": "mutable", + "name": "b", + "nameLocation": "553:1:25", + "nodeType": "VariableDeclaration", + "scope": 4869, + "src": "545:9:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4849, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "545:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "533:22:25" + }, + "returnParameters": { + "id": 4854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4853, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4869, + "src": "579:7:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4852, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "579:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "578:9:25" + }, + "scope": 4882, + "src": "504:169:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4880, + "nodeType": "Block", + "src": "881:151:25", + "statements": [ + { + "AST": { + "nativeSrc": "916:110:25", + "nodeType": "YulBlock", + "src": "916:110:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "937:4:25", + "nodeType": "YulLiteral", + "src": "937:4:25", + "type": "", + "value": "0x00" + }, + { + "name": "a", + "nativeSrc": "943:1:25", + "nodeType": "YulIdentifier", + "src": "943:1:25" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "930:6:25", + "nodeType": "YulIdentifier", + "src": "930:6:25" + }, + "nativeSrc": "930:15:25", + "nodeType": "YulFunctionCall", + "src": "930:15:25" + }, + "nativeSrc": "930:15:25", + "nodeType": "YulExpressionStatement", + "src": "930:15:25" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "965:4:25", + "nodeType": "YulLiteral", + "src": "965:4:25", + "type": "", + "value": "0x20" + }, + { + "name": "b", + "nativeSrc": "971:1:25", + "nodeType": "YulIdentifier", + "src": "971:1:25" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "958:6:25", + "nodeType": "YulIdentifier", + "src": "958:6:25" + }, + "nativeSrc": "958:15:25", + "nodeType": "YulFunctionCall", + "src": "958:15:25" + }, + "nativeSrc": "958:15:25", + "nodeType": "YulExpressionStatement", + "src": "958:15:25" + }, + { + "nativeSrc": "986:30:25", + "nodeType": "YulAssignment", + "src": "986:30:25", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1005:4:25", + "nodeType": "YulLiteral", + "src": "1005:4:25", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "1011:4:25", + "nodeType": "YulLiteral", + "src": "1011:4:25", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "995:9:25", + "nodeType": "YulIdentifier", + "src": "995:9:25" + }, + "nativeSrc": "995:21:25", + "nodeType": "YulFunctionCall", + "src": "995:21:25" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "986:5:25", + "nodeType": "YulIdentifier", + "src": "986:5:25" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 4872, + "isOffset": false, + "isSlot": false, + "src": "943:1:25", + "valueSize": 1 + }, + { + "declaration": 4874, + "isOffset": false, + "isSlot": false, + "src": "971:1:25", + "valueSize": 1 + }, + { + "declaration": 4877, + "isOffset": false, + "isSlot": false, + "src": "986:5:25", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 4879, + "nodeType": "InlineAssembly", + "src": "891:135:25" + } + ] + }, + "documentation": { + "id": 4870, + "nodeType": "StructuredDocumentation", + "src": "679:109:25", + "text": " @dev Implementation of keccak256(abi.encode(a, b)) that doesn't allocate or expand memory." + }, + "id": 4881, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_efficientKeccak256", + "nameLocation": "802:19:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4872, + "mutability": "mutable", + "name": "a", + "nameLocation": "830:1:25", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "822:9:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4871, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "822:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4874, + "mutability": "mutable", + "name": "b", + "nameLocation": "841:1:25", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "833:9:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4873, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "833:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "821:22:25" + }, + "returnParameters": { + "id": 4878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4877, + "mutability": "mutable", + "name": "value", + "nameLocation": "874:5:25", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "866:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4876, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "866:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "865:15:25" + }, + "scope": 4882, + "src": "793:239:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 4883, + "src": "221:813:25", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "113:922:25" + }, + "id": 25 + }, + "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", + "exportedSymbols": { + "Hashes": [ + 4882 + ], + "MerkleProof": [ + 5955 + ] + }, + "id": 5956, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4884, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "206:24:26" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/Hashes.sol", + "file": "./Hashes.sol", + "id": 4886, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 5956, + "sourceUnit": 4883, + "src": "232:36:26", + "symbolAliases": [ + { + "foreign": { + "id": 4885, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "240:6:26", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "MerkleProof", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 4887, + "nodeType": "StructuredDocumentation", + "src": "270:1082:26", + "text": " @dev These functions deal with verification of Merkle Tree proofs.\n The tree and the proofs can be generated using our\n https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n You will find a quickstart guide in the readme.\n WARNING: You should avoid using leaf values that are 64 bytes long prior to\n hashing, or use a hash function other than keccak256 for hashing leaves.\n This is because the concatenation of a sorted pair of internal nodes in\n the Merkle tree could be reinterpreted as a leaf value.\n OpenZeppelin's JavaScript library generates Merkle trees that are safe\n against this attack out of the box.\n IMPORTANT: Consider memory side-effects when using custom hashing functions\n that access memory in an unsafe way.\n NOTE: This library supports proof verification for merkle trees built using\n custom _commutative_ hashing functions (i.e. `H(a, b) == H(b, a)`). Proving\n leaf inclusion in trees built using non-commutative hashing functions requires\n additional logic that is not supported by this library." + }, + "fullyImplemented": true, + "id": 5955, + "linearizedBaseContracts": [ + 5955 + ], + "name": "MerkleProof", + "nameLocation": "1361:11:26", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 4888, + "nodeType": "StructuredDocumentation", + "src": "1379:60:26", + "text": "@dev The multiproof provided is not valid." + }, + "errorSelector": "35140492", + "id": 4890, + "name": "MerkleProofInvalidMultiproof", + "nameLocation": "1450:28:26", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 4889, + "nodeType": "ParameterList", + "parameters": [], + "src": "1478:2:26" + }, + "src": "1444:37:26" + }, + { + "body": { + "id": 4910, + "nodeType": "Block", + "src": "1999:57:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4904, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4894, + "src": "2029:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 4905, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4898, + "src": "2036:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4903, + "name": "processProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4952, + 5034 + ], + "referencedDeclaration": 4952, + "src": "2016:12:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bytes32) pure returns (bytes32)" + } + }, + "id": 4906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2016:25:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4907, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "2045:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2016:33:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4902, + "id": 4909, + "nodeType": "Return", + "src": "2009:40:26" + } + ] + }, + "documentation": { + "id": 4891, + "nodeType": "StructuredDocumentation", + "src": "1487:410:26", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in memory with the default hashing function." + }, + "id": 4911, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "1911:6:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4894, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1935:5:26", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "1918:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4892, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1918:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4893, + "nodeType": "ArrayTypeName", + "src": "1918:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4896, + "mutability": "mutable", + "name": "root", + "nameLocation": "1950:4:26", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "1942:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4895, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1942:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4898, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "1964:4:26", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "1956:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4897, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1956:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1917:52:26" + }, + "returnParameters": { + "id": 4902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4901, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "1993:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4900, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1993:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1992:6:26" + }, + "scope": 5955, + "src": "1902:154:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4951, + "nodeType": "Block", + "src": "2549:216:26", + "statements": [ + { + "assignments": [ + 4923 + ], + "declarations": [ + { + "constant": false, + "id": 4923, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "2567:12:26", + "nodeType": "VariableDeclaration", + "scope": 4951, + "src": "2559:20:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4922, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2559:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 4925, + "initialValue": { + "id": 4924, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "2582:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2559:27:26" + }, + { + "body": { + "id": 4947, + "nodeType": "Block", + "src": "2639:91:26", + "statements": [ + { + "expression": { + "id": 4945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4937, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4923, + "src": "2653:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 4940, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4923, + "src": "2696:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 4941, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4915, + "src": "2710:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4943, + "indexExpression": { + "id": 4942, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "2716:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2710:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 4938, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "2668:6:26", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$4882_$", + "typeString": "type(library Hashes)" + } + }, + "id": 4939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2675:20:26", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 4869, + "src": "2668:27:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 4944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2668:51:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2653:66:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4946, + "nodeType": "ExpressionStatement", + "src": "2653:66:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4930, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "2616:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 4931, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4915, + "src": "2620:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2626:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2620:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2616:16:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4948, + "initializationExpression": { + "assignments": [ + 4927 + ], + "declarations": [ + { + "constant": false, + "id": 4927, + "mutability": "mutable", + "name": "i", + "nameLocation": "2609:1:26", + "nodeType": "VariableDeclaration", + "scope": 4948, + "src": "2601:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4926, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2601:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4929, + "initialValue": { + "hexValue": "30", + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2613:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2601:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 4935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2634:3:26", + "subExpression": { + "id": 4934, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "2634:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4936, + "nodeType": "ExpressionStatement", + "src": "2634:3:26" + }, + "nodeType": "ForStatement", + "src": "2596:134:26" + }, + { + "expression": { + "id": 4949, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4923, + "src": "2746:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4921, + "id": 4950, + "nodeType": "Return", + "src": "2739:19:26" + } + ] + }, + "documentation": { + "id": 4912, + "nodeType": "StructuredDocumentation", + "src": "2062:390:26", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in memory with the default hashing function." + }, + "id": 4952, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProof", + "nameLocation": "2466:12:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4915, + "mutability": "mutable", + "name": "proof", + "nameLocation": "2496:5:26", + "nodeType": "VariableDeclaration", + "scope": 4952, + "src": "2479:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4913, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2479:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4914, + "nodeType": "ArrayTypeName", + "src": "2479:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4917, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "2511:4:26", + "nodeType": "VariableDeclaration", + "scope": 4952, + "src": "2503:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2503:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2478:38:26" + }, + "returnParameters": { + "id": 4921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4920, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4952, + "src": "2540:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4919, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2540:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2539:9:26" + }, + "scope": 5955, + "src": "2457:308:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4983, + "nodeType": "Block", + "src": "3376:65:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4976, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4956, + "src": "3406:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 4977, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4960, + "src": "3413:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4978, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4970, + "src": "3419:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 4975, + "name": "processProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4952, + 5034 + ], + "referencedDeclaration": 5034, + "src": "3393:12:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bytes32,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 4979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3393:33:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4980, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4958, + "src": "3430:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3393:41:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4974, + "id": 4982, + "nodeType": "Return", + "src": "3386:48:26" + } + ] + }, + "documentation": { + "id": 4953, + "nodeType": "StructuredDocumentation", + "src": "2771:407:26", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in memory with a custom hashing function." + }, + "id": 4984, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "3192:6:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4956, + "mutability": "mutable", + "name": "proof", + "nameLocation": "3225:5:26", + "nodeType": "VariableDeclaration", + "scope": 4984, + "src": "3208:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4954, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3208:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4955, + "nodeType": "ArrayTypeName", + "src": "3208:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4958, + "mutability": "mutable", + "name": "root", + "nameLocation": "3248:4:26", + "nodeType": "VariableDeclaration", + "scope": 4984, + "src": "3240:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3240:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4960, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "3270:4:26", + "nodeType": "VariableDeclaration", + "scope": 4984, + "src": "3262:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4959, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3262:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4970, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "3334:6:26", + "nodeType": "VariableDeclaration", + "scope": 4984, + "src": "3284:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 4969, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 4965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4962, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4969, + "src": "3293:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4961, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3293:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4964, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4969, + "src": "3302:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4963, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3302:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3292:18:26" + }, + "returnParameterTypes": { + "id": 4968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4967, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4969, + "src": "3325:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4966, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3325:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3324:9:26" + }, + "src": "3284:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "3198:148:26" + }, + "returnParameters": { + "id": 4974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4973, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4984, + "src": "3370:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4972, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3370:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3369:6:26" + }, + "scope": 5955, + "src": "3183:258:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5033, + "nodeType": "Block", + "src": "4019:195:26", + "statements": [ + { + "assignments": [ + 5006 + ], + "declarations": [ + { + "constant": false, + "id": 5006, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "4037:12:26", + "nodeType": "VariableDeclaration", + "scope": 5033, + "src": "4029:20:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5005, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4029:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5008, + "initialValue": { + "id": 5007, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4990, + "src": "4052:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4029:27:26" + }, + { + "body": { + "id": 5029, + "nodeType": "Block", + "src": "4109:70:26", + "statements": [ + { + "expression": { + "id": 5027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5020, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5006, + "src": "4123:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5022, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5006, + "src": "4145:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 5023, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4988, + "src": "4159:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5025, + "indexExpression": { + "id": 5024, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5010, + "src": "4165:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4159:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5021, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5000, + "src": "4138:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 5026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4138:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4123:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5028, + "nodeType": "ExpressionStatement", + "src": "4123:45:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5013, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5010, + "src": "4086:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 5014, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4988, + "src": "4090:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4096:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4090:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4086:16:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5030, + "initializationExpression": { + "assignments": [ + 5010 + ], + "declarations": [ + { + "constant": false, + "id": 5010, + "mutability": "mutable", + "name": "i", + "nameLocation": "4079:1:26", + "nodeType": "VariableDeclaration", + "scope": 5030, + "src": "4071:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5009, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4071:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5012, + "initialValue": { + "hexValue": "30", + "id": 5011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4083:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4071:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4104:3:26", + "subExpression": { + "id": 5017, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5010, + "src": "4104:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5019, + "nodeType": "ExpressionStatement", + "src": "4104:3:26" + }, + "nodeType": "ForStatement", + "src": "4066:113:26" + }, + { + "expression": { + "id": 5031, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5006, + "src": "4195:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5004, + "id": 5032, + "nodeType": "Return", + "src": "4188:19:26" + } + ] + }, + "documentation": { + "id": 4985, + "nodeType": "StructuredDocumentation", + "src": "3447:387:26", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in memory with a custom hashing function." + }, + "id": 5034, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProof", + "nameLocation": "3848:12:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4988, + "mutability": "mutable", + "name": "proof", + "nameLocation": "3887:5:26", + "nodeType": "VariableDeclaration", + "scope": 5034, + "src": "3870:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3870:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4987, + "nodeType": "ArrayTypeName", + "src": "3870:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4990, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "3910:4:26", + "nodeType": "VariableDeclaration", + "scope": 5034, + "src": "3902:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4989, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3902:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5000, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "3974:6:26", + "nodeType": "VariableDeclaration", + "scope": 5034, + "src": "3924:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 4999, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 4995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4992, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4999, + "src": "3933:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3933:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4994, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4999, + "src": "3942:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4993, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3942:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3932:18:26" + }, + "returnParameterTypes": { + "id": 4998, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4997, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4999, + "src": "3965:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4996, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3965:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3964:9:26" + }, + "src": "3924:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "3860:126:26" + }, + "returnParameters": { + "id": 5004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5003, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5034, + "src": "4010:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5002, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4010:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4009:9:26" + }, + "scope": 5955, + "src": "3839:375:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5054, + "nodeType": "Block", + "src": "4744:65:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5048, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5038, + "src": "4782:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 5049, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5042, + "src": "4789:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5047, + "name": "processProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5096, + 5178 + ], + "referencedDeclaration": 5096, + "src": "4761:20:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bytes32) pure returns (bytes32)" + } + }, + "id": 5050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4761:33:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5051, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5040, + "src": "4798:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4761:41:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5046, + "id": 5053, + "nodeType": "Return", + "src": "4754:48:26" + } + ] + }, + "documentation": { + "id": 5035, + "nodeType": "StructuredDocumentation", + "src": "4220:412:26", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in calldata with the default hashing function." + }, + "id": 5055, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCalldata", + "nameLocation": "4646:14:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5038, + "mutability": "mutable", + "name": "proof", + "nameLocation": "4680:5:26", + "nodeType": "VariableDeclaration", + "scope": 5055, + "src": "4661:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5036, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4661:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5037, + "nodeType": "ArrayTypeName", + "src": "4661:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5040, + "mutability": "mutable", + "name": "root", + "nameLocation": "4695:4:26", + "nodeType": "VariableDeclaration", + "scope": 5055, + "src": "4687:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4687:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5042, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "4709:4:26", + "nodeType": "VariableDeclaration", + "scope": 5055, + "src": "4701:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4701:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4660:54:26" + }, + "returnParameters": { + "id": 5046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5045, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5055, + "src": "4738:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5044, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4738:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4737:6:26" + }, + "scope": 5955, + "src": "4637:172:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5095, + "nodeType": "Block", + "src": "5314:216:26", + "statements": [ + { + "assignments": [ + 5067 + ], + "declarations": [ + { + "constant": false, + "id": 5067, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "5332:12:26", + "nodeType": "VariableDeclaration", + "scope": 5095, + "src": "5324:20:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5066, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5324:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5069, + "initialValue": { + "id": 5068, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "5347:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5324:27:26" + }, + { + "body": { + "id": 5091, + "nodeType": "Block", + "src": "5404:91:26", + "statements": [ + { + "expression": { + "id": 5089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5081, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5067, + "src": "5418:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5084, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5067, + "src": "5461:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 5085, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "5475:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5087, + "indexExpression": { + "id": 5086, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5071, + "src": "5481:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5475:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 5082, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "5433:6:26", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$4882_$", + "typeString": "type(library Hashes)" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5440:20:26", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 4869, + "src": "5433:27:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 5088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5433:51:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5418:66:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5090, + "nodeType": "ExpressionStatement", + "src": "5418:66:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5074, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5071, + "src": "5381:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 5075, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "5385:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5391:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5385:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5381:16:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5092, + "initializationExpression": { + "assignments": [ + 5071 + ], + "declarations": [ + { + "constant": false, + "id": 5071, + "mutability": "mutable", + "name": "i", + "nameLocation": "5374:1:26", + "nodeType": "VariableDeclaration", + "scope": 5092, + "src": "5366:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5366:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5073, + "initialValue": { + "hexValue": "30", + "id": 5072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5378:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5366:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5399:3:26", + "subExpression": { + "id": 5078, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5071, + "src": "5399:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5080, + "nodeType": "ExpressionStatement", + "src": "5399:3:26" + }, + "nodeType": "ForStatement", + "src": "5361:134:26" + }, + { + "expression": { + "id": 5093, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5067, + "src": "5511:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5065, + "id": 5094, + "nodeType": "Return", + "src": "5504:19:26" + } + ] + }, + "documentation": { + "id": 5056, + "nodeType": "StructuredDocumentation", + "src": "4815:392:26", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in calldata with the default hashing function." + }, + "id": 5096, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProofCalldata", + "nameLocation": "5221:20:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5059, + "mutability": "mutable", + "name": "proof", + "nameLocation": "5261:5:26", + "nodeType": "VariableDeclaration", + "scope": 5096, + "src": "5242:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5057, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5242:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5058, + "nodeType": "ArrayTypeName", + "src": "5242:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5061, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "5276:4:26", + "nodeType": "VariableDeclaration", + "scope": 5096, + "src": "5268:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5060, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5268:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5241:40:26" + }, + "returnParameters": { + "id": 5065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5064, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5096, + "src": "5305:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5305:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5304:9:26" + }, + "scope": 5955, + "src": "5212:318:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5127, + "nodeType": "Block", + "src": "6153:73:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5120, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5100, + "src": "6191:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 5121, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5104, + "src": "6198:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5122, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5114, + "src": "6204:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 5119, + "name": "processProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5096, + 5178 + ], + "referencedDeclaration": 5178, + "src": "6170:20:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bytes32,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 5123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6170:41:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5124, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5102, + "src": "6215:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6170:49:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5118, + "id": 5126, + "nodeType": "Return", + "src": "6163:56:26" + } + ] + }, + "documentation": { + "id": 5097, + "nodeType": "StructuredDocumentation", + "src": "5536:409:26", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted.\n This version handles proofs in calldata with a custom hashing function." + }, + "id": 5128, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCalldata", + "nameLocation": "5959:14:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5100, + "mutability": "mutable", + "name": "proof", + "nameLocation": "6002:5:26", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "5983:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5098, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5983:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5099, + "nodeType": "ArrayTypeName", + "src": "5983:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5102, + "mutability": "mutable", + "name": "root", + "nameLocation": "6025:4:26", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "6017:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5101, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6017:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5104, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "6047:4:26", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "6039:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5103, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6039:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5114, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "6111:6:26", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "6061:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 5113, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 5109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5113, + "src": "6070:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5105, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6070:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5108, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5113, + "src": "6079:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5107, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6079:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6069:18:26" + }, + "returnParameterTypes": { + "id": 5112, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5111, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5113, + "src": "6102:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5110, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6102:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6101:9:26" + }, + "src": "6061:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "5973:150:26" + }, + "returnParameters": { + "id": 5118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5117, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "6147:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6147:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6146:6:26" + }, + "scope": 5955, + "src": "5950:276:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5177, + "nodeType": "Block", + "src": "6816:195:26", + "statements": [ + { + "assignments": [ + 5150 + ], + "declarations": [ + { + "constant": false, + "id": 5150, + "mutability": "mutable", + "name": "computedHash", + "nameLocation": "6834:12:26", + "nodeType": "VariableDeclaration", + "scope": 5177, + "src": "6826:20:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5149, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6826:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5152, + "initialValue": { + "id": 5151, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "6849:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6826:27:26" + }, + { + "body": { + "id": 5173, + "nodeType": "Block", + "src": "6906:70:26", + "statements": [ + { + "expression": { + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5164, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5150, + "src": "6920:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5166, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5150, + "src": "6942:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 5167, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "6956:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5169, + "indexExpression": { + "id": 5168, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "6962:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6956:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5165, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5144, + "src": "6935:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 5170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6935:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6920:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5172, + "nodeType": "ExpressionStatement", + "src": "6920:45:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5157, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "6883:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 5158, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "6887:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6893:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6887:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6883:16:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5174, + "initializationExpression": { + "assignments": [ + 5154 + ], + "declarations": [ + { + "constant": false, + "id": 5154, + "mutability": "mutable", + "name": "i", + "nameLocation": "6876:1:26", + "nodeType": "VariableDeclaration", + "scope": 5174, + "src": "6868:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6868:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5156, + "initialValue": { + "hexValue": "30", + "id": 5155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6880:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6868:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6901:3:26", + "subExpression": { + "id": 5161, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "6901:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5163, + "nodeType": "ExpressionStatement", + "src": "6901:3:26" + }, + "nodeType": "ForStatement", + "src": "6863:113:26" + }, + { + "expression": { + "id": 5175, + "name": "computedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5150, + "src": "6992:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5148, + "id": 5176, + "nodeType": "Return", + "src": "6985:19:26" + } + ] + }, + "documentation": { + "id": 5129, + "nodeType": "StructuredDocumentation", + "src": "6232:389:26", + "text": " @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leaves & pre-images are assumed to be sorted.\n This version handles proofs in calldata with a custom hashing function." + }, + "id": 5178, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processProofCalldata", + "nameLocation": "6635:20:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5132, + "mutability": "mutable", + "name": "proof", + "nameLocation": "6684:5:26", + "nodeType": "VariableDeclaration", + "scope": 5178, + "src": "6665:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6665:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5131, + "nodeType": "ArrayTypeName", + "src": "6665:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5134, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "6707:4:26", + "nodeType": "VariableDeclaration", + "scope": 5178, + "src": "6699:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6699:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5144, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "6771:6:26", + "nodeType": "VariableDeclaration", + "scope": 5178, + "src": "6721:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 5143, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 5139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5136, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5143, + "src": "6730:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5135, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6730:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5138, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5143, + "src": "6739:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6739:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6729:18:26" + }, + "returnParameterTypes": { + "id": 5142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5141, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5143, + "src": "6762:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6762:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6761:9:26" + }, + "src": "6721:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "6655:128:26" + }, + "returnParameters": { + "id": 5148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5147, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5178, + "src": "6807:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5146, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6807:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6806:9:26" + }, + "scope": 5955, + "src": "6626:385:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5203, + "nodeType": "Block", + "src": "7797:76:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5196, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5182, + "src": "7832:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 5197, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5185, + "src": "7839:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + { + "id": 5198, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5190, + "src": "7851:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 5195, + "name": "processMultiProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5362, + 5566 + ], + "referencedDeclaration": 5362, + "src": "7814:17:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bool[] memory,bytes32[] memory) pure returns (bytes32)" + } + }, + "id": 5199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7814:44:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5200, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5187, + "src": "7862:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7814:52:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5194, + "id": 5202, + "nodeType": "Return", + "src": "7807:59:26" + } + ] + }, + "documentation": { + "id": 5179, + "nodeType": "StructuredDocumentation", + "src": "7017:593:26", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in memory with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProof}." + }, + "id": 5204, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerify", + "nameLocation": "7624:16:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5182, + "mutability": "mutable", + "name": "proof", + "nameLocation": "7667:5:26", + "nodeType": "VariableDeclaration", + "scope": 5204, + "src": "7650:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5180, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7650:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5181, + "nodeType": "ArrayTypeName", + "src": "7650:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5185, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "7696:10:26", + "nodeType": "VariableDeclaration", + "scope": 5204, + "src": "7682:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5183, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7682:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5184, + "nodeType": "ArrayTypeName", + "src": "7682:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5187, + "mutability": "mutable", + "name": "root", + "nameLocation": "7724:4:26", + "nodeType": "VariableDeclaration", + "scope": 5204, + "src": "7716:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5186, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7716:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5190, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "7755:6:26", + "nodeType": "VariableDeclaration", + "scope": 5204, + "src": "7738:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5188, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7738:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5189, + "nodeType": "ArrayTypeName", + "src": "7738:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "7640:127:26" + }, + "returnParameters": { + "id": 5194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5193, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5204, + "src": "7791:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5192, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7791:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7790:6:26" + }, + "scope": 5955, + "src": "7615:258:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5361, + "nodeType": "Block", + "src": "9159:2104:26", + "statements": [ + { + "assignments": [ + 5220 + ], + "declarations": [ + { + "constant": false, + "id": 5220, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "9551:9:26", + "nodeType": "VariableDeclaration", + "scope": 5361, + "src": "9543:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9543:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5223, + "initialValue": { + "expression": { + "id": 5221, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5214, + "src": "9563:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9570:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9563:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9543:33:26" + }, + { + "assignments": [ + 5225 + ], + "declarations": [ + { + "constant": false, + "id": 5225, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "9594:13:26", + "nodeType": "VariableDeclaration", + "scope": 5361, + "src": "9586:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5224, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9586:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5228, + "initialValue": { + "expression": { + "id": 5226, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5211, + "src": "9610:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 5227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9621:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9610:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9586:41:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5229, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "9675:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5230, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5208, + "src": "9687:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9693:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9687:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9675:24:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5233, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "9703:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9719:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9703:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9675:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5241, + "nodeType": "IfStatement", + "src": "9671:113:26", + "trueBody": { + "id": 5240, + "nodeType": "Block", + "src": "9722:62:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5237, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "9743:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9743:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5239, + "nodeType": "RevertStatement", + "src": "9736:37:26" + } + ] + } + }, + { + "assignments": [ + 5246 + ], + "declarations": [ + { + "constant": false, + "id": 5246, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "10045:6:26", + "nodeType": "VariableDeclaration", + "scope": 5361, + "src": "10028:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10028:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5245, + "nodeType": "ArrayTypeName", + "src": "10028:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 5252, + "initialValue": { + "arguments": [ + { + "id": 5250, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "10068:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "10054:13:26", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 5247, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10058:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5248, + "nodeType": "ArrayTypeName", + "src": "10058:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10054:28:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10028:54:26" + }, + { + "assignments": [ + 5254 + ], + "declarations": [ + { + "constant": false, + "id": 5254, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "10100:7:26", + "nodeType": "VariableDeclaration", + "scope": 5361, + "src": "10092:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10092:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5256, + "initialValue": { + "hexValue": "30", + "id": 5255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10110:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10092:19:26" + }, + { + "assignments": [ + 5258 + ], + "declarations": [ + { + "constant": false, + "id": 5258, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "10129:7:26", + "nodeType": "VariableDeclaration", + "scope": 5361, + "src": "10121:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10121:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5260, + "initialValue": { + "hexValue": "30", + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10139:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10121:19:26" + }, + { + "assignments": [ + 5262 + ], + "declarations": [ + { + "constant": false, + "id": 5262, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "10158:8:26", + "nodeType": "VariableDeclaration", + "scope": 5361, + "src": "10150:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10150:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5264, + "initialValue": { + "hexValue": "30", + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10169:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10150:20:26" + }, + { + "body": { + "id": 5324, + "nodeType": "Block", + "src": "10590:310:26", + "statements": [ + { + "assignments": [ + 5276 + ], + "declarations": [ + { + "constant": false, + "id": 5276, + "mutability": "mutable", + "name": "a", + "nameLocation": "10612:1:26", + "nodeType": "VariableDeclaration", + "scope": 5324, + "src": "10604:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5275, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10604:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5289, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5277, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5254, + "src": "10616:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5278, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "10626:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10616:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5284, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5246, + "src": "10658:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5287, + "indexExpression": { + "id": 5286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10665:9:26", + "subExpression": { + "id": 5285, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5258, + "src": "10665:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10658:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10616:59:26", + "trueExpression": { + "baseExpression": { + "id": 5280, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5214, + "src": "10638:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5283, + "indexExpression": { + "id": 5282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10645:9:26", + "subExpression": { + "id": 5281, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5254, + "src": "10645:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10638:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10604:71:26" + }, + { + "assignments": [ + 5291 + ], + "declarations": [ + { + "constant": false, + "id": 5291, + "mutability": "mutable", + "name": "b", + "nameLocation": "10697:1:26", + "nodeType": "VariableDeclaration", + "scope": 5324, + "src": "10689:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10689:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5313, + "initialValue": { + "condition": { + "baseExpression": { + "id": 5292, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5211, + "src": "10701:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 5294, + "indexExpression": { + "id": 5293, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "10712:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10701:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5308, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5208, + "src": "10813:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5311, + "indexExpression": { + "id": 5310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10819:10:26", + "subExpression": { + "id": 5309, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5262, + "src": "10819:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10813:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10701:129:26", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5295, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5254, + "src": "10734:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5296, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "10744:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10734:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5302, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5246, + "src": "10776:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5305, + "indexExpression": { + "id": 5304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10783:9:26", + "subExpression": { + "id": 5303, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5258, + "src": "10783:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10776:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10734:59:26", + "trueExpression": { + "baseExpression": { + "id": 5298, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5214, + "src": "10756:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5301, + "indexExpression": { + "id": 5300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10763:9:26", + "subExpression": { + "id": 5299, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5254, + "src": "10763:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10756:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5307, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10733:61:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10689:141:26" + }, + { + "expression": { + "id": 5322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5314, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5246, + "src": "10844:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5316, + "indexExpression": { + "id": 5315, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "10851:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10844:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5319, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5276, + "src": "10884:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5320, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "10887:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 5317, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "10856:6:26", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$4882_$", + "typeString": "type(library Hashes)" + } + }, + "id": 5318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10863:20:26", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 4869, + "src": "10856:27:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 5321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10856:33:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10844:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5323, + "nodeType": "ExpressionStatement", + "src": "10844:45:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5269, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "10566:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5270, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "10570:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10566:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5325, + "initializationExpression": { + "assignments": [ + 5266 + ], + "declarations": [ + { + "constant": false, + "id": 5266, + "mutability": "mutable", + "name": "i", + "nameLocation": "10559:1:26", + "nodeType": "VariableDeclaration", + "scope": 5325, + "src": "10551:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10551:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5268, + "initialValue": { + "hexValue": "30", + "id": 5267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10563:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10551:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10585:3:26", + "subExpression": { + "id": 5272, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "10585:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5274, + "nodeType": "ExpressionStatement", + "src": "10585:3:26" + }, + "nodeType": "ForStatement", + "src": "10546:354:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5326, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "10914:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10930:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10914:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5346, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "11155:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11167:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11155:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5358, + "nodeType": "Block", + "src": "11217:40:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5354, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5208, + "src": "11238:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5356, + "indexExpression": { + "hexValue": "30", + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11244:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11238:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5218, + "id": 5357, + "nodeType": "Return", + "src": "11231:15:26" + } + ] + }, + "id": 5359, + "nodeType": "IfStatement", + "src": "11151:106:26", + "trueBody": { + "id": 5353, + "nodeType": "Block", + "src": "11170:41:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5349, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5214, + "src": "11191:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5351, + "indexExpression": { + "hexValue": "30", + "id": 5350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11198:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11191:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5218, + "id": 5352, + "nodeType": "Return", + "src": "11184:16:26" + } + ] + } + }, + "id": 5360, + "nodeType": "IfStatement", + "src": "10910:347:26", + "trueBody": { + "id": 5345, + "nodeType": "Block", + "src": "10933:212:26", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5329, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5262, + "src": "10951:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 5330, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5208, + "src": "10963:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10969:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10963:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10951:24:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5337, + "nodeType": "IfStatement", + "src": "10947:100:26", + "trueBody": { + "id": 5336, + "nodeType": "Block", + "src": "10977:70:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5333, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "11002:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11002:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5335, + "nodeType": "RevertStatement", + "src": "10995:37:26" + } + ] + } + }, + { + "id": 5344, + "nodeType": "UncheckedBlock", + "src": "11060:75:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5338, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5246, + "src": "11095:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5342, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5339, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "11102:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 5340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11118:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11102:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11095:25:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5218, + "id": 5343, + "nodeType": "Return", + "src": "11088:32:26" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 5205, + "nodeType": "StructuredDocumentation", + "src": "7879:1100:26", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in memory with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 5362, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProof", + "nameLocation": "8993:17:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5208, + "mutability": "mutable", + "name": "proof", + "nameLocation": "9037:5:26", + "nodeType": "VariableDeclaration", + "scope": 5362, + "src": "9020:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9020:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5207, + "nodeType": "ArrayTypeName", + "src": "9020:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5211, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "9066:10:26", + "nodeType": "VariableDeclaration", + "scope": 5362, + "src": "9052:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9052:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5210, + "nodeType": "ArrayTypeName", + "src": "9052:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5214, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "9103:6:26", + "nodeType": "VariableDeclaration", + "scope": 5362, + "src": "9086:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5212, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9086:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5213, + "nodeType": "ArrayTypeName", + "src": "9086:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "9010:105:26" + }, + "returnParameters": { + "id": 5218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5217, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "9147:10:26", + "nodeType": "VariableDeclaration", + "scope": 5362, + "src": "9139:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5216, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9139:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9138:20:26" + }, + "scope": 5955, + "src": "8984:2279:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5398, + "nodeType": "Block", + "src": "12112:84:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5390, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5366, + "src": "12147:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 5391, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5369, + "src": "12154:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + { + "id": 5392, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5374, + "src": "12166:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 5393, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5384, + "src": "12174:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 5389, + "name": "processMultiProof", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5362, + 5566 + ], + "referencedDeclaration": 5566, + "src": "12129:17:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory,bool[] memory,bytes32[] memory,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 5394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12129:52:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5395, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5371, + "src": "12185:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12129:60:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5388, + "id": 5397, + "nodeType": "Return", + "src": "12122:67:26" + } + ] + }, + "documentation": { + "id": 5363, + "nodeType": "StructuredDocumentation", + "src": "11269:590:26", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in memory with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProof}." + }, + "id": 5399, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerify", + "nameLocation": "11873:16:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5366, + "mutability": "mutable", + "name": "proof", + "nameLocation": "11916:5:26", + "nodeType": "VariableDeclaration", + "scope": 5399, + "src": "11899:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5364, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11899:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5365, + "nodeType": "ArrayTypeName", + "src": "11899:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5369, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "11945:10:26", + "nodeType": "VariableDeclaration", + "scope": 5399, + "src": "11931:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5367, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11931:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5368, + "nodeType": "ArrayTypeName", + "src": "11931:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5371, + "mutability": "mutable", + "name": "root", + "nameLocation": "11973:4:26", + "nodeType": "VariableDeclaration", + "scope": 5399, + "src": "11965:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5370, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11965:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5374, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "12004:6:26", + "nodeType": "VariableDeclaration", + "scope": 5399, + "src": "11987:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5372, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11987:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5373, + "nodeType": "ArrayTypeName", + "src": "11987:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5384, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "12070:6:26", + "nodeType": "VariableDeclaration", + "scope": 5399, + "src": "12020:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 5383, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 5379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5376, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "12029:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5375, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12029:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5378, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "12038:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5377, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12038:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12028:18:26" + }, + "returnParameterTypes": { + "id": 5382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5381, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "12061:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12061:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12060:9:26" + }, + "src": "12020:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "11889:193:26" + }, + "returnParameters": { + "id": 5388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5387, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5399, + "src": "12106:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5386, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12106:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12105:6:26" + }, + "scope": 5955, + "src": "11864:332:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5565, + "nodeType": "Block", + "src": "13545:2083:26", + "statements": [ + { + "assignments": [ + 5425 + ], + "declarations": [ + { + "constant": false, + "id": 5425, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "13937:9:26", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "13929:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13929:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5428, + "initialValue": { + "expression": { + "id": 5426, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5409, + "src": "13949:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13956:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13949:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13929:33:26" + }, + { + "assignments": [ + 5430 + ], + "declarations": [ + { + "constant": false, + "id": 5430, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "13980:13:26", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "13972:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13972:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5433, + "initialValue": { + "expression": { + "id": 5431, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5406, + "src": "13996:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14007:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13996:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13972:41:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5434, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5425, + "src": "14061:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5435, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14073:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14079:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14073:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14061:24:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5438, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5430, + "src": "14089:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 5439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14105:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14089:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14061:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5446, + "nodeType": "IfStatement", + "src": "14057:113:26", + "trueBody": { + "id": 5445, + "nodeType": "Block", + "src": "14108:62:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5442, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "14129:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14129:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5444, + "nodeType": "RevertStatement", + "src": "14122:37:26" + } + ] + } + }, + { + "assignments": [ + 5451 + ], + "declarations": [ + { + "constant": false, + "id": 5451, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "14431:6:26", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "14414:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5449, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14414:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5450, + "nodeType": "ArrayTypeName", + "src": "14414:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 5457, + "initialValue": { + "arguments": [ + { + "id": 5455, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5430, + "src": "14454:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "14440:13:26", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 5452, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14444:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5453, + "nodeType": "ArrayTypeName", + "src": "14444:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 5456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14440:28:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14414:54:26" + }, + { + "assignments": [ + 5459 + ], + "declarations": [ + { + "constant": false, + "id": 5459, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "14486:7:26", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "14478:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5458, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14478:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5461, + "initialValue": { + "hexValue": "30", + "id": 5460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14496:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14478:19:26" + }, + { + "assignments": [ + 5463 + ], + "declarations": [ + { + "constant": false, + "id": 5463, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "14515:7:26", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "14507:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5462, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14507:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5465, + "initialValue": { + "hexValue": "30", + "id": 5464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14525:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14507:19:26" + }, + { + "assignments": [ + 5467 + ], + "declarations": [ + { + "constant": false, + "id": 5467, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "14544:8:26", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "14536:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14536:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5469, + "initialValue": { + "hexValue": "30", + "id": 5468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14555:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14536:20:26" + }, + { + "body": { + "id": 5528, + "nodeType": "Block", + "src": "14976:289:26", + "statements": [ + { + "assignments": [ + 5481 + ], + "declarations": [ + { + "constant": false, + "id": 5481, + "mutability": "mutable", + "name": "a", + "nameLocation": "14998:1:26", + "nodeType": "VariableDeclaration", + "scope": 5528, + "src": "14990:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5480, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14990:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5494, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5482, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5459, + "src": "15002:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5483, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5425, + "src": "15012:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15002:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5489, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5451, + "src": "15044:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5492, + "indexExpression": { + "id": 5491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15051:9:26", + "subExpression": { + "id": 5490, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5463, + "src": "15051:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15044:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "15002:59:26", + "trueExpression": { + "baseExpression": { + "id": 5485, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5409, + "src": "15024:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5488, + "indexExpression": { + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15031:9:26", + "subExpression": { + "id": 5486, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5459, + "src": "15031:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15024:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14990:71:26" + }, + { + "assignments": [ + 5496 + ], + "declarations": [ + { + "constant": false, + "id": 5496, + "mutability": "mutable", + "name": "b", + "nameLocation": "15083:1:26", + "nodeType": "VariableDeclaration", + "scope": 5528, + "src": "15075:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5495, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15075:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5518, + "initialValue": { + "condition": { + "baseExpression": { + "id": 5497, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5406, + "src": "15087:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 5499, + "indexExpression": { + "id": 5498, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5471, + "src": "15098:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15087:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5513, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "15199:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5516, + "indexExpression": { + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15205:10:26", + "subExpression": { + "id": 5514, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5467, + "src": "15205:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15199:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "15087:129:26", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5500, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5459, + "src": "15120:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5501, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5425, + "src": "15130:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15120:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5507, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5451, + "src": "15162:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5510, + "indexExpression": { + "id": 5509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15169:9:26", + "subExpression": { + "id": 5508, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5463, + "src": "15169:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15162:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "15120:59:26", + "trueExpression": { + "baseExpression": { + "id": 5503, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5409, + "src": "15142:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5506, + "indexExpression": { + "id": 5505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15149:9:26", + "subExpression": { + "id": 5504, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5459, + "src": "15149:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15142:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5512, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15119:61:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15075:141:26" + }, + { + "expression": { + "id": 5526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5519, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5451, + "src": "15230:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5521, + "indexExpression": { + "id": 5520, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5471, + "src": "15237:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15230:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5523, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5481, + "src": "15249:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5524, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5496, + "src": "15252:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5522, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5419, + "src": "15242:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 5525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15242:12:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15230:24:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5527, + "nodeType": "ExpressionStatement", + "src": "15230:24:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5474, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5471, + "src": "14952:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5475, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5430, + "src": "14956:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14952:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5529, + "initializationExpression": { + "assignments": [ + 5471 + ], + "declarations": [ + { + "constant": false, + "id": 5471, + "mutability": "mutable", + "name": "i", + "nameLocation": "14945:1:26", + "nodeType": "VariableDeclaration", + "scope": 5529, + "src": "14937:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14937:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5473, + "initialValue": { + "hexValue": "30", + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14949:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14937:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14971:3:26", + "subExpression": { + "id": 5477, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5471, + "src": "14971:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5479, + "nodeType": "ExpressionStatement", + "src": "14971:3:26" + }, + "nodeType": "ForStatement", + "src": "14932:333:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5530, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5430, + "src": "15279:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15295:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15279:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5550, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5425, + "src": "15520:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15532:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15520:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5562, + "nodeType": "Block", + "src": "15582:40:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5558, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "15603:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5560, + "indexExpression": { + "hexValue": "30", + "id": 5559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15609:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15603:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5423, + "id": 5561, + "nodeType": "Return", + "src": "15596:15:26" + } + ] + }, + "id": 5563, + "nodeType": "IfStatement", + "src": "15516:106:26", + "trueBody": { + "id": 5557, + "nodeType": "Block", + "src": "15535:41:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5553, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5409, + "src": "15556:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5555, + "indexExpression": { + "hexValue": "30", + "id": 5554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15563:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15556:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5423, + "id": 5556, + "nodeType": "Return", + "src": "15549:16:26" + } + ] + } + }, + "id": 5564, + "nodeType": "IfStatement", + "src": "15275:347:26", + "trueBody": { + "id": 5549, + "nodeType": "Block", + "src": "15298:212:26", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5533, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5467, + "src": "15316:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 5534, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "15328:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15334:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15328:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15316:24:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5541, + "nodeType": "IfStatement", + "src": "15312:100:26", + "trueBody": { + "id": 5540, + "nodeType": "Block", + "src": "15342:70:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5537, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "15367:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15367:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5539, + "nodeType": "RevertStatement", + "src": "15360:37:26" + } + ] + } + }, + { + "id": 5548, + "nodeType": "UncheckedBlock", + "src": "15425:75:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5542, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5451, + "src": "15460:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5546, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5543, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5430, + "src": "15467:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15483:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "15467:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15460:25:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5423, + "id": 5547, + "nodeType": "Return", + "src": "15453:32:26" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 5400, + "nodeType": "StructuredDocumentation", + "src": "12202:1097:26", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in memory with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 5566, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProof", + "nameLocation": "13313:17:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5403, + "mutability": "mutable", + "name": "proof", + "nameLocation": "13357:5:26", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "13340:22:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5401, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13340:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5402, + "nodeType": "ArrayTypeName", + "src": "13340:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5406, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "13386:10:26", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "13372:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5404, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13372:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5405, + "nodeType": "ArrayTypeName", + "src": "13372:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5409, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "13423:6:26", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "13406:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5407, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13406:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5408, + "nodeType": "ArrayTypeName", + "src": "13406:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5419, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "13489:6:26", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "13439:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 5418, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 5414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5411, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5418, + "src": "13448:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5410, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13448:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5413, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5418, + "src": "13457:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5412, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13457:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13447:18:26" + }, + "returnParameterTypes": { + "id": 5417, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5416, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5418, + "src": "13480:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5415, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13480:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13479:9:26" + }, + "src": "13439:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "13330:171:26" + }, + "returnParameters": { + "id": 5423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5422, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "13533:10:26", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "13525:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5421, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13525:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13524:20:26" + }, + "scope": 5955, + "src": "13304:2324:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5591, + "nodeType": "Block", + "src": "16436:84:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5584, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5570, + "src": "16479:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 5585, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5573, + "src": "16486:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + { + "id": 5586, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5578, + "src": "16498:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 5583, + "name": "processMultiProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5750, + 5954 + ], + "referencedDeclaration": 5750, + "src": "16453:25:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_bool_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bool[] calldata,bytes32[] memory) pure returns (bytes32)" + } + }, + "id": 5587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16453:52:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5588, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5575, + "src": "16509:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16453:60:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5582, + "id": 5590, + "nodeType": "Return", + "src": "16446:67:26" + } + ] + }, + "documentation": { + "id": 5567, + "nodeType": "StructuredDocumentation", + "src": "15634:603:26", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in calldata with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProofCalldata}." + }, + "id": 5592, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerifyCalldata", + "nameLocation": "16251:24:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5570, + "mutability": "mutable", + "name": "proof", + "nameLocation": "16304:5:26", + "nodeType": "VariableDeclaration", + "scope": 5592, + "src": "16285:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5568, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16285:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5569, + "nodeType": "ArrayTypeName", + "src": "16285:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "16335:10:26", + "nodeType": "VariableDeclaration", + "scope": 5592, + "src": "16319:26:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5571, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16319:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5572, + "nodeType": "ArrayTypeName", + "src": "16319:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5575, + "mutability": "mutable", + "name": "root", + "nameLocation": "16363:4:26", + "nodeType": "VariableDeclaration", + "scope": 5592, + "src": "16355:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5574, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16355:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5578, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "16394:6:26", + "nodeType": "VariableDeclaration", + "scope": 5592, + "src": "16377:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5576, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16377:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5577, + "nodeType": "ArrayTypeName", + "src": "16377:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "16275:131:26" + }, + "returnParameters": { + "id": 5582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5581, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5592, + "src": "16430:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5580, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16430:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16429:6:26" + }, + "scope": 5955, + "src": "16242:278:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5749, + "nodeType": "Block", + "src": "17820:2104:26", + "statements": [ + { + "assignments": [ + 5608 + ], + "declarations": [ + { + "constant": false, + "id": 5608, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "18212:9:26", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "18204:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18204:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5611, + "initialValue": { + "expression": { + "id": 5609, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "18224:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18231:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18224:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18204:33:26" + }, + { + "assignments": [ + 5613 + ], + "declarations": [ + { + "constant": false, + "id": 5613, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "18255:13:26", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "18247:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5612, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18247:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5616, + "initialValue": { + "expression": { + "id": 5614, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "18271:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 5615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18282:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18271:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18247:41:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5617, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "18336:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5618, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "18348:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18354:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18348:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18336:24:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5621, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5613, + "src": "18364:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 5622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18380:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18364:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18336:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5629, + "nodeType": "IfStatement", + "src": "18332:113:26", + "trueBody": { + "id": 5628, + "nodeType": "Block", + "src": "18383:62:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5625, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "18404:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18404:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5627, + "nodeType": "RevertStatement", + "src": "18397:37:26" + } + ] + } + }, + { + "assignments": [ + 5634 + ], + "declarations": [ + { + "constant": false, + "id": 5634, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "18706:6:26", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "18689:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5632, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18689:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5633, + "nodeType": "ArrayTypeName", + "src": "18689:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 5640, + "initialValue": { + "arguments": [ + { + "id": 5638, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5613, + "src": "18729:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18715:13:26", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 5635, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18719:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5636, + "nodeType": "ArrayTypeName", + "src": "18719:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 5639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18715:28:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18689:54:26" + }, + { + "assignments": [ + 5642 + ], + "declarations": [ + { + "constant": false, + "id": 5642, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "18761:7:26", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "18753:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5641, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18753:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5644, + "initialValue": { + "hexValue": "30", + "id": 5643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18771:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18753:19:26" + }, + { + "assignments": [ + 5646 + ], + "declarations": [ + { + "constant": false, + "id": 5646, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "18790:7:26", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "18782:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18782:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5648, + "initialValue": { + "hexValue": "30", + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18800:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18782:19:26" + }, + { + "assignments": [ + 5650 + ], + "declarations": [ + { + "constant": false, + "id": 5650, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "18819:8:26", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "18811:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18811:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5652, + "initialValue": { + "hexValue": "30", + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18830:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18811:20:26" + }, + { + "body": { + "id": 5712, + "nodeType": "Block", + "src": "19251:310:26", + "statements": [ + { + "assignments": [ + 5664 + ], + "declarations": [ + { + "constant": false, + "id": 5664, + "mutability": "mutable", + "name": "a", + "nameLocation": "19273:1:26", + "nodeType": "VariableDeclaration", + "scope": 5712, + "src": "19265:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5663, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19265:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5677, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5665, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5642, + "src": "19277:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5666, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "19287:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19277:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5672, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5634, + "src": "19319:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5675, + "indexExpression": { + "id": 5674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19326:9:26", + "subExpression": { + "id": 5673, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "19326:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19319:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "19277:59:26", + "trueExpression": { + "baseExpression": { + "id": 5668, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "19299:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5671, + "indexExpression": { + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19306:9:26", + "subExpression": { + "id": 5669, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5642, + "src": "19306:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19299:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19265:71:26" + }, + { + "assignments": [ + 5679 + ], + "declarations": [ + { + "constant": false, + "id": 5679, + "mutability": "mutable", + "name": "b", + "nameLocation": "19358:1:26", + "nodeType": "VariableDeclaration", + "scope": 5712, + "src": "19350:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5678, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19350:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5701, + "initialValue": { + "condition": { + "baseExpression": { + "id": 5680, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "19362:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 5682, + "indexExpression": { + "id": 5681, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5654, + "src": "19373:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19362:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5696, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "19474:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5699, + "indexExpression": { + "id": 5698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19480:10:26", + "subExpression": { + "id": 5697, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5650, + "src": "19480:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19474:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "19362:129:26", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5683, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5642, + "src": "19395:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5684, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "19405:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19395:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5690, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5634, + "src": "19437:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5693, + "indexExpression": { + "id": 5692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19444:9:26", + "subExpression": { + "id": 5691, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "19444:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19437:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "19395:59:26", + "trueExpression": { + "baseExpression": { + "id": 5686, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "19417:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5689, + "indexExpression": { + "id": 5688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19424:9:26", + "subExpression": { + "id": 5687, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5642, + "src": "19424:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19417:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5695, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19394:61:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19350:141:26" + }, + { + "expression": { + "id": 5710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5702, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5634, + "src": "19505:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5704, + "indexExpression": { + "id": 5703, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5654, + "src": "19512:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "19505:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5707, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5664, + "src": "19545:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5708, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5679, + "src": "19548:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 5705, + "name": "Hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "19517:6:26", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Hashes_$4882_$", + "typeString": "type(library Hashes)" + } + }, + "id": 5706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19524:20:26", + "memberName": "commutativeKeccak256", + "nodeType": "MemberAccess", + "referencedDeclaration": 4869, + "src": "19517:27:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 5709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19517:33:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19505:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5711, + "nodeType": "ExpressionStatement", + "src": "19505:45:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5657, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5654, + "src": "19227:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5658, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5613, + "src": "19231:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19227:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5713, + "initializationExpression": { + "assignments": [ + 5654 + ], + "declarations": [ + { + "constant": false, + "id": 5654, + "mutability": "mutable", + "name": "i", + "nameLocation": "19220:1:26", + "nodeType": "VariableDeclaration", + "scope": 5713, + "src": "19212:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5653, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19212:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5656, + "initialValue": { + "hexValue": "30", + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19224:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "19212:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "19246:3:26", + "subExpression": { + "id": 5660, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5654, + "src": "19246:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5662, + "nodeType": "ExpressionStatement", + "src": "19246:3:26" + }, + "nodeType": "ForStatement", + "src": "19207:354:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5714, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5613, + "src": "19575:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19591:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19575:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5734, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "19816:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19828:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19816:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5746, + "nodeType": "Block", + "src": "19878:40:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5742, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "19899:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5744, + "indexExpression": { + "hexValue": "30", + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19905:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19899:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5606, + "id": 5745, + "nodeType": "Return", + "src": "19892:15:26" + } + ] + }, + "id": 5747, + "nodeType": "IfStatement", + "src": "19812:106:26", + "trueBody": { + "id": 5741, + "nodeType": "Block", + "src": "19831:41:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5737, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "19852:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5739, + "indexExpression": { + "hexValue": "30", + "id": 5738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19859:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19852:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5606, + "id": 5740, + "nodeType": "Return", + "src": "19845:16:26" + } + ] + } + }, + "id": 5748, + "nodeType": "IfStatement", + "src": "19571:347:26", + "trueBody": { + "id": 5733, + "nodeType": "Block", + "src": "19594:212:26", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5717, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5650, + "src": "19612:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 5718, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "19624:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19630:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "19624:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19612:24:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5725, + "nodeType": "IfStatement", + "src": "19608:100:26", + "trueBody": { + "id": 5724, + "nodeType": "Block", + "src": "19638:70:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5721, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "19663:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19663:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5723, + "nodeType": "RevertStatement", + "src": "19656:37:26" + } + ] + } + }, + { + "id": 5732, + "nodeType": "UncheckedBlock", + "src": "19721:75:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5726, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5634, + "src": "19756:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5730, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5727, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5613, + "src": "19763:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19779:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "19763:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19756:25:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5606, + "id": 5731, + "nodeType": "Return", + "src": "19749:32:26" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 5593, + "nodeType": "StructuredDocumentation", + "src": "16526:1102:26", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in calldata with the default hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 5750, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProofCalldata", + "nameLocation": "17642:25:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "proof", + "nameLocation": "17696:5:26", + "nodeType": "VariableDeclaration", + "scope": 5750, + "src": "17677:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17677:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5595, + "nodeType": "ArrayTypeName", + "src": "17677:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5599, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "17727:10:26", + "nodeType": "VariableDeclaration", + "scope": 5750, + "src": "17711:26:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5597, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17711:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5598, + "nodeType": "ArrayTypeName", + "src": "17711:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5602, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "17764:6:26", + "nodeType": "VariableDeclaration", + "scope": 5750, + "src": "17747:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17747:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5601, + "nodeType": "ArrayTypeName", + "src": "17747:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "17667:109:26" + }, + "returnParameters": { + "id": 5606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5605, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "17808:10:26", + "nodeType": "VariableDeclaration", + "scope": 5750, + "src": "17800:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5604, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17800:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "17799:20:26" + }, + "scope": 5955, + "src": "17633:2291:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5786, + "nodeType": "Block", + "src": "20795:92:26", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5778, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5754, + "src": "20838:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 5779, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "20845:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + { + "id": 5780, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "20857:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 5781, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5772, + "src": "20865:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + ], + "id": 5777, + "name": "processMultiProofCalldata", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5750, + 5954 + ], + "referencedDeclaration": 5954, + "src": "20812:25:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_bool_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] calldata,bool[] calldata,bytes32[] memory,function (bytes32,bytes32) view returns (bytes32)) view returns (bytes32)" + } + }, + "id": 5782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20812:60:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5783, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5759, + "src": "20876:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20812:68:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5776, + "id": 5785, + "nodeType": "Return", + "src": "20805:75:26" + } + ] + }, + "documentation": { + "id": 5751, + "nodeType": "StructuredDocumentation", + "src": "19930:600:26", + "text": " @dev Returns true if the `leaves` can be simultaneously proven to be a part of a Merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n This version handles multiproofs in calldata with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. See {processMultiProof} for details.\n NOTE: Consider the case where `root == proof[0] && leaves.length == 0` as it will return `true`.\n The `leaves` must be validated independently. See {processMultiProofCalldata}." + }, + "id": 5787, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multiProofVerifyCalldata", + "nameLocation": "20544:24:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5754, + "mutability": "mutable", + "name": "proof", + "nameLocation": "20597:5:26", + "nodeType": "VariableDeclaration", + "scope": 5787, + "src": "20578:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20578:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5753, + "nodeType": "ArrayTypeName", + "src": "20578:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5757, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "20628:10:26", + "nodeType": "VariableDeclaration", + "scope": 5787, + "src": "20612:26:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5755, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20612:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5756, + "nodeType": "ArrayTypeName", + "src": "20612:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5759, + "mutability": "mutable", + "name": "root", + "nameLocation": "20656:4:26", + "nodeType": "VariableDeclaration", + "scope": 5787, + "src": "20648:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5758, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20648:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5762, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "20687:6:26", + "nodeType": "VariableDeclaration", + "scope": 5787, + "src": "20670:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5760, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20670:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5761, + "nodeType": "ArrayTypeName", + "src": "20670:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5772, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "20753:6:26", + "nodeType": "VariableDeclaration", + "scope": 5787, + "src": "20703:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 5771, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 5767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5764, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5771, + "src": "20712:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5763, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20712:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5766, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5771, + "src": "20721:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5765, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20721:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "20711:18:26" + }, + "returnParameterTypes": { + "id": 5770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5769, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5771, + "src": "20744:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5768, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20744:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "20743:9:26" + }, + "src": "20703:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "20568:197:26" + }, + "returnParameters": { + "id": 5776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5775, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5787, + "src": "20789:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5774, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20789:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20788:6:26" + }, + "scope": 5955, + "src": "20535:352:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5953, + "nodeType": "Block", + "src": "22250:2083:26", + "statements": [ + { + "assignments": [ + 5813 + ], + "declarations": [ + { + "constant": false, + "id": 5813, + "mutability": "mutable", + "name": "leavesLen", + "nameLocation": "22642:9:26", + "nodeType": "VariableDeclaration", + "scope": 5953, + "src": "22634:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22634:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5816, + "initialValue": { + "expression": { + "id": 5814, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "22654:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22661:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22654:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22634:33:26" + }, + { + "assignments": [ + 5818 + ], + "declarations": [ + { + "constant": false, + "id": 5818, + "mutability": "mutable", + "name": "proofFlagsLen", + "nameLocation": "22685:13:26", + "nodeType": "VariableDeclaration", + "scope": 5953, + "src": "22677:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22677:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5821, + "initialValue": { + "expression": { + "id": 5819, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5794, + "src": "22701:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 5820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22712:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22701:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22677:41:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5822, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5813, + "src": "22766:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5823, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5791, + "src": "22778:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22784:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22778:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22766:24:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5826, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "22794:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 5827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22810:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22794:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22766:45:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5834, + "nodeType": "IfStatement", + "src": "22762:113:26", + "trueBody": { + "id": 5833, + "nodeType": "Block", + "src": "22813:62:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5830, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "22834:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22834:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5832, + "nodeType": "RevertStatement", + "src": "22827:37:26" + } + ] + } + }, + { + "assignments": [ + 5839 + ], + "declarations": [ + { + "constant": false, + "id": 5839, + "mutability": "mutable", + "name": "hashes", + "nameLocation": "23136:6:26", + "nodeType": "VariableDeclaration", + "scope": 5953, + "src": "23119:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5837, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23119:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5838, + "nodeType": "ArrayTypeName", + "src": "23119:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 5845, + "initialValue": { + "arguments": [ + { + "id": 5843, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "23159:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "23145:13:26", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 5840, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23149:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5841, + "nodeType": "ArrayTypeName", + "src": "23149:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 5844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23145:28:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23119:54:26" + }, + { + "assignments": [ + 5847 + ], + "declarations": [ + { + "constant": false, + "id": 5847, + "mutability": "mutable", + "name": "leafPos", + "nameLocation": "23191:7:26", + "nodeType": "VariableDeclaration", + "scope": 5953, + "src": "23183:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5846, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23183:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5849, + "initialValue": { + "hexValue": "30", + "id": 5848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23201:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23183:19:26" + }, + { + "assignments": [ + 5851 + ], + "declarations": [ + { + "constant": false, + "id": 5851, + "mutability": "mutable", + "name": "hashPos", + "nameLocation": "23220:7:26", + "nodeType": "VariableDeclaration", + "scope": 5953, + "src": "23212:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23212:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5853, + "initialValue": { + "hexValue": "30", + "id": 5852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23230:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23212:19:26" + }, + { + "assignments": [ + 5855 + ], + "declarations": [ + { + "constant": false, + "id": 5855, + "mutability": "mutable", + "name": "proofPos", + "nameLocation": "23249:8:26", + "nodeType": "VariableDeclaration", + "scope": 5953, + "src": "23241:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23241:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5857, + "initialValue": { + "hexValue": "30", + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23260:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23241:20:26" + }, + { + "body": { + "id": 5916, + "nodeType": "Block", + "src": "23681:289:26", + "statements": [ + { + "assignments": [ + 5869 + ], + "declarations": [ + { + "constant": false, + "id": 5869, + "mutability": "mutable", + "name": "a", + "nameLocation": "23703:1:26", + "nodeType": "VariableDeclaration", + "scope": 5916, + "src": "23695:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5868, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23695:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5882, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5870, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "23707:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5871, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5813, + "src": "23717:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23707:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5877, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5839, + "src": "23749:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5880, + "indexExpression": { + "id": 5879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23756:9:26", + "subExpression": { + "id": 5878, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5851, + "src": "23756:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23749:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "23707:59:26", + "trueExpression": { + "baseExpression": { + "id": 5873, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "23729:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5876, + "indexExpression": { + "id": 5875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23736:9:26", + "subExpression": { + "id": 5874, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "23736:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23729:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23695:71:26" + }, + { + "assignments": [ + 5884 + ], + "declarations": [ + { + "constant": false, + "id": 5884, + "mutability": "mutable", + "name": "b", + "nameLocation": "23788:1:26", + "nodeType": "VariableDeclaration", + "scope": 5916, + "src": "23780:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5883, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23780:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5906, + "initialValue": { + "condition": { + "baseExpression": { + "id": 5885, + "name": "proofFlags", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5794, + "src": "23792:10:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[] calldata" + } + }, + "id": 5887, + "indexExpression": { + "id": 5886, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "23803:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23792:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5901, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5791, + "src": "23904:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5904, + "indexExpression": { + "id": 5903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23910:10:26", + "subExpression": { + "id": 5902, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5855, + "src": "23910:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23904:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "23792:129:26", + "trueExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5888, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "23825:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5889, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5813, + "src": "23835:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23825:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "baseExpression": { + "id": 5895, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5839, + "src": "23867:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5898, + "indexExpression": { + "id": 5897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23874:9:26", + "subExpression": { + "id": 5896, + "name": "hashPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5851, + "src": "23874:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23867:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "23825:59:26", + "trueExpression": { + "baseExpression": { + "id": 5891, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "23847:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5894, + "indexExpression": { + "id": 5893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23854:9:26", + "subExpression": { + "id": 5892, + "name": "leafPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "23854:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23847:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5900, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "23824:61:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23780:141:26" + }, + { + "expression": { + "id": 5914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5907, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5839, + "src": "23935:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5909, + "indexExpression": { + "id": 5908, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "23942:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23935:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5911, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5869, + "src": "23954:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5912, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5884, + "src": "23957:1:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5910, + "name": "hasher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5807, + "src": "23947:6:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 5913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23947:12:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23935:24:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5915, + "nodeType": "ExpressionStatement", + "src": "23935:24:26" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5862, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "23657:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5863, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "23661:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23657:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5917, + "initializationExpression": { + "assignments": [ + 5859 + ], + "declarations": [ + { + "constant": false, + "id": 5859, + "mutability": "mutable", + "name": "i", + "nameLocation": "23650:1:26", + "nodeType": "VariableDeclaration", + "scope": 5917, + "src": "23642:9:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5858, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23642:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5861, + "initialValue": { + "hexValue": "30", + "id": 5860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23654:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23642:13:26" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 5866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "23676:3:26", + "subExpression": { + "id": 5865, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "23676:1:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5867, + "nodeType": "ExpressionStatement", + "src": "23676:3:26" + }, + "nodeType": "ForStatement", + "src": "23637:333:26" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5918, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "23984:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24000:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23984:17:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5938, + "name": "leavesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5813, + "src": "24225:9:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24237:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24225:13:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5950, + "nodeType": "Block", + "src": "24287:40:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5946, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5791, + "src": "24308:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5948, + "indexExpression": { + "hexValue": "30", + "id": 5947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24314:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24308:8:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5811, + "id": 5949, + "nodeType": "Return", + "src": "24301:15:26" + } + ] + }, + "id": 5951, + "nodeType": "IfStatement", + "src": "24221:106:26", + "trueBody": { + "id": 5945, + "nodeType": "Block", + "src": "24240:41:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5941, + "name": "leaves", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "24261:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5943, + "indexExpression": { + "hexValue": "30", + "id": 5942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24268:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24261:9:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5811, + "id": 5944, + "nodeType": "Return", + "src": "24254:16:26" + } + ] + } + }, + "id": 5952, + "nodeType": "IfStatement", + "src": "23980:347:26", + "trueBody": { + "id": 5937, + "nodeType": "Block", + "src": "24003:212:26", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5921, + "name": "proofPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5855, + "src": "24021:8:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 5922, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5791, + "src": "24033:5:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24039:6:26", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "24033:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24021:24:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5929, + "nodeType": "IfStatement", + "src": "24017:100:26", + "trueBody": { + "id": 5928, + "nodeType": "Block", + "src": "24047:70:26", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5925, + "name": "MerkleProofInvalidMultiproof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4890, + "src": "24072:28:26", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24072:30:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5927, + "nodeType": "RevertStatement", + "src": "24065:37:26" + } + ] + } + }, + { + "id": 5936, + "nodeType": "UncheckedBlock", + "src": "24130:75:26", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5930, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5839, + "src": "24165:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 5934, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5931, + "name": "proofFlagsLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "24172:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 5932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24188:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24172:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24165:25:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5811, + "id": 5935, + "nodeType": "Return", + "src": "24158:32:26" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 5788, + "nodeType": "StructuredDocumentation", + "src": "20893:1099:26", + "text": " @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n This version handles multiproofs in calldata with a custom hashing function.\n CAUTION: Not all Merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n NOTE: The _empty set_ (i.e. the case where `proof.length == 1 && leaves.length == 0`) is considered a no-op,\n and therefore a valid multiproof (i.e. it returns `proof[0]`). Consider disallowing this case if you're not\n validating the leaves elsewhere." + }, + "id": 5954, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processMultiProofCalldata", + "nameLocation": "22006:25:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5791, + "mutability": "mutable", + "name": "proof", + "nameLocation": "22060:5:26", + "nodeType": "VariableDeclaration", + "scope": 5954, + "src": "22041:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5789, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22041:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5790, + "nodeType": "ArrayTypeName", + "src": "22041:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5794, + "mutability": "mutable", + "name": "proofFlags", + "nameLocation": "22091:10:26", + "nodeType": "VariableDeclaration", + "scope": 5954, + "src": "22075:26:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 5792, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22075:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5793, + "nodeType": "ArrayTypeName", + "src": "22075:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5797, + "mutability": "mutable", + "name": "leaves", + "nameLocation": "22128:6:26", + "nodeType": "VariableDeclaration", + "scope": 5954, + "src": "22111:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5795, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22111:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5796, + "nodeType": "ArrayTypeName", + "src": "22111:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5807, + "mutability": "mutable", + "name": "hasher", + "nameLocation": "22194:6:26", + "nodeType": "VariableDeclaration", + "scope": 5954, + "src": "22144:56:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "typeName": { + "id": 5806, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 5802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "22153:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5798, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22153:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "22162:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22162:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "22152:18:26" + }, + "returnParameterTypes": { + "id": 5805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5804, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "22185:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5803, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22185:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "22184:9:26" + }, + "src": "22144:56:26", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + }, + "visibility": "internal" + }, + "visibility": "internal" + } + ], + "src": "22031:175:26" + }, + "returnParameters": { + "id": 5811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5810, + "mutability": "mutable", + "name": "merkleRoot", + "nameLocation": "22238:10:26", + "nodeType": "VariableDeclaration", + "scope": 5954, + "src": "22230:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5809, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22230:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "22229:20:26" + }, + "scope": 5955, + "src": "21997:2336:26", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 5956, + "src": "1353:22982:26", + "usedErrors": [ + 4890 + ], + "usedEvents": [] + } + ], + "src": "206:24130:26" + }, + "id": 26 + }, + "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol", + "exportedSymbols": { + "MessageHashUtils": [ + 6029 + ], + "Strings": [ + 4267 + ] + }, + "id": 6030, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5957, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "123:24:27" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "file": "../Strings.sol", + "id": 5959, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6030, + "sourceUnit": 4268, + "src": "149:39:27", + "symbolAliases": [ + { + "foreign": { + "id": 5958, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4267, + "src": "157:7:27", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "MessageHashUtils", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 5960, + "nodeType": "StructuredDocumentation", + "src": "190:330:27", + "text": " @dev Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing.\n The library provides methods for generating a hash of a message that conforms to the\n https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712]\n specifications." + }, + "fullyImplemented": true, + "id": 6029, + "linearizedBaseContracts": [ + 6029 + ], + "name": "MessageHashUtils", + "nameLocation": "529:16:27", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 5969, + "nodeType": "Block", + "src": "1314:341:27", + "statements": [ + { + "AST": { + "nativeSrc": "1349:300:27", + "nodeType": "YulBlock", + "src": "1349:300:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1370:4:27", + "nodeType": "YulLiteral", + "src": "1370:4:27", + "type": "", + "value": "0x00" + }, + { + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "kind": "string", + "nativeSrc": "1376:34:27", + "nodeType": "YulLiteral", + "src": "1376:34:27", + "type": "", + "value": "\u0019Ethereum Signed Message:\n32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1363:6:27", + "nodeType": "YulIdentifier", + "src": "1363:6:27" + }, + "nativeSrc": "1363:48:27", + "nodeType": "YulFunctionCall", + "src": "1363:48:27" + }, + "nativeSrc": "1363:48:27", + "nodeType": "YulExpressionStatement", + "src": "1363:48:27" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1472:4:27", + "nodeType": "YulLiteral", + "src": "1472:4:27", + "type": "", + "value": "0x1c" + }, + { + "name": "messageHash", + "nativeSrc": "1478:11:27", + "nodeType": "YulIdentifier", + "src": "1478:11:27" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1465:6:27", + "nodeType": "YulIdentifier", + "src": "1465:6:27" + }, + "nativeSrc": "1465:25:27", + "nodeType": "YulFunctionCall", + "src": "1465:25:27" + }, + "nativeSrc": "1465:25:27", + "nodeType": "YulExpressionStatement", + "src": "1465:25:27" + }, + { + "nativeSrc": "1544:31:27", + "nodeType": "YulAssignment", + "src": "1544:31:27", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1564:4:27", + "nodeType": "YulLiteral", + "src": "1564:4:27", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "1570:4:27", + "nodeType": "YulLiteral", + "src": "1570:4:27", + "type": "", + "value": "0x3c" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "1554:9:27", + "nodeType": "YulIdentifier", + "src": "1554:9:27" + }, + "nativeSrc": "1554:21:27", + "nodeType": "YulFunctionCall", + "src": "1554:21:27" + }, + "variableNames": [ + { + "name": "digest", + "nativeSrc": "1544:6:27", + "nodeType": "YulIdentifier", + "src": "1544:6:27" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 5966, + "isOffset": false, + "isSlot": false, + "src": "1544:6:27", + "valueSize": 1 + }, + { + "declaration": 5963, + "isOffset": false, + "isSlot": false, + "src": "1478:11:27", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 5968, + "nodeType": "InlineAssembly", + "src": "1324:325:27" + } + ] + }, + "documentation": { + "id": 5961, + "nodeType": "StructuredDocumentation", + "src": "552:665:27", + "text": " @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing a bytes32 `messageHash` with\n `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n keccak256, although any bytes32 value can be safely used because the final digest will\n be re-hashed.\n See {ECDSA-recover}." + }, + "id": 5970, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthSignedMessageHash", + "nameLocation": "1231:22:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5963, + "mutability": "mutable", + "name": "messageHash", + "nameLocation": "1262:11:27", + "nodeType": "VariableDeclaration", + "scope": 5970, + "src": "1254:19:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5962, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1254:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1253:21:27" + }, + "returnParameters": { + "id": 5967, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5966, + "mutability": "mutable", + "name": "digest", + "nameLocation": "1306:6:27", + "nodeType": "VariableDeclaration", + "scope": 5970, + "src": "1298:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5965, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1298:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1297:16:27" + }, + "scope": 6029, + "src": "1222:433:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5995, + "nodeType": "Block", + "src": "2207:143:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a", + "id": 5982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2259:32:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4", + "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\"" + }, + "value": "\u0019Ethereum Signed Message:\n" + }, + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 5987, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5973, + "src": "2316:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2324:6:27", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2316:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5985, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4267, + "src": "2299:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$4267_$", + "typeString": "type(library Strings)" + } + }, + "id": 5986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2307:8:27", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 4015, + "src": "2299:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 5989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2299:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2293:5:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 5983, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2293:5:27", + "typeDescriptions": {} + } + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2293:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5991, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5973, + "src": "2334:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4", + "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2246:5:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 5979, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2246:5:27", + "typeDescriptions": {} + } + }, + "id": 5981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2252:6:27", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "2246:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 5992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2246:96:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5978, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2236:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2236:107:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5977, + "id": 5994, + "nodeType": "Return", + "src": "2217:126:27" + } + ] + }, + "documentation": { + "id": 5971, + "nodeType": "StructuredDocumentation", + "src": "1661:455:27", + "text": " @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing an arbitrary `message` with\n `\"\\x19Ethereum Signed Message:\\n\" + len(message)` and hashing the result. It corresponds with the\n hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n See {ECDSA-recover}." + }, + "id": 5996, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthSignedMessageHash", + "nameLocation": "2130:22:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5973, + "mutability": "mutable", + "name": "message", + "nameLocation": "2166:7:27", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "2153:20:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5972, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2153:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2152:22:27" + }, + "returnParameters": { + "id": 5977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5976, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "2198:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5975, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2198:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2197:9:27" + }, + "scope": 6029, + "src": "2121:229:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6015, + "nodeType": "Block", + "src": "2804:80:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "1900", + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2848:10:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a", + "typeString": "literal_string hex\"1900\"" + }, + "value": "\u0019\u0000" + }, + { + "id": 6010, + "name": "validator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5999, + "src": "2860:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6011, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6001, + "src": "2871:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a", + "typeString": "literal_string hex\"1900\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6007, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2831:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2835:12:27", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2831:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2831:45:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6006, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2821:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2821:56:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 6005, + "id": 6014, + "nodeType": "Return", + "src": "2814:63:27" + } + ] + }, + "documentation": { + "id": 5997, + "nodeType": "StructuredDocumentation", + "src": "2356:332:27", + "text": " @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x00` (data with intended validator).\n The digest is calculated by prefixing an arbitrary `data` with `\"\\x19\\x00\"` and the intended\n `validator` address. Then hashing the result.\n See {ECDSA-recover}." + }, + "id": 6016, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toDataWithIntendedValidatorHash", + "nameLocation": "2702:31:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5999, + "mutability": "mutable", + "name": "validator", + "nameLocation": "2742:9:27", + "nodeType": "VariableDeclaration", + "scope": 6016, + "src": "2734:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2734:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6001, + "mutability": "mutable", + "name": "data", + "nameLocation": "2766:4:27", + "nodeType": "VariableDeclaration", + "scope": 6016, + "src": "2753:17:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6000, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2753:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2733:38:27" + }, + "returnParameters": { + "id": 6005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6004, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6016, + "src": "2795:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6003, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2795:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2794:9:27" + }, + "scope": 6029, + "src": "2693:191:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6027, + "nodeType": "Block", + "src": "3435:265:27", + "statements": [ + { + "AST": { + "nativeSrc": "3470:224:27", + "nodeType": "YulBlock", + "src": "3470:224:27", + "statements": [ + { + "nativeSrc": "3484:22:27", + "nodeType": "YulVariableDeclaration", + "src": "3484:22:27", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3501:4:27", + "nodeType": "YulLiteral", + "src": "3501:4:27", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3495:5:27", + "nodeType": "YulIdentifier", + "src": "3495:5:27" + }, + "nativeSrc": "3495:11:27", + "nodeType": "YulFunctionCall", + "src": "3495:11:27" + }, + "variables": [ + { + "name": "ptr", + "nativeSrc": "3488:3:27", + "nodeType": "YulTypedName", + "src": "3488:3:27", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "3526:3:27", + "nodeType": "YulIdentifier", + "src": "3526:3:27" + }, + { + "hexValue": "1901", + "kind": "string", + "nativeSrc": "3531:10:27", + "nodeType": "YulLiteral", + "src": "3531:10:27", + "type": "", + "value": "\u0019\u0001" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3519:6:27", + "nodeType": "YulIdentifier", + "src": "3519:6:27" + }, + "nativeSrc": "3519:23:27", + "nodeType": "YulFunctionCall", + "src": "3519:23:27" + }, + "nativeSrc": "3519:23:27", + "nodeType": "YulExpressionStatement", + "src": "3519:23:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "3566:3:27", + "nodeType": "YulIdentifier", + "src": "3566:3:27" + }, + { + "kind": "number", + "nativeSrc": "3571:4:27", + "nodeType": "YulLiteral", + "src": "3571:4:27", + "type": "", + "value": "0x02" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3562:3:27", + "nodeType": "YulIdentifier", + "src": "3562:3:27" + }, + "nativeSrc": "3562:14:27", + "nodeType": "YulFunctionCall", + "src": "3562:14:27" + }, + { + "name": "domainSeparator", + "nativeSrc": "3578:15:27", + "nodeType": "YulIdentifier", + "src": "3578:15:27" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3555:6:27", + "nodeType": "YulIdentifier", + "src": "3555:6:27" + }, + "nativeSrc": "3555:39:27", + "nodeType": "YulFunctionCall", + "src": "3555:39:27" + }, + "nativeSrc": "3555:39:27", + "nodeType": "YulExpressionStatement", + "src": "3555:39:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "3618:3:27", + "nodeType": "YulIdentifier", + "src": "3618:3:27" + }, + { + "kind": "number", + "nativeSrc": "3623:4:27", + "nodeType": "YulLiteral", + "src": "3623:4:27", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3614:3:27", + "nodeType": "YulIdentifier", + "src": "3614:3:27" + }, + "nativeSrc": "3614:14:27", + "nodeType": "YulFunctionCall", + "src": "3614:14:27" + }, + { + "name": "structHash", + "nativeSrc": "3630:10:27", + "nodeType": "YulIdentifier", + "src": "3630:10:27" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3607:6:27", + "nodeType": "YulIdentifier", + "src": "3607:6:27" + }, + "nativeSrc": "3607:34:27", + "nodeType": "YulFunctionCall", + "src": "3607:34:27" + }, + "nativeSrc": "3607:34:27", + "nodeType": "YulExpressionStatement", + "src": "3607:34:27" + }, + { + "nativeSrc": "3654:30:27", + "nodeType": "YulAssignment", + "src": "3654:30:27", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "3674:3:27", + "nodeType": "YulIdentifier", + "src": "3674:3:27" + }, + { + "kind": "number", + "nativeSrc": "3679:4:27", + "nodeType": "YulLiteral", + "src": "3679:4:27", + "type": "", + "value": "0x42" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "3664:9:27", + "nodeType": "YulIdentifier", + "src": "3664:9:27" + }, + "nativeSrc": "3664:20:27", + "nodeType": "YulFunctionCall", + "src": "3664:20:27" + }, + "variableNames": [ + { + "name": "digest", + "nativeSrc": "3654:6:27", + "nodeType": "YulIdentifier", + "src": "3654:6:27" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6024, + "isOffset": false, + "isSlot": false, + "src": "3654:6:27", + "valueSize": 1 + }, + { + "declaration": 6019, + "isOffset": false, + "isSlot": false, + "src": "3578:15:27", + "valueSize": 1 + }, + { + "declaration": 6021, + "isOffset": false, + "isSlot": false, + "src": "3630:10:27", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 6026, + "nodeType": "InlineAssembly", + "src": "3445:249:27" + } + ] + }, + "documentation": { + "id": 6017, + "nodeType": "StructuredDocumentation", + "src": "2890:431:27", + "text": " @dev Returns the keccak256 digest of an EIP-712 typed data (ERC-191 version `0x01`).\n The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with\n `\\x19\\x01` and hashing the result. It corresponds to the hash signed by the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.\n See {ECDSA-recover}." + }, + "id": 6028, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toTypedDataHash", + "nameLocation": "3335:15:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6019, + "mutability": "mutable", + "name": "domainSeparator", + "nameLocation": "3359:15:27", + "nodeType": "VariableDeclaration", + "scope": 6028, + "src": "3351:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6018, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3351:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6021, + "mutability": "mutable", + "name": "structHash", + "nameLocation": "3384:10:27", + "nodeType": "VariableDeclaration", + "scope": 6028, + "src": "3376:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6020, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3376:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3350:45:27" + }, + "returnParameters": { + "id": 6025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6024, + "mutability": "mutable", + "name": "digest", + "nameLocation": "3427:6:27", + "nodeType": "VariableDeclaration", + "scope": 6028, + "src": "3419:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6023, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3419:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3418:16:27" + }, + "scope": 6029, + "src": "3326:374:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 6030, + "src": "521:3181:27", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "123:3580:27" + }, + "id": 27 + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 6053 + ], + "IERC165": [ + 6065 + ] + }, + "id": 6054, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6031, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "114:24:28" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 6033, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6054, + "sourceUnit": 6066, + "src": "140:38:28", + "symbolAliases": [ + { + "foreign": { + "id": 6032, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "148:7:28", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 6035, + "name": "IERC165", + "nameLocations": [ + "688:7:28" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6065, + "src": "688:7:28" + }, + "id": 6036, + "nodeType": "InheritanceSpecifier", + "src": "688:7:28" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6034, + "nodeType": "StructuredDocumentation", + "src": "180:479:28", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```" + }, + "fullyImplemented": true, + "id": 6053, + "linearizedBaseContracts": [ + 6053, + 6065 + ], + "name": "ERC165", + "nameLocation": "678:6:28", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 6064 + ], + "body": { + "id": 6051, + "nodeType": "Block", + "src": "845:64:28", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 6049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6044, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6039, + "src": "862:11:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 6046, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "882:7:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$6065_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$6065_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 6045, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "877:4:28", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "877:13:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$6065", + "typeString": "type(contract IERC165)" + } + }, + "id": 6048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "891:11:28", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "877:25:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "862:40:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6043, + "id": 6050, + "nodeType": "Return", + "src": "855:47:28" + } + ] + }, + "documentation": { + "id": 6037, + "nodeType": "StructuredDocumentation", + "src": "702:56:28", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 6052, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "772:17:28", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6039, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "797:11:28", + "nodeType": "VariableDeclaration", + "scope": 6052, + "src": "790:18:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6038, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "790:6:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "789:20:28" + }, + "returnParameters": { + "id": 6043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6042, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6052, + "src": "839:4:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "839:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "838:6:28" + }, + "scope": 6053, + "src": "763:146:28", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 6054, + "src": "660:251:28", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "114:798:28" + }, + "id": 28 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 6065 + ] + }, + "id": 6066, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6055, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "115:24:29" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 6056, + "nodeType": "StructuredDocumentation", + "src": "141:280:29", + "text": " @dev Interface of the ERC-165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[ERC].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 6065, + "linearizedBaseContracts": [ + 6065 + ], + "name": "IERC165", + "nameLocation": "432:7:29", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 6057, + "nodeType": "StructuredDocumentation", + "src": "446:340:29", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 6064, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "800:17:29", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6059, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "825:11:29", + "nodeType": "VariableDeclaration", + "scope": 6064, + "src": "818:18:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6058, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "818:6:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "817:20:29" + }, + "returnParameters": { + "id": 6063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6062, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6064, + "src": "861:4:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "861:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "860:6:29" + }, + "scope": 6065, + "src": "791:76:29", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 6066, + "src": "422:447:29", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "115:755:29" + }, + "id": 29 + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "exportedSymbols": { + "Math": [ + 7671 + ], + "Panic": [ + 3476 + ], + "SafeCast": [ + 9436 + ] + }, + "id": 7672, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6067, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "103:24:30" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Panic.sol", + "file": "../Panic.sol", + "id": 6069, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7672, + "sourceUnit": 3477, + "src": "129:35:30", + "symbolAliases": [ + { + "foreign": { + "id": 6068, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "137:5:30", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/SafeCast.sol", + "file": "./SafeCast.sol", + "id": 6071, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7672, + "sourceUnit": 9437, + "src": "165:40:30", + "symbolAliases": [ + { + "foreign": { + "id": 6070, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "173:8:30", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Math", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 6072, + "nodeType": "StructuredDocumentation", + "src": "207:73:30", + "text": " @dev Standard math utilities missing in the Solidity language." + }, + "fullyImplemented": true, + "id": 7671, + "linearizedBaseContracts": [ + 7671 + ], + "name": "Math", + "nameLocation": "289:4:30", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Math.Rounding", + "id": 6077, + "members": [ + { + "id": 6073, + "name": "Floor", + "nameLocation": "324:5:30", + "nodeType": "EnumValue", + "src": "324:5:30" + }, + { + "id": 6074, + "name": "Ceil", + "nameLocation": "367:4:30", + "nodeType": "EnumValue", + "src": "367:4:30" + }, + { + "id": 6075, + "name": "Trunc", + "nameLocation": "409:5:30", + "nodeType": "EnumValue", + "src": "409:5:30" + }, + { + "id": 6076, + "name": "Expand", + "nameLocation": "439:6:30", + "nodeType": "EnumValue", + "src": "439:6:30" + } + ], + "name": "Rounding", + "nameLocation": "305:8:30", + "nodeType": "EnumDefinition", + "src": "300:169:30" + }, + { + "body": { + "id": 6108, + "nodeType": "Block", + "src": "677:140:30", + "statements": [ + { + "id": 6107, + "nodeType": "UncheckedBlock", + "src": "687:124:30", + "statements": [ + { + "assignments": [ + 6090 + ], + "declarations": [ + { + "constant": false, + "id": 6090, + "mutability": "mutable", + "name": "c", + "nameLocation": "719:1:30", + "nodeType": "VariableDeclaration", + "scope": 6107, + "src": "711:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6094, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6091, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6080, + "src": "723:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 6092, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6082, + "src": "727:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "723:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "711:17:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6095, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6090, + "src": "746:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 6096, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6080, + "src": "750:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "746:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6102, + "nodeType": "IfStatement", + "src": "742:28:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "761:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 6099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "768:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6100, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "760:10:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6088, + "id": 6101, + "nodeType": "Return", + "src": "753:17:30" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 6103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "id": 6104, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6090, + "src": "798:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6105, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "791:9:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 6088, + "id": 6106, + "nodeType": "Return", + "src": "784:16:30" + } + ] + } + ] + }, + "documentation": { + "id": 6078, + "nodeType": "StructuredDocumentation", + "src": "475:106:30", + "text": " @dev Returns the addition of two unsigned integers, with an success flag (no overflow)." + }, + "id": 6109, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryAdd", + "nameLocation": "595:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6080, + "mutability": "mutable", + "name": "a", + "nameLocation": "610:1:30", + "nodeType": "VariableDeclaration", + "scope": 6109, + "src": "602:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "602:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6082, + "mutability": "mutable", + "name": "b", + "nameLocation": "621:1:30", + "nodeType": "VariableDeclaration", + "scope": 6109, + "src": "613:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6081, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "613:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "601:22:30" + }, + "returnParameters": { + "id": 6088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6085, + "mutability": "mutable", + "name": "success", + "nameLocation": "652:7:30", + "nodeType": "VariableDeclaration", + "scope": 6109, + "src": "647:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6084, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "647:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6087, + "mutability": "mutable", + "name": "result", + "nameLocation": "669:6:30", + "nodeType": "VariableDeclaration", + "scope": 6109, + "src": "661:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "661:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "646:30:30" + }, + "scope": 7671, + "src": "586:231:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6136, + "nodeType": "Block", + "src": "1028:113:30", + "statements": [ + { + "id": 6135, + "nodeType": "UncheckedBlock", + "src": "1038:97:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6121, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6114, + "src": "1066:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 6122, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "1070:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1066:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6128, + "nodeType": "IfStatement", + "src": "1062:28:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1081:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 6125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1088:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6126, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1080:10:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6120, + "id": 6127, + "nodeType": "Return", + "src": "1073:17:30" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 6129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1112:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6130, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "1118:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 6131, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6114, + "src": "1122:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1118:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6133, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1111:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 6120, + "id": 6134, + "nodeType": "Return", + "src": "1104:20:30" + } + ] + } + ] + }, + "documentation": { + "id": 6110, + "nodeType": "StructuredDocumentation", + "src": "823:109:30", + "text": " @dev Returns the subtraction of two unsigned integers, with an success flag (no overflow)." + }, + "id": 6137, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "trySub", + "nameLocation": "946:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6112, + "mutability": "mutable", + "name": "a", + "nameLocation": "961:1:30", + "nodeType": "VariableDeclaration", + "scope": 6137, + "src": "953:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "953:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6114, + "mutability": "mutable", + "name": "b", + "nameLocation": "972:1:30", + "nodeType": "VariableDeclaration", + "scope": 6137, + "src": "964:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "964:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "952:22:30" + }, + "returnParameters": { + "id": 6120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6117, + "mutability": "mutable", + "name": "success", + "nameLocation": "1003:7:30", + "nodeType": "VariableDeclaration", + "scope": 6137, + "src": "998:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "998:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6119, + "mutability": "mutable", + "name": "result", + "nameLocation": "1020:6:30", + "nodeType": "VariableDeclaration", + "scope": 6137, + "src": "1012:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1012:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "997:30:30" + }, + "scope": 7671, + "src": "937:204:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6178, + "nodeType": "Block", + "src": "1355:417:30", + "statements": [ + { + "id": 6177, + "nodeType": "UncheckedBlock", + "src": "1365:401:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6149, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6140, + "src": "1623:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1628:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1623:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6156, + "nodeType": "IfStatement", + "src": "1619:28:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 6152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1639:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "hexValue": "30", + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1645:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6154, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1638:9:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6148, + "id": 6155, + "nodeType": "Return", + "src": "1631:16:30" + } + }, + { + "assignments": [ + 6158 + ], + "declarations": [ + { + "constant": false, + "id": 6158, + "mutability": "mutable", + "name": "c", + "nameLocation": "1669:1:30", + "nodeType": "VariableDeclaration", + "scope": 6177, + "src": "1661:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1661:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6162, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6159, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6140, + "src": "1673:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6160, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "1677:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1673:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1661:17:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6163, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6158, + "src": "1696:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6164, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6140, + "src": "1700:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1696:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 6166, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "1705:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1696:10:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6172, + "nodeType": "IfStatement", + "src": "1692:33:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1716:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 6169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1723:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6170, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1715:10:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6148, + "id": 6171, + "nodeType": "Return", + "src": "1708:17:30" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 6173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1747:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "id": 6174, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6158, + "src": "1753:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6175, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1746:9:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 6148, + "id": 6176, + "nodeType": "Return", + "src": "1739:16:30" + } + ] + } + ] + }, + "documentation": { + "id": 6138, + "nodeType": "StructuredDocumentation", + "src": "1147:112:30", + "text": " @dev Returns the multiplication of two unsigned integers, with an success flag (no overflow)." + }, + "id": 6179, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryMul", + "nameLocation": "1273:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6140, + "mutability": "mutable", + "name": "a", + "nameLocation": "1288:1:30", + "nodeType": "VariableDeclaration", + "scope": 6179, + "src": "1280:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6142, + "mutability": "mutable", + "name": "b", + "nameLocation": "1299:1:30", + "nodeType": "VariableDeclaration", + "scope": 6179, + "src": "1291:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1291:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1279:22:30" + }, + "returnParameters": { + "id": 6148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6145, + "mutability": "mutable", + "name": "success", + "nameLocation": "1330:7:30", + "nodeType": "VariableDeclaration", + "scope": 6179, + "src": "1325:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6144, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1325:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6147, + "mutability": "mutable", + "name": "result", + "nameLocation": "1347:6:30", + "nodeType": "VariableDeclaration", + "scope": 6179, + "src": "1339:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1339:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1324:30:30" + }, + "scope": 7671, + "src": "1264:508:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6206, + "nodeType": "Block", + "src": "1987:114:30", + "statements": [ + { + "id": 6205, + "nodeType": "UncheckedBlock", + "src": "1997:98:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6191, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2025:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2025:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6198, + "nodeType": "IfStatement", + "src": "2021:29:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2041:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 6195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2048:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6196, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2040:10:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6190, + "id": 6197, + "nodeType": "Return", + "src": "2033:17:30" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6200, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6182, + "src": "2078:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6201, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2082:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2078:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6203, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2071:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 6190, + "id": 6204, + "nodeType": "Return", + "src": "2064:20:30" + } + ] + } + ] + }, + "documentation": { + "id": 6180, + "nodeType": "StructuredDocumentation", + "src": "1778:113:30", + "text": " @dev Returns the division of two unsigned integers, with a success flag (no division by zero)." + }, + "id": 6207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryDiv", + "nameLocation": "1905:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6182, + "mutability": "mutable", + "name": "a", + "nameLocation": "1920:1:30", + "nodeType": "VariableDeclaration", + "scope": 6207, + "src": "1912:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1912:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6184, + "mutability": "mutable", + "name": "b", + "nameLocation": "1931:1:30", + "nodeType": "VariableDeclaration", + "scope": 6207, + "src": "1923:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1923:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1911:22:30" + }, + "returnParameters": { + "id": 6190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6187, + "mutability": "mutable", + "name": "success", + "nameLocation": "1962:7:30", + "nodeType": "VariableDeclaration", + "scope": 6207, + "src": "1957:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6186, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1957:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6189, + "mutability": "mutable", + "name": "result", + "nameLocation": "1979:6:30", + "nodeType": "VariableDeclaration", + "scope": 6207, + "src": "1971:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1971:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1956:30:30" + }, + "scope": 7671, + "src": "1896:205:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6234, + "nodeType": "Block", + "src": "2326:114:30", + "statements": [ + { + "id": 6233, + "nodeType": "UncheckedBlock", + "src": "2336:98:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6219, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6212, + "src": "2364:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2369:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2364:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6226, + "nodeType": "IfStatement", + "src": "2360:29:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2380:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 6223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2387:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6224, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2379:10:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6218, + "id": 6225, + "nodeType": "Return", + "src": "2372:17:30" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 6227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2411:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6228, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6210, + "src": "2417:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "id": 6229, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6212, + "src": "2421:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2417:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6231, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2410:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 6218, + "id": 6232, + "nodeType": "Return", + "src": "2403:20:30" + } + ] + } + ] + }, + "documentation": { + "id": 6208, + "nodeType": "StructuredDocumentation", + "src": "2107:123:30", + "text": " @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero)." + }, + "id": 6235, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryMod", + "nameLocation": "2244:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6210, + "mutability": "mutable", + "name": "a", + "nameLocation": "2259:1:30", + "nodeType": "VariableDeclaration", + "scope": 6235, + "src": "2251:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6209, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2251:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6212, + "mutability": "mutable", + "name": "b", + "nameLocation": "2270:1:30", + "nodeType": "VariableDeclaration", + "scope": 6235, + "src": "2262:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2262:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2250:22:30" + }, + "returnParameters": { + "id": 6218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6215, + "mutability": "mutable", + "name": "success", + "nameLocation": "2301:7:30", + "nodeType": "VariableDeclaration", + "scope": 6235, + "src": "2296:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6214, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2296:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6217, + "mutability": "mutable", + "name": "result", + "nameLocation": "2318:6:30", + "nodeType": "VariableDeclaration", + "scope": 6235, + "src": "2310:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2310:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2295:30:30" + }, + "scope": 7671, + "src": "2235:205:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6261, + "nodeType": "Block", + "src": "2912:207:30", + "statements": [ + { + "id": 6260, + "nodeType": "UncheckedBlock", + "src": "2922:191:30", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6247, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6242, + "src": "3060:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6248, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6240, + "src": "3066:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 6249, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6242, + "src": "3070:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3066:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6251, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3065:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "id": 6254, + "name": "condition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6238, + "src": "3091:9:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6252, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "3075:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 6253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3084:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "3075:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 6255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3075:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3065:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6257, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3064:38:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3060:42:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6246, + "id": 6259, + "nodeType": "Return", + "src": "3053:49:30" + } + ] + } + ] + }, + "documentation": { + "id": 6236, + "nodeType": "StructuredDocumentation", + "src": "2446:374:30", + "text": " @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n one branch when needed, making this function more expensive." + }, + "id": 6262, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ternary", + "nameLocation": "2834:7:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6238, + "mutability": "mutable", + "name": "condition", + "nameLocation": "2847:9:30", + "nodeType": "VariableDeclaration", + "scope": 6262, + "src": "2842:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6237, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2842:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6240, + "mutability": "mutable", + "name": "a", + "nameLocation": "2866:1:30", + "nodeType": "VariableDeclaration", + "scope": 6262, + "src": "2858:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2858:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6242, + "mutability": "mutable", + "name": "b", + "nameLocation": "2877:1:30", + "nodeType": "VariableDeclaration", + "scope": 6262, + "src": "2869:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2869:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2841:38:30" + }, + "returnParameters": { + "id": 6246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6245, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6262, + "src": "2903:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2903:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2902:9:30" + }, + "scope": 7671, + "src": "2825:294:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6280, + "nodeType": "Block", + "src": "3256:44:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6273, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6265, + "src": "3281:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 6274, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6267, + "src": "3285:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3281:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6276, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6265, + "src": "3288:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6277, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6267, + "src": "3291:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6272, + "name": "ternary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6262, + "src": "3273:7:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bool,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3273:20:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6271, + "id": 6279, + "nodeType": "Return", + "src": "3266:27:30" + } + ] + }, + "documentation": { + "id": 6263, + "nodeType": "StructuredDocumentation", + "src": "3125:59:30", + "text": " @dev Returns the largest of two numbers." + }, + "id": 6281, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nameLocation": "3198:3:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6265, + "mutability": "mutable", + "name": "a", + "nameLocation": "3210:1:30", + "nodeType": "VariableDeclaration", + "scope": 6281, + "src": "3202:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3202:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6267, + "mutability": "mutable", + "name": "b", + "nameLocation": "3221:1:30", + "nodeType": "VariableDeclaration", + "scope": 6281, + "src": "3213:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3213:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3201:22:30" + }, + "returnParameters": { + "id": 6271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6270, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6281, + "src": "3247:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3247:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3246:9:30" + }, + "scope": 7671, + "src": "3189:111:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6299, + "nodeType": "Block", + "src": "3438:44:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6292, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "3463:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 6293, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "3467:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3463:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6295, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "3470:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6296, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "3473:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6291, + "name": "ternary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6262, + "src": "3455:7:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bool,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3455:20:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6290, + "id": 6298, + "nodeType": "Return", + "src": "3448:27:30" + } + ] + }, + "documentation": { + "id": 6282, + "nodeType": "StructuredDocumentation", + "src": "3306:60:30", + "text": " @dev Returns the smallest of two numbers." + }, + "id": 6300, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "3380:3:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6284, + "mutability": "mutable", + "name": "a", + "nameLocation": "3392:1:30", + "nodeType": "VariableDeclaration", + "scope": 6300, + "src": "3384:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3384:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6286, + "mutability": "mutable", + "name": "b", + "nameLocation": "3403:1:30", + "nodeType": "VariableDeclaration", + "scope": 6300, + "src": "3395:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3395:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3383:22:30" + }, + "returnParameters": { + "id": 6290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6289, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6300, + "src": "3429:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3429:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3428:9:30" + }, + "scope": 7671, + "src": "3371:111:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6322, + "nodeType": "Block", + "src": "3666:82:30", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6310, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6303, + "src": "3721:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 6311, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6305, + "src": "3725:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3721:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6313, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3720:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6314, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6303, + "src": "3731:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 6315, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6305, + "src": "3735:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3731:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6317, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3730:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3740:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "3730:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3720:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6309, + "id": 6321, + "nodeType": "Return", + "src": "3713:28:30" + } + ] + }, + "documentation": { + "id": 6301, + "nodeType": "StructuredDocumentation", + "src": "3488:102:30", + "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." + }, + "id": 6323, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "average", + "nameLocation": "3604:7:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6303, + "mutability": "mutable", + "name": "a", + "nameLocation": "3620:1:30", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "3612:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3612:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6305, + "mutability": "mutable", + "name": "b", + "nameLocation": "3631:1:30", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "3623:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6304, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3623:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3611:22:30" + }, + "returnParameters": { + "id": 6309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6308, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "3657:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3657:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3656:9:30" + }, + "scope": 7671, + "src": "3595:153:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6363, + "nodeType": "Block", + "src": "4040:633:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6333, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6328, + "src": "4054:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4059:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4054:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6344, + "nodeType": "IfStatement", + "src": "4050:150:30", + "trueBody": { + "id": 6343, + "nodeType": "Block", + "src": "4062:138:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 6339, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "4166:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4172:16:30", + "memberName": "DIVISION_BY_ZERO", + "nodeType": "MemberAccess", + "referencedDeclaration": 3443, + "src": "4166:22:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6336, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "4154:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4160:5:30", + "memberName": "panic", + "nodeType": "MemberAccess", + "referencedDeclaration": 3475, + "src": "4154:11:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 6341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4154:35:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6342, + "nodeType": "ExpressionStatement", + "src": "4154:35:30" + } + ] + } + }, + { + "id": 6362, + "nodeType": "UncheckedBlock", + "src": "4583:84:30", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6347, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6326, + "src": "4630:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4634:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4630:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6345, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "4614:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 6346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4623:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "4614:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 6350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4614:22:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6351, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6326, + "src": "4641:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 6352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4645:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4641:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6354, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4640:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6355, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6328, + "src": "4650:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4640:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 6357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4654:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4640:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6359, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4639:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4614:42:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6332, + "id": 6361, + "nodeType": "Return", + "src": "4607:49:30" + } + ] + } + ] + }, + "documentation": { + "id": 6324, + "nodeType": "StructuredDocumentation", + "src": "3754:210:30", + "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero." + }, + "id": 6364, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ceilDiv", + "nameLocation": "3978:7:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6326, + "mutability": "mutable", + "name": "a", + "nameLocation": "3994:1:30", + "nodeType": "VariableDeclaration", + "scope": 6364, + "src": "3986:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3986:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6328, + "mutability": "mutable", + "name": "b", + "nameLocation": "4005:1:30", + "nodeType": "VariableDeclaration", + "scope": 6364, + "src": "3997:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3997:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3985:22:30" + }, + "returnParameters": { + "id": 6332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6331, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6364, + "src": "4031:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4031:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4030:9:30" + }, + "scope": 7671, + "src": "3969:704:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6500, + "nodeType": "Block", + "src": "5094:4128:30", + "statements": [ + { + "id": 6499, + "nodeType": "UncheckedBlock", + "src": "5104:4112:30", + "statements": [ + { + "assignments": [ + 6377 + ], + "declarations": [ + { + "constant": false, + "id": 6377, + "mutability": "mutable", + "name": "prod0", + "nameLocation": "5441:5:30", + "nodeType": "VariableDeclaration", + "scope": 6499, + "src": "5433:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5433:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6381, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6378, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6367, + "src": "5449:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6379, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6369, + "src": "5453:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5449:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5433:21:30" + }, + { + "assignments": [ + 6383 + ], + "declarations": [ + { + "constant": false, + "id": 6383, + "mutability": "mutable", + "name": "prod1", + "nameLocation": "5521:5:30", + "nodeType": "VariableDeclaration", + "scope": 6499, + "src": "5513:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5513:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6384, + "nodeType": "VariableDeclarationStatement", + "src": "5513:13:30" + }, + { + "AST": { + "nativeSrc": "5593:122:30", + "nodeType": "YulBlock", + "src": "5593:122:30", + "statements": [ + { + "nativeSrc": "5611:30:30", + "nodeType": "YulVariableDeclaration", + "src": "5611:30:30", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5628:1:30", + "nodeType": "YulIdentifier", + "src": "5628:1:30" + }, + { + "name": "y", + "nativeSrc": "5631:1:30", + "nodeType": "YulIdentifier", + "src": "5631:1:30" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5638:1:30", + "nodeType": "YulLiteral", + "src": "5638:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "5634:3:30", + "nodeType": "YulIdentifier", + "src": "5634:3:30" + }, + "nativeSrc": "5634:6:30", + "nodeType": "YulFunctionCall", + "src": "5634:6:30" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "5621:6:30", + "nodeType": "YulIdentifier", + "src": "5621:6:30" + }, + "nativeSrc": "5621:20:30", + "nodeType": "YulFunctionCall", + "src": "5621:20:30" + }, + "variables": [ + { + "name": "mm", + "nativeSrc": "5615:2:30", + "nodeType": "YulTypedName", + "src": "5615:2:30", + "type": "" + } + ] + }, + { + "nativeSrc": "5658:43:30", + "nodeType": "YulAssignment", + "src": "5658:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "mm", + "nativeSrc": "5675:2:30", + "nodeType": "YulIdentifier", + "src": "5675:2:30" + }, + { + "name": "prod0", + "nativeSrc": "5679:5:30", + "nodeType": "YulIdentifier", + "src": "5679:5:30" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5671:3:30", + "nodeType": "YulIdentifier", + "src": "5671:3:30" + }, + "nativeSrc": "5671:14:30", + "nodeType": "YulFunctionCall", + "src": "5671:14:30" + }, + { + "arguments": [ + { + "name": "mm", + "nativeSrc": "5690:2:30", + "nodeType": "YulIdentifier", + "src": "5690:2:30" + }, + { + "name": "prod0", + "nativeSrc": "5694:5:30", + "nodeType": "YulIdentifier", + "src": "5694:5:30" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5687:2:30", + "nodeType": "YulIdentifier", + "src": "5687:2:30" + }, + "nativeSrc": "5687:13:30", + "nodeType": "YulFunctionCall", + "src": "5687:13:30" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5667:3:30", + "nodeType": "YulIdentifier", + "src": "5667:3:30" + }, + "nativeSrc": "5667:34:30", + "nodeType": "YulFunctionCall", + "src": "5667:34:30" + }, + "variableNames": [ + { + "name": "prod1", + "nativeSrc": "5658:5:30", + "nodeType": "YulIdentifier", + "src": "5658:5:30" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "5679:5:30", + "valueSize": 1 + }, + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "5694:5:30", + "valueSize": 1 + }, + { + "declaration": 6383, + "isOffset": false, + "isSlot": false, + "src": "5658:5:30", + "valueSize": 1 + }, + { + "declaration": 6367, + "isOffset": false, + "isSlot": false, + "src": "5628:1:30", + "valueSize": 1 + }, + { + "declaration": 6369, + "isOffset": false, + "isSlot": false, + "src": "5631:1:30", + "valueSize": 1 + } + ], + "id": 6385, + "nodeType": "InlineAssembly", + "src": "5584:131:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6386, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6383, + "src": "5796:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5805:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5796:10:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6394, + "nodeType": "IfStatement", + "src": "5792:368:30", + "trueBody": { + "id": 6393, + "nodeType": "Block", + "src": "5808:352:30", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6389, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6377, + "src": "6126:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6390, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "6134:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6126:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6375, + "id": 6392, + "nodeType": "Return", + "src": "6119:26:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6395, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "6270:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 6396, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6383, + "src": "6285:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6270:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6413, + "nodeType": "IfStatement", + "src": "6266:143:30", + "trueBody": { + "id": 6412, + "nodeType": "Block", + "src": "6292:117:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6402, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "6330:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6345:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6330:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "expression": { + "id": 6405, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "6348:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6354:16:30", + "memberName": "DIVISION_BY_ZERO", + "nodeType": "MemberAccess", + "referencedDeclaration": 3443, + "src": "6348:22:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 6407, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "6372:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6378:14:30", + "memberName": "UNDER_OVERFLOW", + "nodeType": "MemberAccess", + "referencedDeclaration": 3439, + "src": "6372:20:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6401, + "name": "ternary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6262, + "src": "6322:7:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bool,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6322:71:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6398, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "6310:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6316:5:30", + "memberName": "panic", + "nodeType": "MemberAccess", + "referencedDeclaration": 3475, + "src": "6310:11:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 6410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6310:84:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6411, + "nodeType": "ExpressionStatement", + "src": "6310:84:30" + } + ] + } + }, + { + "assignments": [ + 6415 + ], + "declarations": [ + { + "constant": false, + "id": 6415, + "mutability": "mutable", + "name": "remainder", + "nameLocation": "6672:9:30", + "nodeType": "VariableDeclaration", + "scope": 6499, + "src": "6664:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6664:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6416, + "nodeType": "VariableDeclarationStatement", + "src": "6664:17:30" + }, + { + "AST": { + "nativeSrc": "6704:291:30", + "nodeType": "YulBlock", + "src": "6704:291:30", + "statements": [ + { + "nativeSrc": "6773:38:30", + "nodeType": "YulAssignment", + "src": "6773:38:30", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6793:1:30", + "nodeType": "YulIdentifier", + "src": "6793:1:30" + }, + { + "name": "y", + "nativeSrc": "6796:1:30", + "nodeType": "YulIdentifier", + "src": "6796:1:30" + }, + { + "name": "denominator", + "nativeSrc": "6799:11:30", + "nodeType": "YulIdentifier", + "src": "6799:11:30" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "6786:6:30", + "nodeType": "YulIdentifier", + "src": "6786:6:30" + }, + "nativeSrc": "6786:25:30", + "nodeType": "YulFunctionCall", + "src": "6786:25:30" + }, + "variableNames": [ + { + "name": "remainder", + "nativeSrc": "6773:9:30", + "nodeType": "YulIdentifier", + "src": "6773:9:30" + } + ] + }, + { + "nativeSrc": "6893:41:30", + "nodeType": "YulAssignment", + "src": "6893:41:30", + "value": { + "arguments": [ + { + "name": "prod1", + "nativeSrc": "6906:5:30", + "nodeType": "YulIdentifier", + "src": "6906:5:30" + }, + { + "arguments": [ + { + "name": "remainder", + "nativeSrc": "6916:9:30", + "nodeType": "YulIdentifier", + "src": "6916:9:30" + }, + { + "name": "prod0", + "nativeSrc": "6927:5:30", + "nodeType": "YulIdentifier", + "src": "6927:5:30" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6913:2:30", + "nodeType": "YulIdentifier", + "src": "6913:2:30" + }, + "nativeSrc": "6913:20:30", + "nodeType": "YulFunctionCall", + "src": "6913:20:30" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6902:3:30", + "nodeType": "YulIdentifier", + "src": "6902:3:30" + }, + "nativeSrc": "6902:32:30", + "nodeType": "YulFunctionCall", + "src": "6902:32:30" + }, + "variableNames": [ + { + "name": "prod1", + "nativeSrc": "6893:5:30", + "nodeType": "YulIdentifier", + "src": "6893:5:30" + } + ] + }, + { + "nativeSrc": "6951:30:30", + "nodeType": "YulAssignment", + "src": "6951:30:30", + "value": { + "arguments": [ + { + "name": "prod0", + "nativeSrc": "6964:5:30", + "nodeType": "YulIdentifier", + "src": "6964:5:30" + }, + { + "name": "remainder", + "nativeSrc": "6971:9:30", + "nodeType": "YulIdentifier", + "src": "6971:9:30" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6960:3:30", + "nodeType": "YulIdentifier", + "src": "6960:3:30" + }, + "nativeSrc": "6960:21:30", + "nodeType": "YulFunctionCall", + "src": "6960:21:30" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "6951:5:30", + "nodeType": "YulIdentifier", + "src": "6951:5:30" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6371, + "isOffset": false, + "isSlot": false, + "src": "6799:11:30", + "valueSize": 1 + }, + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "6927:5:30", + "valueSize": 1 + }, + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "6951:5:30", + "valueSize": 1 + }, + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "6964:5:30", + "valueSize": 1 + }, + { + "declaration": 6383, + "isOffset": false, + "isSlot": false, + "src": "6893:5:30", + "valueSize": 1 + }, + { + "declaration": 6383, + "isOffset": false, + "isSlot": false, + "src": "6906:5:30", + "valueSize": 1 + }, + { + "declaration": 6415, + "isOffset": false, + "isSlot": false, + "src": "6773:9:30", + "valueSize": 1 + }, + { + "declaration": 6415, + "isOffset": false, + "isSlot": false, + "src": "6916:9:30", + "valueSize": 1 + }, + { + "declaration": 6415, + "isOffset": false, + "isSlot": false, + "src": "6971:9:30", + "valueSize": 1 + }, + { + "declaration": 6367, + "isOffset": false, + "isSlot": false, + "src": "6793:1:30", + "valueSize": 1 + }, + { + "declaration": 6369, + "isOffset": false, + "isSlot": false, + "src": "6796:1:30", + "valueSize": 1 + } + ], + "id": 6417, + "nodeType": "InlineAssembly", + "src": "6695:300:30" + }, + { + "assignments": [ + 6419 + ], + "declarations": [ + { + "constant": false, + "id": 6419, + "mutability": "mutable", + "name": "twos", + "nameLocation": "7207:4:30", + "nodeType": "VariableDeclaration", + "scope": 6499, + "src": "7199:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7199:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6426, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6420, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "7214:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "30", + "id": 6421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7229:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 6422, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "7233:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7229:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6424, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7228:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7214:31:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7199:46:30" + }, + { + "AST": { + "nativeSrc": "7268:366:30", + "nodeType": "YulBlock", + "src": "7268:366:30", + "statements": [ + { + "nativeSrc": "7333:37:30", + "nodeType": "YulAssignment", + "src": "7333:37:30", + "value": { + "arguments": [ + { + "name": "denominator", + "nativeSrc": "7352:11:30", + "nodeType": "YulIdentifier", + "src": "7352:11:30" + }, + { + "name": "twos", + "nativeSrc": "7365:4:30", + "nodeType": "YulIdentifier", + "src": "7365:4:30" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "7348:3:30", + "nodeType": "YulIdentifier", + "src": "7348:3:30" + }, + "nativeSrc": "7348:22:30", + "nodeType": "YulFunctionCall", + "src": "7348:22:30" + }, + "variableNames": [ + { + "name": "denominator", + "nativeSrc": "7333:11:30", + "nodeType": "YulIdentifier", + "src": "7333:11:30" + } + ] + }, + { + "nativeSrc": "7437:25:30", + "nodeType": "YulAssignment", + "src": "7437:25:30", + "value": { + "arguments": [ + { + "name": "prod0", + "nativeSrc": "7450:5:30", + "nodeType": "YulIdentifier", + "src": "7450:5:30" + }, + { + "name": "twos", + "nativeSrc": "7457:4:30", + "nodeType": "YulIdentifier", + "src": "7457:4:30" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "7446:3:30", + "nodeType": "YulIdentifier", + "src": "7446:3:30" + }, + "nativeSrc": "7446:16:30", + "nodeType": "YulFunctionCall", + "src": "7446:16:30" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "7437:5:30", + "nodeType": "YulIdentifier", + "src": "7437:5:30" + } + ] + }, + { + "nativeSrc": "7581:39:30", + "nodeType": "YulAssignment", + "src": "7581:39:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7601:1:30", + "nodeType": "YulLiteral", + "src": "7601:1:30", + "type": "", + "value": "0" + }, + { + "name": "twos", + "nativeSrc": "7604:4:30", + "nodeType": "YulIdentifier", + "src": "7604:4:30" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7597:3:30", + "nodeType": "YulIdentifier", + "src": "7597:3:30" + }, + "nativeSrc": "7597:12:30", + "nodeType": "YulFunctionCall", + "src": "7597:12:30" + }, + { + "name": "twos", + "nativeSrc": "7611:4:30", + "nodeType": "YulIdentifier", + "src": "7611:4:30" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "7593:3:30", + "nodeType": "YulIdentifier", + "src": "7593:3:30" + }, + "nativeSrc": "7593:23:30", + "nodeType": "YulFunctionCall", + "src": "7593:23:30" + }, + { + "kind": "number", + "nativeSrc": "7618:1:30", + "nodeType": "YulLiteral", + "src": "7618:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7589:3:30", + "nodeType": "YulIdentifier", + "src": "7589:3:30" + }, + "nativeSrc": "7589:31:30", + "nodeType": "YulFunctionCall", + "src": "7589:31:30" + }, + "variableNames": [ + { + "name": "twos", + "nativeSrc": "7581:4:30", + "nodeType": "YulIdentifier", + "src": "7581:4:30" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6371, + "isOffset": false, + "isSlot": false, + "src": "7333:11:30", + "valueSize": 1 + }, + { + "declaration": 6371, + "isOffset": false, + "isSlot": false, + "src": "7352:11:30", + "valueSize": 1 + }, + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "7437:5:30", + "valueSize": 1 + }, + { + "declaration": 6377, + "isOffset": false, + "isSlot": false, + "src": "7450:5:30", + "valueSize": 1 + }, + { + "declaration": 6419, + "isOffset": false, + "isSlot": false, + "src": "7365:4:30", + "valueSize": 1 + }, + { + "declaration": 6419, + "isOffset": false, + "isSlot": false, + "src": "7457:4:30", + "valueSize": 1 + }, + { + "declaration": 6419, + "isOffset": false, + "isSlot": false, + "src": "7581:4:30", + "valueSize": 1 + }, + { + "declaration": 6419, + "isOffset": false, + "isSlot": false, + "src": "7604:4:30", + "valueSize": 1 + }, + { + "declaration": 6419, + "isOffset": false, + "isSlot": false, + "src": "7611:4:30", + "valueSize": 1 + } + ], + "id": 6427, + "nodeType": "InlineAssembly", + "src": "7259:375:30" + }, + { + "expression": { + "id": 6432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6428, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6377, + "src": "7700:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6429, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6383, + "src": "7709:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6430, + "name": "twos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "7717:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7709:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7700:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6433, + "nodeType": "ExpressionStatement", + "src": "7700:21:30" + }, + { + "assignments": [ + 6435 + ], + "declarations": [ + { + "constant": false, + "id": 6435, + "mutability": "mutable", + "name": "inverse", + "nameLocation": "8064:7:30", + "nodeType": "VariableDeclaration", + "scope": 6499, + "src": "8056:15:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6434, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8056:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6442, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "33", + "id": 6436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8075:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6437, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8079:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8075:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6439, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8074:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "hexValue": "32", + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8094:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "8074:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8056:39:30" + }, + { + "expression": { + "id": 6449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6443, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8312:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8323:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6445, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8327:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6446, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8341:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8327:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8323:25:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8312:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6450, + "nodeType": "ExpressionStatement", + "src": "8312:36:30" + }, + { + "expression": { + "id": 6457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6451, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8382:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8393:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6453, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8397:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6454, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8411:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8397:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8393:25:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8382:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6458, + "nodeType": "ExpressionStatement", + "src": "8382:36:30" + }, + { + "expression": { + "id": 6465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6459, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8454:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8465:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6461, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8469:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6462, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8483:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8469:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8465:25:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8454:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6466, + "nodeType": "ExpressionStatement", + "src": "8454:36:30" + }, + { + "expression": { + "id": 6473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6467, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8525:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8536:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6469, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8540:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6470, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8554:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8540:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8536:25:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8525:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6474, + "nodeType": "ExpressionStatement", + "src": "8525:36:30" + }, + { + "expression": { + "id": 6481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6475, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8598:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8609:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6477, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8613:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6478, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8627:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8613:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8609:25:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8598:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6482, + "nodeType": "ExpressionStatement", + "src": "8598:36:30" + }, + { + "expression": { + "id": 6489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6483, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8672:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8683:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6485, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6371, + "src": "8687:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6486, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "8701:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8687:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8683:25:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8672:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6490, + "nodeType": "ExpressionStatement", + "src": "8672:36:30" + }, + { + "expression": { + "id": 6495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6491, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6374, + "src": "9154:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6492, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6377, + "src": "9163:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6493, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "9171:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9163:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9154:24:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6496, + "nodeType": "ExpressionStatement", + "src": "9154:24:30" + }, + { + "expression": { + "id": 6497, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6374, + "src": "9199:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6375, + "id": 6498, + "nodeType": "Return", + "src": "9192:13:30" + } + ] + } + ] + }, + "documentation": { + "id": 6365, + "nodeType": "StructuredDocumentation", + "src": "4679:312:30", + "text": " @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license." + }, + "id": 6501, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mulDiv", + "nameLocation": "5005:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6367, + "mutability": "mutable", + "name": "x", + "nameLocation": "5020:1:30", + "nodeType": "VariableDeclaration", + "scope": 6501, + "src": "5012:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5012:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6369, + "mutability": "mutable", + "name": "y", + "nameLocation": "5031:1:30", + "nodeType": "VariableDeclaration", + "scope": 6501, + "src": "5023:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5023:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6371, + "mutability": "mutable", + "name": "denominator", + "nameLocation": "5042:11:30", + "nodeType": "VariableDeclaration", + "scope": 6501, + "src": "5034:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5034:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5011:43:30" + }, + "returnParameters": { + "id": 6375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6374, + "mutability": "mutable", + "name": "result", + "nameLocation": "5086:6:30", + "nodeType": "VariableDeclaration", + "scope": 6501, + "src": "5078:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5078:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5077:16:30" + }, + "scope": 7671, + "src": "4996:4226:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6537, + "nodeType": "Block", + "src": "9461:128:30", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6517, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6504, + "src": "9485:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6518, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6506, + "src": "9488:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6519, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6508, + "src": "9491:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6516, + "name": "mulDiv", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6501, + 6538 + ], + "referencedDeclaration": 6501, + "src": "9478:6:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9478:25:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6524, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6511, + "src": "9539:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + ], + "id": 6523, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7670, + "src": "9522:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$6077_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 6525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9522:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6527, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6504, + "src": "9559:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6528, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6506, + "src": "9562:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6529, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6508, + "src": "9565:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6526, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "9552:6:30", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9552:25:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9580:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9552:29:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9522:59:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6521, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "9506:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9515:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "9506:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 6534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9506:76:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9478:104:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6515, + "id": 6536, + "nodeType": "Return", + "src": "9471:111:30" + } + ] + }, + "documentation": { + "id": 6502, + "nodeType": "StructuredDocumentation", + "src": "9228:118:30", + "text": " @dev Calculates x * y / denominator with full precision, following the selected rounding direction." + }, + "id": 6538, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mulDiv", + "nameLocation": "9360:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6504, + "mutability": "mutable", + "name": "x", + "nameLocation": "9375:1:30", + "nodeType": "VariableDeclaration", + "scope": 6538, + "src": "9367:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9367:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6506, + "mutability": "mutable", + "name": "y", + "nameLocation": "9386:1:30", + "nodeType": "VariableDeclaration", + "scope": 6538, + "src": "9378:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9378:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6508, + "mutability": "mutable", + "name": "denominator", + "nameLocation": "9397:11:30", + "nodeType": "VariableDeclaration", + "scope": 6538, + "src": "9389:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9389:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6511, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "9419:8:30", + "nodeType": "VariableDeclaration", + "scope": 6538, + "src": "9410:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 6510, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6509, + "name": "Rounding", + "nameLocations": [ + "9410:8:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6077, + "src": "9410:8:30" + }, + "referencedDeclaration": 6077, + "src": "9410:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "9366:62:30" + }, + "returnParameters": { + "id": 6515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6514, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6538, + "src": "9452:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9452:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9451:9:30" + }, + "scope": 7671, + "src": "9351:238:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6634, + "nodeType": "Block", + "src": "10223:1849:30", + "statements": [ + { + "id": 6633, + "nodeType": "UncheckedBlock", + "src": "10233:1833:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6548, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "10261:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10266:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10261:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6553, + "nodeType": "IfStatement", + "src": "10257:20:30", + "trueBody": { + "expression": { + "hexValue": "30", + "id": 6551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10276:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 6547, + "id": 6552, + "nodeType": "Return", + "src": "10269:8:30" + } + }, + { + "assignments": [ + 6555 + ], + "declarations": [ + { + "constant": false, + "id": 6555, + "mutability": "mutable", + "name": "remainder", + "nameLocation": "10756:9:30", + "nodeType": "VariableDeclaration", + "scope": 6633, + "src": "10748:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10748:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6559, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6556, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "10768:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "id": 6557, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "10772:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10768:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10748:25:30" + }, + { + "assignments": [ + 6561 + ], + "declarations": [ + { + "constant": false, + "id": 6561, + "mutability": "mutable", + "name": "gcd", + "nameLocation": "10795:3:30", + "nodeType": "VariableDeclaration", + "scope": 6633, + "src": "10787:11:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10787:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6563, + "initialValue": { + "id": 6562, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "10801:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10787:15:30" + }, + { + "assignments": [ + 6565 + ], + "declarations": [ + { + "constant": false, + "id": 6565, + "mutability": "mutable", + "name": "x", + "nameLocation": "10945:1:30", + "nodeType": "VariableDeclaration", + "scope": 6633, + "src": "10938:8:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6564, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10938:6:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 6567, + "initialValue": { + "hexValue": "30", + "id": 6566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10949:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10938:12:30" + }, + { + "assignments": [ + 6569 + ], + "declarations": [ + { + "constant": false, + "id": 6569, + "mutability": "mutable", + "name": "y", + "nameLocation": "10971:1:30", + "nodeType": "VariableDeclaration", + "scope": 6633, + "src": "10964:8:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6568, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10964:6:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 6571, + "initialValue": { + "hexValue": "31", + "id": 6570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10975:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10964:12:30" + }, + { + "body": { + "id": 6608, + "nodeType": "Block", + "src": "11014:882:30", + "statements": [ + { + "assignments": [ + 6576 + ], + "declarations": [ + { + "constant": false, + "id": 6576, + "mutability": "mutable", + "name": "quotient", + "nameLocation": "11040:8:30", + "nodeType": "VariableDeclaration", + "scope": 6608, + "src": "11032:16:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11032:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6580, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6577, + "name": "gcd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6561, + "src": "11051:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6578, + "name": "remainder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6555, + "src": "11057:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11051:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11032:34:30" + }, + { + "expression": { + "id": 6591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 6581, + "name": "gcd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6561, + "src": "11086:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6582, + "name": "remainder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6555, + "src": "11091:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6583, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11085:16:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "components": [ + { + "id": 6584, + "name": "remainder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6555, + "src": "11191:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6585, + "name": "gcd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6561, + "src": "11436:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6586, + "name": "remainder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6555, + "src": "11442:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6587, + "name": "quotient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6576, + "src": "11454:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11442:20:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11436:26:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6590, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11104:376:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "11085:395:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6592, + "nodeType": "ExpressionStatement", + "src": "11085:395:30" + }, + { + "expression": { + "id": 6606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 6593, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "11500:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 6594, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "11503:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 6595, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11499:6:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$", + "typeString": "tuple(int256,int256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "components": [ + { + "id": 6596, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "11585:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6597, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "11839:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6598, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "11843:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "id": 6601, + "name": "quotient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6576, + "src": "11854:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11847:6:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 6599, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "11847:6:30", + "typeDescriptions": {} + } + }, + "id": 6602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11847:16:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "11843:20:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "11839:24:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 6605, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11508:373:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$", + "typeString": "tuple(int256,int256)" + } + }, + "src": "11499:382:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6607, + "nodeType": "ExpressionStatement", + "src": "11499:382:30" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6572, + "name": "remainder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6555, + "src": "10998:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 6573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11011:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10998:14:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6609, + "nodeType": "WhileStatement", + "src": "10991:905:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6610, + "name": "gcd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6561, + "src": "11914:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "31", + "id": 6611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11921:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11914:8:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6615, + "nodeType": "IfStatement", + "src": "11910:22:30", + "trueBody": { + "expression": { + "hexValue": "30", + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11931:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 6547, + "id": 6614, + "nodeType": "Return", + "src": "11924:8:30" + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6617, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "11983:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 6618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11987:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11983:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6620, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "11990:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "12002:2:30", + "subExpression": { + "id": 6623, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "12003:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11994:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11994:7:30", + "typeDescriptions": {} + } + }, + "id": 6625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11994:11:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11990:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 6629, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "12015:1:30", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12007:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12007:7:30", + "typeDescriptions": {} + } + }, + "id": 6630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12007:10:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6616, + "name": "ternary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6262, + "src": "11975:7:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bool,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11975:43:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6547, + "id": 6632, + "nodeType": "Return", + "src": "11968:50:30" + } + ] + } + ] + }, + "documentation": { + "id": 6539, + "nodeType": "StructuredDocumentation", + "src": "9595:553:30", + "text": " @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n If the input value is not inversible, 0 is returned.\n NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}." + }, + "id": 6635, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "invMod", + "nameLocation": "10162:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6541, + "mutability": "mutable", + "name": "a", + "nameLocation": "10177:1:30", + "nodeType": "VariableDeclaration", + "scope": 6635, + "src": "10169:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10169:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6543, + "mutability": "mutable", + "name": "n", + "nameLocation": "10188:1:30", + "nodeType": "VariableDeclaration", + "scope": 6635, + "src": "10180:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10180:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10168:22:30" + }, + "returnParameters": { + "id": 6547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6546, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6635, + "src": "10214:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10214:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10213:9:30" + }, + "scope": 7671, + "src": "10153:1919:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6655, + "nodeType": "Block", + "src": "12672:82:30", + "statements": [ + { + "id": 6654, + "nodeType": "UncheckedBlock", + "src": "12682:66:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6647, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "12725:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6648, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6640, + "src": "12728:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "32", + "id": 6649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12732:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "12728:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6651, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6640, + "src": "12735:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6645, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7671, + "src": "12713:4:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$7671_$", + "typeString": "type(library Math)" + } + }, + "id": 6646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12718:6:30", + "memberName": "modExp", + "nodeType": "MemberAccess", + "referencedDeclaration": 6692, + "src": "12713:11:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 6652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12713:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6644, + "id": 6653, + "nodeType": "Return", + "src": "12706:31:30" + } + ] + } + ] + }, + "documentation": { + "id": 6636, + "nodeType": "StructuredDocumentation", + "src": "12078:514:30", + "text": " @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n NOTE: this function does NOT check that `p` is a prime greater than `2`." + }, + "id": 6656, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "invModPrime", + "nameLocation": "12606:11:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6638, + "mutability": "mutable", + "name": "a", + "nameLocation": "12626:1:30", + "nodeType": "VariableDeclaration", + "scope": 6656, + "src": "12618:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12618:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6640, + "mutability": "mutable", + "name": "p", + "nameLocation": "12637:1:30", + "nodeType": "VariableDeclaration", + "scope": 6656, + "src": "12629:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12629:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12617:22:30" + }, + "returnParameters": { + "id": 6644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6643, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6656, + "src": "12663:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12663:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12662:9:30" + }, + "scope": 7671, + "src": "12597:157:30", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6691, + "nodeType": "Block", + "src": "13524:174:30", + "statements": [ + { + "assignments": [ + 6669, + 6671 + ], + "declarations": [ + { + "constant": false, + "id": 6669, + "mutability": "mutable", + "name": "success", + "nameLocation": "13540:7:30", + "nodeType": "VariableDeclaration", + "scope": 6691, + "src": "13535:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6668, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13535:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6671, + "mutability": "mutable", + "name": "result", + "nameLocation": "13557:6:30", + "nodeType": "VariableDeclaration", + "scope": 6691, + "src": "13549:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6670, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13549:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6677, + "initialValue": { + "arguments": [ + { + "id": 6673, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6659, + "src": "13577:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6674, + "name": "e", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6661, + "src": "13580:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6675, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6663, + "src": "13583:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6672, + "name": "tryModExp", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6716, + 6798 + ], + "referencedDeclaration": 6716, + "src": "13567:9:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) view returns (bool,uint256)" + } + }, + "id": 6676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13567:18:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13534:51:30" + }, + { + "condition": { + "id": 6679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13599:8:30", + "subExpression": { + "id": 6678, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6669, + "src": "13600:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6688, + "nodeType": "IfStatement", + "src": "13595:74:30", + "trueBody": { + "id": 6687, + "nodeType": "Block", + "src": "13609:60:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 6683, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "13635:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13641:16:30", + "memberName": "DIVISION_BY_ZERO", + "nodeType": "MemberAccess", + "referencedDeclaration": 3443, + "src": "13635:22:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6680, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "13623:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13629:5:30", + "memberName": "panic", + "nodeType": "MemberAccess", + "referencedDeclaration": 3475, + "src": "13623:11:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 6685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13623:35:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6686, + "nodeType": "ExpressionStatement", + "src": "13623:35:30" + } + ] + } + }, + { + "expression": { + "id": 6689, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "13685:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6667, + "id": 6690, + "nodeType": "Return", + "src": "13678:13:30" + } + ] + }, + "documentation": { + "id": 6657, + "nodeType": "StructuredDocumentation", + "src": "12760:678:30", + "text": " @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n Requirements:\n - modulus can't be zero\n - underlying staticcall to precompile must succeed\n IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n sure the chain you're using it on supports the precompiled contract for modular exponentiation\n at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n interpreted as 0." + }, + "id": 6692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "modExp", + "nameLocation": "13452:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6659, + "mutability": "mutable", + "name": "b", + "nameLocation": "13467:1:30", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "13459:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13459:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6661, + "mutability": "mutable", + "name": "e", + "nameLocation": "13478:1:30", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "13470:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13470:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6663, + "mutability": "mutable", + "name": "m", + "nameLocation": "13489:1:30", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "13481:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13481:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13458:33:30" + }, + "returnParameters": { + "id": 6667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6666, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "13515:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13515:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13514:9:30" + }, + "scope": 7671, + "src": "13443:255:30", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6715, + "nodeType": "Block", + "src": "14552:1493:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6706, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14566:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14571:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14566:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6713, + "nodeType": "IfStatement", + "src": "14562:29:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14582:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 6710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14589:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6711, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14581:10:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 6705, + "id": 6712, + "nodeType": "Return", + "src": "14574:17:30" + } + }, + { + "AST": { + "nativeSrc": "14626:1413:30", + "nodeType": "YulBlock", + "src": "14626:1413:30", + "statements": [ + { + "nativeSrc": "14640:22:30", + "nodeType": "YulVariableDeclaration", + "src": "14640:22:30", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14657:4:30", + "nodeType": "YulLiteral", + "src": "14657:4:30", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14651:5:30", + "nodeType": "YulIdentifier", + "src": "14651:5:30" + }, + "nativeSrc": "14651:11:30", + "nodeType": "YulFunctionCall", + "src": "14651:11:30" + }, + "variables": [ + { + "name": "ptr", + "nativeSrc": "14644:3:30", + "nodeType": "YulTypedName", + "src": "14644:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15570:3:30", + "nodeType": "YulIdentifier", + "src": "15570:3:30" + }, + { + "kind": "number", + "nativeSrc": "15575:4:30", + "nodeType": "YulLiteral", + "src": "15575:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15563:6:30", + "nodeType": "YulIdentifier", + "src": "15563:6:30" + }, + "nativeSrc": "15563:17:30", + "nodeType": "YulFunctionCall", + "src": "15563:17:30" + }, + "nativeSrc": "15563:17:30", + "nodeType": "YulExpressionStatement", + "src": "15563:17:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15604:3:30", + "nodeType": "YulIdentifier", + "src": "15604:3:30" + }, + { + "kind": "number", + "nativeSrc": "15609:4:30", + "nodeType": "YulLiteral", + "src": "15609:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15600:3:30", + "nodeType": "YulIdentifier", + "src": "15600:3:30" + }, + "nativeSrc": "15600:14:30", + "nodeType": "YulFunctionCall", + "src": "15600:14:30" + }, + { + "kind": "number", + "nativeSrc": "15616:4:30", + "nodeType": "YulLiteral", + "src": "15616:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15593:6:30", + "nodeType": "YulIdentifier", + "src": "15593:6:30" + }, + "nativeSrc": "15593:28:30", + "nodeType": "YulFunctionCall", + "src": "15593:28:30" + }, + "nativeSrc": "15593:28:30", + "nodeType": "YulExpressionStatement", + "src": "15593:28:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15645:3:30", + "nodeType": "YulIdentifier", + "src": "15645:3:30" + }, + { + "kind": "number", + "nativeSrc": "15650:4:30", + "nodeType": "YulLiteral", + "src": "15650:4:30", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15641:3:30", + "nodeType": "YulIdentifier", + "src": "15641:3:30" + }, + "nativeSrc": "15641:14:30", + "nodeType": "YulFunctionCall", + "src": "15641:14:30" + }, + { + "kind": "number", + "nativeSrc": "15657:4:30", + "nodeType": "YulLiteral", + "src": "15657:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15634:6:30", + "nodeType": "YulIdentifier", + "src": "15634:6:30" + }, + "nativeSrc": "15634:28:30", + "nodeType": "YulFunctionCall", + "src": "15634:28:30" + }, + "nativeSrc": "15634:28:30", + "nodeType": "YulExpressionStatement", + "src": "15634:28:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15686:3:30", + "nodeType": "YulIdentifier", + "src": "15686:3:30" + }, + { + "kind": "number", + "nativeSrc": "15691:4:30", + "nodeType": "YulLiteral", + "src": "15691:4:30", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15682:3:30", + "nodeType": "YulIdentifier", + "src": "15682:3:30" + }, + "nativeSrc": "15682:14:30", + "nodeType": "YulFunctionCall", + "src": "15682:14:30" + }, + { + "name": "b", + "nativeSrc": "15698:1:30", + "nodeType": "YulIdentifier", + "src": "15698:1:30" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15675:6:30", + "nodeType": "YulIdentifier", + "src": "15675:6:30" + }, + "nativeSrc": "15675:25:30", + "nodeType": "YulFunctionCall", + "src": "15675:25:30" + }, + "nativeSrc": "15675:25:30", + "nodeType": "YulExpressionStatement", + "src": "15675:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15724:3:30", + "nodeType": "YulIdentifier", + "src": "15724:3:30" + }, + { + "kind": "number", + "nativeSrc": "15729:4:30", + "nodeType": "YulLiteral", + "src": "15729:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15720:3:30", + "nodeType": "YulIdentifier", + "src": "15720:3:30" + }, + "nativeSrc": "15720:14:30", + "nodeType": "YulFunctionCall", + "src": "15720:14:30" + }, + { + "name": "e", + "nativeSrc": "15736:1:30", + "nodeType": "YulIdentifier", + "src": "15736:1:30" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15713:6:30", + "nodeType": "YulIdentifier", + "src": "15713:6:30" + }, + "nativeSrc": "15713:25:30", + "nodeType": "YulFunctionCall", + "src": "15713:25:30" + }, + "nativeSrc": "15713:25:30", + "nodeType": "YulExpressionStatement", + "src": "15713:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15762:3:30", + "nodeType": "YulIdentifier", + "src": "15762:3:30" + }, + { + "kind": "number", + "nativeSrc": "15767:4:30", + "nodeType": "YulLiteral", + "src": "15767:4:30", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15758:3:30", + "nodeType": "YulIdentifier", + "src": "15758:3:30" + }, + "nativeSrc": "15758:14:30", + "nodeType": "YulFunctionCall", + "src": "15758:14:30" + }, + { + "name": "m", + "nativeSrc": "15774:1:30", + "nodeType": "YulIdentifier", + "src": "15774:1:30" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15751:6:30", + "nodeType": "YulIdentifier", + "src": "15751:6:30" + }, + "nativeSrc": "15751:25:30", + "nodeType": "YulFunctionCall", + "src": "15751:25:30" + }, + "nativeSrc": "15751:25:30", + "nodeType": "YulExpressionStatement", + "src": "15751:25:30" + }, + { + "nativeSrc": "15938:57:30", + "nodeType": "YulAssignment", + "src": "15938:57:30", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nativeSrc": "15960:3:30", + "nodeType": "YulIdentifier", + "src": "15960:3:30" + }, + "nativeSrc": "15960:5:30", + "nodeType": "YulFunctionCall", + "src": "15960:5:30" + }, + { + "kind": "number", + "nativeSrc": "15967:4:30", + "nodeType": "YulLiteral", + "src": "15967:4:30", + "type": "", + "value": "0x05" + }, + { + "name": "ptr", + "nativeSrc": "15973:3:30", + "nodeType": "YulIdentifier", + "src": "15973:3:30" + }, + { + "kind": "number", + "nativeSrc": "15978:4:30", + "nodeType": "YulLiteral", + "src": "15978:4:30", + "type": "", + "value": "0xc0" + }, + { + "kind": "number", + "nativeSrc": "15984:4:30", + "nodeType": "YulLiteral", + "src": "15984:4:30", + "type": "", + "value": "0x00" + }, + { + "kind": "number", + "nativeSrc": "15990:4:30", + "nodeType": "YulLiteral", + "src": "15990:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "staticcall", + "nativeSrc": "15949:10:30", + "nodeType": "YulIdentifier", + "src": "15949:10:30" + }, + "nativeSrc": "15949:46:30", + "nodeType": "YulFunctionCall", + "src": "15949:46:30" + }, + "variableNames": [ + { + "name": "success", + "nativeSrc": "15938:7:30", + "nodeType": "YulIdentifier", + "src": "15938:7:30" + } + ] + }, + { + "nativeSrc": "16008:21:30", + "nodeType": "YulAssignment", + "src": "16008:21:30", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16024:4:30", + "nodeType": "YulLiteral", + "src": "16024:4:30", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "16018:5:30", + "nodeType": "YulIdentifier", + "src": "16018:5:30" + }, + "nativeSrc": "16018:11:30", + "nodeType": "YulFunctionCall", + "src": "16018:11:30" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "16008:6:30", + "nodeType": "YulIdentifier", + "src": "16008:6:30" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6695, + "isOffset": false, + "isSlot": false, + "src": "15698:1:30", + "valueSize": 1 + }, + { + "declaration": 6697, + "isOffset": false, + "isSlot": false, + "src": "15736:1:30", + "valueSize": 1 + }, + { + "declaration": 6699, + "isOffset": false, + "isSlot": false, + "src": "15774:1:30", + "valueSize": 1 + }, + { + "declaration": 6704, + "isOffset": false, + "isSlot": false, + "src": "16008:6:30", + "valueSize": 1 + }, + { + "declaration": 6702, + "isOffset": false, + "isSlot": false, + "src": "15938:7:30", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 6714, + "nodeType": "InlineAssembly", + "src": "14601:1438:30" + } + ] + }, + "documentation": { + "id": 6693, + "nodeType": "StructuredDocumentation", + "src": "13704:738:30", + "text": " @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n to operate modulo 0 or if the underlying precompile reverted.\n IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n of a revert, but the result may be incorrectly interpreted as 0." + }, + "id": 6716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryModExp", + "nameLocation": "14456:9:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6695, + "mutability": "mutable", + "name": "b", + "nameLocation": "14474:1:30", + "nodeType": "VariableDeclaration", + "scope": 6716, + "src": "14466:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14466:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6697, + "mutability": "mutable", + "name": "e", + "nameLocation": "14485:1:30", + "nodeType": "VariableDeclaration", + "scope": 6716, + "src": "14477:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6696, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14477:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6699, + "mutability": "mutable", + "name": "m", + "nameLocation": "14496:1:30", + "nodeType": "VariableDeclaration", + "scope": 6716, + "src": "14488:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14488:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14465:33:30" + }, + "returnParameters": { + "id": 6705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6702, + "mutability": "mutable", + "name": "success", + "nameLocation": "14527:7:30", + "nodeType": "VariableDeclaration", + "scope": 6716, + "src": "14522:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14522:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6704, + "mutability": "mutable", + "name": "result", + "nameLocation": "14544:6:30", + "nodeType": "VariableDeclaration", + "scope": 6716, + "src": "14536:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14536:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14521:30:30" + }, + "scope": 7671, + "src": "14447:1598:30", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6751, + "nodeType": "Block", + "src": "16242:179:30", + "statements": [ + { + "assignments": [ + 6729, + 6731 + ], + "declarations": [ + { + "constant": false, + "id": 6729, + "mutability": "mutable", + "name": "success", + "nameLocation": "16258:7:30", + "nodeType": "VariableDeclaration", + "scope": 6751, + "src": "16253:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6728, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16253:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6731, + "mutability": "mutable", + "name": "result", + "nameLocation": "16280:6:30", + "nodeType": "VariableDeclaration", + "scope": 6751, + "src": "16267:19:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6730, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16267:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6737, + "initialValue": { + "arguments": [ + { + "id": 6733, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6719, + "src": "16300:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6734, + "name": "e", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6721, + "src": "16303:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6735, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6723, + "src": "16306:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6732, + "name": "tryModExp", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6716, + 6798 + ], + "referencedDeclaration": 6798, + "src": "16290:9:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,bytes memory,bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 6736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16290:18:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16252:56:30" + }, + { + "condition": { + "id": 6739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16322:8:30", + "subExpression": { + "id": 6738, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6729, + "src": "16323:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6748, + "nodeType": "IfStatement", + "src": "16318:74:30", + "trueBody": { + "id": 6747, + "nodeType": "Block", + "src": "16332:60:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 6743, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "16358:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16364:16:30", + "memberName": "DIVISION_BY_ZERO", + "nodeType": "MemberAccess", + "referencedDeclaration": 3443, + "src": "16358:22:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6740, + "name": "Panic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "16346:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Panic_$3476_$", + "typeString": "type(library Panic)" + } + }, + "id": 6742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16352:5:30", + "memberName": "panic", + "nodeType": "MemberAccess", + "referencedDeclaration": 3475, + "src": "16346:11:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 6745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16346:35:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6746, + "nodeType": "ExpressionStatement", + "src": "16346:35:30" + } + ] + } + }, + { + "expression": { + "id": 6749, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6731, + "src": "16408:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6727, + "id": 6750, + "nodeType": "Return", + "src": "16401:13:30" + } + ] + }, + "documentation": { + "id": 6717, + "nodeType": "StructuredDocumentation", + "src": "16051:85:30", + "text": " @dev Variant of {modExp} that supports inputs of arbitrary length." + }, + "id": 6752, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "modExp", + "nameLocation": "16150:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6724, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6719, + "mutability": "mutable", + "name": "b", + "nameLocation": "16170:1:30", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "16157:14:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6718, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16157:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6721, + "mutability": "mutable", + "name": "e", + "nameLocation": "16186:1:30", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "16173:14:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6720, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16173:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6723, + "mutability": "mutable", + "name": "m", + "nameLocation": "16202:1:30", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "16189:14:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6722, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16189:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "16156:48:30" + }, + "returnParameters": { + "id": 6727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6726, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "16228:12:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6725, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16228:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "16227:14:30" + }, + "scope": 7671, + "src": "16141:280:30", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6797, + "nodeType": "Block", + "src": "16675:771:30", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 6767, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6759, + "src": "16700:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6766, + "name": "_zeroBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6831, + "src": "16689:10:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory) pure returns (bool)" + } + }, + "id": 6768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16689:13:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6776, + "nodeType": "IfStatement", + "src": "16685:47:30", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 6769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16712:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 6772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16729:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "16719:9:30", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 6770, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16723:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 6773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16719:12:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 6774, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16711:21:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 6765, + "id": 6775, + "nodeType": "Return", + "src": "16704:28:30" + } + }, + { + "assignments": [ + 6778 + ], + "declarations": [ + { + "constant": false, + "id": 6778, + "mutability": "mutable", + "name": "mLen", + "nameLocation": "16751:4:30", + "nodeType": "VariableDeclaration", + "scope": 6797, + "src": "16743:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16743:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6781, + "initialValue": { + "expression": { + "id": 6779, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6759, + "src": "16758:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16760:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16758:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16743:23:30" + }, + { + "expression": { + "id": 6794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6782, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6764, + "src": "16848:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 6785, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6755, + "src": "16874:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16876:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16874:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 6787, + "name": "e", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6757, + "src": "16884:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16886:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16884:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6789, + "name": "mLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6778, + "src": "16894:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6790, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6755, + "src": "16900:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6791, + "name": "e", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6757, + "src": "16903:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6792, + "name": "m", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6759, + "src": "16906:1:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6783, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16857:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16861:12:30", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "16857:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16857:51:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "16848:60:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6795, + "nodeType": "ExpressionStatement", + "src": "16848:60:30" + }, + { + "AST": { + "nativeSrc": "16944:496:30", + "nodeType": "YulBlock", + "src": "16944:496:30", + "statements": [ + { + "nativeSrc": "16958:32:30", + "nodeType": "YulVariableDeclaration", + "src": "16958:32:30", + "value": { + "arguments": [ + { + "name": "result", + "nativeSrc": "16977:6:30", + "nodeType": "YulIdentifier", + "src": "16977:6:30" + }, + { + "kind": "number", + "nativeSrc": "16985:4:30", + "nodeType": "YulLiteral", + "src": "16985:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16973:3:30", + "nodeType": "YulIdentifier", + "src": "16973:3:30" + }, + "nativeSrc": "16973:17:30", + "nodeType": "YulFunctionCall", + "src": "16973:17:30" + }, + "variables": [ + { + "name": "dataPtr", + "nativeSrc": "16962:7:30", + "nodeType": "YulTypedName", + "src": "16962:7:30", + "type": "" + } + ] + }, + { + "nativeSrc": "17080:73:30", + "nodeType": "YulAssignment", + "src": "17080:73:30", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nativeSrc": "17102:3:30", + "nodeType": "YulIdentifier", + "src": "17102:3:30" + }, + "nativeSrc": "17102:5:30", + "nodeType": "YulFunctionCall", + "src": "17102:5:30" + }, + { + "kind": "number", + "nativeSrc": "17109:4:30", + "nodeType": "YulLiteral", + "src": "17109:4:30", + "type": "", + "value": "0x05" + }, + { + "name": "dataPtr", + "nativeSrc": "17115:7:30", + "nodeType": "YulIdentifier", + "src": "17115:7:30" + }, + { + "arguments": [ + { + "name": "result", + "nativeSrc": "17130:6:30", + "nodeType": "YulIdentifier", + "src": "17130:6:30" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17124:5:30", + "nodeType": "YulIdentifier", + "src": "17124:5:30" + }, + "nativeSrc": "17124:13:30", + "nodeType": "YulFunctionCall", + "src": "17124:13:30" + }, + { + "name": "dataPtr", + "nativeSrc": "17139:7:30", + "nodeType": "YulIdentifier", + "src": "17139:7:30" + }, + { + "name": "mLen", + "nativeSrc": "17148:4:30", + "nodeType": "YulIdentifier", + "src": "17148:4:30" + } + ], + "functionName": { + "name": "staticcall", + "nativeSrc": "17091:10:30", + "nodeType": "YulIdentifier", + "src": "17091:10:30" + }, + "nativeSrc": "17091:62:30", + "nodeType": "YulFunctionCall", + "src": "17091:62:30" + }, + "variableNames": [ + { + "name": "success", + "nativeSrc": "17080:7:30", + "nodeType": "YulIdentifier", + "src": "17080:7:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "result", + "nativeSrc": "17309:6:30", + "nodeType": "YulIdentifier", + "src": "17309:6:30" + }, + { + "name": "mLen", + "nativeSrc": "17317:4:30", + "nodeType": "YulIdentifier", + "src": "17317:4:30" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17302:6:30", + "nodeType": "YulIdentifier", + "src": "17302:6:30" + }, + "nativeSrc": "17302:20:30", + "nodeType": "YulFunctionCall", + "src": "17302:20:30" + }, + "nativeSrc": "17302:20:30", + "nodeType": "YulExpressionStatement", + "src": "17302:20:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "17405:4:30", + "nodeType": "YulLiteral", + "src": "17405:4:30", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "dataPtr", + "nativeSrc": "17415:7:30", + "nodeType": "YulIdentifier", + "src": "17415:7:30" + }, + { + "name": "mLen", + "nativeSrc": "17424:4:30", + "nodeType": "YulIdentifier", + "src": "17424:4:30" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17411:3:30", + "nodeType": "YulIdentifier", + "src": "17411:3:30" + }, + "nativeSrc": "17411:18:30", + "nodeType": "YulFunctionCall", + "src": "17411:18:30" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17398:6:30", + "nodeType": "YulIdentifier", + "src": "17398:6:30" + }, + "nativeSrc": "17398:32:30", + "nodeType": "YulFunctionCall", + "src": "17398:32:30" + }, + "nativeSrc": "17398:32:30", + "nodeType": "YulExpressionStatement", + "src": "17398:32:30" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6778, + "isOffset": false, + "isSlot": false, + "src": "17148:4:30", + "valueSize": 1 + }, + { + "declaration": 6778, + "isOffset": false, + "isSlot": false, + "src": "17317:4:30", + "valueSize": 1 + }, + { + "declaration": 6778, + "isOffset": false, + "isSlot": false, + "src": "17424:4:30", + "valueSize": 1 + }, + { + "declaration": 6764, + "isOffset": false, + "isSlot": false, + "src": "16977:6:30", + "valueSize": 1 + }, + { + "declaration": 6764, + "isOffset": false, + "isSlot": false, + "src": "17130:6:30", + "valueSize": 1 + }, + { + "declaration": 6764, + "isOffset": false, + "isSlot": false, + "src": "17309:6:30", + "valueSize": 1 + }, + { + "declaration": 6762, + "isOffset": false, + "isSlot": false, + "src": "17080:7:30", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 6796, + "nodeType": "InlineAssembly", + "src": "16919:521:30" + } + ] + }, + "documentation": { + "id": 6753, + "nodeType": "StructuredDocumentation", + "src": "16427:88:30", + "text": " @dev Variant of {tryModExp} that supports inputs of arbitrary length." + }, + "id": 6798, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryModExp", + "nameLocation": "16529:9:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6755, + "mutability": "mutable", + "name": "b", + "nameLocation": "16561:1:30", + "nodeType": "VariableDeclaration", + "scope": 6798, + "src": "16548:14:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6754, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16548:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6757, + "mutability": "mutable", + "name": "e", + "nameLocation": "16585:1:30", + "nodeType": "VariableDeclaration", + "scope": 6798, + "src": "16572:14:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6756, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16572:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6759, + "mutability": "mutable", + "name": "m", + "nameLocation": "16609:1:30", + "nodeType": "VariableDeclaration", + "scope": 6798, + "src": "16596:14:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6758, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16596:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "16538:78:30" + }, + "returnParameters": { + "id": 6765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6762, + "mutability": "mutable", + "name": "success", + "nameLocation": "16645:7:30", + "nodeType": "VariableDeclaration", + "scope": 6798, + "src": "16640:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6761, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16640:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6764, + "mutability": "mutable", + "name": "result", + "nameLocation": "16667:6:30", + "nodeType": "VariableDeclaration", + "scope": 6798, + "src": "16654:19:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6763, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16654:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "16639:35:30" + }, + "scope": 7671, + "src": "16520:926:30", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6830, + "nodeType": "Block", + "src": "17601:176:30", + "statements": [ + { + "body": { + "id": 6826, + "nodeType": "Block", + "src": "17658:92:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 6821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6817, + "name": "byteArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6801, + "src": "17676:9:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6819, + "indexExpression": { + "id": 6818, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6807, + "src": "17686:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17676:12:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 6820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17692:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17676:17:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6825, + "nodeType": "IfStatement", + "src": "17672:68:30", + "trueBody": { + "id": 6824, + "nodeType": "Block", + "src": "17695:45:30", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 6822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17720:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 6805, + "id": 6823, + "nodeType": "Return", + "src": "17713:12:30" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6810, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6807, + "src": "17631:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6811, + "name": "byteArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6801, + "src": "17635:9:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17645:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17635:16:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17631:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6827, + "initializationExpression": { + "assignments": [ + 6807 + ], + "declarations": [ + { + "constant": false, + "id": 6807, + "mutability": "mutable", + "name": "i", + "nameLocation": "17624:1:30", + "nodeType": "VariableDeclaration", + "scope": 6827, + "src": "17616:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17616:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6809, + "initialValue": { + "hexValue": "30", + "id": 6808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17628:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "17616:13:30" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 6815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "17653:3:30", + "subExpression": { + "id": 6814, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6807, + "src": "17655:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6816, + "nodeType": "ExpressionStatement", + "src": "17653:3:30" + }, + "nodeType": "ForStatement", + "src": "17611:139:30" + }, + { + "expression": { + "hexValue": "74727565", + "id": 6828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17766:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6805, + "id": 6829, + "nodeType": "Return", + "src": "17759:11:30" + } + ] + }, + "documentation": { + "id": 6799, + "nodeType": "StructuredDocumentation", + "src": "17452:72:30", + "text": " @dev Returns whether the provided byte array is zero." + }, + "id": 6831, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_zeroBytes", + "nameLocation": "17538:10:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6801, + "mutability": "mutable", + "name": "byteArray", + "nameLocation": "17562:9:30", + "nodeType": "VariableDeclaration", + "scope": 6831, + "src": "17549:22:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6800, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17549:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "17548:24:30" + }, + "returnParameters": { + "id": 6805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6804, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6831, + "src": "17595:4:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6803, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17595:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "17594:6:30" + }, + "scope": 7671, + "src": "17529:248:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 7049, + "nodeType": "Block", + "src": "18137:5124:30", + "statements": [ + { + "id": 7048, + "nodeType": "UncheckedBlock", + "src": "18147:5108:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6839, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "18241:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "31", + "id": 6840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18246:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18241:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6845, + "nodeType": "IfStatement", + "src": "18237:53:30", + "trueBody": { + "id": 6844, + "nodeType": "Block", + "src": "18249:41:30", + "statements": [ + { + "expression": { + "id": 6842, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "18274:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6838, + "id": 6843, + "nodeType": "Return", + "src": "18267:8:30" + } + ] + } + }, + { + "assignments": [ + 6847 + ], + "declarations": [ + { + "constant": false, + "id": 6847, + "mutability": "mutable", + "name": "aa", + "nameLocation": "19225:2:30", + "nodeType": "VariableDeclaration", + "scope": 7048, + "src": "19217:10:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6846, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19217:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6849, + "initialValue": { + "id": 6848, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "19230:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19217:14:30" + }, + { + "assignments": [ + 6851 + ], + "declarations": [ + { + "constant": false, + "id": 6851, + "mutability": "mutable", + "name": "xn", + "nameLocation": "19253:2:30", + "nodeType": "VariableDeclaration", + "scope": 7048, + "src": "19245:10:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19245:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6853, + "initialValue": { + "hexValue": "31", + "id": 6852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19258:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "VariableDeclarationStatement", + "src": "19245:14:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6854, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19278:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 6857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19285:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 6856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19290:3:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "19285:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "id": 6858, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19284:10:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + }, + "src": "19278:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6869, + "nodeType": "IfStatement", + "src": "19274:92:30", + "trueBody": { + "id": 6868, + "nodeType": "Block", + "src": "19296:70:30", + "statements": [ + { + "expression": { + "id": 6862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6860, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19314:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "313238", + "id": 6861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19321:3:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "19314:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6863, + "nodeType": "ExpressionStatement", + "src": "19314:10:30" + }, + { + "expression": { + "id": 6866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6864, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19342:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "3634", + "id": 6865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19349:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "19342:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6867, + "nodeType": "ExpressionStatement", + "src": "19342:9:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6870, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19383:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + }, + "id": 6873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19390:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3634", + "id": 6872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19395:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "19390:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + } + ], + "id": 6874, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19389:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + }, + "src": "19383:15:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6885, + "nodeType": "IfStatement", + "src": "19379:90:30", + "trueBody": { + "id": 6884, + "nodeType": "Block", + "src": "19400:69:30", + "statements": [ + { + "expression": { + "id": 6878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6876, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19418:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3634", + "id": 6877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19425:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "19418:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6879, + "nodeType": "ExpressionStatement", + "src": "19418:9:30" + }, + { + "expression": { + "id": 6882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6880, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19445:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "3332", + "id": 6881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19452:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "19445:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6883, + "nodeType": "ExpressionStatement", + "src": "19445:9:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6886, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19486:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + }, + "id": 6889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19493:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3332", + "id": 6888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19498:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "19493:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + } + ], + "id": 6890, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19492:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + }, + "src": "19486:15:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6901, + "nodeType": "IfStatement", + "src": "19482:90:30", + "trueBody": { + "id": 6900, + "nodeType": "Block", + "src": "19503:69:30", + "statements": [ + { + "expression": { + "id": 6894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6892, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19521:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3332", + "id": 6893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19528:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "19521:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6895, + "nodeType": "ExpressionStatement", + "src": "19521:9:30" + }, + { + "expression": { + "id": 6898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6896, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19548:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "3136", + "id": 6897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19555:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "19548:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6899, + "nodeType": "ExpressionStatement", + "src": "19548:9:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6902, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19589:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 6905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19596:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 6904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19601:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "19596:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + } + ], + "id": 6906, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19595:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "src": "19589:15:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6917, + "nodeType": "IfStatement", + "src": "19585:89:30", + "trueBody": { + "id": 6916, + "nodeType": "Block", + "src": "19606:68:30", + "statements": [ + { + "expression": { + "id": 6910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6908, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19624:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3136", + "id": 6909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19631:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "19624:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6911, + "nodeType": "ExpressionStatement", + "src": "19624:9:30" + }, + { + "expression": { + "id": 6914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6912, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19651:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "38", + "id": 6913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19658:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "19651:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6915, + "nodeType": "ExpressionStatement", + "src": "19651:8:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6918, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19691:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 6921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19698:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "38", + "id": 6920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19703:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "19698:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + } + ], + "id": 6922, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19697:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "src": "19691:14:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6933, + "nodeType": "IfStatement", + "src": "19687:87:30", + "trueBody": { + "id": 6932, + "nodeType": "Block", + "src": "19707:67:30", + "statements": [ + { + "expression": { + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6924, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19725:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 6925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19732:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "19725:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6927, + "nodeType": "ExpressionStatement", + "src": "19725:8:30" + }, + { + "expression": { + "id": 6930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6928, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19751:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "34", + "id": 6929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19758:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "19751:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6931, + "nodeType": "ExpressionStatement", + "src": "19751:8:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6934, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19791:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "id": 6937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19798:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "34", + "id": 6936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19803:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "19798:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + } + ], + "id": 6938, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19797:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + }, + "src": "19791:14:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6949, + "nodeType": "IfStatement", + "src": "19787:87:30", + "trueBody": { + "id": 6948, + "nodeType": "Block", + "src": "19807:67:30", + "statements": [ + { + "expression": { + "id": 6942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6940, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19825:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 6941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19832:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "19825:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6943, + "nodeType": "ExpressionStatement", + "src": "19825:8:30" + }, + { + "expression": { + "id": 6946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6944, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19851:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "32", + "id": 6945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19858:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "19851:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6947, + "nodeType": "ExpressionStatement", + "src": "19851:8:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6950, + "name": "aa", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6847, + "src": "19891:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "id": 6953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 6951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19898:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "32", + "id": 6952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19903:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "19898:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + } + ], + "id": 6954, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19897:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + }, + "src": "19891:14:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6961, + "nodeType": "IfStatement", + "src": "19887:61:30", + "trueBody": { + "id": 6960, + "nodeType": "Block", + "src": "19907:41:30", + "statements": [ + { + "expression": { + "id": 6958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6956, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "19925:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "<<=", + "rightHandSide": { + "hexValue": "31", + "id": 6957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19932:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "19925:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6959, + "nodeType": "ExpressionStatement", + "src": "19925:8:30" + } + ] + } + }, + { + "expression": { + "id": 6969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6962, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "20368:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "33", + "id": 6963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20374:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6964, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "20378:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20374:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6966, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20373:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 6967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20385:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "20373:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20368:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6970, + "nodeType": "ExpressionStatement", + "src": "20368:18:30" + }, + { + "expression": { + "id": 6980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6971, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22273:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6972, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22279:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6973, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "22284:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6974, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22288:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22284:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22279:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6977, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22278:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 6978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22295:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22278:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22273:23:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6981, + "nodeType": "ExpressionStatement", + "src": "22273:23:30" + }, + { + "expression": { + "id": 6991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6982, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22382:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6983, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22388:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6984, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "22393:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6985, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22397:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22393:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22388:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6988, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22387:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 6989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22404:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22387:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22382:23:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6992, + "nodeType": "ExpressionStatement", + "src": "22382:23:30" + }, + { + "expression": { + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6993, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22493:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6994, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22499:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6995, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "22504:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6996, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22508:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22504:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22499:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6999, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22498:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 7000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22515:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22498:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22493:23:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7003, + "nodeType": "ExpressionStatement", + "src": "22493:23:30" + }, + { + "expression": { + "id": 7013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7004, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22602:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7005, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22608:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7006, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "22613:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 7007, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22617:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22613:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22608:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7010, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22607:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 7011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22624:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22607:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22602:23:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7014, + "nodeType": "ExpressionStatement", + "src": "22602:23:30" + }, + { + "expression": { + "id": 7024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7015, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22712:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7016, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22718:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7017, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "22723:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 7018, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22727:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22723:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22718:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7021, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22717:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 7022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22734:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22717:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22712:23:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7025, + "nodeType": "ExpressionStatement", + "src": "22712:23:30" + }, + { + "expression": { + "id": 7035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7026, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22822:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7027, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22828:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7028, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "22833:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 7029, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "22837:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22833:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22828:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7032, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22827:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 7033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22844:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22827:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22822:23:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7036, + "nodeType": "ExpressionStatement", + "src": "22822:23:30" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7037, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "23211:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7040, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "23232:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7041, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "23237:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 7042, + "name": "xn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6851, + "src": "23241:2:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23237:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23232:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7038, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "23216:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23225:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "23216:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23216:28:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23211:33:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6838, + "id": 7047, + "nodeType": "Return", + "src": "23204:40:30" + } + ] + } + ] + }, + "documentation": { + "id": 6832, + "nodeType": "StructuredDocumentation", + "src": "17783:292:30", + "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n using integer operations." + }, + "id": 7050, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sqrt", + "nameLocation": "18089:4:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6834, + "mutability": "mutable", + "name": "a", + "nameLocation": "18102:1:30", + "nodeType": "VariableDeclaration", + "scope": 7050, + "src": "18094:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18094:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18093:11:30" + }, + "returnParameters": { + "id": 6838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6837, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7050, + "src": "18128:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6836, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18128:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18127:9:30" + }, + "scope": 7671, + "src": "18080:5181:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7083, + "nodeType": "Block", + "src": "23434:171:30", + "statements": [ + { + "id": 7082, + "nodeType": "UncheckedBlock", + "src": "23444:155:30", + "statements": [ + { + "assignments": [ + 7062 + ], + "declarations": [ + { + "constant": false, + "id": 7062, + "mutability": "mutable", + "name": "result", + "nameLocation": "23476:6:30", + "nodeType": "VariableDeclaration", + "scope": 7082, + "src": "23468:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7061, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23468:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7066, + "initialValue": { + "arguments": [ + { + "id": 7064, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "23490:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7063, + "name": "sqrt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7050, + 7084 + ], + "referencedDeclaration": 7050, + "src": "23485:4:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 7065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23485:7:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23468:24:30" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7067, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "23513:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7071, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7056, + "src": "23555:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + ], + "id": 7070, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7670, + "src": "23538:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$6077_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 7072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23538:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7073, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "23568:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 7074, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "23577:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23568:15:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 7076, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "23586:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23568:19:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23538:49:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7068, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "23522:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23531:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "23522:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23522:66:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23513:75:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7060, + "id": 7081, + "nodeType": "Return", + "src": "23506:82:30" + } + ] + } + ] + }, + "documentation": { + "id": 7051, + "nodeType": "StructuredDocumentation", + "src": "23267:86:30", + "text": " @dev Calculates sqrt(a), following the selected rounding direction." + }, + "id": 7084, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sqrt", + "nameLocation": "23367:4:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7053, + "mutability": "mutable", + "name": "a", + "nameLocation": "23380:1:30", + "nodeType": "VariableDeclaration", + "scope": 7084, + "src": "23372:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7052, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23372:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7056, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "23392:8:30", + "nodeType": "VariableDeclaration", + "scope": 7084, + "src": "23383:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 7055, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7054, + "name": "Rounding", + "nameLocations": [ + "23383:8:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6077, + "src": "23383:8:30" + }, + "referencedDeclaration": 6077, + "src": "23383:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "23371:30:30" + }, + "returnParameters": { + "id": 7060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7059, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7084, + "src": "23425:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23425:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23424:9:30" + }, + "scope": 7671, + "src": "23358:247:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7279, + "nodeType": "Block", + "src": "23796:981:30", + "statements": [ + { + "assignments": [ + 7093 + ], + "declarations": [ + { + "constant": false, + "id": 7093, + "mutability": "mutable", + "name": "result", + "nameLocation": "23814:6:30", + "nodeType": "VariableDeclaration", + "scope": 7279, + "src": "23806:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23806:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7095, + "initialValue": { + "hexValue": "30", + "id": 7094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23823:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "23806:18:30" + }, + { + "assignments": [ + 7097 + ], + "declarations": [ + { + "constant": false, + "id": 7097, + "mutability": "mutable", + "name": "exp", + "nameLocation": "23842:3:30", + "nodeType": "VariableDeclaration", + "scope": 7279, + "src": "23834:11:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7096, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23834:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7098, + "nodeType": "VariableDeclarationStatement", + "src": "23834:11:30" + }, + { + "id": 7276, + "nodeType": "UncheckedBlock", + "src": "23855:893:30", + "statements": [ + { + "expression": { + "id": 7113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7099, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "23879:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "313238", + "id": 7100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23885:3:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7103, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "23907:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211455_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1455" + }, + "id": 7109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 7106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23916:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 7105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23921:3:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "23916:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "id": 7107, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "23915:10:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23928:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "23915:14:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211455_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1455" + } + }, + "src": "23907:22:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7101, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "23891:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23900:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "23891:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23891:39:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23885:45:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23879:51:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7114, + "nodeType": "ExpressionStatement", + "src": "23879:51:30" + }, + { + "expression": { + "id": 7117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7115, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "23944:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7116, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "23954:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23944:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7118, + "nodeType": "ExpressionStatement", + "src": "23944:13:30" + }, + { + "expression": { + "id": 7121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7119, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "23971:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7120, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "23981:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23971:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7122, + "nodeType": "ExpressionStatement", + "src": "23971:13:30" + }, + { + "expression": { + "id": 7137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7123, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "23999:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3634", + "id": 7124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24005:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7127, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24026:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_18446744073709551615_by_1", + "typeString": "int_const 18446744073709551615" + }, + "id": 7133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + }, + "id": 7130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24035:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3634", + "id": 7129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24040:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "24035:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + } + ], + "id": 7131, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "24034:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24046:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24034:13:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551615_by_1", + "typeString": "int_const 18446744073709551615" + } + }, + "src": "24026:21:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7125, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24010:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24019:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24010:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24010:38:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24005:43:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23999:49:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7138, + "nodeType": "ExpressionStatement", + "src": "23999:49:30" + }, + { + "expression": { + "id": 7141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7139, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24062:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7140, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24072:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24062:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7142, + "nodeType": "ExpressionStatement", + "src": "24062:13:30" + }, + { + "expression": { + "id": 7145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7143, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24089:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7144, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24099:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24089:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7146, + "nodeType": "ExpressionStatement", + "src": "24089:13:30" + }, + { + "expression": { + "id": 7161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7147, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24117:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 7148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24123:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7151, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24144:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + }, + "id": 7157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + }, + "id": 7154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24153:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3332", + "id": 7153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24158:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "24153:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + } + ], + "id": 7155, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "24152:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24164:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24152:13:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + } + }, + "src": "24144:21:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7149, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24128:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24137:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24128:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24128:38:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24123:43:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24117:49:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7162, + "nodeType": "ExpressionStatement", + "src": "24117:49:30" + }, + { + "expression": { + "id": 7165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7163, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24180:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7164, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24190:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24180:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7166, + "nodeType": "ExpressionStatement", + "src": "24180:13:30" + }, + { + "expression": { + "id": 7169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7167, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24207:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7168, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24217:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24207:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7170, + "nodeType": "ExpressionStatement", + "src": "24207:13:30" + }, + { + "expression": { + "id": 7185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7171, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24235:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3136", + "id": 7172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24241:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7175, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24262:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_65535_by_1", + "typeString": "int_const 65535" + }, + "id": 7181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 7178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24271:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 7177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24276:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "24271:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + } + ], + "id": 7179, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "24270:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24282:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24270:13:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65535_by_1", + "typeString": "int_const 65535" + } + }, + "src": "24262:21:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7173, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24246:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24255:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24246:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24246:38:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24241:43:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24235:49:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7186, + "nodeType": "ExpressionStatement", + "src": "24235:49:30" + }, + { + "expression": { + "id": 7189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7187, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24298:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7188, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24308:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24298:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7190, + "nodeType": "ExpressionStatement", + "src": "24298:13:30" + }, + { + "expression": { + "id": 7193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7191, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24325:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7192, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24335:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24325:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7194, + "nodeType": "ExpressionStatement", + "src": "24325:13:30" + }, + { + "expression": { + "id": 7209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7195, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24353:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "38", + "id": 7196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24359:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7199, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24379:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "id": 7205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 7202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24388:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "38", + "id": 7201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24393:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "24388:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + } + ], + "id": 7203, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "24387:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24398:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24387:12:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + } + }, + "src": "24379:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7197, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24363:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24372:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24363:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24363:37:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24359:41:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24353:47:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7210, + "nodeType": "ExpressionStatement", + "src": "24353:47:30" + }, + { + "expression": { + "id": 7213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7211, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24414:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7212, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24424:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24414:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7214, + "nodeType": "ExpressionStatement", + "src": "24414:13:30" + }, + { + "expression": { + "id": 7217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7215, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24441:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7216, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24451:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24441:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7218, + "nodeType": "ExpressionStatement", + "src": "24441:13:30" + }, + { + "expression": { + "id": 7233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7219, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24469:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "34", + "id": 7220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24475:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7223, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24495:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "id": 7229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "id": 7226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24504:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "34", + "id": 7225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24509:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "24504:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + } + ], + "id": 7227, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "24503:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24514:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24503:12:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + } + }, + "src": "24495:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7221, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24479:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24488:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24479:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24479:37:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24475:41:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24469:47:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7234, + "nodeType": "ExpressionStatement", + "src": "24469:47:30" + }, + { + "expression": { + "id": 7237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7235, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24530:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7236, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24540:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24530:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7238, + "nodeType": "ExpressionStatement", + "src": "24530:13:30" + }, + { + "expression": { + "id": 7241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7239, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24557:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7240, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24567:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24557:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7242, + "nodeType": "ExpressionStatement", + "src": "24557:13:30" + }, + { + "expression": { + "id": 7257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7243, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24585:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 7244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24591:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24611:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "id": 7253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "id": 7250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24620:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "32", + "id": 7249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24625:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "24620:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + } + ], + "id": 7251, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "24619:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24630:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24619:12:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + }, + "src": "24611:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7245, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24595:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24604:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24595:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24595:37:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24591:41:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24585:47:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7258, + "nodeType": "ExpressionStatement", + "src": "24585:47:30" + }, + { + "expression": { + "id": 7261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7259, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24646:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "id": 7260, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24656:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24646:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7262, + "nodeType": "ExpressionStatement", + "src": "24646:13:30" + }, + { + "expression": { + "id": 7265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7263, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24673:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 7264, + "name": "exp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7097, + "src": "24683:3:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24673:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7266, + "nodeType": "ExpressionStatement", + "src": "24673:13:30" + }, + { + "expression": { + "id": 7274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7267, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24701:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7270, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "24727:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 7271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24735:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "24727:9:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7268, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "24711:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24720:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "24711:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24711:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24701:36:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7275, + "nodeType": "ExpressionStatement", + "src": "24701:36:30" + } + ] + }, + { + "expression": { + "id": 7277, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7093, + "src": "24764:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7091, + "id": 7278, + "nodeType": "Return", + "src": "24757:13:30" + } + ] + }, + "documentation": { + "id": 7085, + "nodeType": "StructuredDocumentation", + "src": "23611:119:30", + "text": " @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0." + }, + "id": 7280, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2", + "nameLocation": "23744:4:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7087, + "mutability": "mutable", + "name": "value", + "nameLocation": "23757:5:30", + "nodeType": "VariableDeclaration", + "scope": 7280, + "src": "23749:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23749:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23748:15:30" + }, + "returnParameters": { + "id": 7091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7090, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7280, + "src": "23787:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23787:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23786:9:30" + }, + "scope": 7671, + "src": "23735:1042:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7313, + "nodeType": "Block", + "src": "25010:175:30", + "statements": [ + { + "id": 7312, + "nodeType": "UncheckedBlock", + "src": "25020:159:30", + "statements": [ + { + "assignments": [ + 7292 + ], + "declarations": [ + { + "constant": false, + "id": 7292, + "mutability": "mutable", + "name": "result", + "nameLocation": "25052:6:30", + "nodeType": "VariableDeclaration", + "scope": 7312, + "src": "25044:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25044:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7296, + "initialValue": { + "arguments": [ + { + "id": 7294, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7283, + "src": "25066:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7293, + "name": "log2", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7280, + 7314 + ], + "referencedDeclaration": 7280, + "src": "25061:4:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 7295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25061:11:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25044:28:30" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7297, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7292, + "src": "25093:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7301, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7286, + "src": "25135:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + ], + "id": 7300, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7670, + "src": "25118:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$6077_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 7302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25118:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25148:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "id": 7304, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7292, + "src": "25153:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25148:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 7306, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7283, + "src": "25162:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25148:19:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "25118:49:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7298, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "25102:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25111:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "25102:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25102:66:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25093:75:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7290, + "id": 7311, + "nodeType": "Return", + "src": "25086:82:30" + } + ] + } + ] + }, + "documentation": { + "id": 7281, + "nodeType": "StructuredDocumentation", + "src": "24783:142:30", + "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 7314, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2", + "nameLocation": "24939:4:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7283, + "mutability": "mutable", + "name": "value", + "nameLocation": "24952:5:30", + "nodeType": "VariableDeclaration", + "scope": 7314, + "src": "24944:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24944:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7286, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "24968:8:30", + "nodeType": "VariableDeclaration", + "scope": 7314, + "src": "24959:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 7285, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7284, + "name": "Rounding", + "nameLocations": [ + "24959:8:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6077, + "src": "24959:8:30" + }, + "referencedDeclaration": 6077, + "src": "24959:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "24943:34:30" + }, + "returnParameters": { + "id": 7290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7289, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7314, + "src": "25001:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25001:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25000:9:30" + }, + "scope": 7671, + "src": "24930:255:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7442, + "nodeType": "Block", + "src": "25378:854:30", + "statements": [ + { + "assignments": [ + 7323 + ], + "declarations": [ + { + "constant": false, + "id": 7323, + "mutability": "mutable", + "name": "result", + "nameLocation": "25396:6:30", + "nodeType": "VariableDeclaration", + "scope": 7442, + "src": "25388:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7322, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25388:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7325, + "initialValue": { + "hexValue": "30", + "id": 7324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25405:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "25388:18:30" + }, + { + "id": 7439, + "nodeType": "UncheckedBlock", + "src": "25416:787:30", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7326, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25444:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + }, + "id": 7329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25453:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 7328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25459:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "25453:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + } + }, + "src": "25444:17:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7342, + "nodeType": "IfStatement", + "src": "25440:103:30", + "trueBody": { + "id": 7341, + "nodeType": "Block", + "src": "25463:80:30", + "statements": [ + { + "expression": { + "id": 7335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7331, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25481:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + }, + "id": 7334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25490:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 7333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25496:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "25490:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + } + }, + "src": "25481:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7336, + "nodeType": "ExpressionStatement", + "src": "25481:17:30" + }, + { + "expression": { + "id": 7339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7337, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "25516:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3634", + "id": 7338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25526:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "25516:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7340, + "nodeType": "ExpressionStatement", + "src": "25516:12:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7343, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25560:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + }, + "id": 7346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25569:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 7345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25575:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "25569:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + } + }, + "src": "25560:17:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7359, + "nodeType": "IfStatement", + "src": "25556:103:30", + "trueBody": { + "id": 7358, + "nodeType": "Block", + "src": "25579:80:30", + "statements": [ + { + "expression": { + "id": 7352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7348, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25597:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + }, + "id": 7351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25606:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 7350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25612:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "25606:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + } + }, + "src": "25597:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7353, + "nodeType": "ExpressionStatement", + "src": "25597:17:30" + }, + { + "expression": { + "id": 7356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7354, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "25632:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 7355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25642:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "25632:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7357, + "nodeType": "ExpressionStatement", + "src": "25632:12:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7360, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25676:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "id": 7363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25685:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 7362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25691:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "25685:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + } + }, + "src": "25676:17:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7376, + "nodeType": "IfStatement", + "src": "25672:103:30", + "trueBody": { + "id": 7375, + "nodeType": "Block", + "src": "25695:80:30", + "statements": [ + { + "expression": { + "id": 7369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7365, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25713:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "id": 7368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25722:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 7367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25728:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "25722:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + } + }, + "src": "25713:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7370, + "nodeType": "ExpressionStatement", + "src": "25713:17:30" + }, + { + "expression": { + "id": 7373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7371, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "25748:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 7372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25758:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "25748:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7374, + "nodeType": "ExpressionStatement", + "src": "25748:12:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7377, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25792:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + }, + "id": 7380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25801:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 7379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25807:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "25801:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + } + }, + "src": "25792:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7393, + "nodeType": "IfStatement", + "src": "25788:100:30", + "trueBody": { + "id": 7392, + "nodeType": "Block", + "src": "25810:78:30", + "statements": [ + { + "expression": { + "id": 7386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7382, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25828:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + }, + "id": 7385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25837:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 7384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25843:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "25837:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + } + }, + "src": "25828:16:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7387, + "nodeType": "ExpressionStatement", + "src": "25828:16:30" + }, + { + "expression": { + "id": 7390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7388, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "25862:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 7389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25872:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "25862:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7391, + "nodeType": "ExpressionStatement", + "src": "25862:11:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7394, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25905:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "id": 7397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25914:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 7396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25920:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "25914:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + } + }, + "src": "25905:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7410, + "nodeType": "IfStatement", + "src": "25901:100:30", + "trueBody": { + "id": 7409, + "nodeType": "Block", + "src": "25923:78:30", + "statements": [ + { + "expression": { + "id": 7403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7399, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "25941:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "id": 7402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25950:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 7401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25956:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "25950:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + } + }, + "src": "25941:16:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7404, + "nodeType": "ExpressionStatement", + "src": "25941:16:30" + }, + { + "expression": { + "id": 7407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7405, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "25975:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 7406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25985:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "25975:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7408, + "nodeType": "ExpressionStatement", + "src": "25975:11:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7411, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "26018:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "id": 7414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26027:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 7413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26033:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "26027:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + }, + "src": "26018:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7427, + "nodeType": "IfStatement", + "src": "26014:100:30", + "trueBody": { + "id": 7426, + "nodeType": "Block", + "src": "26036:78:30", + "statements": [ + { + "expression": { + "id": 7420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7416, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "26054:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "id": 7419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26063:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 7418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26069:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "26063:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + }, + "src": "26054:16:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7421, + "nodeType": "ExpressionStatement", + "src": "26054:16:30" + }, + { + "expression": { + "id": 7424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7422, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "26088:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 7423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26098:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "26088:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7425, + "nodeType": "ExpressionStatement", + "src": "26088:11:30" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7428, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "26131:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "id": 7431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26140:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "31", + "id": 7430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26146:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "26140:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + }, + "src": "26131:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7438, + "nodeType": "IfStatement", + "src": "26127:66:30", + "trueBody": { + "id": 7437, + "nodeType": "Block", + "src": "26149:44:30", + "statements": [ + { + "expression": { + "id": 7435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7433, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "26167:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 7434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26177:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "26167:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7436, + "nodeType": "ExpressionStatement", + "src": "26167:11:30" + } + ] + } + } + ] + }, + { + "expression": { + "id": 7440, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "26219:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7321, + "id": 7441, + "nodeType": "Return", + "src": "26212:13:30" + } + ] + }, + "documentation": { + "id": 7315, + "nodeType": "StructuredDocumentation", + "src": "25191:120:30", + "text": " @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0." + }, + "id": 7443, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log10", + "nameLocation": "25325:5:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7317, + "mutability": "mutable", + "name": "value", + "nameLocation": "25339:5:30", + "nodeType": "VariableDeclaration", + "scope": 7443, + "src": "25331:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25331:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25330:15:30" + }, + "returnParameters": { + "id": 7321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7320, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7443, + "src": "25369:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25369:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25368:9:30" + }, + "scope": 7671, + "src": "25316:916:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7476, + "nodeType": "Block", + "src": "26467:177:30", + "statements": [ + { + "id": 7475, + "nodeType": "UncheckedBlock", + "src": "26477:161:30", + "statements": [ + { + "assignments": [ + 7455 + ], + "declarations": [ + { + "constant": false, + "id": 7455, + "mutability": "mutable", + "name": "result", + "nameLocation": "26509:6:30", + "nodeType": "VariableDeclaration", + "scope": 7475, + "src": "26501:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7454, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26501:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7459, + "initialValue": { + "arguments": [ + { + "id": 7457, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7446, + "src": "26524:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7456, + "name": "log10", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7443, + 7477 + ], + "referencedDeclaration": 7443, + "src": "26518:5:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 7458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26518:12:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26501:29:30" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7460, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7455, + "src": "26551:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7464, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7449, + "src": "26593:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + ], + "id": 7463, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7670, + "src": "26576:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$6077_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 7465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26576:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 7466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26606:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "id": 7467, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7455, + "src": "26612:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26606:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 7469, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7446, + "src": "26621:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26606:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "26576:50:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7461, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "26560:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26569:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "26560:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26560:67:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26551:76:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7453, + "id": 7474, + "nodeType": "Return", + "src": "26544:83:30" + } + ] + } + ] + }, + "documentation": { + "id": 7444, + "nodeType": "StructuredDocumentation", + "src": "26238:143:30", + "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 7477, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log10", + "nameLocation": "26395:5:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7446, + "mutability": "mutable", + "name": "value", + "nameLocation": "26409:5:30", + "nodeType": "VariableDeclaration", + "scope": 7477, + "src": "26401:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26401:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7449, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "26425:8:30", + "nodeType": "VariableDeclaration", + "scope": 7477, + "src": "26416:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 7448, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7447, + "name": "Rounding", + "nameLocations": [ + "26416:8:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6077, + "src": "26416:8:30" + }, + "referencedDeclaration": 6077, + "src": "26416:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "26400:34:30" + }, + "returnParameters": { + "id": 7453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7452, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7477, + "src": "26458:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7451, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26458:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26457:9:30" + }, + "scope": 7671, + "src": "26386:258:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7613, + "nodeType": "Block", + "src": "26964:674:30", + "statements": [ + { + "assignments": [ + 7486 + ], + "declarations": [ + { + "constant": false, + "id": 7486, + "mutability": "mutable", + "name": "result", + "nameLocation": "26982:6:30", + "nodeType": "VariableDeclaration", + "scope": 7613, + "src": "26974:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7485, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26974:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7488, + "initialValue": { + "hexValue": "30", + "id": 7487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26991:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "26974:18:30" + }, + { + "assignments": [ + 7490 + ], + "declarations": [ + { + "constant": false, + "id": 7490, + "mutability": "mutable", + "name": "isGt", + "nameLocation": "27010:4:30", + "nodeType": "VariableDeclaration", + "scope": 7613, + "src": "27002:12:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27002:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7491, + "nodeType": "VariableDeclarationStatement", + "src": "27002:12:30" + }, + { + "id": 7610, + "nodeType": "UncheckedBlock", + "src": "27024:585:30", + "statements": [ + { + "expression": { + "id": 7504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7492, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27048:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7495, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27071:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211455_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1455" + }, + "id": 7501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 7498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27080:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 7497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27085:3:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "27080:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "id": 7499, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "27079:10:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27092:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "27079:14:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211455_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1455" + } + }, + "src": "27071:22:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7493, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "27055:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27064:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "27055:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27055:39:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27048:46:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7505, + "nodeType": "ExpressionStatement", + "src": "27048:46:30" + }, + { + "expression": { + "id": 7510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7506, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27108:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7507, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27118:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "313238", + "id": 7508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27125:3:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "27118:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27108:20:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7511, + "nodeType": "ExpressionStatement", + "src": "27108:20:30" + }, + { + "expression": { + "id": 7516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7512, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7486, + "src": "27142:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7513, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27152:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3136", + "id": 7514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27159:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "27152:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27142:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7517, + "nodeType": "ExpressionStatement", + "src": "27142:19:30" + }, + { + "expression": { + "id": 7530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7518, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27176:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7521, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27199:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_18446744073709551615_by_1", + "typeString": "int_const 18446744073709551615" + }, + "id": 7527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + }, + "id": 7524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27208:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3634", + "id": 7523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27213:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "27208:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + } + ], + "id": 7525, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "27207:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27219:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "27207:13:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551615_by_1", + "typeString": "int_const 18446744073709551615" + } + }, + "src": "27199:21:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7519, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "27183:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27192:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "27183:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27183:38:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27176:45:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7531, + "nodeType": "ExpressionStatement", + "src": "27176:45:30" + }, + { + "expression": { + "id": 7536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7532, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27235:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7533, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27245:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3634", + "id": 7534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27252:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "27245:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27235:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7537, + "nodeType": "ExpressionStatement", + "src": "27235:19:30" + }, + { + "expression": { + "id": 7542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7538, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7486, + "src": "27268:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7539, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27278:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "38", + "id": 7540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27285:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "27278:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27268:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7543, + "nodeType": "ExpressionStatement", + "src": "27268:18:30" + }, + { + "expression": { + "id": 7556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7544, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27301:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7547, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27324:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + }, + "id": 7553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + }, + "id": 7550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27333:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3332", + "id": 7549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27338:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "27333:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + } + ], + "id": 7551, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "27332:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27344:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "27332:13:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + } + }, + "src": "27324:21:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7545, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "27308:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27317:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "27308:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27308:38:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27301:45:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7557, + "nodeType": "ExpressionStatement", + "src": "27301:45:30" + }, + { + "expression": { + "id": 7562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7558, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27360:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7559, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27370:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3332", + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27377:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "27370:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27360:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7563, + "nodeType": "ExpressionStatement", + "src": "27360:19:30" + }, + { + "expression": { + "id": 7568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7564, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7486, + "src": "27393:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7565, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27403:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "34", + "id": 7566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27410:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "27403:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27393:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7569, + "nodeType": "ExpressionStatement", + "src": "27393:18:30" + }, + { + "expression": { + "id": 7582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7570, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27426:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7573, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27449:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_65535_by_1", + "typeString": "int_const 65535" + }, + "id": 7579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 7576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27458:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 7575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27463:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "27458:7:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + } + ], + "id": 7577, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "27457:9:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27469:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "27457:13:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_65535_by_1", + "typeString": "int_const 65535" + } + }, + "src": "27449:21:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7571, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "27433:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27442:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "27433:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27433:38:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27426:45:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7583, + "nodeType": "ExpressionStatement", + "src": "27426:45:30" + }, + { + "expression": { + "id": 7588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7584, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27485:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7585, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27495:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3136", + "id": 7586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27502:2:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "27495:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27485:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7589, + "nodeType": "ExpressionStatement", + "src": "27485:19:30" + }, + { + "expression": { + "id": 7594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7590, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7486, + "src": "27518:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7591, + "name": "isGt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7490, + "src": "27528:4:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "32", + "id": 7592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27535:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "27528:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27518:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7595, + "nodeType": "ExpressionStatement", + "src": "27518:18:30" + }, + { + "expression": { + "id": 7608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7596, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7486, + "src": "27551:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7599, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "27577:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "id": 7605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27586:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "38", + "id": 7601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27591:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "27586:6:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + } + ], + "id": 7603, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "27585:8:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 7604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27596:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "27585:12:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + } + }, + "src": "27577:20:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7597, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "27561:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27570:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "27561:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27561:37:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27551:47:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7609, + "nodeType": "ExpressionStatement", + "src": "27551:47:30" + } + ] + }, + { + "expression": { + "id": 7611, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7486, + "src": "27625:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7484, + "id": 7612, + "nodeType": "Return", + "src": "27618:13:30" + } + ] + }, + "documentation": { + "id": 7478, + "nodeType": "StructuredDocumentation", + "src": "26650:246:30", + "text": " @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." + }, + "id": 7614, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log256", + "nameLocation": "26910:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7480, + "mutability": "mutable", + "name": "value", + "nameLocation": "26925:5:30", + "nodeType": "VariableDeclaration", + "scope": 7614, + "src": "26917:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26917:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26916:15:30" + }, + "returnParameters": { + "id": 7484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7483, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7614, + "src": "26955:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26955:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26954:9:30" + }, + "scope": 7671, + "src": "26901:737:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7650, + "nodeType": "Block", + "src": "27875:184:30", + "statements": [ + { + "id": 7649, + "nodeType": "UncheckedBlock", + "src": "27885:168:30", + "statements": [ + { + "assignments": [ + 7626 + ], + "declarations": [ + { + "constant": false, + "id": 7626, + "mutability": "mutable", + "name": "result", + "nameLocation": "27917:6:30", + "nodeType": "VariableDeclaration", + "scope": 7649, + "src": "27909:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27909:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7630, + "initialValue": { + "arguments": [ + { + "id": 7628, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7617, + "src": "27933:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7627, + "name": "log256", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7614, + 7651 + ], + "referencedDeclaration": 7614, + "src": "27926:6:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 7629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27926:13:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27909:30:30" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7631, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7626, + "src": "27960:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7635, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7620, + "src": "28002:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + ], + "id": 7634, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7670, + "src": "27985:16:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$6077_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 7636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27985:26:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 7637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28015:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7638, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7626, + "src": "28021:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "33", + "id": 7639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28031:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "28021:11:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7641, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "28020:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28015:18:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 7643, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7617, + "src": "28036:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28015:26:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "27985:56:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 7632, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "27969:8:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 7633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27978:6:30", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "27969:15:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 7646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27969:73:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27960:82:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7624, + "id": 7648, + "nodeType": "Return", + "src": "27953:89:30" + } + ] + } + ] + }, + "documentation": { + "id": 7615, + "nodeType": "StructuredDocumentation", + "src": "27644:144:30", + "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 7651, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log256", + "nameLocation": "27802:6:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7617, + "mutability": "mutable", + "name": "value", + "nameLocation": "27817:5:30", + "nodeType": "VariableDeclaration", + "scope": 7651, + "src": "27809:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27809:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7620, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "27833:8:30", + "nodeType": "VariableDeclaration", + "scope": 7651, + "src": "27824:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 7619, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7618, + "name": "Rounding", + "nameLocations": [ + "27824:8:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6077, + "src": "27824:8:30" + }, + "referencedDeclaration": 6077, + "src": "27824:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "27808:34:30" + }, + "returnParameters": { + "id": 7624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7623, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7651, + "src": "27866:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27866:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "27865:9:30" + }, + "scope": 7671, + "src": "27793:266:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7669, + "nodeType": "Block", + "src": "28257:48:30", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 7667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 7665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7662, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7655, + "src": "28280:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + ], + "id": 7661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28274:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 7660, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "28274:5:30", + "typeDescriptions": {} + } + }, + "id": 7663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28274:15:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "32", + "id": 7664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28292:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "28274:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 7666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28297:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "28274:24:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 7659, + "id": 7668, + "nodeType": "Return", + "src": "28267:31:30" + } + ] + }, + "documentation": { + "id": 7652, + "nodeType": "StructuredDocumentation", + "src": "28065:113:30", + "text": " @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers." + }, + "id": 7670, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsignedRoundsUp", + "nameLocation": "28192:16:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7655, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "28218:8:30", + "nodeType": "VariableDeclaration", + "scope": 7670, + "src": "28209:17:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 7654, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7653, + "name": "Rounding", + "nameLocations": [ + "28209:8:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6077, + "src": "28209:8:30" + }, + "referencedDeclaration": 6077, + "src": "28209:8:30", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$6077", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "28208:19:30" + }, + "returnParameters": { + "id": 7659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7658, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7670, + "src": "28251:4:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28251:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "28250:6:30" + }, + "scope": 7671, + "src": "28183:122:30", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 7672, + "src": "281:28026:30", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "103:28205:30" + }, + "id": 30 + }, + "@openzeppelin/contracts/utils/math/SafeCast.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/SafeCast.sol", + "exportedSymbols": { + "SafeCast": [ + 9436 + ] + }, + "id": 9437, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7673, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "192:24:31" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SafeCast", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 7674, + "nodeType": "StructuredDocumentation", + "src": "218:550:31", + "text": " @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always." + }, + "fullyImplemented": true, + "id": 9436, + "linearizedBaseContracts": [ + 9436 + ], + "name": "SafeCast", + "nameLocation": "777:8:31", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 7675, + "nodeType": "StructuredDocumentation", + "src": "792:68:31", + "text": " @dev Value doesn't fit in an uint of `bits` size." + }, + "errorSelector": "6dfcc650", + "id": 7681, + "name": "SafeCastOverflowedUintDowncast", + "nameLocation": "871:30:31", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 7680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7677, + "mutability": "mutable", + "name": "bits", + "nameLocation": "908:4:31", + "nodeType": "VariableDeclaration", + "scope": 7681, + "src": "902:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 7676, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "902:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7679, + "mutability": "mutable", + "name": "value", + "nameLocation": "922:5:31", + "nodeType": "VariableDeclaration", + "scope": 7681, + "src": "914:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "914:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "901:27:31" + }, + "src": "865:64:31" + }, + { + "documentation": { + "id": 7682, + "nodeType": "StructuredDocumentation", + "src": "935:75:31", + "text": " @dev An int value doesn't fit in an uint of `bits` size." + }, + "errorSelector": "a8ce4432", + "id": 7686, + "name": "SafeCastOverflowedIntToUint", + "nameLocation": "1021:27:31", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 7685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7684, + "mutability": "mutable", + "name": "value", + "nameLocation": "1056:5:31", + "nodeType": "VariableDeclaration", + "scope": 7686, + "src": "1049:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7683, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1049:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1048:14:31" + }, + "src": "1015:48:31" + }, + { + "documentation": { + "id": 7687, + "nodeType": "StructuredDocumentation", + "src": "1069:67:31", + "text": " @dev Value doesn't fit in an int of `bits` size." + }, + "errorSelector": "327269a7", + "id": 7693, + "name": "SafeCastOverflowedIntDowncast", + "nameLocation": "1147:29:31", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 7692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7689, + "mutability": "mutable", + "name": "bits", + "nameLocation": "1183:4:31", + "nodeType": "VariableDeclaration", + "scope": 7693, + "src": "1177:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 7688, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1177:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7691, + "mutability": "mutable", + "name": "value", + "nameLocation": "1196:5:31", + "nodeType": "VariableDeclaration", + "scope": 7693, + "src": "1189:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7690, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1189:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1176:26:31" + }, + "src": "1141:62:31" + }, + { + "documentation": { + "id": 7694, + "nodeType": "StructuredDocumentation", + "src": "1209:75:31", + "text": " @dev An uint value doesn't fit in an int of `bits` size." + }, + "errorSelector": "24775e06", + "id": 7698, + "name": "SafeCastOverflowedUintToInt", + "nameLocation": "1295:27:31", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 7697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7696, + "mutability": "mutable", + "name": "value", + "nameLocation": "1331:5:31", + "nodeType": "VariableDeclaration", + "scope": 7698, + "src": "1323:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1323:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1322:15:31" + }, + "src": "1289:49:31" + }, + { + "body": { + "id": 7725, + "nodeType": "Block", + "src": "1695:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7706, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7701, + "src": "1709:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1722:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint248_$", + "typeString": "type(uint248)" + }, + "typeName": { + "id": 7708, + "name": "uint248", + "nodeType": "ElementaryTypeName", + "src": "1722:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint248_$", + "typeString": "type(uint248)" + } + ], + "id": 7707, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1717:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1717:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint248", + "typeString": "type(uint248)" + } + }, + "id": 7711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1731:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1717:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint248", + "typeString": "uint248" + } + }, + "src": "1709:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7719, + "nodeType": "IfStatement", + "src": "1705:105:31", + "trueBody": { + "id": 7718, + "nodeType": "Block", + "src": "1736:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323438", + "id": 7714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1788:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_248_by_1", + "typeString": "int_const 248" + }, + "value": "248" + }, + { + "id": 7715, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7701, + "src": "1793:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_248_by_1", + "typeString": "int_const 248" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7713, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "1757:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1757:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7717, + "nodeType": "RevertStatement", + "src": "1750:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7722, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7701, + "src": "1834:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1826:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint248_$", + "typeString": "type(uint248)" + }, + "typeName": { + "id": 7720, + "name": "uint248", + "nodeType": "ElementaryTypeName", + "src": "1826:7:31", + "typeDescriptions": {} + } + }, + "id": 7723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1826:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint248", + "typeString": "uint248" + } + }, + "functionReturnParameters": 7705, + "id": 7724, + "nodeType": "Return", + "src": "1819:21:31" + } + ] + }, + "documentation": { + "id": 7699, + "nodeType": "StructuredDocumentation", + "src": "1344:280:31", + "text": " @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits" + }, + "id": 7726, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint248", + "nameLocation": "1638:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7701, + "mutability": "mutable", + "name": "value", + "nameLocation": "1656:5:31", + "nodeType": "VariableDeclaration", + "scope": 7726, + "src": "1648:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1648:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1647:15:31" + }, + "returnParameters": { + "id": 7705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7704, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7726, + "src": "1686:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint248", + "typeString": "uint248" + }, + "typeName": { + "id": 7703, + "name": "uint248", + "nodeType": "ElementaryTypeName", + "src": "1686:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint248", + "typeString": "uint248" + } + }, + "visibility": "internal" + } + ], + "src": "1685:9:31" + }, + "scope": 9436, + "src": "1629:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7753, + "nodeType": "Block", + "src": "2204:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7734, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7729, + "src": "2218:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2231:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint240_$", + "typeString": "type(uint240)" + }, + "typeName": { + "id": 7736, + "name": "uint240", + "nodeType": "ElementaryTypeName", + "src": "2231:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint240_$", + "typeString": "type(uint240)" + } + ], + "id": 7735, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "2226:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2226:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint240", + "typeString": "type(uint240)" + } + }, + "id": 7739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2240:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "2226:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint240", + "typeString": "uint240" + } + }, + "src": "2218:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7747, + "nodeType": "IfStatement", + "src": "2214:105:31", + "trueBody": { + "id": 7746, + "nodeType": "Block", + "src": "2245:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323430", + "id": 7742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2297:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_240_by_1", + "typeString": "int_const 240" + }, + "value": "240" + }, + { + "id": 7743, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7729, + "src": "2302:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_240_by_1", + "typeString": "int_const 240" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7741, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "2266:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2266:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7745, + "nodeType": "RevertStatement", + "src": "2259:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7750, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7729, + "src": "2343:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2335:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint240_$", + "typeString": "type(uint240)" + }, + "typeName": { + "id": 7748, + "name": "uint240", + "nodeType": "ElementaryTypeName", + "src": "2335:7:31", + "typeDescriptions": {} + } + }, + "id": 7751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2335:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint240", + "typeString": "uint240" + } + }, + "functionReturnParameters": 7733, + "id": 7752, + "nodeType": "Return", + "src": "2328:21:31" + } + ] + }, + "documentation": { + "id": 7727, + "nodeType": "StructuredDocumentation", + "src": "1853:280:31", + "text": " @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits" + }, + "id": 7754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint240", + "nameLocation": "2147:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7729, + "mutability": "mutable", + "name": "value", + "nameLocation": "2165:5:31", + "nodeType": "VariableDeclaration", + "scope": 7754, + "src": "2157:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2157:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2156:15:31" + }, + "returnParameters": { + "id": 7733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7732, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7754, + "src": "2195:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint240", + "typeString": "uint240" + }, + "typeName": { + "id": 7731, + "name": "uint240", + "nodeType": "ElementaryTypeName", + "src": "2195:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint240", + "typeString": "uint240" + } + }, + "visibility": "internal" + } + ], + "src": "2194:9:31" + }, + "scope": 9436, + "src": "2138:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7781, + "nodeType": "Block", + "src": "2713:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7762, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7757, + "src": "2727:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7765, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2740:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint232_$", + "typeString": "type(uint232)" + }, + "typeName": { + "id": 7764, + "name": "uint232", + "nodeType": "ElementaryTypeName", + "src": "2740:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint232_$", + "typeString": "type(uint232)" + } + ], + "id": 7763, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "2735:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2735:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint232", + "typeString": "type(uint232)" + } + }, + "id": 7767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2749:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "2735:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint232", + "typeString": "uint232" + } + }, + "src": "2727:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7775, + "nodeType": "IfStatement", + "src": "2723:105:31", + "trueBody": { + "id": 7774, + "nodeType": "Block", + "src": "2754:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323332", + "id": 7770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2806:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_232_by_1", + "typeString": "int_const 232" + }, + "value": "232" + }, + { + "id": 7771, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7757, + "src": "2811:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_232_by_1", + "typeString": "int_const 232" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7769, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "2775:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2775:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7773, + "nodeType": "RevertStatement", + "src": "2768:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7778, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7757, + "src": "2852:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2844:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint232_$", + "typeString": "type(uint232)" + }, + "typeName": { + "id": 7776, + "name": "uint232", + "nodeType": "ElementaryTypeName", + "src": "2844:7:31", + "typeDescriptions": {} + } + }, + "id": 7779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2844:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint232", + "typeString": "uint232" + } + }, + "functionReturnParameters": 7761, + "id": 7780, + "nodeType": "Return", + "src": "2837:21:31" + } + ] + }, + "documentation": { + "id": 7755, + "nodeType": "StructuredDocumentation", + "src": "2362:280:31", + "text": " @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits" + }, + "id": 7782, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint232", + "nameLocation": "2656:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7757, + "mutability": "mutable", + "name": "value", + "nameLocation": "2674:5:31", + "nodeType": "VariableDeclaration", + "scope": 7782, + "src": "2666:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2666:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2665:15:31" + }, + "returnParameters": { + "id": 7761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7760, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7782, + "src": "2704:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint232", + "typeString": "uint232" + }, + "typeName": { + "id": 7759, + "name": "uint232", + "nodeType": "ElementaryTypeName", + "src": "2704:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint232", + "typeString": "uint232" + } + }, + "visibility": "internal" + } + ], + "src": "2703:9:31" + }, + "scope": 9436, + "src": "2647:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7809, + "nodeType": "Block", + "src": "3222:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7790, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "3236:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3249:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint224_$", + "typeString": "type(uint224)" + }, + "typeName": { + "id": 7792, + "name": "uint224", + "nodeType": "ElementaryTypeName", + "src": "3249:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint224_$", + "typeString": "type(uint224)" + } + ], + "id": 7791, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3244:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3244:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint224", + "typeString": "type(uint224)" + } + }, + "id": 7795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3258:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3244:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint224", + "typeString": "uint224" + } + }, + "src": "3236:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7803, + "nodeType": "IfStatement", + "src": "3232:105:31", + "trueBody": { + "id": 7802, + "nodeType": "Block", + "src": "3263:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323234", + "id": 7798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3315:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_224_by_1", + "typeString": "int_const 224" + }, + "value": "224" + }, + { + "id": 7799, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "3320:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_224_by_1", + "typeString": "int_const 224" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7797, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "3284:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3284:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7801, + "nodeType": "RevertStatement", + "src": "3277:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7806, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "3361:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3353:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint224_$", + "typeString": "type(uint224)" + }, + "typeName": { + "id": 7804, + "name": "uint224", + "nodeType": "ElementaryTypeName", + "src": "3353:7:31", + "typeDescriptions": {} + } + }, + "id": 7807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3353:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint224", + "typeString": "uint224" + } + }, + "functionReturnParameters": 7789, + "id": 7808, + "nodeType": "Return", + "src": "3346:21:31" + } + ] + }, + "documentation": { + "id": 7783, + "nodeType": "StructuredDocumentation", + "src": "2871:280:31", + "text": " @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits" + }, + "id": 7810, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint224", + "nameLocation": "3165:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7785, + "mutability": "mutable", + "name": "value", + "nameLocation": "3183:5:31", + "nodeType": "VariableDeclaration", + "scope": 7810, + "src": "3175:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3175:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3174:15:31" + }, + "returnParameters": { + "id": 7789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7788, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7810, + "src": "3213:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint224", + "typeString": "uint224" + }, + "typeName": { + "id": 7787, + "name": "uint224", + "nodeType": "ElementaryTypeName", + "src": "3213:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint224", + "typeString": "uint224" + } + }, + "visibility": "internal" + } + ], + "src": "3212:9:31" + }, + "scope": 9436, + "src": "3156:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7837, + "nodeType": "Block", + "src": "3731:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7818, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7813, + "src": "3745:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3758:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint216_$", + "typeString": "type(uint216)" + }, + "typeName": { + "id": 7820, + "name": "uint216", + "nodeType": "ElementaryTypeName", + "src": "3758:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint216_$", + "typeString": "type(uint216)" + } + ], + "id": 7819, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3753:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3753:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint216", + "typeString": "type(uint216)" + } + }, + "id": 7823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3767:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3753:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint216", + "typeString": "uint216" + } + }, + "src": "3745:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7831, + "nodeType": "IfStatement", + "src": "3741:105:31", + "trueBody": { + "id": 7830, + "nodeType": "Block", + "src": "3772:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323136", + "id": 7826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3824:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_216_by_1", + "typeString": "int_const 216" + }, + "value": "216" + }, + { + "id": 7827, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7813, + "src": "3829:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_216_by_1", + "typeString": "int_const 216" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7825, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "3793:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3793:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7829, + "nodeType": "RevertStatement", + "src": "3786:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7834, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7813, + "src": "3870:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3862:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint216_$", + "typeString": "type(uint216)" + }, + "typeName": { + "id": 7832, + "name": "uint216", + "nodeType": "ElementaryTypeName", + "src": "3862:7:31", + "typeDescriptions": {} + } + }, + "id": 7835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3862:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint216", + "typeString": "uint216" + } + }, + "functionReturnParameters": 7817, + "id": 7836, + "nodeType": "Return", + "src": "3855:21:31" + } + ] + }, + "documentation": { + "id": 7811, + "nodeType": "StructuredDocumentation", + "src": "3380:280:31", + "text": " @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits" + }, + "id": 7838, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint216", + "nameLocation": "3674:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7813, + "mutability": "mutable", + "name": "value", + "nameLocation": "3692:5:31", + "nodeType": "VariableDeclaration", + "scope": 7838, + "src": "3684:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3684:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3683:15:31" + }, + "returnParameters": { + "id": 7817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7816, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7838, + "src": "3722:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint216", + "typeString": "uint216" + }, + "typeName": { + "id": 7815, + "name": "uint216", + "nodeType": "ElementaryTypeName", + "src": "3722:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint216", + "typeString": "uint216" + } + }, + "visibility": "internal" + } + ], + "src": "3721:9:31" + }, + "scope": 9436, + "src": "3665:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7865, + "nodeType": "Block", + "src": "4240:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7846, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7841, + "src": "4254:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4267:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint208_$", + "typeString": "type(uint208)" + }, + "typeName": { + "id": 7848, + "name": "uint208", + "nodeType": "ElementaryTypeName", + "src": "4267:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint208_$", + "typeString": "type(uint208)" + } + ], + "id": 7847, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4262:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4262:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint208", + "typeString": "type(uint208)" + } + }, + "id": 7851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4276:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4262:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint208", + "typeString": "uint208" + } + }, + "src": "4254:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7859, + "nodeType": "IfStatement", + "src": "4250:105:31", + "trueBody": { + "id": 7858, + "nodeType": "Block", + "src": "4281:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323038", + "id": 7854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4333:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + "value": "208" + }, + { + "id": 7855, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7841, + "src": "4338:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7853, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "4302:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4302:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7857, + "nodeType": "RevertStatement", + "src": "4295:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7862, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7841, + "src": "4379:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4371:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint208_$", + "typeString": "type(uint208)" + }, + "typeName": { + "id": 7860, + "name": "uint208", + "nodeType": "ElementaryTypeName", + "src": "4371:7:31", + "typeDescriptions": {} + } + }, + "id": 7863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4371:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint208", + "typeString": "uint208" + } + }, + "functionReturnParameters": 7845, + "id": 7864, + "nodeType": "Return", + "src": "4364:21:31" + } + ] + }, + "documentation": { + "id": 7839, + "nodeType": "StructuredDocumentation", + "src": "3889:280:31", + "text": " @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits" + }, + "id": 7866, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint208", + "nameLocation": "4183:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7841, + "mutability": "mutable", + "name": "value", + "nameLocation": "4201:5:31", + "nodeType": "VariableDeclaration", + "scope": 7866, + "src": "4193:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4193:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4192:15:31" + }, + "returnParameters": { + "id": 7845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7844, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7866, + "src": "4231:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint208", + "typeString": "uint208" + }, + "typeName": { + "id": 7843, + "name": "uint208", + "nodeType": "ElementaryTypeName", + "src": "4231:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint208", + "typeString": "uint208" + } + }, + "visibility": "internal" + } + ], + "src": "4230:9:31" + }, + "scope": 9436, + "src": "4174:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7893, + "nodeType": "Block", + "src": "4749:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7874, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7869, + "src": "4763:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4776:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint200_$", + "typeString": "type(uint200)" + }, + "typeName": { + "id": 7876, + "name": "uint200", + "nodeType": "ElementaryTypeName", + "src": "4776:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint200_$", + "typeString": "type(uint200)" + } + ], + "id": 7875, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4771:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4771:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint200", + "typeString": "type(uint200)" + } + }, + "id": 7879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4785:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4771:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint200", + "typeString": "uint200" + } + }, + "src": "4763:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7887, + "nodeType": "IfStatement", + "src": "4759:105:31", + "trueBody": { + "id": 7886, + "nodeType": "Block", + "src": "4790:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323030", + "id": 7882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4842:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + { + "id": 7883, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7869, + "src": "4847:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7881, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "4811:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4811:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7885, + "nodeType": "RevertStatement", + "src": "4804:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7890, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7869, + "src": "4888:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4880:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint200_$", + "typeString": "type(uint200)" + }, + "typeName": { + "id": 7888, + "name": "uint200", + "nodeType": "ElementaryTypeName", + "src": "4880:7:31", + "typeDescriptions": {} + } + }, + "id": 7891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4880:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint200", + "typeString": "uint200" + } + }, + "functionReturnParameters": 7873, + "id": 7892, + "nodeType": "Return", + "src": "4873:21:31" + } + ] + }, + "documentation": { + "id": 7867, + "nodeType": "StructuredDocumentation", + "src": "4398:280:31", + "text": " @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits" + }, + "id": 7894, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint200", + "nameLocation": "4692:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7869, + "mutability": "mutable", + "name": "value", + "nameLocation": "4710:5:31", + "nodeType": "VariableDeclaration", + "scope": 7894, + "src": "4702:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4702:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4701:15:31" + }, + "returnParameters": { + "id": 7873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7872, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7894, + "src": "4740:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint200", + "typeString": "uint200" + }, + "typeName": { + "id": 7871, + "name": "uint200", + "nodeType": "ElementaryTypeName", + "src": "4740:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint200", + "typeString": "uint200" + } + }, + "visibility": "internal" + } + ], + "src": "4739:9:31" + }, + "scope": 9436, + "src": "4683:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7921, + "nodeType": "Block", + "src": "5258:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7902, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7897, + "src": "5272:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5285:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint192_$", + "typeString": "type(uint192)" + }, + "typeName": { + "id": 7904, + "name": "uint192", + "nodeType": "ElementaryTypeName", + "src": "5285:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint192_$", + "typeString": "type(uint192)" + } + ], + "id": 7903, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "5280:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5280:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint192", + "typeString": "type(uint192)" + } + }, + "id": 7907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5294:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "5280:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + } + }, + "src": "5272:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7915, + "nodeType": "IfStatement", + "src": "5268:105:31", + "trueBody": { + "id": 7914, + "nodeType": "Block", + "src": "5299:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313932", + "id": 7910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5351:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_192_by_1", + "typeString": "int_const 192" + }, + "value": "192" + }, + { + "id": 7911, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7897, + "src": "5356:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_192_by_1", + "typeString": "int_const 192" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7909, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "5320:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5320:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7913, + "nodeType": "RevertStatement", + "src": "5313:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7918, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7897, + "src": "5397:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5389:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint192_$", + "typeString": "type(uint192)" + }, + "typeName": { + "id": 7916, + "name": "uint192", + "nodeType": "ElementaryTypeName", + "src": "5389:7:31", + "typeDescriptions": {} + } + }, + "id": 7919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5389:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + } + }, + "functionReturnParameters": 7901, + "id": 7920, + "nodeType": "Return", + "src": "5382:21:31" + } + ] + }, + "documentation": { + "id": 7895, + "nodeType": "StructuredDocumentation", + "src": "4907:280:31", + "text": " @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits" + }, + "id": 7922, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint192", + "nameLocation": "5201:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7897, + "mutability": "mutable", + "name": "value", + "nameLocation": "5219:5:31", + "nodeType": "VariableDeclaration", + "scope": 7922, + "src": "5211:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7896, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5211:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5210:15:31" + }, + "returnParameters": { + "id": 7901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7900, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7922, + "src": "5249:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + }, + "typeName": { + "id": 7899, + "name": "uint192", + "nodeType": "ElementaryTypeName", + "src": "5249:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + } + }, + "visibility": "internal" + } + ], + "src": "5248:9:31" + }, + "scope": 9436, + "src": "5192:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7949, + "nodeType": "Block", + "src": "5767:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7930, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7925, + "src": "5781:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5794:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint184_$", + "typeString": "type(uint184)" + }, + "typeName": { + "id": 7932, + "name": "uint184", + "nodeType": "ElementaryTypeName", + "src": "5794:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint184_$", + "typeString": "type(uint184)" + } + ], + "id": 7931, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "5789:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5789:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint184", + "typeString": "type(uint184)" + } + }, + "id": 7935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5803:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "5789:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint184", + "typeString": "uint184" + } + }, + "src": "5781:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7943, + "nodeType": "IfStatement", + "src": "5777:105:31", + "trueBody": { + "id": 7942, + "nodeType": "Block", + "src": "5808:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313834", + "id": 7938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5860:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_184_by_1", + "typeString": "int_const 184" + }, + "value": "184" + }, + { + "id": 7939, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7925, + "src": "5865:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_184_by_1", + "typeString": "int_const 184" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7937, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "5829:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5829:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7941, + "nodeType": "RevertStatement", + "src": "5822:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7946, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7925, + "src": "5906:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5898:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint184_$", + "typeString": "type(uint184)" + }, + "typeName": { + "id": 7944, + "name": "uint184", + "nodeType": "ElementaryTypeName", + "src": "5898:7:31", + "typeDescriptions": {} + } + }, + "id": 7947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5898:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint184", + "typeString": "uint184" + } + }, + "functionReturnParameters": 7929, + "id": 7948, + "nodeType": "Return", + "src": "5891:21:31" + } + ] + }, + "documentation": { + "id": 7923, + "nodeType": "StructuredDocumentation", + "src": "5416:280:31", + "text": " @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits" + }, + "id": 7950, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint184", + "nameLocation": "5710:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7925, + "mutability": "mutable", + "name": "value", + "nameLocation": "5728:5:31", + "nodeType": "VariableDeclaration", + "scope": 7950, + "src": "5720:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7924, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5720:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5719:15:31" + }, + "returnParameters": { + "id": 7929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7928, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7950, + "src": "5758:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint184", + "typeString": "uint184" + }, + "typeName": { + "id": 7927, + "name": "uint184", + "nodeType": "ElementaryTypeName", + "src": "5758:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint184", + "typeString": "uint184" + } + }, + "visibility": "internal" + } + ], + "src": "5757:9:31" + }, + "scope": 9436, + "src": "5701:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7977, + "nodeType": "Block", + "src": "6276:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7958, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7953, + "src": "6290:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6303:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint176_$", + "typeString": "type(uint176)" + }, + "typeName": { + "id": 7960, + "name": "uint176", + "nodeType": "ElementaryTypeName", + "src": "6303:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint176_$", + "typeString": "type(uint176)" + } + ], + "id": 7959, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "6298:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6298:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint176", + "typeString": "type(uint176)" + } + }, + "id": 7963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6312:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "6298:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint176", + "typeString": "uint176" + } + }, + "src": "6290:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7971, + "nodeType": "IfStatement", + "src": "6286:105:31", + "trueBody": { + "id": 7970, + "nodeType": "Block", + "src": "6317:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313736", + "id": 7966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6369:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_176_by_1", + "typeString": "int_const 176" + }, + "value": "176" + }, + { + "id": 7967, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7953, + "src": "6374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_176_by_1", + "typeString": "int_const 176" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7965, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "6338:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6338:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7969, + "nodeType": "RevertStatement", + "src": "6331:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7974, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7953, + "src": "6415:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6407:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint176_$", + "typeString": "type(uint176)" + }, + "typeName": { + "id": 7972, + "name": "uint176", + "nodeType": "ElementaryTypeName", + "src": "6407:7:31", + "typeDescriptions": {} + } + }, + "id": 7975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6407:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint176", + "typeString": "uint176" + } + }, + "functionReturnParameters": 7957, + "id": 7976, + "nodeType": "Return", + "src": "6400:21:31" + } + ] + }, + "documentation": { + "id": 7951, + "nodeType": "StructuredDocumentation", + "src": "5925:280:31", + "text": " @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits" + }, + "id": 7978, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint176", + "nameLocation": "6219:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7953, + "mutability": "mutable", + "name": "value", + "nameLocation": "6237:5:31", + "nodeType": "VariableDeclaration", + "scope": 7978, + "src": "6229:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6229:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6228:15:31" + }, + "returnParameters": { + "id": 7957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7956, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7978, + "src": "6267:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint176", + "typeString": "uint176" + }, + "typeName": { + "id": 7955, + "name": "uint176", + "nodeType": "ElementaryTypeName", + "src": "6267:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint176", + "typeString": "uint176" + } + }, + "visibility": "internal" + } + ], + "src": "6266:9:31" + }, + "scope": 9436, + "src": "6210:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8005, + "nodeType": "Block", + "src": "6785:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7986, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7981, + "src": "6799:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 7989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6812:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint168_$", + "typeString": "type(uint168)" + }, + "typeName": { + "id": 7988, + "name": "uint168", + "nodeType": "ElementaryTypeName", + "src": "6812:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint168_$", + "typeString": "type(uint168)" + } + ], + "id": 7987, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "6807:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6807:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint168", + "typeString": "type(uint168)" + } + }, + "id": 7991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6821:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "6807:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint168", + "typeString": "uint168" + } + }, + "src": "6799:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7999, + "nodeType": "IfStatement", + "src": "6795:105:31", + "trueBody": { + "id": 7998, + "nodeType": "Block", + "src": "6826:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313638", + "id": 7994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6878:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_168_by_1", + "typeString": "int_const 168" + }, + "value": "168" + }, + { + "id": 7995, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7981, + "src": "6883:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_168_by_1", + "typeString": "int_const 168" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7993, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "6847:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 7996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6847:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7997, + "nodeType": "RevertStatement", + "src": "6840:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8002, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7981, + "src": "6924:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6916:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint168_$", + "typeString": "type(uint168)" + }, + "typeName": { + "id": 8000, + "name": "uint168", + "nodeType": "ElementaryTypeName", + "src": "6916:7:31", + "typeDescriptions": {} + } + }, + "id": 8003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6916:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint168", + "typeString": "uint168" + } + }, + "functionReturnParameters": 7985, + "id": 8004, + "nodeType": "Return", + "src": "6909:21:31" + } + ] + }, + "documentation": { + "id": 7979, + "nodeType": "StructuredDocumentation", + "src": "6434:280:31", + "text": " @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits" + }, + "id": 8006, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint168", + "nameLocation": "6728:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7981, + "mutability": "mutable", + "name": "value", + "nameLocation": "6746:5:31", + "nodeType": "VariableDeclaration", + "scope": 8006, + "src": "6738:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6738:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6737:15:31" + }, + "returnParameters": { + "id": 7985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7984, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8006, + "src": "6776:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint168", + "typeString": "uint168" + }, + "typeName": { + "id": 7983, + "name": "uint168", + "nodeType": "ElementaryTypeName", + "src": "6776:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint168", + "typeString": "uint168" + } + }, + "visibility": "internal" + } + ], + "src": "6775:9:31" + }, + "scope": 9436, + "src": "6719:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8033, + "nodeType": "Block", + "src": "7294:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8014, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8009, + "src": "7308:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7321:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 8016, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7321:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + } + ], + "id": 8015, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7316:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7316:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint160", + "typeString": "type(uint160)" + } + }, + "id": 8019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7330:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "7316:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "7308:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8027, + "nodeType": "IfStatement", + "src": "7304:105:31", + "trueBody": { + "id": 8026, + "nodeType": "Block", + "src": "7335:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313630", + "id": 8022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7387:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + { + "id": 8023, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8009, + "src": "7392:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8021, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "7356:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7356:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8025, + "nodeType": "RevertStatement", + "src": "7349:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8030, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8009, + "src": "7433:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7425:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 8028, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7425:7:31", + "typeDescriptions": {} + } + }, + "id": 8031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7425:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "functionReturnParameters": 8013, + "id": 8032, + "nodeType": "Return", + "src": "7418:21:31" + } + ] + }, + "documentation": { + "id": 8007, + "nodeType": "StructuredDocumentation", + "src": "6943:280:31", + "text": " @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits" + }, + "id": 8034, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint160", + "nameLocation": "7237:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8009, + "mutability": "mutable", + "name": "value", + "nameLocation": "7255:5:31", + "nodeType": "VariableDeclaration", + "scope": 8034, + "src": "7247:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7247:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7246:15:31" + }, + "returnParameters": { + "id": 8013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8012, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8034, + "src": "7285:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 8011, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7285:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + } + ], + "src": "7284:9:31" + }, + "scope": 9436, + "src": "7228:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8061, + "nodeType": "Block", + "src": "7803:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8042, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8037, + "src": "7817:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7830:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint152_$", + "typeString": "type(uint152)" + }, + "typeName": { + "id": 8044, + "name": "uint152", + "nodeType": "ElementaryTypeName", + "src": "7830:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint152_$", + "typeString": "type(uint152)" + } + ], + "id": 8043, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7825:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7825:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint152", + "typeString": "type(uint152)" + } + }, + "id": 8047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7839:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "7825:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint152", + "typeString": "uint152" + } + }, + "src": "7817:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8055, + "nodeType": "IfStatement", + "src": "7813:105:31", + "trueBody": { + "id": 8054, + "nodeType": "Block", + "src": "7844:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313532", + "id": 8050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7896:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_152_by_1", + "typeString": "int_const 152" + }, + "value": "152" + }, + { + "id": 8051, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8037, + "src": "7901:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_152_by_1", + "typeString": "int_const 152" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8049, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "7865:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7865:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8053, + "nodeType": "RevertStatement", + "src": "7858:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8058, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8037, + "src": "7942:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7934:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint152_$", + "typeString": "type(uint152)" + }, + "typeName": { + "id": 8056, + "name": "uint152", + "nodeType": "ElementaryTypeName", + "src": "7934:7:31", + "typeDescriptions": {} + } + }, + "id": 8059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7934:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint152", + "typeString": "uint152" + } + }, + "functionReturnParameters": 8041, + "id": 8060, + "nodeType": "Return", + "src": "7927:21:31" + } + ] + }, + "documentation": { + "id": 8035, + "nodeType": "StructuredDocumentation", + "src": "7452:280:31", + "text": " @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits" + }, + "id": 8062, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint152", + "nameLocation": "7746:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8037, + "mutability": "mutable", + "name": "value", + "nameLocation": "7764:5:31", + "nodeType": "VariableDeclaration", + "scope": 8062, + "src": "7756:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8036, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7756:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7755:15:31" + }, + "returnParameters": { + "id": 8041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8040, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8062, + "src": "7794:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint152", + "typeString": "uint152" + }, + "typeName": { + "id": 8039, + "name": "uint152", + "nodeType": "ElementaryTypeName", + "src": "7794:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint152", + "typeString": "uint152" + } + }, + "visibility": "internal" + } + ], + "src": "7793:9:31" + }, + "scope": 9436, + "src": "7737:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8089, + "nodeType": "Block", + "src": "8312:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8070, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8065, + "src": "8326:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8339:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint144_$", + "typeString": "type(uint144)" + }, + "typeName": { + "id": 8072, + "name": "uint144", + "nodeType": "ElementaryTypeName", + "src": "8339:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint144_$", + "typeString": "type(uint144)" + } + ], + "id": 8071, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "8334:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8334:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint144", + "typeString": "type(uint144)" + } + }, + "id": 8075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8348:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "8334:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint144", + "typeString": "uint144" + } + }, + "src": "8326:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8083, + "nodeType": "IfStatement", + "src": "8322:105:31", + "trueBody": { + "id": 8082, + "nodeType": "Block", + "src": "8353:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313434", + "id": 8078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8405:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_144_by_1", + "typeString": "int_const 144" + }, + "value": "144" + }, + { + "id": 8079, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8065, + "src": "8410:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_144_by_1", + "typeString": "int_const 144" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8077, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "8374:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8374:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8081, + "nodeType": "RevertStatement", + "src": "8367:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8086, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8065, + "src": "8451:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8443:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint144_$", + "typeString": "type(uint144)" + }, + "typeName": { + "id": 8084, + "name": "uint144", + "nodeType": "ElementaryTypeName", + "src": "8443:7:31", + "typeDescriptions": {} + } + }, + "id": 8087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8443:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint144", + "typeString": "uint144" + } + }, + "functionReturnParameters": 8069, + "id": 8088, + "nodeType": "Return", + "src": "8436:21:31" + } + ] + }, + "documentation": { + "id": 8063, + "nodeType": "StructuredDocumentation", + "src": "7961:280:31", + "text": " @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits" + }, + "id": 8090, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint144", + "nameLocation": "8255:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8065, + "mutability": "mutable", + "name": "value", + "nameLocation": "8273:5:31", + "nodeType": "VariableDeclaration", + "scope": 8090, + "src": "8265:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8265:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8264:15:31" + }, + "returnParameters": { + "id": 8069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8068, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8090, + "src": "8303:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint144", + "typeString": "uint144" + }, + "typeName": { + "id": 8067, + "name": "uint144", + "nodeType": "ElementaryTypeName", + "src": "8303:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint144", + "typeString": "uint144" + } + }, + "visibility": "internal" + } + ], + "src": "8302:9:31" + }, + "scope": 9436, + "src": "8246:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8117, + "nodeType": "Block", + "src": "8821:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8098, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8093, + "src": "8835:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8848:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint136_$", + "typeString": "type(uint136)" + }, + "typeName": { + "id": 8100, + "name": "uint136", + "nodeType": "ElementaryTypeName", + "src": "8848:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint136_$", + "typeString": "type(uint136)" + } + ], + "id": 8099, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "8843:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8843:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint136", + "typeString": "type(uint136)" + } + }, + "id": 8103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8857:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "8843:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint136", + "typeString": "uint136" + } + }, + "src": "8835:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8111, + "nodeType": "IfStatement", + "src": "8831:105:31", + "trueBody": { + "id": 8110, + "nodeType": "Block", + "src": "8862:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313336", + "id": 8106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8914:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_136_by_1", + "typeString": "int_const 136" + }, + "value": "136" + }, + { + "id": 8107, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8093, + "src": "8919:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_136_by_1", + "typeString": "int_const 136" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8105, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "8883:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8883:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8109, + "nodeType": "RevertStatement", + "src": "8876:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8114, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8093, + "src": "8960:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8952:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint136_$", + "typeString": "type(uint136)" + }, + "typeName": { + "id": 8112, + "name": "uint136", + "nodeType": "ElementaryTypeName", + "src": "8952:7:31", + "typeDescriptions": {} + } + }, + "id": 8115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8952:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint136", + "typeString": "uint136" + } + }, + "functionReturnParameters": 8097, + "id": 8116, + "nodeType": "Return", + "src": "8945:21:31" + } + ] + }, + "documentation": { + "id": 8091, + "nodeType": "StructuredDocumentation", + "src": "8470:280:31", + "text": " @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits" + }, + "id": 8118, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint136", + "nameLocation": "8764:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8093, + "mutability": "mutable", + "name": "value", + "nameLocation": "8782:5:31", + "nodeType": "VariableDeclaration", + "scope": 8118, + "src": "8774:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8774:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8773:15:31" + }, + "returnParameters": { + "id": 8097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8096, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8118, + "src": "8812:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint136", + "typeString": "uint136" + }, + "typeName": { + "id": 8095, + "name": "uint136", + "nodeType": "ElementaryTypeName", + "src": "8812:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint136", + "typeString": "uint136" + } + }, + "visibility": "internal" + } + ], + "src": "8811:9:31" + }, + "scope": 9436, + "src": "8755:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8145, + "nodeType": "Block", + "src": "9330:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8126, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8121, + "src": "9344:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9357:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 8128, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "9357:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + } + ], + "id": 8127, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "9352:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9352:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint128", + "typeString": "type(uint128)" + } + }, + "id": 8131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9366:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "9352:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "src": "9344:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8139, + "nodeType": "IfStatement", + "src": "9340:105:31", + "trueBody": { + "id": 8138, + "nodeType": "Block", + "src": "9371:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313238", + "id": 8134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9423:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + { + "id": 8135, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8121, + "src": "9428:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8133, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "9392:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9392:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8137, + "nodeType": "RevertStatement", + "src": "9385:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8142, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8121, + "src": "9469:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9461:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 8140, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "9461:7:31", + "typeDescriptions": {} + } + }, + "id": 8143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9461:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "functionReturnParameters": 8125, + "id": 8144, + "nodeType": "Return", + "src": "9454:21:31" + } + ] + }, + "documentation": { + "id": 8119, + "nodeType": "StructuredDocumentation", + "src": "8979:280:31", + "text": " @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits" + }, + "id": 8146, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint128", + "nameLocation": "9273:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8121, + "mutability": "mutable", + "name": "value", + "nameLocation": "9291:5:31", + "nodeType": "VariableDeclaration", + "scope": 8146, + "src": "9283:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9283:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9282:15:31" + }, + "returnParameters": { + "id": 8125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8124, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8146, + "src": "9321:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + }, + "typeName": { + "id": 8123, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "9321:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "visibility": "internal" + } + ], + "src": "9320:9:31" + }, + "scope": 9436, + "src": "9264:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8173, + "nodeType": "Block", + "src": "9839:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8154, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8149, + "src": "9853:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9866:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint120_$", + "typeString": "type(uint120)" + }, + "typeName": { + "id": 8156, + "name": "uint120", + "nodeType": "ElementaryTypeName", + "src": "9866:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint120_$", + "typeString": "type(uint120)" + } + ], + "id": 8155, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "9861:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9861:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint120", + "typeString": "type(uint120)" + } + }, + "id": 8159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9875:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "9861:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint120", + "typeString": "uint120" + } + }, + "src": "9853:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8167, + "nodeType": "IfStatement", + "src": "9849:105:31", + "trueBody": { + "id": 8166, + "nodeType": "Block", + "src": "9880:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313230", + "id": 8162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9932:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_120_by_1", + "typeString": "int_const 120" + }, + "value": "120" + }, + { + "id": 8163, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8149, + "src": "9937:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_120_by_1", + "typeString": "int_const 120" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8161, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "9901:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9901:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8165, + "nodeType": "RevertStatement", + "src": "9894:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8170, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8149, + "src": "9978:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9970:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint120_$", + "typeString": "type(uint120)" + }, + "typeName": { + "id": 8168, + "name": "uint120", + "nodeType": "ElementaryTypeName", + "src": "9970:7:31", + "typeDescriptions": {} + } + }, + "id": 8171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9970:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint120", + "typeString": "uint120" + } + }, + "functionReturnParameters": 8153, + "id": 8172, + "nodeType": "Return", + "src": "9963:21:31" + } + ] + }, + "documentation": { + "id": 8147, + "nodeType": "StructuredDocumentation", + "src": "9488:280:31", + "text": " @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits" + }, + "id": 8174, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint120", + "nameLocation": "9782:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8149, + "mutability": "mutable", + "name": "value", + "nameLocation": "9800:5:31", + "nodeType": "VariableDeclaration", + "scope": 8174, + "src": "9792:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9792:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9791:15:31" + }, + "returnParameters": { + "id": 8153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8152, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8174, + "src": "9830:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint120", + "typeString": "uint120" + }, + "typeName": { + "id": 8151, + "name": "uint120", + "nodeType": "ElementaryTypeName", + "src": "9830:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint120", + "typeString": "uint120" + } + }, + "visibility": "internal" + } + ], + "src": "9829:9:31" + }, + "scope": 9436, + "src": "9773:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8201, + "nodeType": "Block", + "src": "10348:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8182, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8177, + "src": "10362:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10375:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint112_$", + "typeString": "type(uint112)" + }, + "typeName": { + "id": 8184, + "name": "uint112", + "nodeType": "ElementaryTypeName", + "src": "10375:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint112_$", + "typeString": "type(uint112)" + } + ], + "id": 8183, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10370:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10370:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint112", + "typeString": "type(uint112)" + } + }, + "id": 8187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10384:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "10370:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "src": "10362:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8195, + "nodeType": "IfStatement", + "src": "10358:105:31", + "trueBody": { + "id": 8194, + "nodeType": "Block", + "src": "10389:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313132", + "id": 8190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10441:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_112_by_1", + "typeString": "int_const 112" + }, + "value": "112" + }, + { + "id": 8191, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8177, + "src": "10446:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_112_by_1", + "typeString": "int_const 112" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8189, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "10410:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10410:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8193, + "nodeType": "RevertStatement", + "src": "10403:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8198, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8177, + "src": "10487:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10479:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint112_$", + "typeString": "type(uint112)" + }, + "typeName": { + "id": 8196, + "name": "uint112", + "nodeType": "ElementaryTypeName", + "src": "10479:7:31", + "typeDescriptions": {} + } + }, + "id": 8199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10479:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "functionReturnParameters": 8181, + "id": 8200, + "nodeType": "Return", + "src": "10472:21:31" + } + ] + }, + "documentation": { + "id": 8175, + "nodeType": "StructuredDocumentation", + "src": "9997:280:31", + "text": " @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits" + }, + "id": 8202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint112", + "nameLocation": "10291:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8177, + "mutability": "mutable", + "name": "value", + "nameLocation": "10309:5:31", + "nodeType": "VariableDeclaration", + "scope": 8202, + "src": "10301:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8176, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10301:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10300:15:31" + }, + "returnParameters": { + "id": 8181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8180, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8202, + "src": "10339:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": 8179, + "name": "uint112", + "nodeType": "ElementaryTypeName", + "src": "10339:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "internal" + } + ], + "src": "10338:9:31" + }, + "scope": 9436, + "src": "10282:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8229, + "nodeType": "Block", + "src": "10857:152:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8210, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "10871:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10884:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint104_$", + "typeString": "type(uint104)" + }, + "typeName": { + "id": 8212, + "name": "uint104", + "nodeType": "ElementaryTypeName", + "src": "10884:7:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint104_$", + "typeString": "type(uint104)" + } + ], + "id": 8211, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10879:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10879:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint104", + "typeString": "type(uint104)" + } + }, + "id": 8215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10893:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "10879:17:31", + "typeDescriptions": { + "typeIdentifier": "t_uint104", + "typeString": "uint104" + } + }, + "src": "10871:25:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8223, + "nodeType": "IfStatement", + "src": "10867:105:31", + "trueBody": { + "id": 8222, + "nodeType": "Block", + "src": "10898:74:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313034", + "id": 8218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10950:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_104_by_1", + "typeString": "int_const 104" + }, + "value": "104" + }, + { + "id": 8219, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "10955:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_104_by_1", + "typeString": "int_const 104" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8217, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "10919:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10919:42:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8221, + "nodeType": "RevertStatement", + "src": "10912:49:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8226, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "10996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10988:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint104_$", + "typeString": "type(uint104)" + }, + "typeName": { + "id": 8224, + "name": "uint104", + "nodeType": "ElementaryTypeName", + "src": "10988:7:31", + "typeDescriptions": {} + } + }, + "id": 8227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10988:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint104", + "typeString": "uint104" + } + }, + "functionReturnParameters": 8209, + "id": 8228, + "nodeType": "Return", + "src": "10981:21:31" + } + ] + }, + "documentation": { + "id": 8203, + "nodeType": "StructuredDocumentation", + "src": "10506:280:31", + "text": " @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits" + }, + "id": 8230, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint104", + "nameLocation": "10800:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8205, + "mutability": "mutable", + "name": "value", + "nameLocation": "10818:5:31", + "nodeType": "VariableDeclaration", + "scope": 8230, + "src": "10810:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10810:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10809:15:31" + }, + "returnParameters": { + "id": 8209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8208, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8230, + "src": "10848:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint104", + "typeString": "uint104" + }, + "typeName": { + "id": 8207, + "name": "uint104", + "nodeType": "ElementaryTypeName", + "src": "10848:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint104", + "typeString": "uint104" + } + }, + "visibility": "internal" + } + ], + "src": "10847:9:31" + }, + "scope": 9436, + "src": "10791:218:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8257, + "nodeType": "Block", + "src": "11360:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8238, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8233, + "src": "11374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11387:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint96_$", + "typeString": "type(uint96)" + }, + "typeName": { + "id": 8240, + "name": "uint96", + "nodeType": "ElementaryTypeName", + "src": "11387:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint96_$", + "typeString": "type(uint96)" + } + ], + "id": 8239, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "11382:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11382:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint96", + "typeString": "type(uint96)" + } + }, + "id": 8243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11395:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "11382:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + }, + "src": "11374:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8251, + "nodeType": "IfStatement", + "src": "11370:103:31", + "trueBody": { + "id": 8250, + "nodeType": "Block", + "src": "11400:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3936", + "id": 8246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11452:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + "value": "96" + }, + { + "id": 8247, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8233, + "src": "11456:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8245, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "11421:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11421:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8249, + "nodeType": "RevertStatement", + "src": "11414:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8254, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8233, + "src": "11496:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11489:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint96_$", + "typeString": "type(uint96)" + }, + "typeName": { + "id": 8252, + "name": "uint96", + "nodeType": "ElementaryTypeName", + "src": "11489:6:31", + "typeDescriptions": {} + } + }, + "id": 8255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11489:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + }, + "functionReturnParameters": 8237, + "id": 8256, + "nodeType": "Return", + "src": "11482:20:31" + } + ] + }, + "documentation": { + "id": 8231, + "nodeType": "StructuredDocumentation", + "src": "11015:276:31", + "text": " @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits" + }, + "id": 8258, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint96", + "nameLocation": "11305:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8233, + "mutability": "mutable", + "name": "value", + "nameLocation": "11322:5:31", + "nodeType": "VariableDeclaration", + "scope": 8258, + "src": "11314:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8232, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11314:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11313:15:31" + }, + "returnParameters": { + "id": 8237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8236, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8258, + "src": "11352:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + }, + "typeName": { + "id": 8235, + "name": "uint96", + "nodeType": "ElementaryTypeName", + "src": "11352:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + }, + "visibility": "internal" + } + ], + "src": "11351:8:31" + }, + "scope": 9436, + "src": "11296:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8285, + "nodeType": "Block", + "src": "11860:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8266, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8261, + "src": "11874:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11887:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint88_$", + "typeString": "type(uint88)" + }, + "typeName": { + "id": 8268, + "name": "uint88", + "nodeType": "ElementaryTypeName", + "src": "11887:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint88_$", + "typeString": "type(uint88)" + } + ], + "id": 8267, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "11882:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11882:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint88", + "typeString": "type(uint88)" + } + }, + "id": 8271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11895:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "11882:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint88", + "typeString": "uint88" + } + }, + "src": "11874:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8279, + "nodeType": "IfStatement", + "src": "11870:103:31", + "trueBody": { + "id": 8278, + "nodeType": "Block", + "src": "11900:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3838", + "id": 8274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11952:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_88_by_1", + "typeString": "int_const 88" + }, + "value": "88" + }, + { + "id": 8275, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8261, + "src": "11956:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_88_by_1", + "typeString": "int_const 88" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8273, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "11921:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11921:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8277, + "nodeType": "RevertStatement", + "src": "11914:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8282, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8261, + "src": "11996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11989:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint88_$", + "typeString": "type(uint88)" + }, + "typeName": { + "id": 8280, + "name": "uint88", + "nodeType": "ElementaryTypeName", + "src": "11989:6:31", + "typeDescriptions": {} + } + }, + "id": 8283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11989:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint88", + "typeString": "uint88" + } + }, + "functionReturnParameters": 8265, + "id": 8284, + "nodeType": "Return", + "src": "11982:20:31" + } + ] + }, + "documentation": { + "id": 8259, + "nodeType": "StructuredDocumentation", + "src": "11515:276:31", + "text": " @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits" + }, + "id": 8286, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint88", + "nameLocation": "11805:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8262, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8261, + "mutability": "mutable", + "name": "value", + "nameLocation": "11822:5:31", + "nodeType": "VariableDeclaration", + "scope": 8286, + "src": "11814:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8260, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11814:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11813:15:31" + }, + "returnParameters": { + "id": 8265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8264, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8286, + "src": "11852:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint88", + "typeString": "uint88" + }, + "typeName": { + "id": 8263, + "name": "uint88", + "nodeType": "ElementaryTypeName", + "src": "11852:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint88", + "typeString": "uint88" + } + }, + "visibility": "internal" + } + ], + "src": "11851:8:31" + }, + "scope": 9436, + "src": "11796:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8313, + "nodeType": "Block", + "src": "12360:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8294, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8289, + "src": "12374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12387:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint80_$", + "typeString": "type(uint80)" + }, + "typeName": { + "id": 8296, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "12387:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint80_$", + "typeString": "type(uint80)" + } + ], + "id": 8295, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "12382:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12382:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint80", + "typeString": "type(uint80)" + } + }, + "id": 8299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12395:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "12382:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "src": "12374:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8307, + "nodeType": "IfStatement", + "src": "12370:103:31", + "trueBody": { + "id": 8306, + "nodeType": "Block", + "src": "12400:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3830", + "id": 8302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12452:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + "value": "80" + }, + { + "id": 8303, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8289, + "src": "12456:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8301, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "12421:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12421:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8305, + "nodeType": "RevertStatement", + "src": "12414:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8310, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8289, + "src": "12496:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12489:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint80_$", + "typeString": "type(uint80)" + }, + "typeName": { + "id": 8308, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "12489:6:31", + "typeDescriptions": {} + } + }, + "id": 8311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12489:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "functionReturnParameters": 8293, + "id": 8312, + "nodeType": "Return", + "src": "12482:20:31" + } + ] + }, + "documentation": { + "id": 8287, + "nodeType": "StructuredDocumentation", + "src": "12015:276:31", + "text": " @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits" + }, + "id": 8314, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint80", + "nameLocation": "12305:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8289, + "mutability": "mutable", + "name": "value", + "nameLocation": "12322:5:31", + "nodeType": "VariableDeclaration", + "scope": 8314, + "src": "12314:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12314:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12313:15:31" + }, + "returnParameters": { + "id": 8293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8292, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8314, + "src": "12352:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + }, + "typeName": { + "id": 8291, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "12352:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "visibility": "internal" + } + ], + "src": "12351:8:31" + }, + "scope": 9436, + "src": "12296:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8341, + "nodeType": "Block", + "src": "12860:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8322, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "12874:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12887:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint72_$", + "typeString": "type(uint72)" + }, + "typeName": { + "id": 8324, + "name": "uint72", + "nodeType": "ElementaryTypeName", + "src": "12887:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint72_$", + "typeString": "type(uint72)" + } + ], + "id": 8323, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "12882:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12882:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint72", + "typeString": "type(uint72)" + } + }, + "id": 8327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12895:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "12882:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint72", + "typeString": "uint72" + } + }, + "src": "12874:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8335, + "nodeType": "IfStatement", + "src": "12870:103:31", + "trueBody": { + "id": 8334, + "nodeType": "Block", + "src": "12900:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3732", + "id": 8330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12952:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_72_by_1", + "typeString": "int_const 72" + }, + "value": "72" + }, + { + "id": 8331, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "12956:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_72_by_1", + "typeString": "int_const 72" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8329, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "12921:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12921:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8333, + "nodeType": "RevertStatement", + "src": "12914:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8338, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "12996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12989:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint72_$", + "typeString": "type(uint72)" + }, + "typeName": { + "id": 8336, + "name": "uint72", + "nodeType": "ElementaryTypeName", + "src": "12989:6:31", + "typeDescriptions": {} + } + }, + "id": 8339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12989:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint72", + "typeString": "uint72" + } + }, + "functionReturnParameters": 8321, + "id": 8340, + "nodeType": "Return", + "src": "12982:20:31" + } + ] + }, + "documentation": { + "id": 8315, + "nodeType": "StructuredDocumentation", + "src": "12515:276:31", + "text": " @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits" + }, + "id": 8342, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint72", + "nameLocation": "12805:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8317, + "mutability": "mutable", + "name": "value", + "nameLocation": "12822:5:31", + "nodeType": "VariableDeclaration", + "scope": 8342, + "src": "12814:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12814:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12813:15:31" + }, + "returnParameters": { + "id": 8321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8320, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8342, + "src": "12852:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint72", + "typeString": "uint72" + }, + "typeName": { + "id": 8319, + "name": "uint72", + "nodeType": "ElementaryTypeName", + "src": "12852:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint72", + "typeString": "uint72" + } + }, + "visibility": "internal" + } + ], + "src": "12851:8:31" + }, + "scope": 9436, + "src": "12796:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8369, + "nodeType": "Block", + "src": "13360:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8350, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8345, + "src": "13374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13387:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 8352, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13387:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + } + ], + "id": 8351, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "13382:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13382:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint64", + "typeString": "type(uint64)" + } + }, + "id": 8355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13395:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "13382:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "13374:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8363, + "nodeType": "IfStatement", + "src": "13370:103:31", + "trueBody": { + "id": 8362, + "nodeType": "Block", + "src": "13400:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3634", + "id": 8358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13452:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + { + "id": 8359, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8345, + "src": "13456:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8357, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "13421:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13421:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8361, + "nodeType": "RevertStatement", + "src": "13414:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8366, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8345, + "src": "13496:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13489:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 8364, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13489:6:31", + "typeDescriptions": {} + } + }, + "id": 8367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13489:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 8349, + "id": 8368, + "nodeType": "Return", + "src": "13482:20:31" + } + ] + }, + "documentation": { + "id": 8343, + "nodeType": "StructuredDocumentation", + "src": "13015:276:31", + "text": " @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits" + }, + "id": 8370, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint64", + "nameLocation": "13305:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8345, + "mutability": "mutable", + "name": "value", + "nameLocation": "13322:5:31", + "nodeType": "VariableDeclaration", + "scope": 8370, + "src": "13314:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8344, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13314:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13313:15:31" + }, + "returnParameters": { + "id": 8349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8348, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8370, + "src": "13352:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 8347, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13352:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "13351:8:31" + }, + "scope": 9436, + "src": "13296:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8397, + "nodeType": "Block", + "src": "13860:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8378, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8373, + "src": "13874:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13887:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint56_$", + "typeString": "type(uint56)" + }, + "typeName": { + "id": 8380, + "name": "uint56", + "nodeType": "ElementaryTypeName", + "src": "13887:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint56_$", + "typeString": "type(uint56)" + } + ], + "id": 8379, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "13882:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13882:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint56", + "typeString": "type(uint56)" + } + }, + "id": 8383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13895:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "13882:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint56", + "typeString": "uint56" + } + }, + "src": "13874:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8391, + "nodeType": "IfStatement", + "src": "13870:103:31", + "trueBody": { + "id": 8390, + "nodeType": "Block", + "src": "13900:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3536", + "id": 8386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13952:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + { + "id": 8387, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8373, + "src": "13956:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8385, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "13921:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13921:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8389, + "nodeType": "RevertStatement", + "src": "13914:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8394, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8373, + "src": "13996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13989:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint56_$", + "typeString": "type(uint56)" + }, + "typeName": { + "id": 8392, + "name": "uint56", + "nodeType": "ElementaryTypeName", + "src": "13989:6:31", + "typeDescriptions": {} + } + }, + "id": 8395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13989:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint56", + "typeString": "uint56" + } + }, + "functionReturnParameters": 8377, + "id": 8396, + "nodeType": "Return", + "src": "13982:20:31" + } + ] + }, + "documentation": { + "id": 8371, + "nodeType": "StructuredDocumentation", + "src": "13515:276:31", + "text": " @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits" + }, + "id": 8398, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint56", + "nameLocation": "13805:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8373, + "mutability": "mutable", + "name": "value", + "nameLocation": "13822:5:31", + "nodeType": "VariableDeclaration", + "scope": 8398, + "src": "13814:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13814:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13813:15:31" + }, + "returnParameters": { + "id": 8377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8376, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8398, + "src": "13852:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint56", + "typeString": "uint56" + }, + "typeName": { + "id": 8375, + "name": "uint56", + "nodeType": "ElementaryTypeName", + "src": "13852:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint56", + "typeString": "uint56" + } + }, + "visibility": "internal" + } + ], + "src": "13851:8:31" + }, + "scope": 9436, + "src": "13796:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8425, + "nodeType": "Block", + "src": "14360:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8406, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8401, + "src": "14374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14387:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 8408, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "14387:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + } + ], + "id": 8407, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "14382:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14382:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint48", + "typeString": "type(uint48)" + } + }, + "id": 8411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14395:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "14382:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "14374:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8419, + "nodeType": "IfStatement", + "src": "14370:103:31", + "trueBody": { + "id": 8418, + "nodeType": "Block", + "src": "14400:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3438", + "id": 8414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14452:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + { + "id": 8415, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8401, + "src": "14456:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8413, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "14421:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14421:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8417, + "nodeType": "RevertStatement", + "src": "14414:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8422, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8401, + "src": "14496:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14489:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 8420, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "14489:6:31", + "typeDescriptions": {} + } + }, + "id": 8423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14489:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "functionReturnParameters": 8405, + "id": 8424, + "nodeType": "Return", + "src": "14482:20:31" + } + ] + }, + "documentation": { + "id": 8399, + "nodeType": "StructuredDocumentation", + "src": "14015:276:31", + "text": " @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits" + }, + "id": 8426, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint48", + "nameLocation": "14305:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8401, + "mutability": "mutable", + "name": "value", + "nameLocation": "14322:5:31", + "nodeType": "VariableDeclaration", + "scope": 8426, + "src": "14314:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14314:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14313:15:31" + }, + "returnParameters": { + "id": 8405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8404, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8426, + "src": "14352:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 8403, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "14352:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "14351:8:31" + }, + "scope": 9436, + "src": "14296:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8453, + "nodeType": "Block", + "src": "14860:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8434, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8429, + "src": "14874:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14887:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint40_$", + "typeString": "type(uint40)" + }, + "typeName": { + "id": 8436, + "name": "uint40", + "nodeType": "ElementaryTypeName", + "src": "14887:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint40_$", + "typeString": "type(uint40)" + } + ], + "id": 8435, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "14882:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14882:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint40", + "typeString": "type(uint40)" + } + }, + "id": 8439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14895:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "14882:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint40", + "typeString": "uint40" + } + }, + "src": "14874:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8447, + "nodeType": "IfStatement", + "src": "14870:103:31", + "trueBody": { + "id": 8446, + "nodeType": "Block", + "src": "14900:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3430", + "id": 8442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14952:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + { + "id": 8443, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8429, + "src": "14956:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8441, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "14921:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14921:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8445, + "nodeType": "RevertStatement", + "src": "14914:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8450, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8429, + "src": "14996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14989:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint40_$", + "typeString": "type(uint40)" + }, + "typeName": { + "id": 8448, + "name": "uint40", + "nodeType": "ElementaryTypeName", + "src": "14989:6:31", + "typeDescriptions": {} + } + }, + "id": 8451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14989:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint40", + "typeString": "uint40" + } + }, + "functionReturnParameters": 8433, + "id": 8452, + "nodeType": "Return", + "src": "14982:20:31" + } + ] + }, + "documentation": { + "id": 8427, + "nodeType": "StructuredDocumentation", + "src": "14515:276:31", + "text": " @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits" + }, + "id": 8454, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint40", + "nameLocation": "14805:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8429, + "mutability": "mutable", + "name": "value", + "nameLocation": "14822:5:31", + "nodeType": "VariableDeclaration", + "scope": 8454, + "src": "14814:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14814:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14813:15:31" + }, + "returnParameters": { + "id": 8433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8432, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8454, + "src": "14852:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint40", + "typeString": "uint40" + }, + "typeName": { + "id": 8431, + "name": "uint40", + "nodeType": "ElementaryTypeName", + "src": "14852:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint40", + "typeString": "uint40" + } + }, + "visibility": "internal" + } + ], + "src": "14851:8:31" + }, + "scope": 9436, + "src": "14796:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8481, + "nodeType": "Block", + "src": "15360:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8462, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8457, + "src": "15374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15387:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 8464, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "15387:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + } + ], + "id": 8463, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "15382:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15382:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint32", + "typeString": "type(uint32)" + } + }, + "id": 8467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15395:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "15382:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "15374:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8475, + "nodeType": "IfStatement", + "src": "15370:103:31", + "trueBody": { + "id": 8474, + "nodeType": "Block", + "src": "15400:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3332", + "id": 8470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15452:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "id": 8471, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8457, + "src": "15456:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8469, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "15421:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15421:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8473, + "nodeType": "RevertStatement", + "src": "15414:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8478, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8457, + "src": "15496:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15489:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 8476, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "15489:6:31", + "typeDescriptions": {} + } + }, + "id": 8479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15489:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 8461, + "id": 8480, + "nodeType": "Return", + "src": "15482:20:31" + } + ] + }, + "documentation": { + "id": 8455, + "nodeType": "StructuredDocumentation", + "src": "15015:276:31", + "text": " @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits" + }, + "id": 8482, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint32", + "nameLocation": "15305:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8457, + "mutability": "mutable", + "name": "value", + "nameLocation": "15322:5:31", + "nodeType": "VariableDeclaration", + "scope": 8482, + "src": "15314:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15314:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15313:15:31" + }, + "returnParameters": { + "id": 8461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8460, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8482, + "src": "15352:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8459, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "15352:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "15351:8:31" + }, + "scope": 9436, + "src": "15296:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8509, + "nodeType": "Block", + "src": "15860:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8490, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8485, + "src": "15874:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15887:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint24_$", + "typeString": "type(uint24)" + }, + "typeName": { + "id": 8492, + "name": "uint24", + "nodeType": "ElementaryTypeName", + "src": "15887:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint24_$", + "typeString": "type(uint24)" + } + ], + "id": 8491, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "15882:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15882:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint24", + "typeString": "type(uint24)" + } + }, + "id": 8495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15895:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "15882:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint24", + "typeString": "uint24" + } + }, + "src": "15874:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8503, + "nodeType": "IfStatement", + "src": "15870:103:31", + "trueBody": { + "id": 8502, + "nodeType": "Block", + "src": "15900:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3234", + "id": 8498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15952:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + { + "id": 8499, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8485, + "src": "15956:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8497, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "15921:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15921:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8501, + "nodeType": "RevertStatement", + "src": "15914:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8506, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8485, + "src": "15996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15989:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint24_$", + "typeString": "type(uint24)" + }, + "typeName": { + "id": 8504, + "name": "uint24", + "nodeType": "ElementaryTypeName", + "src": "15989:6:31", + "typeDescriptions": {} + } + }, + "id": 8507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15989:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint24", + "typeString": "uint24" + } + }, + "functionReturnParameters": 8489, + "id": 8508, + "nodeType": "Return", + "src": "15982:20:31" + } + ] + }, + "documentation": { + "id": 8483, + "nodeType": "StructuredDocumentation", + "src": "15515:276:31", + "text": " @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits" + }, + "id": 8510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint24", + "nameLocation": "15805:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8485, + "mutability": "mutable", + "name": "value", + "nameLocation": "15822:5:31", + "nodeType": "VariableDeclaration", + "scope": 8510, + "src": "15814:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15814:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15813:15:31" + }, + "returnParameters": { + "id": 8489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8488, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8510, + "src": "15852:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint24", + "typeString": "uint24" + }, + "typeName": { + "id": 8487, + "name": "uint24", + "nodeType": "ElementaryTypeName", + "src": "15852:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint24", + "typeString": "uint24" + } + }, + "visibility": "internal" + } + ], + "src": "15851:8:31" + }, + "scope": 9436, + "src": "15796:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8537, + "nodeType": "Block", + "src": "16360:149:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8518, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8513, + "src": "16374:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16387:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": { + "id": 8520, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "16387:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + } + ], + "id": 8519, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "16382:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16382:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint16", + "typeString": "type(uint16)" + } + }, + "id": 8523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16395:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "16382:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "16374:24:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8531, + "nodeType": "IfStatement", + "src": "16370:103:31", + "trueBody": { + "id": 8530, + "nodeType": "Block", + "src": "16400:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3136", + "id": 8526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16452:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + { + "id": 8527, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8513, + "src": "16456:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8525, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "16421:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16421:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8529, + "nodeType": "RevertStatement", + "src": "16414:48:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8534, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8513, + "src": "16496:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16489:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": { + "id": 8532, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "16489:6:31", + "typeDescriptions": {} + } + }, + "id": 8535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16489:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "functionReturnParameters": 8517, + "id": 8536, + "nodeType": "Return", + "src": "16482:20:31" + } + ] + }, + "documentation": { + "id": 8511, + "nodeType": "StructuredDocumentation", + "src": "16015:276:31", + "text": " @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits" + }, + "id": 8538, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint16", + "nameLocation": "16305:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8513, + "mutability": "mutable", + "name": "value", + "nameLocation": "16322:5:31", + "nodeType": "VariableDeclaration", + "scope": 8538, + "src": "16314:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8512, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16314:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16313:15:31" + }, + "returnParameters": { + "id": 8517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8516, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8538, + "src": "16352:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 8515, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "16352:6:31", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "16351:8:31" + }, + "scope": 9436, + "src": "16296:213:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8565, + "nodeType": "Block", + "src": "16854:146:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8546, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8541, + "src": "16868:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16881:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 8548, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "16881:5:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + } + ], + "id": 8547, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "16876:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16876:11:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint8", + "typeString": "type(uint8)" + } + }, + "id": 8551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16888:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "16876:15:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "16868:23:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8559, + "nodeType": "IfStatement", + "src": "16864:101:31", + "trueBody": { + "id": 8558, + "nodeType": "Block", + "src": "16893:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "38", + "id": 8554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16945:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + { + "id": 8555, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8541, + "src": "16948:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8553, + "name": "SafeCastOverflowedUintDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7681, + "src": "16914:30:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16914:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8557, + "nodeType": "RevertStatement", + "src": "16907:47:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8562, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8541, + "src": "16987:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16981:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 8560, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "16981:5:31", + "typeDescriptions": {} + } + }, + "id": 8563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16981:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "functionReturnParameters": 8545, + "id": 8564, + "nodeType": "Return", + "src": "16974:19:31" + } + ] + }, + "documentation": { + "id": 8539, + "nodeType": "StructuredDocumentation", + "src": "16515:272:31", + "text": " @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits" + }, + "id": 8566, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint8", + "nameLocation": "16801:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8541, + "mutability": "mutable", + "name": "value", + "nameLocation": "16817:5:31", + "nodeType": "VariableDeclaration", + "scope": 8566, + "src": "16809:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16809:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16808:15:31" + }, + "returnParameters": { + "id": 8545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8544, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8566, + "src": "16847:5:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 8543, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "16847:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "16846:7:31" + }, + "scope": 9436, + "src": "16792:208:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8588, + "nodeType": "Block", + "src": "17236:128:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8574, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8569, + "src": "17250:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 8575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17258:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17250:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8582, + "nodeType": "IfStatement", + "src": "17246:81:31", + "trueBody": { + "id": 8581, + "nodeType": "Block", + "src": "17261:66:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 8578, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8569, + "src": "17310:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8577, + "name": "SafeCastOverflowedIntToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7686, + "src": "17282:27:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_int256_$returns$__$", + "typeString": "function (int256) pure" + } + }, + "id": 8579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17282:34:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8580, + "nodeType": "RevertStatement", + "src": "17275:41:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 8585, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8569, + "src": "17351:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17343:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8583, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17343:7:31", + "typeDescriptions": {} + } + }, + "id": 8586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17343:14:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8573, + "id": 8587, + "nodeType": "Return", + "src": "17336:21:31" + } + ] + }, + "documentation": { + "id": 8567, + "nodeType": "StructuredDocumentation", + "src": "17006:160:31", + "text": " @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0." + }, + "id": 8589, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint256", + "nameLocation": "17180:9:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8570, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8569, + "mutability": "mutable", + "name": "value", + "nameLocation": "17197:5:31", + "nodeType": "VariableDeclaration", + "scope": 8589, + "src": "17190:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8568, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "17190:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "17189:14:31" + }, + "returnParameters": { + "id": 8573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8572, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8589, + "src": "17227:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8571, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17227:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17226:9:31" + }, + "scope": 9436, + "src": "17171:193:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8614, + "nodeType": "Block", + "src": "17761:150:31", + "statements": [ + { + "expression": { + "id": 8602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8597, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8595, + "src": "17771:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int248", + "typeString": "int248" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8600, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8592, + "src": "17791:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17784:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int248_$", + "typeString": "type(int248)" + }, + "typeName": { + "id": 8598, + "name": "int248", + "nodeType": "ElementaryTypeName", + "src": "17784:6:31", + "typeDescriptions": {} + } + }, + "id": 8601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17784:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int248", + "typeString": "int248" + } + }, + "src": "17771:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int248", + "typeString": "int248" + } + }, + "id": 8603, + "nodeType": "ExpressionStatement", + "src": "17771:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8604, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8595, + "src": "17811:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int248", + "typeString": "int248" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8605, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8592, + "src": "17825:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "17811:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8613, + "nodeType": "IfStatement", + "src": "17807:98:31", + "trueBody": { + "id": 8612, + "nodeType": "Block", + "src": "17832:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323438", + "id": 8608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17883:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_248_by_1", + "typeString": "int_const 248" + }, + "value": "248" + }, + { + "id": 8609, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8592, + "src": "17888:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_248_by_1", + "typeString": "int_const 248" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8607, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "17853:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17853:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8611, + "nodeType": "RevertStatement", + "src": "17846:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8590, + "nodeType": "StructuredDocumentation", + "src": "17370:312:31", + "text": " @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits" + }, + "id": 8615, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt248", + "nameLocation": "17696:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8592, + "mutability": "mutable", + "name": "value", + "nameLocation": "17712:5:31", + "nodeType": "VariableDeclaration", + "scope": 8615, + "src": "17705:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8591, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "17705:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "17704:14:31" + }, + "returnParameters": { + "id": 8596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8595, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "17749:10:31", + "nodeType": "VariableDeclaration", + "scope": 8615, + "src": "17742:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int248", + "typeString": "int248" + }, + "typeName": { + "id": 8594, + "name": "int248", + "nodeType": "ElementaryTypeName", + "src": "17742:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int248", + "typeString": "int248" + } + }, + "visibility": "internal" + } + ], + "src": "17741:19:31" + }, + "scope": 9436, + "src": "17687:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8640, + "nodeType": "Block", + "src": "18308:150:31", + "statements": [ + { + "expression": { + "id": 8628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8623, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8621, + "src": "18318:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8626, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8618, + "src": "18338:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18331:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int240_$", + "typeString": "type(int240)" + }, + "typeName": { + "id": 8624, + "name": "int240", + "nodeType": "ElementaryTypeName", + "src": "18331:6:31", + "typeDescriptions": {} + } + }, + "id": 8627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18331:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "src": "18318:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "id": 8629, + "nodeType": "ExpressionStatement", + "src": "18318:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8630, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8621, + "src": "18358:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8631, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8618, + "src": "18372:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "18358:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8639, + "nodeType": "IfStatement", + "src": "18354:98:31", + "trueBody": { + "id": 8638, + "nodeType": "Block", + "src": "18379:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323430", + "id": 8634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18430:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_240_by_1", + "typeString": "int_const 240" + }, + "value": "240" + }, + { + "id": 8635, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8618, + "src": "18435:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_240_by_1", + "typeString": "int_const 240" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8633, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "18400:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18400:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8637, + "nodeType": "RevertStatement", + "src": "18393:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8616, + "nodeType": "StructuredDocumentation", + "src": "17917:312:31", + "text": " @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits" + }, + "id": 8641, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt240", + "nameLocation": "18243:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8618, + "mutability": "mutable", + "name": "value", + "nameLocation": "18259:5:31", + "nodeType": "VariableDeclaration", + "scope": 8641, + "src": "18252:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8617, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "18252:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "18251:14:31" + }, + "returnParameters": { + "id": 8622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8621, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "18296:10:31", + "nodeType": "VariableDeclaration", + "scope": 8641, + "src": "18289:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + }, + "typeName": { + "id": 8620, + "name": "int240", + "nodeType": "ElementaryTypeName", + "src": "18289:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "visibility": "internal" + } + ], + "src": "18288:19:31" + }, + "scope": 9436, + "src": "18234:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8666, + "nodeType": "Block", + "src": "18855:150:31", + "statements": [ + { + "expression": { + "id": 8654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8649, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8647, + "src": "18865:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int232", + "typeString": "int232" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8652, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8644, + "src": "18885:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18878:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int232_$", + "typeString": "type(int232)" + }, + "typeName": { + "id": 8650, + "name": "int232", + "nodeType": "ElementaryTypeName", + "src": "18878:6:31", + "typeDescriptions": {} + } + }, + "id": 8653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18878:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int232", + "typeString": "int232" + } + }, + "src": "18865:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int232", + "typeString": "int232" + } + }, + "id": 8655, + "nodeType": "ExpressionStatement", + "src": "18865:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8656, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8647, + "src": "18905:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int232", + "typeString": "int232" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8657, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8644, + "src": "18919:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "18905:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8665, + "nodeType": "IfStatement", + "src": "18901:98:31", + "trueBody": { + "id": 8664, + "nodeType": "Block", + "src": "18926:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323332", + "id": 8660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18977:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_232_by_1", + "typeString": "int_const 232" + }, + "value": "232" + }, + { + "id": 8661, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8644, + "src": "18982:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_232_by_1", + "typeString": "int_const 232" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8659, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "18947:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18947:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8663, + "nodeType": "RevertStatement", + "src": "18940:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8642, + "nodeType": "StructuredDocumentation", + "src": "18464:312:31", + "text": " @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits" + }, + "id": 8667, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt232", + "nameLocation": "18790:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8644, + "mutability": "mutable", + "name": "value", + "nameLocation": "18806:5:31", + "nodeType": "VariableDeclaration", + "scope": 8667, + "src": "18799:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8643, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "18799:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "18798:14:31" + }, + "returnParameters": { + "id": 8648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8647, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "18843:10:31", + "nodeType": "VariableDeclaration", + "scope": 8667, + "src": "18836:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int232", + "typeString": "int232" + }, + "typeName": { + "id": 8646, + "name": "int232", + "nodeType": "ElementaryTypeName", + "src": "18836:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int232", + "typeString": "int232" + } + }, + "visibility": "internal" + } + ], + "src": "18835:19:31" + }, + "scope": 9436, + "src": "18781:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8692, + "nodeType": "Block", + "src": "19402:150:31", + "statements": [ + { + "expression": { + "id": 8680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8675, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8673, + "src": "19412:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int224", + "typeString": "int224" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8678, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8670, + "src": "19432:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19425:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int224_$", + "typeString": "type(int224)" + }, + "typeName": { + "id": 8676, + "name": "int224", + "nodeType": "ElementaryTypeName", + "src": "19425:6:31", + "typeDescriptions": {} + } + }, + "id": 8679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19425:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int224", + "typeString": "int224" + } + }, + "src": "19412:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int224", + "typeString": "int224" + } + }, + "id": 8681, + "nodeType": "ExpressionStatement", + "src": "19412:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8682, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8673, + "src": "19452:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int224", + "typeString": "int224" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8683, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8670, + "src": "19466:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "19452:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8691, + "nodeType": "IfStatement", + "src": "19448:98:31", + "trueBody": { + "id": 8690, + "nodeType": "Block", + "src": "19473:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323234", + "id": 8686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19524:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_224_by_1", + "typeString": "int_const 224" + }, + "value": "224" + }, + { + "id": 8687, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8670, + "src": "19529:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_224_by_1", + "typeString": "int_const 224" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8685, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "19494:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19494:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8689, + "nodeType": "RevertStatement", + "src": "19487:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8668, + "nodeType": "StructuredDocumentation", + "src": "19011:312:31", + "text": " @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits" + }, + "id": 8693, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt224", + "nameLocation": "19337:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8670, + "mutability": "mutable", + "name": "value", + "nameLocation": "19353:5:31", + "nodeType": "VariableDeclaration", + "scope": 8693, + "src": "19346:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8669, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "19346:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "19345:14:31" + }, + "returnParameters": { + "id": 8674, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8673, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "19390:10:31", + "nodeType": "VariableDeclaration", + "scope": 8693, + "src": "19383:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int224", + "typeString": "int224" + }, + "typeName": { + "id": 8672, + "name": "int224", + "nodeType": "ElementaryTypeName", + "src": "19383:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int224", + "typeString": "int224" + } + }, + "visibility": "internal" + } + ], + "src": "19382:19:31" + }, + "scope": 9436, + "src": "19328:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8718, + "nodeType": "Block", + "src": "19949:150:31", + "statements": [ + { + "expression": { + "id": 8706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8701, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8699, + "src": "19959:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int216", + "typeString": "int216" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8704, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8696, + "src": "19979:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19972:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int216_$", + "typeString": "type(int216)" + }, + "typeName": { + "id": 8702, + "name": "int216", + "nodeType": "ElementaryTypeName", + "src": "19972:6:31", + "typeDescriptions": {} + } + }, + "id": 8705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19972:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int216", + "typeString": "int216" + } + }, + "src": "19959:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int216", + "typeString": "int216" + } + }, + "id": 8707, + "nodeType": "ExpressionStatement", + "src": "19959:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8708, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8699, + "src": "19999:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int216", + "typeString": "int216" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8709, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8696, + "src": "20013:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "19999:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8717, + "nodeType": "IfStatement", + "src": "19995:98:31", + "trueBody": { + "id": 8716, + "nodeType": "Block", + "src": "20020:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323136", + "id": 8712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20071:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_216_by_1", + "typeString": "int_const 216" + }, + "value": "216" + }, + { + "id": 8713, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8696, + "src": "20076:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_216_by_1", + "typeString": "int_const 216" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8711, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "20041:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20041:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8715, + "nodeType": "RevertStatement", + "src": "20034:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8694, + "nodeType": "StructuredDocumentation", + "src": "19558:312:31", + "text": " @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits" + }, + "id": 8719, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt216", + "nameLocation": "19884:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8696, + "mutability": "mutable", + "name": "value", + "nameLocation": "19900:5:31", + "nodeType": "VariableDeclaration", + "scope": 8719, + "src": "19893:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8695, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "19893:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "19892:14:31" + }, + "returnParameters": { + "id": 8700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8699, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "19937:10:31", + "nodeType": "VariableDeclaration", + "scope": 8719, + "src": "19930:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int216", + "typeString": "int216" + }, + "typeName": { + "id": 8698, + "name": "int216", + "nodeType": "ElementaryTypeName", + "src": "19930:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int216", + "typeString": "int216" + } + }, + "visibility": "internal" + } + ], + "src": "19929:19:31" + }, + "scope": 9436, + "src": "19875:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8744, + "nodeType": "Block", + "src": "20496:150:31", + "statements": [ + { + "expression": { + "id": 8732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8727, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8725, + "src": "20506:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int208", + "typeString": "int208" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8730, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8722, + "src": "20526:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20519:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int208_$", + "typeString": "type(int208)" + }, + "typeName": { + "id": 8728, + "name": "int208", + "nodeType": "ElementaryTypeName", + "src": "20519:6:31", + "typeDescriptions": {} + } + }, + "id": 8731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20519:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int208", + "typeString": "int208" + } + }, + "src": "20506:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int208", + "typeString": "int208" + } + }, + "id": 8733, + "nodeType": "ExpressionStatement", + "src": "20506:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8734, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8725, + "src": "20546:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int208", + "typeString": "int208" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8735, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8722, + "src": "20560:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "20546:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8743, + "nodeType": "IfStatement", + "src": "20542:98:31", + "trueBody": { + "id": 8742, + "nodeType": "Block", + "src": "20567:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323038", + "id": 8738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20618:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + "value": "208" + }, + { + "id": 8739, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8722, + "src": "20623:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8737, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "20588:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20588:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8741, + "nodeType": "RevertStatement", + "src": "20581:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8720, + "nodeType": "StructuredDocumentation", + "src": "20105:312:31", + "text": " @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits" + }, + "id": 8745, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt208", + "nameLocation": "20431:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8722, + "mutability": "mutable", + "name": "value", + "nameLocation": "20447:5:31", + "nodeType": "VariableDeclaration", + "scope": 8745, + "src": "20440:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8721, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "20440:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "20439:14:31" + }, + "returnParameters": { + "id": 8726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8725, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "20484:10:31", + "nodeType": "VariableDeclaration", + "scope": 8745, + "src": "20477:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int208", + "typeString": "int208" + }, + "typeName": { + "id": 8724, + "name": "int208", + "nodeType": "ElementaryTypeName", + "src": "20477:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int208", + "typeString": "int208" + } + }, + "visibility": "internal" + } + ], + "src": "20476:19:31" + }, + "scope": 9436, + "src": "20422:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8770, + "nodeType": "Block", + "src": "21043:150:31", + "statements": [ + { + "expression": { + "id": 8758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8753, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8751, + "src": "21053:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int200", + "typeString": "int200" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8756, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8748, + "src": "21073:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21066:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int200_$", + "typeString": "type(int200)" + }, + "typeName": { + "id": 8754, + "name": "int200", + "nodeType": "ElementaryTypeName", + "src": "21066:6:31", + "typeDescriptions": {} + } + }, + "id": 8757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21066:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int200", + "typeString": "int200" + } + }, + "src": "21053:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int200", + "typeString": "int200" + } + }, + "id": 8759, + "nodeType": "ExpressionStatement", + "src": "21053:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8760, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8751, + "src": "21093:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int200", + "typeString": "int200" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8761, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8748, + "src": "21107:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "21093:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8769, + "nodeType": "IfStatement", + "src": "21089:98:31", + "trueBody": { + "id": 8768, + "nodeType": "Block", + "src": "21114:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "323030", + "id": 8764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21165:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + { + "id": 8765, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8748, + "src": "21170:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8763, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "21135:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21135:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8767, + "nodeType": "RevertStatement", + "src": "21128:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8746, + "nodeType": "StructuredDocumentation", + "src": "20652:312:31", + "text": " @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits" + }, + "id": 8771, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt200", + "nameLocation": "20978:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8748, + "mutability": "mutable", + "name": "value", + "nameLocation": "20994:5:31", + "nodeType": "VariableDeclaration", + "scope": 8771, + "src": "20987:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8747, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "20987:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "20986:14:31" + }, + "returnParameters": { + "id": 8752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8751, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "21031:10:31", + "nodeType": "VariableDeclaration", + "scope": 8771, + "src": "21024:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int200", + "typeString": "int200" + }, + "typeName": { + "id": 8750, + "name": "int200", + "nodeType": "ElementaryTypeName", + "src": "21024:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int200", + "typeString": "int200" + } + }, + "visibility": "internal" + } + ], + "src": "21023:19:31" + }, + "scope": 9436, + "src": "20969:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8796, + "nodeType": "Block", + "src": "21590:150:31", + "statements": [ + { + "expression": { + "id": 8784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8779, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8777, + "src": "21600:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int192", + "typeString": "int192" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8782, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8774, + "src": "21620:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21613:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int192_$", + "typeString": "type(int192)" + }, + "typeName": { + "id": 8780, + "name": "int192", + "nodeType": "ElementaryTypeName", + "src": "21613:6:31", + "typeDescriptions": {} + } + }, + "id": 8783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21613:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int192", + "typeString": "int192" + } + }, + "src": "21600:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int192", + "typeString": "int192" + } + }, + "id": 8785, + "nodeType": "ExpressionStatement", + "src": "21600:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8786, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8777, + "src": "21640:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int192", + "typeString": "int192" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8787, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8774, + "src": "21654:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "21640:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8795, + "nodeType": "IfStatement", + "src": "21636:98:31", + "trueBody": { + "id": 8794, + "nodeType": "Block", + "src": "21661:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313932", + "id": 8790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21712:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_192_by_1", + "typeString": "int_const 192" + }, + "value": "192" + }, + { + "id": 8791, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8774, + "src": "21717:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_192_by_1", + "typeString": "int_const 192" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8789, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "21682:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21682:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8793, + "nodeType": "RevertStatement", + "src": "21675:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8772, + "nodeType": "StructuredDocumentation", + "src": "21199:312:31", + "text": " @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits" + }, + "id": 8797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt192", + "nameLocation": "21525:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8774, + "mutability": "mutable", + "name": "value", + "nameLocation": "21541:5:31", + "nodeType": "VariableDeclaration", + "scope": 8797, + "src": "21534:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8773, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "21534:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "21533:14:31" + }, + "returnParameters": { + "id": 8778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8777, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "21578:10:31", + "nodeType": "VariableDeclaration", + "scope": 8797, + "src": "21571:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int192", + "typeString": "int192" + }, + "typeName": { + "id": 8776, + "name": "int192", + "nodeType": "ElementaryTypeName", + "src": "21571:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int192", + "typeString": "int192" + } + }, + "visibility": "internal" + } + ], + "src": "21570:19:31" + }, + "scope": 9436, + "src": "21516:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8822, + "nodeType": "Block", + "src": "22137:150:31", + "statements": [ + { + "expression": { + "id": 8810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8805, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8803, + "src": "22147:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int184", + "typeString": "int184" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8808, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "22167:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22160:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int184_$", + "typeString": "type(int184)" + }, + "typeName": { + "id": 8806, + "name": "int184", + "nodeType": "ElementaryTypeName", + "src": "22160:6:31", + "typeDescriptions": {} + } + }, + "id": 8809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22160:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int184", + "typeString": "int184" + } + }, + "src": "22147:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int184", + "typeString": "int184" + } + }, + "id": 8811, + "nodeType": "ExpressionStatement", + "src": "22147:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8812, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8803, + "src": "22187:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int184", + "typeString": "int184" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8813, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "22201:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "22187:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8821, + "nodeType": "IfStatement", + "src": "22183:98:31", + "trueBody": { + "id": 8820, + "nodeType": "Block", + "src": "22208:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313834", + "id": 8816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22259:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_184_by_1", + "typeString": "int_const 184" + }, + "value": "184" + }, + { + "id": 8817, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "22264:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_184_by_1", + "typeString": "int_const 184" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8815, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "22229:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22229:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8819, + "nodeType": "RevertStatement", + "src": "22222:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8798, + "nodeType": "StructuredDocumentation", + "src": "21746:312:31", + "text": " @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits" + }, + "id": 8823, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt184", + "nameLocation": "22072:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8800, + "mutability": "mutable", + "name": "value", + "nameLocation": "22088:5:31", + "nodeType": "VariableDeclaration", + "scope": 8823, + "src": "22081:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8799, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "22081:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "22080:14:31" + }, + "returnParameters": { + "id": 8804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8803, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "22125:10:31", + "nodeType": "VariableDeclaration", + "scope": 8823, + "src": "22118:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int184", + "typeString": "int184" + }, + "typeName": { + "id": 8802, + "name": "int184", + "nodeType": "ElementaryTypeName", + "src": "22118:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int184", + "typeString": "int184" + } + }, + "visibility": "internal" + } + ], + "src": "22117:19:31" + }, + "scope": 9436, + "src": "22063:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8848, + "nodeType": "Block", + "src": "22684:150:31", + "statements": [ + { + "expression": { + "id": 8836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8831, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8829, + "src": "22694:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int176", + "typeString": "int176" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8834, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8826, + "src": "22714:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22707:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int176_$", + "typeString": "type(int176)" + }, + "typeName": { + "id": 8832, + "name": "int176", + "nodeType": "ElementaryTypeName", + "src": "22707:6:31", + "typeDescriptions": {} + } + }, + "id": 8835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22707:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int176", + "typeString": "int176" + } + }, + "src": "22694:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int176", + "typeString": "int176" + } + }, + "id": 8837, + "nodeType": "ExpressionStatement", + "src": "22694:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8838, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8829, + "src": "22734:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int176", + "typeString": "int176" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8839, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8826, + "src": "22748:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "22734:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8847, + "nodeType": "IfStatement", + "src": "22730:98:31", + "trueBody": { + "id": 8846, + "nodeType": "Block", + "src": "22755:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313736", + "id": 8842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22806:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_176_by_1", + "typeString": "int_const 176" + }, + "value": "176" + }, + { + "id": 8843, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8826, + "src": "22811:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_176_by_1", + "typeString": "int_const 176" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8841, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "22776:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22776:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8845, + "nodeType": "RevertStatement", + "src": "22769:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8824, + "nodeType": "StructuredDocumentation", + "src": "22293:312:31", + "text": " @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits" + }, + "id": 8849, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt176", + "nameLocation": "22619:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8826, + "mutability": "mutable", + "name": "value", + "nameLocation": "22635:5:31", + "nodeType": "VariableDeclaration", + "scope": 8849, + "src": "22628:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8825, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "22628:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "22627:14:31" + }, + "returnParameters": { + "id": 8830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8829, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "22672:10:31", + "nodeType": "VariableDeclaration", + "scope": 8849, + "src": "22665:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int176", + "typeString": "int176" + }, + "typeName": { + "id": 8828, + "name": "int176", + "nodeType": "ElementaryTypeName", + "src": "22665:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int176", + "typeString": "int176" + } + }, + "visibility": "internal" + } + ], + "src": "22664:19:31" + }, + "scope": 9436, + "src": "22610:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8874, + "nodeType": "Block", + "src": "23231:150:31", + "statements": [ + { + "expression": { + "id": 8862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8857, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8855, + "src": "23241:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int168", + "typeString": "int168" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8860, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8852, + "src": "23261:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23254:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int168_$", + "typeString": "type(int168)" + }, + "typeName": { + "id": 8858, + "name": "int168", + "nodeType": "ElementaryTypeName", + "src": "23254:6:31", + "typeDescriptions": {} + } + }, + "id": 8861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23254:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int168", + "typeString": "int168" + } + }, + "src": "23241:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int168", + "typeString": "int168" + } + }, + "id": 8863, + "nodeType": "ExpressionStatement", + "src": "23241:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8864, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8855, + "src": "23281:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int168", + "typeString": "int168" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8865, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8852, + "src": "23295:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "23281:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8873, + "nodeType": "IfStatement", + "src": "23277:98:31", + "trueBody": { + "id": 8872, + "nodeType": "Block", + "src": "23302:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313638", + "id": 8868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23353:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_168_by_1", + "typeString": "int_const 168" + }, + "value": "168" + }, + { + "id": 8869, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8852, + "src": "23358:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_168_by_1", + "typeString": "int_const 168" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8867, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "23323:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23323:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8871, + "nodeType": "RevertStatement", + "src": "23316:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8850, + "nodeType": "StructuredDocumentation", + "src": "22840:312:31", + "text": " @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits" + }, + "id": 8875, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt168", + "nameLocation": "23166:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8852, + "mutability": "mutable", + "name": "value", + "nameLocation": "23182:5:31", + "nodeType": "VariableDeclaration", + "scope": 8875, + "src": "23175:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8851, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "23175:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "23174:14:31" + }, + "returnParameters": { + "id": 8856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8855, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "23219:10:31", + "nodeType": "VariableDeclaration", + "scope": 8875, + "src": "23212:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int168", + "typeString": "int168" + }, + "typeName": { + "id": 8854, + "name": "int168", + "nodeType": "ElementaryTypeName", + "src": "23212:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int168", + "typeString": "int168" + } + }, + "visibility": "internal" + } + ], + "src": "23211:19:31" + }, + "scope": 9436, + "src": "23157:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8900, + "nodeType": "Block", + "src": "23778:150:31", + "statements": [ + { + "expression": { + "id": 8888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8883, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8881, + "src": "23788:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int160", + "typeString": "int160" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8886, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8878, + "src": "23808:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23801:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int160_$", + "typeString": "type(int160)" + }, + "typeName": { + "id": 8884, + "name": "int160", + "nodeType": "ElementaryTypeName", + "src": "23801:6:31", + "typeDescriptions": {} + } + }, + "id": 8887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23801:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int160", + "typeString": "int160" + } + }, + "src": "23788:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int160", + "typeString": "int160" + } + }, + "id": 8889, + "nodeType": "ExpressionStatement", + "src": "23788:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8890, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8881, + "src": "23828:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int160", + "typeString": "int160" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8891, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8878, + "src": "23842:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "23828:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8899, + "nodeType": "IfStatement", + "src": "23824:98:31", + "trueBody": { + "id": 8898, + "nodeType": "Block", + "src": "23849:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313630", + "id": 8894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23900:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + { + "id": 8895, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8878, + "src": "23905:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8893, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "23870:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23870:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8897, + "nodeType": "RevertStatement", + "src": "23863:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8876, + "nodeType": "StructuredDocumentation", + "src": "23387:312:31", + "text": " @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits" + }, + "id": 8901, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt160", + "nameLocation": "23713:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8878, + "mutability": "mutable", + "name": "value", + "nameLocation": "23729:5:31", + "nodeType": "VariableDeclaration", + "scope": 8901, + "src": "23722:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8877, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "23722:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "23721:14:31" + }, + "returnParameters": { + "id": 8882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8881, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "23766:10:31", + "nodeType": "VariableDeclaration", + "scope": 8901, + "src": "23759:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int160", + "typeString": "int160" + }, + "typeName": { + "id": 8880, + "name": "int160", + "nodeType": "ElementaryTypeName", + "src": "23759:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int160", + "typeString": "int160" + } + }, + "visibility": "internal" + } + ], + "src": "23758:19:31" + }, + "scope": 9436, + "src": "23704:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8926, + "nodeType": "Block", + "src": "24325:150:31", + "statements": [ + { + "expression": { + "id": 8914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8909, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8907, + "src": "24335:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int152", + "typeString": "int152" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8912, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8904, + "src": "24355:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24348:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int152_$", + "typeString": "type(int152)" + }, + "typeName": { + "id": 8910, + "name": "int152", + "nodeType": "ElementaryTypeName", + "src": "24348:6:31", + "typeDescriptions": {} + } + }, + "id": 8913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24348:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int152", + "typeString": "int152" + } + }, + "src": "24335:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int152", + "typeString": "int152" + } + }, + "id": 8915, + "nodeType": "ExpressionStatement", + "src": "24335:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8916, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8907, + "src": "24375:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int152", + "typeString": "int152" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8917, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8904, + "src": "24389:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "24375:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8925, + "nodeType": "IfStatement", + "src": "24371:98:31", + "trueBody": { + "id": 8924, + "nodeType": "Block", + "src": "24396:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313532", + "id": 8920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24447:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_152_by_1", + "typeString": "int_const 152" + }, + "value": "152" + }, + { + "id": 8921, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8904, + "src": "24452:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_152_by_1", + "typeString": "int_const 152" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8919, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "24417:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24417:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8923, + "nodeType": "RevertStatement", + "src": "24410:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8902, + "nodeType": "StructuredDocumentation", + "src": "23934:312:31", + "text": " @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits" + }, + "id": 8927, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt152", + "nameLocation": "24260:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8904, + "mutability": "mutable", + "name": "value", + "nameLocation": "24276:5:31", + "nodeType": "VariableDeclaration", + "scope": 8927, + "src": "24269:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8903, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "24269:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "24268:14:31" + }, + "returnParameters": { + "id": 8908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8907, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "24313:10:31", + "nodeType": "VariableDeclaration", + "scope": 8927, + "src": "24306:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int152", + "typeString": "int152" + }, + "typeName": { + "id": 8906, + "name": "int152", + "nodeType": "ElementaryTypeName", + "src": "24306:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int152", + "typeString": "int152" + } + }, + "visibility": "internal" + } + ], + "src": "24305:19:31" + }, + "scope": 9436, + "src": "24251:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8952, + "nodeType": "Block", + "src": "24872:150:31", + "statements": [ + { + "expression": { + "id": 8940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8935, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8933, + "src": "24882:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int144", + "typeString": "int144" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8938, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8930, + "src": "24902:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24895:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int144_$", + "typeString": "type(int144)" + }, + "typeName": { + "id": 8936, + "name": "int144", + "nodeType": "ElementaryTypeName", + "src": "24895:6:31", + "typeDescriptions": {} + } + }, + "id": 8939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24895:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int144", + "typeString": "int144" + } + }, + "src": "24882:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int144", + "typeString": "int144" + } + }, + "id": 8941, + "nodeType": "ExpressionStatement", + "src": "24882:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8942, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8933, + "src": "24922:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int144", + "typeString": "int144" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8943, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8930, + "src": "24936:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "24922:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8951, + "nodeType": "IfStatement", + "src": "24918:98:31", + "trueBody": { + "id": 8950, + "nodeType": "Block", + "src": "24943:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313434", + "id": 8946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24994:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_144_by_1", + "typeString": "int_const 144" + }, + "value": "144" + }, + { + "id": 8947, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8930, + "src": "24999:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_144_by_1", + "typeString": "int_const 144" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8945, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "24964:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24964:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8949, + "nodeType": "RevertStatement", + "src": "24957:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8928, + "nodeType": "StructuredDocumentation", + "src": "24481:312:31", + "text": " @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits" + }, + "id": 8953, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt144", + "nameLocation": "24807:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8930, + "mutability": "mutable", + "name": "value", + "nameLocation": "24823:5:31", + "nodeType": "VariableDeclaration", + "scope": 8953, + "src": "24816:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8929, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "24816:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "24815:14:31" + }, + "returnParameters": { + "id": 8934, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8933, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "24860:10:31", + "nodeType": "VariableDeclaration", + "scope": 8953, + "src": "24853:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int144", + "typeString": "int144" + }, + "typeName": { + "id": 8932, + "name": "int144", + "nodeType": "ElementaryTypeName", + "src": "24853:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int144", + "typeString": "int144" + } + }, + "visibility": "internal" + } + ], + "src": "24852:19:31" + }, + "scope": 9436, + "src": "24798:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8978, + "nodeType": "Block", + "src": "25419:150:31", + "statements": [ + { + "expression": { + "id": 8966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8961, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8959, + "src": "25429:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int136", + "typeString": "int136" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8964, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8956, + "src": "25449:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25442:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int136_$", + "typeString": "type(int136)" + }, + "typeName": { + "id": 8962, + "name": "int136", + "nodeType": "ElementaryTypeName", + "src": "25442:6:31", + "typeDescriptions": {} + } + }, + "id": 8965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25442:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int136", + "typeString": "int136" + } + }, + "src": "25429:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int136", + "typeString": "int136" + } + }, + "id": 8967, + "nodeType": "ExpressionStatement", + "src": "25429:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8968, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8959, + "src": "25469:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int136", + "typeString": "int136" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8969, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8956, + "src": "25483:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "25469:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8977, + "nodeType": "IfStatement", + "src": "25465:98:31", + "trueBody": { + "id": 8976, + "nodeType": "Block", + "src": "25490:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313336", + "id": 8972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25541:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_136_by_1", + "typeString": "int_const 136" + }, + "value": "136" + }, + { + "id": 8973, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8956, + "src": "25546:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_136_by_1", + "typeString": "int_const 136" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8971, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "25511:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 8974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25511:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8975, + "nodeType": "RevertStatement", + "src": "25504:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8954, + "nodeType": "StructuredDocumentation", + "src": "25028:312:31", + "text": " @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits" + }, + "id": 8979, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt136", + "nameLocation": "25354:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8956, + "mutability": "mutable", + "name": "value", + "nameLocation": "25370:5:31", + "nodeType": "VariableDeclaration", + "scope": 8979, + "src": "25363:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8955, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "25363:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "25362:14:31" + }, + "returnParameters": { + "id": 8960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8959, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "25407:10:31", + "nodeType": "VariableDeclaration", + "scope": 8979, + "src": "25400:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int136", + "typeString": "int136" + }, + "typeName": { + "id": 8958, + "name": "int136", + "nodeType": "ElementaryTypeName", + "src": "25400:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int136", + "typeString": "int136" + } + }, + "visibility": "internal" + } + ], + "src": "25399:19:31" + }, + "scope": 9436, + "src": "25345:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9004, + "nodeType": "Block", + "src": "25966:150:31", + "statements": [ + { + "expression": { + "id": 8992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8987, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8985, + "src": "25976:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int128", + "typeString": "int128" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8990, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8982, + "src": "25996:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25989:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int128_$", + "typeString": "type(int128)" + }, + "typeName": { + "id": 8988, + "name": "int128", + "nodeType": "ElementaryTypeName", + "src": "25989:6:31", + "typeDescriptions": {} + } + }, + "id": 8991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25989:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int128", + "typeString": "int128" + } + }, + "src": "25976:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int128", + "typeString": "int128" + } + }, + "id": 8993, + "nodeType": "ExpressionStatement", + "src": "25976:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8994, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8985, + "src": "26016:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int128", + "typeString": "int128" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8995, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8982, + "src": "26030:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "26016:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9003, + "nodeType": "IfStatement", + "src": "26012:98:31", + "trueBody": { + "id": 9002, + "nodeType": "Block", + "src": "26037:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313238", + "id": 8998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26088:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + { + "id": 8999, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8982, + "src": "26093:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8997, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "26058:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26058:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9001, + "nodeType": "RevertStatement", + "src": "26051:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 8980, + "nodeType": "StructuredDocumentation", + "src": "25575:312:31", + "text": " @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits" + }, + "id": 9005, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt128", + "nameLocation": "25901:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8982, + "mutability": "mutable", + "name": "value", + "nameLocation": "25917:5:31", + "nodeType": "VariableDeclaration", + "scope": 9005, + "src": "25910:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8981, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "25910:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "25909:14:31" + }, + "returnParameters": { + "id": 8986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8985, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "25954:10:31", + "nodeType": "VariableDeclaration", + "scope": 9005, + "src": "25947:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int128", + "typeString": "int128" + }, + "typeName": { + "id": 8984, + "name": "int128", + "nodeType": "ElementaryTypeName", + "src": "25947:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int128", + "typeString": "int128" + } + }, + "visibility": "internal" + } + ], + "src": "25946:19:31" + }, + "scope": 9436, + "src": "25892:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9030, + "nodeType": "Block", + "src": "26513:150:31", + "statements": [ + { + "expression": { + "id": 9018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9013, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9011, + "src": "26523:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int120", + "typeString": "int120" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9016, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9008, + "src": "26543:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26536:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int120_$", + "typeString": "type(int120)" + }, + "typeName": { + "id": 9014, + "name": "int120", + "nodeType": "ElementaryTypeName", + "src": "26536:6:31", + "typeDescriptions": {} + } + }, + "id": 9017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26536:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int120", + "typeString": "int120" + } + }, + "src": "26523:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int120", + "typeString": "int120" + } + }, + "id": 9019, + "nodeType": "ExpressionStatement", + "src": "26523:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9020, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9011, + "src": "26563:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int120", + "typeString": "int120" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9021, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9008, + "src": "26577:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "26563:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9029, + "nodeType": "IfStatement", + "src": "26559:98:31", + "trueBody": { + "id": 9028, + "nodeType": "Block", + "src": "26584:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313230", + "id": 9024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26635:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_120_by_1", + "typeString": "int_const 120" + }, + "value": "120" + }, + { + "id": 9025, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9008, + "src": "26640:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_120_by_1", + "typeString": "int_const 120" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9023, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "26605:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26605:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9027, + "nodeType": "RevertStatement", + "src": "26598:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9006, + "nodeType": "StructuredDocumentation", + "src": "26122:312:31", + "text": " @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits" + }, + "id": 9031, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt120", + "nameLocation": "26448:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9008, + "mutability": "mutable", + "name": "value", + "nameLocation": "26464:5:31", + "nodeType": "VariableDeclaration", + "scope": 9031, + "src": "26457:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9007, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "26457:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "26456:14:31" + }, + "returnParameters": { + "id": 9012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9011, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "26501:10:31", + "nodeType": "VariableDeclaration", + "scope": 9031, + "src": "26494:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int120", + "typeString": "int120" + }, + "typeName": { + "id": 9010, + "name": "int120", + "nodeType": "ElementaryTypeName", + "src": "26494:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int120", + "typeString": "int120" + } + }, + "visibility": "internal" + } + ], + "src": "26493:19:31" + }, + "scope": 9436, + "src": "26439:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9056, + "nodeType": "Block", + "src": "27060:150:31", + "statements": [ + { + "expression": { + "id": 9044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9039, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9037, + "src": "27070:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int112", + "typeString": "int112" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9042, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9034, + "src": "27090:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27083:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int112_$", + "typeString": "type(int112)" + }, + "typeName": { + "id": 9040, + "name": "int112", + "nodeType": "ElementaryTypeName", + "src": "27083:6:31", + "typeDescriptions": {} + } + }, + "id": 9043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27083:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int112", + "typeString": "int112" + } + }, + "src": "27070:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int112", + "typeString": "int112" + } + }, + "id": 9045, + "nodeType": "ExpressionStatement", + "src": "27070:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9046, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9037, + "src": "27110:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int112", + "typeString": "int112" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9047, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9034, + "src": "27124:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "27110:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9055, + "nodeType": "IfStatement", + "src": "27106:98:31", + "trueBody": { + "id": 9054, + "nodeType": "Block", + "src": "27131:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313132", + "id": 9050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27182:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_112_by_1", + "typeString": "int_const 112" + }, + "value": "112" + }, + { + "id": 9051, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9034, + "src": "27187:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_112_by_1", + "typeString": "int_const 112" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9049, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "27152:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27152:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9053, + "nodeType": "RevertStatement", + "src": "27145:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9032, + "nodeType": "StructuredDocumentation", + "src": "26669:312:31", + "text": " @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits" + }, + "id": 9057, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt112", + "nameLocation": "26995:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9034, + "mutability": "mutable", + "name": "value", + "nameLocation": "27011:5:31", + "nodeType": "VariableDeclaration", + "scope": 9057, + "src": "27004:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9033, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "27004:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "27003:14:31" + }, + "returnParameters": { + "id": 9038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9037, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "27048:10:31", + "nodeType": "VariableDeclaration", + "scope": 9057, + "src": "27041:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int112", + "typeString": "int112" + }, + "typeName": { + "id": 9036, + "name": "int112", + "nodeType": "ElementaryTypeName", + "src": "27041:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int112", + "typeString": "int112" + } + }, + "visibility": "internal" + } + ], + "src": "27040:19:31" + }, + "scope": 9436, + "src": "26986:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9082, + "nodeType": "Block", + "src": "27607:150:31", + "statements": [ + { + "expression": { + "id": 9070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9065, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9063, + "src": "27617:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int104", + "typeString": "int104" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9068, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9060, + "src": "27637:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27630:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int104_$", + "typeString": "type(int104)" + }, + "typeName": { + "id": 9066, + "name": "int104", + "nodeType": "ElementaryTypeName", + "src": "27630:6:31", + "typeDescriptions": {} + } + }, + "id": 9069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27630:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int104", + "typeString": "int104" + } + }, + "src": "27617:26:31", + "typeDescriptions": { + "typeIdentifier": "t_int104", + "typeString": "int104" + } + }, + "id": 9071, + "nodeType": "ExpressionStatement", + "src": "27617:26:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9072, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9063, + "src": "27657:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int104", + "typeString": "int104" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9073, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9060, + "src": "27671:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "27657:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9081, + "nodeType": "IfStatement", + "src": "27653:98:31", + "trueBody": { + "id": 9080, + "nodeType": "Block", + "src": "27678:73:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "313034", + "id": 9076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27729:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_104_by_1", + "typeString": "int_const 104" + }, + "value": "104" + }, + { + "id": 9077, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9060, + "src": "27734:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_104_by_1", + "typeString": "int_const 104" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9075, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "27699:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27699:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9079, + "nodeType": "RevertStatement", + "src": "27692:48:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9058, + "nodeType": "StructuredDocumentation", + "src": "27216:312:31", + "text": " @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits" + }, + "id": 9083, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt104", + "nameLocation": "27542:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9060, + "mutability": "mutable", + "name": "value", + "nameLocation": "27558:5:31", + "nodeType": "VariableDeclaration", + "scope": 9083, + "src": "27551:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9059, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "27551:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "27550:14:31" + }, + "returnParameters": { + "id": 9064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9063, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "27595:10:31", + "nodeType": "VariableDeclaration", + "scope": 9083, + "src": "27588:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int104", + "typeString": "int104" + }, + "typeName": { + "id": 9062, + "name": "int104", + "nodeType": "ElementaryTypeName", + "src": "27588:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int104", + "typeString": "int104" + } + }, + "visibility": "internal" + } + ], + "src": "27587:19:31" + }, + "scope": 9436, + "src": "27533:224:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9108, + "nodeType": "Block", + "src": "28147:148:31", + "statements": [ + { + "expression": { + "id": 9096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9091, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9089, + "src": "28157:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int96", + "typeString": "int96" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9094, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9086, + "src": "28176:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28170:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int96_$", + "typeString": "type(int96)" + }, + "typeName": { + "id": 9092, + "name": "int96", + "nodeType": "ElementaryTypeName", + "src": "28170:5:31", + "typeDescriptions": {} + } + }, + "id": 9095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28170:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int96", + "typeString": "int96" + } + }, + "src": "28157:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int96", + "typeString": "int96" + } + }, + "id": 9097, + "nodeType": "ExpressionStatement", + "src": "28157:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9098, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9089, + "src": "28196:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int96", + "typeString": "int96" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9099, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9086, + "src": "28210:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "28196:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9107, + "nodeType": "IfStatement", + "src": "28192:97:31", + "trueBody": { + "id": 9106, + "nodeType": "Block", + "src": "28217:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3936", + "id": 9102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28268:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + "value": "96" + }, + { + "id": 9103, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9086, + "src": "28272:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9101, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "28238:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28238:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9105, + "nodeType": "RevertStatement", + "src": "28231:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9084, + "nodeType": "StructuredDocumentation", + "src": "27763:307:31", + "text": " @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits" + }, + "id": 9109, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt96", + "nameLocation": "28084:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9086, + "mutability": "mutable", + "name": "value", + "nameLocation": "28099:5:31", + "nodeType": "VariableDeclaration", + "scope": 9109, + "src": "28092:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9085, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "28092:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "28091:14:31" + }, + "returnParameters": { + "id": 9090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9089, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "28135:10:31", + "nodeType": "VariableDeclaration", + "scope": 9109, + "src": "28129:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int96", + "typeString": "int96" + }, + "typeName": { + "id": 9088, + "name": "int96", + "nodeType": "ElementaryTypeName", + "src": "28129:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int96", + "typeString": "int96" + } + }, + "visibility": "internal" + } + ], + "src": "28128:18:31" + }, + "scope": 9436, + "src": "28075:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9134, + "nodeType": "Block", + "src": "28685:148:31", + "statements": [ + { + "expression": { + "id": 9122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9117, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9115, + "src": "28695:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int88", + "typeString": "int88" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9120, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9112, + "src": "28714:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28708:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int88_$", + "typeString": "type(int88)" + }, + "typeName": { + "id": 9118, + "name": "int88", + "nodeType": "ElementaryTypeName", + "src": "28708:5:31", + "typeDescriptions": {} + } + }, + "id": 9121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28708:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int88", + "typeString": "int88" + } + }, + "src": "28695:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int88", + "typeString": "int88" + } + }, + "id": 9123, + "nodeType": "ExpressionStatement", + "src": "28695:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9124, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9115, + "src": "28734:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int88", + "typeString": "int88" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9125, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9112, + "src": "28748:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "28734:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9133, + "nodeType": "IfStatement", + "src": "28730:97:31", + "trueBody": { + "id": 9132, + "nodeType": "Block", + "src": "28755:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3838", + "id": 9128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28806:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_88_by_1", + "typeString": "int_const 88" + }, + "value": "88" + }, + { + "id": 9129, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9112, + "src": "28810:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_88_by_1", + "typeString": "int_const 88" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9127, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "28776:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28776:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9131, + "nodeType": "RevertStatement", + "src": "28769:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9110, + "nodeType": "StructuredDocumentation", + "src": "28301:307:31", + "text": " @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits" + }, + "id": 9135, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt88", + "nameLocation": "28622:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9112, + "mutability": "mutable", + "name": "value", + "nameLocation": "28637:5:31", + "nodeType": "VariableDeclaration", + "scope": 9135, + "src": "28630:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9111, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "28630:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "28629:14:31" + }, + "returnParameters": { + "id": 9116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9115, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "28673:10:31", + "nodeType": "VariableDeclaration", + "scope": 9135, + "src": "28667:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int88", + "typeString": "int88" + }, + "typeName": { + "id": 9114, + "name": "int88", + "nodeType": "ElementaryTypeName", + "src": "28667:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int88", + "typeString": "int88" + } + }, + "visibility": "internal" + } + ], + "src": "28666:18:31" + }, + "scope": 9436, + "src": "28613:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9160, + "nodeType": "Block", + "src": "29223:148:31", + "statements": [ + { + "expression": { + "id": 9148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9143, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9141, + "src": "29233:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int80", + "typeString": "int80" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9146, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "29252:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29246:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int80_$", + "typeString": "type(int80)" + }, + "typeName": { + "id": 9144, + "name": "int80", + "nodeType": "ElementaryTypeName", + "src": "29246:5:31", + "typeDescriptions": {} + } + }, + "id": 9147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29246:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int80", + "typeString": "int80" + } + }, + "src": "29233:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int80", + "typeString": "int80" + } + }, + "id": 9149, + "nodeType": "ExpressionStatement", + "src": "29233:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9150, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9141, + "src": "29272:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int80", + "typeString": "int80" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9151, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "29286:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "29272:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9159, + "nodeType": "IfStatement", + "src": "29268:97:31", + "trueBody": { + "id": 9158, + "nodeType": "Block", + "src": "29293:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3830", + "id": 9154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29344:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + "value": "80" + }, + { + "id": 9155, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "29348:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9153, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "29314:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29314:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9157, + "nodeType": "RevertStatement", + "src": "29307:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9136, + "nodeType": "StructuredDocumentation", + "src": "28839:307:31", + "text": " @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits" + }, + "id": 9161, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt80", + "nameLocation": "29160:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9138, + "mutability": "mutable", + "name": "value", + "nameLocation": "29175:5:31", + "nodeType": "VariableDeclaration", + "scope": 9161, + "src": "29168:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9137, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "29168:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "29167:14:31" + }, + "returnParameters": { + "id": 9142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9141, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "29211:10:31", + "nodeType": "VariableDeclaration", + "scope": 9161, + "src": "29205:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int80", + "typeString": "int80" + }, + "typeName": { + "id": 9140, + "name": "int80", + "nodeType": "ElementaryTypeName", + "src": "29205:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int80", + "typeString": "int80" + } + }, + "visibility": "internal" + } + ], + "src": "29204:18:31" + }, + "scope": 9436, + "src": "29151:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9186, + "nodeType": "Block", + "src": "29761:148:31", + "statements": [ + { + "expression": { + "id": 9174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9169, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9167, + "src": "29771:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int72", + "typeString": "int72" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9172, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9164, + "src": "29790:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29784:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int72_$", + "typeString": "type(int72)" + }, + "typeName": { + "id": 9170, + "name": "int72", + "nodeType": "ElementaryTypeName", + "src": "29784:5:31", + "typeDescriptions": {} + } + }, + "id": 9173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29784:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int72", + "typeString": "int72" + } + }, + "src": "29771:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int72", + "typeString": "int72" + } + }, + "id": 9175, + "nodeType": "ExpressionStatement", + "src": "29771:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9176, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9167, + "src": "29810:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int72", + "typeString": "int72" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9177, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9164, + "src": "29824:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "29810:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9185, + "nodeType": "IfStatement", + "src": "29806:97:31", + "trueBody": { + "id": 9184, + "nodeType": "Block", + "src": "29831:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3732", + "id": 9180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29882:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_72_by_1", + "typeString": "int_const 72" + }, + "value": "72" + }, + { + "id": 9181, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9164, + "src": "29886:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_72_by_1", + "typeString": "int_const 72" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9179, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "29852:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29852:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9183, + "nodeType": "RevertStatement", + "src": "29845:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9162, + "nodeType": "StructuredDocumentation", + "src": "29377:307:31", + "text": " @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits" + }, + "id": 9187, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt72", + "nameLocation": "29698:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9164, + "mutability": "mutable", + "name": "value", + "nameLocation": "29713:5:31", + "nodeType": "VariableDeclaration", + "scope": 9187, + "src": "29706:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9163, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "29706:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "29705:14:31" + }, + "returnParameters": { + "id": 9168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9167, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "29749:10:31", + "nodeType": "VariableDeclaration", + "scope": 9187, + "src": "29743:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int72", + "typeString": "int72" + }, + "typeName": { + "id": 9166, + "name": "int72", + "nodeType": "ElementaryTypeName", + "src": "29743:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int72", + "typeString": "int72" + } + }, + "visibility": "internal" + } + ], + "src": "29742:18:31" + }, + "scope": 9436, + "src": "29689:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9212, + "nodeType": "Block", + "src": "30299:148:31", + "statements": [ + { + "expression": { + "id": 9200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9195, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9193, + "src": "30309:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9198, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9190, + "src": "30328:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30322:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int64_$", + "typeString": "type(int64)" + }, + "typeName": { + "id": 9196, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "30322:5:31", + "typeDescriptions": {} + } + }, + "id": 9199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30322:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "src": "30309:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 9201, + "nodeType": "ExpressionStatement", + "src": "30309:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9202, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9193, + "src": "30348:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9203, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9190, + "src": "30362:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "30348:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9211, + "nodeType": "IfStatement", + "src": "30344:97:31", + "trueBody": { + "id": 9210, + "nodeType": "Block", + "src": "30369:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3634", + "id": 9206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30420:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + { + "id": 9207, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9190, + "src": "30424:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9205, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "30390:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30390:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9209, + "nodeType": "RevertStatement", + "src": "30383:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9188, + "nodeType": "StructuredDocumentation", + "src": "29915:307:31", + "text": " @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits" + }, + "id": 9213, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt64", + "nameLocation": "30236:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9190, + "mutability": "mutable", + "name": "value", + "nameLocation": "30251:5:31", + "nodeType": "VariableDeclaration", + "scope": 9213, + "src": "30244:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9189, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "30244:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "30243:14:31" + }, + "returnParameters": { + "id": 9194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9193, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "30287:10:31", + "nodeType": "VariableDeclaration", + "scope": 9213, + "src": "30281:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 9192, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "30281:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "30280:18:31" + }, + "scope": 9436, + "src": "30227:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9238, + "nodeType": "Block", + "src": "30837:148:31", + "statements": [ + { + "expression": { + "id": 9226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9221, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9219, + "src": "30847:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int56", + "typeString": "int56" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9224, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9216, + "src": "30866:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30860:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int56_$", + "typeString": "type(int56)" + }, + "typeName": { + "id": 9222, + "name": "int56", + "nodeType": "ElementaryTypeName", + "src": "30860:5:31", + "typeDescriptions": {} + } + }, + "id": 9225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30860:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int56", + "typeString": "int56" + } + }, + "src": "30847:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int56", + "typeString": "int56" + } + }, + "id": 9227, + "nodeType": "ExpressionStatement", + "src": "30847:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9228, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9219, + "src": "30886:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int56", + "typeString": "int56" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9229, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9216, + "src": "30900:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "30886:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9237, + "nodeType": "IfStatement", + "src": "30882:97:31", + "trueBody": { + "id": 9236, + "nodeType": "Block", + "src": "30907:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3536", + "id": 9232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30958:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + { + "id": 9233, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9216, + "src": "30962:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9231, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "30928:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30928:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9235, + "nodeType": "RevertStatement", + "src": "30921:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9214, + "nodeType": "StructuredDocumentation", + "src": "30453:307:31", + "text": " @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits" + }, + "id": 9239, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt56", + "nameLocation": "30774:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9216, + "mutability": "mutable", + "name": "value", + "nameLocation": "30789:5:31", + "nodeType": "VariableDeclaration", + "scope": 9239, + "src": "30782:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9215, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "30782:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "30781:14:31" + }, + "returnParameters": { + "id": 9220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9219, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "30825:10:31", + "nodeType": "VariableDeclaration", + "scope": 9239, + "src": "30819:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int56", + "typeString": "int56" + }, + "typeName": { + "id": 9218, + "name": "int56", + "nodeType": "ElementaryTypeName", + "src": "30819:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int56", + "typeString": "int56" + } + }, + "visibility": "internal" + } + ], + "src": "30818:18:31" + }, + "scope": 9436, + "src": "30765:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9264, + "nodeType": "Block", + "src": "31375:148:31", + "statements": [ + { + "expression": { + "id": 9252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9247, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9245, + "src": "31385:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int48", + "typeString": "int48" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9250, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9242, + "src": "31404:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31398:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int48_$", + "typeString": "type(int48)" + }, + "typeName": { + "id": 9248, + "name": "int48", + "nodeType": "ElementaryTypeName", + "src": "31398:5:31", + "typeDescriptions": {} + } + }, + "id": 9251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31398:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int48", + "typeString": "int48" + } + }, + "src": "31385:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int48", + "typeString": "int48" + } + }, + "id": 9253, + "nodeType": "ExpressionStatement", + "src": "31385:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9254, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9245, + "src": "31424:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int48", + "typeString": "int48" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9255, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9242, + "src": "31438:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "31424:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9263, + "nodeType": "IfStatement", + "src": "31420:97:31", + "trueBody": { + "id": 9262, + "nodeType": "Block", + "src": "31445:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3438", + "id": 9258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31496:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + { + "id": 9259, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9242, + "src": "31500:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9257, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "31466:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31466:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9261, + "nodeType": "RevertStatement", + "src": "31459:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9240, + "nodeType": "StructuredDocumentation", + "src": "30991:307:31", + "text": " @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits" + }, + "id": 9265, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt48", + "nameLocation": "31312:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9242, + "mutability": "mutable", + "name": "value", + "nameLocation": "31327:5:31", + "nodeType": "VariableDeclaration", + "scope": 9265, + "src": "31320:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9241, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "31320:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "31319:14:31" + }, + "returnParameters": { + "id": 9246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9245, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "31363:10:31", + "nodeType": "VariableDeclaration", + "scope": 9265, + "src": "31357:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int48", + "typeString": "int48" + }, + "typeName": { + "id": 9244, + "name": "int48", + "nodeType": "ElementaryTypeName", + "src": "31357:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int48", + "typeString": "int48" + } + }, + "visibility": "internal" + } + ], + "src": "31356:18:31" + }, + "scope": 9436, + "src": "31303:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9290, + "nodeType": "Block", + "src": "31913:148:31", + "statements": [ + { + "expression": { + "id": 9278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9273, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9271, + "src": "31923:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int40", + "typeString": "int40" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9276, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9268, + "src": "31942:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31936:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int40_$", + "typeString": "type(int40)" + }, + "typeName": { + "id": 9274, + "name": "int40", + "nodeType": "ElementaryTypeName", + "src": "31936:5:31", + "typeDescriptions": {} + } + }, + "id": 9277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31936:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int40", + "typeString": "int40" + } + }, + "src": "31923:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int40", + "typeString": "int40" + } + }, + "id": 9279, + "nodeType": "ExpressionStatement", + "src": "31923:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9280, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9271, + "src": "31962:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int40", + "typeString": "int40" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9281, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9268, + "src": "31976:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "31962:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9289, + "nodeType": "IfStatement", + "src": "31958:97:31", + "trueBody": { + "id": 9288, + "nodeType": "Block", + "src": "31983:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3430", + "id": 9284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32034:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + { + "id": 9285, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9268, + "src": "32038:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9283, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "32004:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32004:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9287, + "nodeType": "RevertStatement", + "src": "31997:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9266, + "nodeType": "StructuredDocumentation", + "src": "31529:307:31", + "text": " @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits" + }, + "id": 9291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt40", + "nameLocation": "31850:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9268, + "mutability": "mutable", + "name": "value", + "nameLocation": "31865:5:31", + "nodeType": "VariableDeclaration", + "scope": 9291, + "src": "31858:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9267, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "31858:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "31857:14:31" + }, + "returnParameters": { + "id": 9272, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9271, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "31901:10:31", + "nodeType": "VariableDeclaration", + "scope": 9291, + "src": "31895:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int40", + "typeString": "int40" + }, + "typeName": { + "id": 9270, + "name": "int40", + "nodeType": "ElementaryTypeName", + "src": "31895:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int40", + "typeString": "int40" + } + }, + "visibility": "internal" + } + ], + "src": "31894:18:31" + }, + "scope": 9436, + "src": "31841:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9316, + "nodeType": "Block", + "src": "32451:148:31", + "statements": [ + { + "expression": { + "id": 9304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9299, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9297, + "src": "32461:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9302, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9294, + "src": "32480:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "32474:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + }, + "typeName": { + "id": 9300, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "32474:5:31", + "typeDescriptions": {} + } + }, + "id": 9303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32474:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + }, + "src": "32461:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + }, + "id": 9305, + "nodeType": "ExpressionStatement", + "src": "32461:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9306, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9297, + "src": "32500:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9307, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9294, + "src": "32514:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "32500:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9315, + "nodeType": "IfStatement", + "src": "32496:97:31", + "trueBody": { + "id": 9314, + "nodeType": "Block", + "src": "32521:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3332", + "id": 9310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32572:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "id": 9311, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9294, + "src": "32576:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9309, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "32542:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32542:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9313, + "nodeType": "RevertStatement", + "src": "32535:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9292, + "nodeType": "StructuredDocumentation", + "src": "32067:307:31", + "text": " @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits" + }, + "id": 9317, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt32", + "nameLocation": "32388:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9294, + "mutability": "mutable", + "name": "value", + "nameLocation": "32403:5:31", + "nodeType": "VariableDeclaration", + "scope": 9317, + "src": "32396:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9293, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "32396:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "32395:14:31" + }, + "returnParameters": { + "id": 9298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9297, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "32439:10:31", + "nodeType": "VariableDeclaration", + "scope": 9317, + "src": "32433:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + }, + "typeName": { + "id": 9296, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "32433:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + }, + "visibility": "internal" + } + ], + "src": "32432:18:31" + }, + "scope": 9436, + "src": "32379:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9342, + "nodeType": "Block", + "src": "32989:148:31", + "statements": [ + { + "expression": { + "id": 9330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9325, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9323, + "src": "32999:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int24", + "typeString": "int24" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9328, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9320, + "src": "33018:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "33012:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int24_$", + "typeString": "type(int24)" + }, + "typeName": { + "id": 9326, + "name": "int24", + "nodeType": "ElementaryTypeName", + "src": "33012:5:31", + "typeDescriptions": {} + } + }, + "id": 9329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33012:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int24", + "typeString": "int24" + } + }, + "src": "32999:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int24", + "typeString": "int24" + } + }, + "id": 9331, + "nodeType": "ExpressionStatement", + "src": "32999:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9332, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9323, + "src": "33038:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int24", + "typeString": "int24" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9333, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9320, + "src": "33052:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "33038:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9341, + "nodeType": "IfStatement", + "src": "33034:97:31", + "trueBody": { + "id": 9340, + "nodeType": "Block", + "src": "33059:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3234", + "id": 9336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33110:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + { + "id": 9337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9320, + "src": "33114:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9335, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "33080:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33080:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9339, + "nodeType": "RevertStatement", + "src": "33073:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9318, + "nodeType": "StructuredDocumentation", + "src": "32605:307:31", + "text": " @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits" + }, + "id": 9343, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt24", + "nameLocation": "32926:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9320, + "mutability": "mutable", + "name": "value", + "nameLocation": "32941:5:31", + "nodeType": "VariableDeclaration", + "scope": 9343, + "src": "32934:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9319, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "32934:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "32933:14:31" + }, + "returnParameters": { + "id": 9324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9323, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "32977:10:31", + "nodeType": "VariableDeclaration", + "scope": 9343, + "src": "32971:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int24", + "typeString": "int24" + }, + "typeName": { + "id": 9322, + "name": "int24", + "nodeType": "ElementaryTypeName", + "src": "32971:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int24", + "typeString": "int24" + } + }, + "visibility": "internal" + } + ], + "src": "32970:18:31" + }, + "scope": 9436, + "src": "32917:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9368, + "nodeType": "Block", + "src": "33527:148:31", + "statements": [ + { + "expression": { + "id": 9356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9351, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9349, + "src": "33537:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9354, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9346, + "src": "33556:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "33550:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int16_$", + "typeString": "type(int16)" + }, + "typeName": { + "id": 9352, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "33550:5:31", + "typeDescriptions": {} + } + }, + "id": 9355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33550:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "33537:25:31", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "id": 9357, + "nodeType": "ExpressionStatement", + "src": "33537:25:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9358, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9349, + "src": "33576:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9359, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9346, + "src": "33590:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "33576:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9367, + "nodeType": "IfStatement", + "src": "33572:97:31", + "trueBody": { + "id": 9366, + "nodeType": "Block", + "src": "33597:72:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "3136", + "id": 9362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33648:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + { + "id": 9363, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9346, + "src": "33652:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9361, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "33618:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33618:40:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9365, + "nodeType": "RevertStatement", + "src": "33611:47:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9344, + "nodeType": "StructuredDocumentation", + "src": "33143:307:31", + "text": " @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits" + }, + "id": 9369, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt16", + "nameLocation": "33464:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9346, + "mutability": "mutable", + "name": "value", + "nameLocation": "33479:5:31", + "nodeType": "VariableDeclaration", + "scope": 9369, + "src": "33472:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9345, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "33472:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "33471:14:31" + }, + "returnParameters": { + "id": 9350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9349, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "33515:10:31", + "nodeType": "VariableDeclaration", + "scope": 9369, + "src": "33509:16:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 9348, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "33509:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "visibility": "internal" + } + ], + "src": "33508:18:31" + }, + "scope": 9436, + "src": "33455:220:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9394, + "nodeType": "Block", + "src": "34058:146:31", + "statements": [ + { + "expression": { + "id": 9382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9377, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9375, + "src": "34068:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int8", + "typeString": "int8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9380, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9372, + "src": "34086:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34081:4:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int8_$", + "typeString": "type(int8)" + }, + "typeName": { + "id": 9378, + "name": "int8", + "nodeType": "ElementaryTypeName", + "src": "34081:4:31", + "typeDescriptions": {} + } + }, + "id": 9381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34081:11:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int8", + "typeString": "int8" + } + }, + "src": "34068:24:31", + "typeDescriptions": { + "typeIdentifier": "t_int8", + "typeString": "int8" + } + }, + "id": 9383, + "nodeType": "ExpressionStatement", + "src": "34068:24:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9384, + "name": "downcasted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9375, + "src": "34106:10:31", + "typeDescriptions": { + "typeIdentifier": "t_int8", + "typeString": "int8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 9385, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9372, + "src": "34120:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "34106:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9393, + "nodeType": "IfStatement", + "src": "34102:96:31", + "trueBody": { + "id": 9392, + "nodeType": "Block", + "src": "34127:71:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "38", + "id": 9388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34178:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + { + "id": 9389, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9372, + "src": "34181:5:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9387, + "name": "SafeCastOverflowedIntDowncast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7693, + "src": "34148:29:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_int256_$returns$__$", + "typeString": "function (uint8,int256) pure" + } + }, + "id": 9390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34148:39:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9391, + "nodeType": "RevertStatement", + "src": "34141:46:31" + } + ] + } + } + ] + }, + "documentation": { + "id": 9370, + "nodeType": "StructuredDocumentation", + "src": "33681:302:31", + "text": " @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits" + }, + "id": 9395, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt8", + "nameLocation": "33997:6:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9372, + "mutability": "mutable", + "name": "value", + "nameLocation": "34011:5:31", + "nodeType": "VariableDeclaration", + "scope": 9395, + "src": "34004:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9371, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "34004:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "34003:14:31" + }, + "returnParameters": { + "id": 9376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9375, + "mutability": "mutable", + "name": "downcasted", + "nameLocation": "34046:10:31", + "nodeType": "VariableDeclaration", + "scope": 9395, + "src": "34041:15:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int8", + "typeString": "int8" + }, + "typeName": { + "id": 9374, + "name": "int8", + "nodeType": "ElementaryTypeName", + "src": "34041:4:31", + "typeDescriptions": { + "typeIdentifier": "t_int8", + "typeString": "int8" + } + }, + "visibility": "internal" + } + ], + "src": "34040:17:31" + }, + "scope": 9436, + "src": "33988:216:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9424, + "nodeType": "Block", + "src": "34444:250:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9403, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9398, + "src": "34557:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 9408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34578:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 9407, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "34578:6:31", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + } + ], + "id": 9406, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "34573:4:31", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 9409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34573:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_int256", + "typeString": "type(int256)" + } + }, + "id": 9410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34586:3:31", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "34573:16:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34565:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 9404, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34565:7:31", + "typeDescriptions": {} + } + }, + "id": 9411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34565:25:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34557:33:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9418, + "nodeType": "IfStatement", + "src": "34553:105:31", + "trueBody": { + "id": 9417, + "nodeType": "Block", + "src": "34592:66:31", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 9414, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9398, + "src": "34641:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9413, + "name": "SafeCastOverflowedUintToInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7698, + "src": "34613:27:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 9415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34613:34:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9416, + "nodeType": "RevertStatement", + "src": "34606:41:31" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 9421, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9398, + "src": "34681:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34674:6:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 9419, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "34674:6:31", + "typeDescriptions": {} + } + }, + "id": 9422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34674:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9402, + "id": 9423, + "nodeType": "Return", + "src": "34667:20:31" + } + ] + }, + "documentation": { + "id": 9396, + "nodeType": "StructuredDocumentation", + "src": "34210:165:31", + "text": " @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256." + }, + "id": 9425, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toInt256", + "nameLocation": "34389:8:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9398, + "mutability": "mutable", + "name": "value", + "nameLocation": "34406:5:31", + "nodeType": "VariableDeclaration", + "scope": 9425, + "src": "34398:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9397, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34398:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "34397:15:31" + }, + "returnParameters": { + "id": 9402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9401, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9425, + "src": "34436:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9400, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "34436:6:31", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "34435:8:31" + }, + "scope": 9436, + "src": "34380:314:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9434, + "nodeType": "Block", + "src": "34853:87:31", + "statements": [ + { + "AST": { + "nativeSrc": "34888:46:31", + "nodeType": "YulBlock", + "src": "34888:46:31", + "statements": [ + { + "nativeSrc": "34902:22:31", + "nodeType": "YulAssignment", + "src": "34902:22:31", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "b", + "nativeSrc": "34921:1:31", + "nodeType": "YulIdentifier", + "src": "34921:1:31" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "34914:6:31", + "nodeType": "YulIdentifier", + "src": "34914:6:31" + }, + "nativeSrc": "34914:9:31", + "nodeType": "YulFunctionCall", + "src": "34914:9:31" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "34907:6:31", + "nodeType": "YulIdentifier", + "src": "34907:6:31" + }, + "nativeSrc": "34907:17:31", + "nodeType": "YulFunctionCall", + "src": "34907:17:31" + }, + "variableNames": [ + { + "name": "u", + "nativeSrc": "34902:1:31", + "nodeType": "YulIdentifier", + "src": "34902:1:31" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 9428, + "isOffset": false, + "isSlot": false, + "src": "34921:1:31", + "valueSize": 1 + }, + { + "declaration": 9431, + "isOffset": false, + "isSlot": false, + "src": "34902:1:31", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 9433, + "nodeType": "InlineAssembly", + "src": "34863:71:31" + } + ] + }, + "documentation": { + "id": 9426, + "nodeType": "StructuredDocumentation", + "src": "34700:90:31", + "text": " @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump." + }, + "id": 9435, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint", + "nameLocation": "34804:6:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9428, + "mutability": "mutable", + "name": "b", + "nameLocation": "34816:1:31", + "nodeType": "VariableDeclaration", + "scope": 9435, + "src": "34811:6:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9427, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34811:4:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "34810:8:31" + }, + "returnParameters": { + "id": 9432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9431, + "mutability": "mutable", + "name": "u", + "nameLocation": "34850:1:31", + "nodeType": "VariableDeclaration", + "scope": 9435, + "src": "34842:9:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34842:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "34841:11:31" + }, + "scope": 9436, + "src": "34795:145:31", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 9437, + "src": "769:34173:31", + "usedErrors": [ + 7681, + 7686, + 7693, + 7698 + ], + "usedEvents": [] + } + ], + "src": "192:34751:31" + }, + "id": 31 + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "exportedSymbols": { + "SafeCast": [ + 9436 + ], + "SignedMath": [ + 9580 + ] + }, + "id": 9581, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9438, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "109:24:32" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/SafeCast.sol", + "file": "./SafeCast.sol", + "id": 9440, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9581, + "sourceUnit": 9437, + "src": "135:40:32", + "symbolAliases": [ + { + "foreign": { + "id": 9439, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "143:8:32", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SignedMath", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 9441, + "nodeType": "StructuredDocumentation", + "src": "177:80:32", + "text": " @dev Standard signed math utilities missing in the Solidity language." + }, + "fullyImplemented": true, + "id": 9580, + "linearizedBaseContracts": [ + 9580 + ], + "name": "SignedMath", + "nameLocation": "266:10:32", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9470, + "nodeType": "Block", + "src": "746:215:32", + "statements": [ + { + "id": 9469, + "nodeType": "UncheckedBlock", + "src": "756:199:32", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9453, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9448, + "src": "894:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9454, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9446, + "src": "900:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 9455, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9448, + "src": "904:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "900:5:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9457, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "899:7:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 9462, + "name": "condition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "932:9:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 9460, + "name": "SafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "916:8:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeCast_$9436_$", + "typeString": "type(library SafeCast)" + } + }, + "id": 9461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "925:6:32", + "memberName": "toUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9435, + "src": "916:15:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_uint256_$", + "typeString": "function (bool) pure returns (uint256)" + } + }, + "id": 9463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "916:26:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "909:6:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 9458, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "909:6:32", + "typeDescriptions": {} + } + }, + "id": 9464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "909:34:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "899:44:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9466, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "898:46:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "894:50:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9452, + "id": 9468, + "nodeType": "Return", + "src": "887:57:32" + } + ] + } + ] + }, + "documentation": { + "id": 9442, + "nodeType": "StructuredDocumentation", + "src": "283:374:32", + "text": " @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n one branch when needed, making this function more expensive." + }, + "id": 9471, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ternary", + "nameLocation": "671:7:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9449, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9444, + "mutability": "mutable", + "name": "condition", + "nameLocation": "684:9:32", + "nodeType": "VariableDeclaration", + "scope": 9471, + "src": "679:14:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9443, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "679:4:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9446, + "mutability": "mutable", + "name": "a", + "nameLocation": "702:1:32", + "nodeType": "VariableDeclaration", + "scope": 9471, + "src": "695:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9445, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "695:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9448, + "mutability": "mutable", + "name": "b", + "nameLocation": "712:1:32", + "nodeType": "VariableDeclaration", + "scope": 9471, + "src": "705:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9447, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "705:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "678:36:32" + }, + "returnParameters": { + "id": 9452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9451, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9471, + "src": "738:6:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9450, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "738:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "737:8:32" + }, + "scope": 9580, + "src": "662:299:32", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9489, + "nodeType": "Block", + "src": "1102:44:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9482, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9474, + "src": "1127:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 9483, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9476, + "src": "1131:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1127:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9485, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9474, + "src": "1134:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 9486, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9476, + "src": "1137:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9481, + "name": "ternary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9471, + "src": "1119:7:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_int256_$_t_int256_$returns$_t_int256_$", + "typeString": "function (bool,int256,int256) pure returns (int256)" + } + }, + "id": 9487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1119:20:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9480, + "id": 9488, + "nodeType": "Return", + "src": "1112:27:32" + } + ] + }, + "documentation": { + "id": 9472, + "nodeType": "StructuredDocumentation", + "src": "967:66:32", + "text": " @dev Returns the largest of two signed numbers." + }, + "id": 9490, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nameLocation": "1047:3:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9474, + "mutability": "mutable", + "name": "a", + "nameLocation": "1058:1:32", + "nodeType": "VariableDeclaration", + "scope": 9490, + "src": "1051:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9473, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1051:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9476, + "mutability": "mutable", + "name": "b", + "nameLocation": "1068:1:32", + "nodeType": "VariableDeclaration", + "scope": 9490, + "src": "1061:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9475, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1061:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1050:20:32" + }, + "returnParameters": { + "id": 9480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9479, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9490, + "src": "1094:6:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9478, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1094:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1093:8:32" + }, + "scope": 9580, + "src": "1038:108:32", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9508, + "nodeType": "Block", + "src": "1288:44:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9501, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9493, + "src": "1313:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 9502, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9495, + "src": "1317:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1313:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9504, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9493, + "src": "1320:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 9505, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9495, + "src": "1323:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9500, + "name": "ternary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9471, + "src": "1305:7:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_int256_$_t_int256_$returns$_t_int256_$", + "typeString": "function (bool,int256,int256) pure returns (int256)" + } + }, + "id": 9506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1305:20:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9499, + "id": 9507, + "nodeType": "Return", + "src": "1298:27:32" + } + ] + }, + "documentation": { + "id": 9491, + "nodeType": "StructuredDocumentation", + "src": "1152:67:32", + "text": " @dev Returns the smallest of two signed numbers." + }, + "id": 9509, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "1233:3:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9493, + "mutability": "mutable", + "name": "a", + "nameLocation": "1244:1:32", + "nodeType": "VariableDeclaration", + "scope": 9509, + "src": "1237:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9492, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1237:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9495, + "mutability": "mutable", + "name": "b", + "nameLocation": "1254:1:32", + "nodeType": "VariableDeclaration", + "scope": 9509, + "src": "1247:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9494, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1247:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1236:20:32" + }, + "returnParameters": { + "id": 9499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9498, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9509, + "src": "1280:6:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9497, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1280:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1279:8:32" + }, + "scope": 9580, + "src": "1224:108:32", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9552, + "nodeType": "Block", + "src": "1537:162:32", + "statements": [ + { + "assignments": [ + 9520 + ], + "declarations": [ + { + "constant": false, + "id": 9520, + "mutability": "mutable", + "name": "x", + "nameLocation": "1606:1:32", + "nodeType": "VariableDeclaration", + "scope": 9552, + "src": "1599:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9519, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1599:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 9533, + "initialValue": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9521, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9512, + "src": "1611:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 9522, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9514, + "src": "1615:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1611:5:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9524, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1610:7:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9525, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9512, + "src": "1622:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 9526, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9514, + "src": "1626:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1622:5:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9528, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1621:7:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 9529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1632:1:32", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1621:12:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9531, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1620:14:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1610:24:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1599:35:32" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9534, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9520, + "src": "1651:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 9539, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9520, + "src": "1671:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1663:7:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 9537, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1663:7:32", + "typeDescriptions": {} + } + }, + "id": 9540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1663:10:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "323535", + "id": 9541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1677:3:32", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "src": "1663:17:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1656:6:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 9535, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1656:6:32", + "typeDescriptions": {} + } + }, + "id": 9543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1656:25:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9544, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9512, + "src": "1685:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 9545, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9514, + "src": "1689:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1685:5:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9547, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1684:7:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1656:35:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9549, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1655:37:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "1651:41:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9518, + "id": 9551, + "nodeType": "Return", + "src": "1644:48:32" + } + ] + }, + "documentation": { + "id": 9510, + "nodeType": "StructuredDocumentation", + "src": "1338:126:32", + "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." + }, + "id": 9553, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "average", + "nameLocation": "1478:7:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9512, + "mutability": "mutable", + "name": "a", + "nameLocation": "1493:1:32", + "nodeType": "VariableDeclaration", + "scope": 9553, + "src": "1486:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9511, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1486:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9514, + "mutability": "mutable", + "name": "b", + "nameLocation": "1503:1:32", + "nodeType": "VariableDeclaration", + "scope": 9553, + "src": "1496:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9513, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1496:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1485:20:32" + }, + "returnParameters": { + "id": 9518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9517, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9553, + "src": "1529:6:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9516, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1529:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1528:8:32" + }, + "scope": 9580, + "src": "1469:230:32", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9578, + "nodeType": "Block", + "src": "1843:767:32", + "statements": [ + { + "id": 9577, + "nodeType": "UncheckedBlock", + "src": "1853:751:32", + "statements": [ + { + "assignments": [ + 9562 + ], + "declarations": [ + { + "constant": false, + "id": 9562, + "mutability": "mutable", + "name": "mask", + "nameLocation": "2424:4:32", + "nodeType": "VariableDeclaration", + "scope": 9577, + "src": "2417:11:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9561, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2417:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 9566, + "initialValue": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9563, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9556, + "src": "2431:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "323535", + "id": 9564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2436:3:32", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "src": "2431:8:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2417:22:32" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9569, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9556, + "src": "2576:1:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 9570, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9562, + "src": "2580:4:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "2576:8:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 9572, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2575:10:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 9573, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9562, + "src": "2588:4:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "2575:17:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2567:7:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 9567, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2567:7:32", + "typeDescriptions": {} + } + }, + "id": 9575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2567:26:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9560, + "id": 9576, + "nodeType": "Return", + "src": "2560:33:32" + } + ] + } + ] + }, + "documentation": { + "id": 9554, + "nodeType": "StructuredDocumentation", + "src": "1705:78:32", + "text": " @dev Returns the absolute unsigned value of a signed value." + }, + "id": 9579, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "abs", + "nameLocation": "1797:3:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9556, + "mutability": "mutable", + "name": "n", + "nameLocation": "1808:1:32", + "nodeType": "VariableDeclaration", + "scope": 9579, + "src": "1801:8:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9555, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1801:6:32", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1800:10:32" + }, + "returnParameters": { + "id": 9560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9559, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9579, + "src": "1834:7:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1834:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1833:9:32" + }, + "scope": 9580, + "src": "1788:822:32", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 9581, + "src": "258:2354:32", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "109:2504:32" + }, + "id": 32 + }, + "contracts/AirdropManager.sol": { + "ast": { + "absolutePath": "contracts/AirdropManager.sol", + "exportedSymbols": { + "Administrable": [ + 11487 + ], + "AirdropInfo": [ + 11663 + ], + "AirdropManager": [ + 10179 + ], + "AirdropType": [ + 11645 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ] + }, + "id": 10180, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9582, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:33" + }, + { + "absolutePath": "contracts/Lib/Administrable.sol", + "file": "./Lib/Administrable.sol", + "id": 9583, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10180, + "sourceUnit": 11488, + "src": "58:33:33", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Tools/Types.sol", + "file": "./Tools/Types.sol", + "id": 9584, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10180, + "sourceUnit": 11836, + "src": "92:27:33", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 9585, + "name": "Administrable", + "nameLocations": [ + "148:13:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11487, + "src": "148:13:33" + }, + "id": 9586, + "nodeType": "InheritanceSpecifier", + "src": "148:13:33" + } + ], + "canonicalName": "AirdropManager", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 10179, + "linearizedBaseContracts": [ + 10179, + 11487 + ], + "name": "AirdropManager", + "nameLocation": "130:14:33", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9588, + "mutability": "mutable", + "name": "_airdropDeployerERC20Address", + "nameLocation": "176:28:33", + "nodeType": "VariableDeclaration", + "scope": 10179, + "src": "168:36:33", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "168:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9590, + "mutability": "mutable", + "name": "_airdropDeployerERC1155Address", + "nameLocation": "218:30:33", + "nodeType": "VariableDeclaration", + "scope": 10179, + "src": "210:38:33", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9593, + "mutability": "mutable", + "name": "_airdrops", + "nameLocation": "264:9:33", + "nodeType": "VariableDeclaration", + "scope": 10179, + "src": "254:19:33", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9592, + "nodeType": "ArrayTypeName", + "src": "254:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "eventSelector": "8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b64", + "id": 9597, + "name": "AirdropAdded", + "nameLocation": "286:12:33", + "nodeType": "EventDefinition", + "parameters": { + "id": 9596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9595, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "307:14:33", + "nodeType": "VariableDeclaration", + "scope": 9597, + "src": "299:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "299:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "298:24:33" + }, + "src": "280:43:33" + }, + { + "anonymous": false, + "eventSelector": "a075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32", + "id": 9601, + "name": "AirdropRemoved", + "nameLocation": "334:14:33", + "nodeType": "EventDefinition", + "parameters": { + "id": 9600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9599, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "357:14:33", + "nodeType": "VariableDeclaration", + "scope": 9601, + "src": "349:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9598, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "349:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "348:24:33" + }, + "src": "328:45:33" + }, + { + "anonymous": false, + "eventSelector": "e0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257", + "id": 9605, + "name": "AirdropERC20Deployed", + "nameLocation": "384:20:33", + "nodeType": "EventDefinition", + "parameters": { + "id": 9604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9603, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "413:14:33", + "nodeType": "VariableDeclaration", + "scope": 9605, + "src": "405:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9602, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "405:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "404:24:33" + }, + "src": "378:51:33" + }, + { + "anonymous": false, + "eventSelector": "3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d", + "id": 9609, + "name": "AirdropERC1155Deployed", + "nameLocation": "440:22:33", + "nodeType": "EventDefinition", + "parameters": { + "id": 9608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9607, + "indexed": false, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "471:14:33", + "nodeType": "VariableDeclaration", + "scope": 9609, + "src": "463:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "463:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "462:24:33" + }, + "src": "434:53:33" + }, + { + "body": { + "id": 9630, + "nodeType": "Block", + "src": "672:147:33", + "statements": [ + { + "expression": { + "id": 9624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9622, + "name": "_airdropDeployerERC20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9588, + "src": "682:28:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 9623, + "name": "airdropDeployerERC20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9614, + "src": "713:27:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "682:58:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9625, + "nodeType": "ExpressionStatement", + "src": "682:58:33" + }, + { + "expression": { + "id": 9628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9626, + "name": "_airdropDeployerERC1155Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9590, + "src": "750:30:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 9627, + "name": "airdropDeployerERC1155Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9616, + "src": "783:29:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "750:62:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9629, + "nodeType": "ExpressionStatement", + "src": "750:62:33" + } + ] + }, + "id": 9631, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 9619, + "name": "initialAdmins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9612, + "src": "657:13:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "id": 9620, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 9618, + "name": "Administrable", + "nameLocations": [ + "643:13:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11487, + "src": "643:13:33" + }, + "nodeType": "ModifierInvocation", + "src": "643:28:33" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9612, + "mutability": "mutable", + "name": "initialAdmins", + "nameLocation": "531:13:33", + "nodeType": "VariableDeclaration", + "scope": 9631, + "src": "514:30:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "514:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9611, + "nodeType": "ArrayTypeName", + "src": "514:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9614, + "mutability": "mutable", + "name": "airdropDeployerERC20Address", + "nameLocation": "562:27:33", + "nodeType": "VariableDeclaration", + "scope": 9631, + "src": "554:35:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "554:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9616, + "mutability": "mutable", + "name": "airdropDeployerERC1155Address", + "nameLocation": "607:29:33", + "nodeType": "VariableDeclaration", + "scope": 9631, + "src": "599:37:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "599:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "504:138:33" + }, + "returnParameters": { + "id": 9621, + "nodeType": "ParameterList", + "parameters": [], + "src": "672:0:33" + }, + "scope": 10179, + "src": "493:326:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9658, + "nodeType": "Block", + "src": "965:104:33", + "statements": [ + { + "assignments": [ + 9645 + ], + "declarations": [ + { + "constant": false, + "id": 9645, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "984:7:33", + "nodeType": "VariableDeclaration", + "scope": 9658, + "src": "975:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9644, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9643, + "name": "IAirdrop", + "nameLocations": [ + "975:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "975:8:33" + }, + "referencedDeclaration": 11751, + "src": "975:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9649, + "initialValue": { + "arguments": [ + { + "id": 9647, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9633, + "src": "1003:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9646, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "994:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "994:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "975:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9653, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9635, + "src": "1042:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9654, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9637, + "src": "1048:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9655, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9640, + "src": "1056:5:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "expression": { + "id": 9650, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9645, + "src": "1028:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1036:5:33", + "memberName": "claim", + "nodeType": "MemberAccess", + "referencedDeclaration": 11673, + "src": "1028:13:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes32[] memory) external" + } + }, + "id": 9656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1028:34:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9657, + "nodeType": "ExpressionStatement", + "src": "1028:34:33" + } + ] + }, + "functionSelector": "fabed412", + "id": 9659, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "claim", + "nameLocation": "834:5:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9633, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "857:14:33", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "849:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "849:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9635, + "mutability": "mutable", + "name": "user", + "nameLocation": "889:4:33", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "881:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9637, + "mutability": "mutable", + "name": "amount", + "nameLocation": "911:6:33", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "903:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "903:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9640, + "mutability": "mutable", + "name": "proof", + "nameLocation": "946:5:33", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "927:24:33", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9638, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "927:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9639, + "nodeType": "ArrayTypeName", + "src": "927:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "839:118:33" + }, + "returnParameters": { + "id": 9642, + "nodeType": "ParameterList", + "parameters": [], + "src": "965:0:33" + }, + "scope": 10179, + "src": "825:244:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9680, + "nodeType": "Block", + "src": "1182:101:33", + "statements": [ + { + "assignments": [ + 9670 + ], + "declarations": [ + { + "constant": false, + "id": 9670, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1201:7:33", + "nodeType": "VariableDeclaration", + "scope": 9680, + "src": "1192:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9669, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9668, + "name": "IAirdrop", + "nameLocations": [ + "1192:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "1192:8:33" + }, + "referencedDeclaration": 11751, + "src": "1192:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9674, + "initialValue": { + "arguments": [ + { + "id": 9672, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9661, + "src": "1220:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9671, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "1211:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1211:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1192:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9677, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9663, + "src": "1271:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 9675, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9670, + "src": "1252:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1260:10:33", + "memberName": "hasClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 11680, + "src": "1252:18:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 9678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1252:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 9667, + "id": 9679, + "nodeType": "Return", + "src": "1245:31:33" + } + ] + }, + "functionSelector": "89266f60", + "id": 9681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "1084:10:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9661, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1112:14:33", + "nodeType": "VariableDeclaration", + "scope": 9681, + "src": "1104:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9660, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1104:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9663, + "mutability": "mutable", + "name": "user", + "nameLocation": "1144:4:33", + "nodeType": "VariableDeclaration", + "scope": 9681, + "src": "1136:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9662, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1136:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1094:60:33" + }, + "returnParameters": { + "id": 9667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9666, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9681, + "src": "1176:4:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9665, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1176:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1175:6:33" + }, + "scope": 10179, + "src": "1075:208:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9699, + "nodeType": "Block", + "src": "1360:97:33", + "statements": [ + { + "assignments": [ + 9690 + ], + "declarations": [ + { + "constant": false, + "id": 9690, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1379:7:33", + "nodeType": "VariableDeclaration", + "scope": 9699, + "src": "1370:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9689, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9688, + "name": "IAirdrop", + "nameLocations": [ + "1370:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "1370:8:33" + }, + "referencedDeclaration": 11751, + "src": "1370:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9694, + "initialValue": { + "arguments": [ + { + "id": 9692, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9683, + "src": "1398:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9691, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "1389:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1389:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1370:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9695, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9690, + "src": "1430:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1438:10:33", + "memberName": "hasExpired", + "nodeType": "MemberAccess", + "referencedDeclaration": 11685, + "src": "1430:18:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 9697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1430:20:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 9687, + "id": 9698, + "nodeType": "Return", + "src": "1423:27:33" + } + ] + }, + "functionSelector": "f77bc88b", + "id": 9700, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "1298:10:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9683, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1317:14:33", + "nodeType": "VariableDeclaration", + "scope": 9700, + "src": "1309:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9682, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1309:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1308:24:33" + }, + "returnParameters": { + "id": 9687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9686, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9700, + "src": "1354:4:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9685, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1354:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1353:6:33" + }, + "scope": 10179, + "src": "1289:168:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9721, + "nodeType": "Block", + "src": "1569:100:33", + "statements": [ + { + "assignments": [ + 9711 + ], + "declarations": [ + { + "constant": false, + "id": 9711, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1588:7:33", + "nodeType": "VariableDeclaration", + "scope": 9721, + "src": "1579:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9710, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9709, + "name": "IAirdrop", + "nameLocations": [ + "1579:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "1579:8:33" + }, + "referencedDeclaration": 11751, + "src": "1579:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9715, + "initialValue": { + "arguments": [ + { + "id": 9713, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9702, + "src": "1607:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9712, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "1598:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1598:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1579:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9718, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9704, + "src": "1657:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 9716, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9711, + "src": "1639:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1647:9:33", + "memberName": "isAllowed", + "nodeType": "MemberAccess", + "referencedDeclaration": 11714, + "src": "1639:17:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 9719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1639:23:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 9708, + "id": 9720, + "nodeType": "Return", + "src": "1632:30:33" + } + ] + }, + "functionSelector": "a1654379", + "id": 9722, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "1472:9:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9702, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1499:14:33", + "nodeType": "VariableDeclaration", + "scope": 9722, + "src": "1491:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1491:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9704, + "mutability": "mutable", + "name": "user", + "nameLocation": "1531:4:33", + "nodeType": "VariableDeclaration", + "scope": 9722, + "src": "1523:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9703, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1523:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1481:60:33" + }, + "returnParameters": { + "id": 9708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9707, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9722, + "src": "1563:4:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9706, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1563:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1562:6:33" + }, + "scope": 10179, + "src": "1463:206:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9740, + "nodeType": "Block", + "src": "1770:104:33", + "statements": [ + { + "assignments": [ + 9731 + ], + "declarations": [ + { + "constant": false, + "id": 9731, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1789:7:33", + "nodeType": "VariableDeclaration", + "scope": 9740, + "src": "1780:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9730, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9729, + "name": "IAirdrop", + "nameLocations": [ + "1780:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "1780:8:33" + }, + "referencedDeclaration": 11751, + "src": "1780:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9735, + "initialValue": { + "arguments": [ + { + "id": 9733, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9724, + "src": "1808:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9732, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "1799:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1799:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1780:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9736, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9731, + "src": "1840:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1848:17:33", + "memberName": "getExpirationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 11719, + "src": "1840:25:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 9738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1840:27:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9728, + "id": 9739, + "nodeType": "Return", + "src": "1833:34:33" + } + ] + }, + "functionSelector": "2522f8da", + "id": 9741, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "1684:17:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9724, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1719:14:33", + "nodeType": "VariableDeclaration", + "scope": 9741, + "src": "1711:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9723, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1711:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1701:38:33" + }, + "returnParameters": { + "id": 9728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9727, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9741, + "src": "1761:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1761:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1760:9:33" + }, + "scope": 10179, + "src": "1675:199:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9759, + "nodeType": "Block", + "src": "1972:101:33", + "statements": [ + { + "assignments": [ + 9750 + ], + "declarations": [ + { + "constant": false, + "id": 9750, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "1991:7:33", + "nodeType": "VariableDeclaration", + "scope": 9759, + "src": "1982:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9749, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9748, + "name": "IAirdrop", + "nameLocations": [ + "1982:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "1982:8:33" + }, + "referencedDeclaration": 11751, + "src": "1982:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9754, + "initialValue": { + "arguments": [ + { + "id": 9752, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9743, + "src": "2010:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9751, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "2001:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2001:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1982:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9755, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9750, + "src": "2042:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2050:14:33", + "memberName": "getClaimAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 11724, + "src": "2042:22:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 9757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2042:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9747, + "id": 9758, + "nodeType": "Return", + "src": "2035:31:33" + } + ] + }, + "functionSelector": "dde070e8", + "id": 9760, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "1889:14:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9743, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1921:14:33", + "nodeType": "VariableDeclaration", + "scope": 9760, + "src": "1913:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1913:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1903:38:33" + }, + "returnParameters": { + "id": 9747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9746, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9760, + "src": "1963:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9745, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1963:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1962:9:33" + }, + "scope": 10179, + "src": "1880:193:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9779, + "nodeType": "Block", + "src": "2182:101:33", + "statements": [ + { + "assignments": [ + 9770 + ], + "declarations": [ + { + "constant": false, + "id": 9770, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2201:7:33", + "nodeType": "VariableDeclaration", + "scope": 9779, + "src": "2192:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9769, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9768, + "name": "IAirdrop", + "nameLocations": [ + "2192:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "2192:8:33" + }, + "referencedDeclaration": 11751, + "src": "2192:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9774, + "initialValue": { + "arguments": [ + { + "id": 9772, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9762, + "src": "2220:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9771, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "2211:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2211:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2192:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9775, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9770, + "src": "2252:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2260:14:33", + "memberName": "getAirdropInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 11745, + "src": "2252:22:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_struct$_AirdropInfo_$11663_memory_ptr_$", + "typeString": "function () view external returns (struct AirdropInfo memory)" + } + }, + "id": 9777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2252:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 9767, + "id": 9778, + "nodeType": "Return", + "src": "2245:31:33" + } + ] + }, + "functionSelector": "6b58222e", + "id": 9780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "2088:14:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9762, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2120:14:33", + "nodeType": "VariableDeclaration", + "scope": 9780, + "src": "2112:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2112:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2102:38:33" + }, + "returnParameters": { + "id": 9767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9766, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9780, + "src": "2162:18:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 9765, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9764, + "name": "AirdropInfo", + "nameLocations": [ + "2162:11:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11663, + "src": "2162:11:33" + }, + "referencedDeclaration": 11663, + "src": "2162:11:33", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "2161:20:33" + }, + "scope": 10179, + "src": "2079:204:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9798, + "nodeType": "Block", + "src": "2388:108:33", + "statements": [ + { + "assignments": [ + 9789 + ], + "declarations": [ + { + "constant": false, + "id": 9789, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2407:7:33", + "nodeType": "VariableDeclaration", + "scope": 9798, + "src": "2398:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9788, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9787, + "name": "IAirdrop", + "nameLocations": [ + "2398:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "2398:8:33" + }, + "referencedDeclaration": 11751, + "src": "2398:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9793, + "initialValue": { + "arguments": [ + { + "id": 9791, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9782, + "src": "2426:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9790, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "2417:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2417:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2398:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9794, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9789, + "src": "2458:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2466:21:33", + "memberName": "getTotalAirdropAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 11729, + "src": "2458:29:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 9796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2458:31:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9786, + "id": 9797, + "nodeType": "Return", + "src": "2451:38:33" + } + ] + }, + "functionSelector": "f89f2a2c", + "id": 9799, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "2298:21:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9782, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2337:14:33", + "nodeType": "VariableDeclaration", + "scope": 9799, + "src": "2329:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2329:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2319:38:33" + }, + "returnParameters": { + "id": 9786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9799, + "src": "2379:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2379:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2378:9:33" + }, + "scope": 10179, + "src": "2289:207:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9817, + "nodeType": "Block", + "src": "2600:107:33", + "statements": [ + { + "assignments": [ + 9808 + ], + "declarations": [ + { + "constant": false, + "id": 9808, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2619:7:33", + "nodeType": "VariableDeclaration", + "scope": 9817, + "src": "2610:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9807, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9806, + "name": "IAirdrop", + "nameLocations": [ + "2610:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "2610:8:33" + }, + "referencedDeclaration": 11751, + "src": "2610:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9812, + "initialValue": { + "arguments": [ + { + "id": 9810, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9801, + "src": "2638:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9809, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "2629:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2629:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2610:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9813, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9808, + "src": "2670:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2678:20:33", + "memberName": "getAirdropAmountLeft", + "nodeType": "MemberAccess", + "referencedDeclaration": 11734, + "src": "2670:28:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 9815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2670:30:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9805, + "id": 9816, + "nodeType": "Return", + "src": "2663:37:33" + } + ] + }, + "functionSelector": "a9b8f018", + "id": 9818, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "2511:20:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9801, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2549:14:33", + "nodeType": "VariableDeclaration", + "scope": 9818, + "src": "2541:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9800, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2541:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2531:38:33" + }, + "returnParameters": { + "id": 9805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9804, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9818, + "src": "2591:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2591:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2590:9:33" + }, + "scope": 10179, + "src": "2502:205:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9836, + "nodeType": "Block", + "src": "2787:97:33", + "statements": [ + { + "assignments": [ + 9827 + ], + "declarations": [ + { + "constant": false, + "id": 9827, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "2806:7:33", + "nodeType": "VariableDeclaration", + "scope": 9836, + "src": "2797:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 9826, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9825, + "name": "IAirdrop", + "nameLocations": [ + "2797:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "2797:8:33" + }, + "referencedDeclaration": 11751, + "src": "2797:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 9831, + "initialValue": { + "arguments": [ + { + "id": 9829, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9820, + "src": "2825:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9828, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "2816:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 9830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2816:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2797:43:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9832, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9827, + "src": "2857:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 9833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2865:10:33", + "memberName": "getBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 11739, + "src": "2857:18:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 9834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2857:20:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9824, + "id": 9835, + "nodeType": "Return", + "src": "2850:27:33" + } + ] + }, + "functionSelector": "f8b2cb4f", + "id": 9837, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "2722:10:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9820, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "2741:14:33", + "nodeType": "VariableDeclaration", + "scope": 9837, + "src": "2733:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9819, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2733:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2732:24:33" + }, + "returnParameters": { + "id": 9824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9823, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9837, + "src": "2778:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2778:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2777:9:33" + }, + "scope": 10179, + "src": "2713:171:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9845, + "nodeType": "Block", + "src": "2952:33:33", + "statements": [ + { + "expression": { + "id": 9843, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "2969:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "functionReturnParameters": 9842, + "id": 9844, + "nodeType": "Return", + "src": "2962:16:33" + } + ] + }, + "functionSelector": "59f47add", + "id": 9846, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdrops", + "nameLocation": "2899:11:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9838, + "nodeType": "ParameterList", + "parameters": [], + "src": "2910:2:33" + }, + "returnParameters": { + "id": 9842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9841, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9846, + "src": "2934:16:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9839, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2934:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9840, + "nodeType": "ArrayTypeName", + "src": "2934:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2933:18:33" + }, + "scope": 10179, + "src": "2890:95:33", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9889, + "nodeType": "Block", + "src": "3217:428:33", + "statements": [ + { + "assignments": [ + 9863 + ], + "declarations": [ + { + "constant": false, + "id": 9863, + "mutability": "mutable", + "name": "deployerERC20", + "nameLocation": "3242:13:33", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "3227:28:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$11767", + "typeString": "contract IDeployerERC20" + }, + "typeName": { + "id": 9862, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9861, + "name": "IDeployerERC20", + "nameLocations": [ + "3227:14:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11767, + "src": "3227:14:33" + }, + "referencedDeclaration": 11767, + "src": "3227:14:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$11767", + "typeString": "contract IDeployerERC20" + } + }, + "visibility": "internal" + } + ], + "id": 9867, + "initialValue": { + "arguments": [ + { + "id": 9865, + "name": "_airdropDeployerERC20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9588, + "src": "3273:28:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9864, + "name": "IDeployerERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "3258:14:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IDeployerERC20_$11767_$", + "typeString": "type(contract IDeployerERC20)" + } + }, + "id": 9866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3258:44:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$11767", + "typeString": "contract IDeployerERC20" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3227:75:33" + }, + { + "assignments": [ + 9869 + ], + "declarations": [ + { + "constant": false, + "id": 9869, + "mutability": "mutable", + "name": "deployedAddress", + "nameLocation": "3320:15:33", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "3312:23:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3312:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 9878, + "initialValue": { + "arguments": [ + { + "id": 9872, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9848, + "src": "3385:11:33", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9873, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9850, + "src": "3410:12:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9874, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9852, + "src": "3436:18:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9875, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9854, + "src": "3468:11:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9876, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9856, + "src": "3493:14:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 9870, + "name": "deployerERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9863, + "src": "3338:13:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployerERC20_$11767", + "typeString": "contract IDeployerERC20" + } + }, + "id": 9871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3352:19:33", + "memberName": "deployAndAddAirdrop", + "nodeType": "MemberAccess", + "referencedDeclaration": 11766, + "src": "3338:33:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_address_$", + "typeString": "function (string memory,address,uint256,uint256,uint256) external returns (address)" + } + }, + "id": 9877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3338:179:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3312:205:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9880, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9869, + "src": "3538:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9879, + "name": "addAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10000, + "src": "3527:10:33", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3527:27:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9882, + "nodeType": "ExpressionStatement", + "src": "3527:27:33" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9884, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9869, + "src": "3590:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9883, + "name": "AirdropERC20Deployed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9605, + "src": "3569:20:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3569:37:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9886, + "nodeType": "EmitStatement", + "src": "3564:42:33" + }, + { + "expression": { + "id": 9887, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9869, + "src": "3623:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 9860, + "id": 9888, + "nodeType": "Return", + "src": "3616:22:33" + } + ] + }, + "functionSelector": "07b1d553", + "id": 9890, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdropERC20", + "nameLocation": "3000:24:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9848, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "3048:11:33", + "nodeType": "VariableDeclaration", + "scope": 9890, + "src": "3034:25:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9847, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3034:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9850, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "3077:12:33", + "nodeType": "VariableDeclaration", + "scope": 9890, + "src": "3069:20:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3069:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9852, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "3107:18:33", + "nodeType": "VariableDeclaration", + "scope": 9890, + "src": "3099:26:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3099:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9854, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "3143:11:33", + "nodeType": "VariableDeclaration", + "scope": 9890, + "src": "3135:19:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3135:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9856, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "3172:14:33", + "nodeType": "VariableDeclaration", + "scope": 9890, + "src": "3164:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3164:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3024:168:33" + }, + "returnParameters": { + "id": 9860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9859, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9890, + "src": "3208:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3208:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3207:9:33" + }, + "scope": 10179, + "src": "2991:654:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9949, + "nodeType": "Block", + "src": "3926:545:33", + "statements": [ + { + "assignments": [ + 9911 + ], + "declarations": [ + { + "constant": false, + "id": 9911, + "mutability": "mutable", + "name": "deployer1155", + "nameLocation": "3950:12:33", + "nodeType": "VariableDeclaration", + "scope": 9949, + "src": "3936:26:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$11787", + "typeString": "contract IDeployer1155" + }, + "typeName": { + "id": 9910, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9909, + "name": "IDeployer1155", + "nameLocations": [ + "3936:13:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11787, + "src": "3936:13:33" + }, + "referencedDeclaration": 11787, + "src": "3936:13:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$11787", + "typeString": "contract IDeployer1155" + } + }, + "visibility": "internal" + } + ], + "id": 9915, + "initialValue": { + "arguments": [ + { + "id": 9913, + "name": "_airdropDeployerERC1155Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9590, + "src": "3979:30:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9912, + "name": "IDeployer1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11787, + "src": "3965:13:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IDeployer1155_$11787_$", + "typeString": "type(contract IDeployer1155)" + } + }, + "id": 9914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3965:45:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$11787", + "typeString": "contract IDeployer1155" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3936:74:33" + }, + { + "assignments": [ + 9917 + ], + "declarations": [ + { + "constant": false, + "id": 9917, + "mutability": "mutable", + "name": "deployedAddress", + "nameLocation": "4028:15:33", + "nodeType": "VariableDeclaration", + "scope": 9949, + "src": "4020:23:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4020:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 9928, + "initialValue": { + "arguments": [ + { + "id": 9920, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9892, + "src": "4092:11:33", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9921, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9894, + "src": "4117:12:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9922, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9896, + "src": "4143:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9923, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "4164:18:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9924, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9900, + "src": "4196:11:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9925, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9902, + "src": "4221:14:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9926, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9904, + "src": "4249:4:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 9918, + "name": "deployer1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9911, + "src": "4046:12:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDeployer1155_$11787", + "typeString": "contract IDeployer1155" + } + }, + "id": 9919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4059:19:33", + "memberName": "deployAndAddAirdrop", + "nodeType": "MemberAccess", + "referencedDeclaration": 11786, + "src": "4046:32:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_address_$", + "typeString": "function (string memory,address,uint256,uint256,uint256,uint256,uint256) external returns (address)" + } + }, + "id": 9927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4046:217:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4020:243:33" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9930, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9917, + "src": "4281:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 9933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4308:1:33", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 9932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4300:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4300:7:33", + "typeDescriptions": {} + } + }, + "id": 9934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4300:10:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4281:29:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4572726f722c2077726f6e67206d6f64652073656c6563746564", + "id": 9936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4312:28:33", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "typeString": "literal_string \"Error, wrong mode selected\"" + }, + "value": "Error, wrong mode selected" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "typeString": "literal_string \"Error, wrong mode selected\"" + } + ], + "id": 9929, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4273:7:33", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4273:68:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9938, + "nodeType": "ExpressionStatement", + "src": "4273:68:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9940, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9917, + "src": "4362:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9939, + "name": "addAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10000, + "src": "4351:10:33", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4351:27:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9942, + "nodeType": "ExpressionStatement", + "src": "4351:27:33" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9944, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9917, + "src": "4416:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9943, + "name": "AirdropERC1155Deployed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9609, + "src": "4393:22:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4393:39:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9946, + "nodeType": "EmitStatement", + "src": "4388:44:33" + }, + { + "expression": { + "id": 9947, + "name": "deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9917, + "src": "4449:15:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 9908, + "id": 9948, + "nodeType": "Return", + "src": "4442:22:33" + } + ] + }, + "functionSelector": "b17acd1a", + "id": 9950, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdropERC1155", + "nameLocation": "3660:26:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9892, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "3710:11:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3696:25:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9891, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3696:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9894, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "3739:12:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3731:20:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3731:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9896, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3769:7:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3761:15:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3761:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9898, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "3794:18:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3786:26:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3786:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9900, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "3830:11:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3822:19:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3822:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9902, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "3859:14:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3851:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3851:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9904, + "mutability": "mutable", + "name": "mode", + "nameLocation": "3891:4:33", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3883:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3883:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3686:215:33" + }, + "returnParameters": { + "id": 9908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9907, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9950, + "src": "3917:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3917:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3916:9:33" + }, + "scope": 10179, + "src": "3651:820:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9999, + "nodeType": "Block", + "src": "4533:307:33", + "statements": [ + { + "assignments": [ + 9956 + ], + "declarations": [ + { + "constant": false, + "id": 9956, + "mutability": "mutable", + "name": "exists", + "nameLocation": "4548:6:33", + "nodeType": "VariableDeclaration", + "scope": 9999, + "src": "4543:11:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4543:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 9958, + "initialValue": { + "hexValue": "66616c7365", + "id": 9957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4557:5:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4543:19:33" + }, + { + "body": { + "id": 9981, + "nodeType": "Block", + "src": "4627:67:33", + "statements": [ + { + "expression": { + "id": 9979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9973, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9956, + "src": "4641:6:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 9974, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "4650:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9976, + "indexExpression": { + "id": 9975, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "4660:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4650:12:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 9977, + "name": "newAirdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9952, + "src": "4666:17:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4650:33:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4641:42:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9980, + "nodeType": "ExpressionStatement", + "src": "4641:42:33" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9963, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "4589:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 9964, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "4593:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4603:6:33", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4593:16:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4589:20:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 9968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4613:7:33", + "subExpression": { + "id": 9967, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9956, + "src": "4614:6:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4589:31:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9982, + "initializationExpression": { + "assignments": [ + 9960 + ], + "declarations": [ + { + "constant": false, + "id": 9960, + "mutability": "mutable", + "name": "i", + "nameLocation": "4582:1:33", + "nodeType": "VariableDeclaration", + "scope": 9982, + "src": "4577:6:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9959, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4577:4:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9962, + "initialValue": { + "hexValue": "30", + "id": 9961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4586:1:33", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4577:10:33" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 9971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4622:3:33", + "subExpression": { + "id": 9970, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "4622:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9972, + "nodeType": "ExpressionStatement", + "src": "4622:3:33" + }, + "nodeType": "ForStatement", + "src": "4572:122:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4711:7:33", + "subExpression": { + "id": 9984, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9956, + "src": "4712:6:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c7265616479206164646564", + "id": 9986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4720:23:33", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "typeString": "literal_string \"Airdrop already added\"" + }, + "value": "Airdrop already added" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "typeString": "literal_string \"Airdrop already added\"" + } + ], + "id": 9983, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4703:7:33", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4703:41:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9988, + "nodeType": "ExpressionStatement", + "src": "4703:41:33" + }, + { + "expression": { + "arguments": [ + { + "id": 9992, + "name": "newAirdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9952, + "src": "4769:17:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 9989, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "4754:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4764:4:33", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "4754:14:33", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer,address)" + } + }, + "id": 9993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4754:33:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9994, + "nodeType": "ExpressionStatement", + "src": "4754:33:33" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9996, + "name": "newAirdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9952, + "src": "4815:17:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9995, + "name": "AirdropAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9597, + "src": "4802:12:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4802:31:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9998, + "nodeType": "EmitStatement", + "src": "4797:36:33" + } + ] + }, + "id": 10000, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addAirdrop", + "nameLocation": "4486:10:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9952, + "mutability": "mutable", + "name": "newAirdropAddress", + "nameLocation": "4505:17:33", + "nodeType": "VariableDeclaration", + "scope": 10000, + "src": "4497:25:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9951, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4497:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4496:27:33" + }, + "returnParameters": { + "id": 9954, + "nodeType": "ParameterList", + "parameters": [], + "src": "4533:0:33" + }, + "scope": 10179, + "src": "4477:363:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10022, + "nodeType": "Block", + "src": "4920:92:33", + "statements": [ + { + "assignments": [ + 10011 + ], + "declarations": [ + { + "constant": false, + "id": 10011, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "4939:7:33", + "nodeType": "VariableDeclaration", + "scope": 10022, + "src": "4930:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 10010, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10009, + "name": "IAirdrop", + "nameLocations": [ + "4930:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "4930:8:33" + }, + "referencedDeclaration": 11751, + "src": "4930:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 10015, + "initialValue": { + "arguments": [ + { + "id": 10013, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10002, + "src": "4958:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10012, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "4949:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 10014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4949:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4930:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 10019, + "name": "_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10004, + "src": "4999:5:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 10016, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10011, + "src": "4983:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 10018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4991:7:33", + "memberName": "setRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 11750, + "src": "4983:15:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 10020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4983:22:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10021, + "nodeType": "ExpressionStatement", + "src": "4983:22:33" + } + ] + }, + "functionSelector": "7f94f65d", + "id": 10023, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10007, + "kind": "modifierInvocation", + "modifierName": { + "id": 10006, + "name": "onlyAdmins", + "nameLocations": [ + "4909:10:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "4909:10:33" + }, + "nodeType": "ModifierInvocation", + "src": "4909:10:33" + } + ], + "name": "setRoot", + "nameLocation": "4855:7:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10002, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "4871:14:33", + "nodeType": "VariableDeclaration", + "scope": 10023, + "src": "4863:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10001, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4863:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10004, + "mutability": "mutable", + "name": "_root", + "nameLocation": "4895:5:33", + "nodeType": "VariableDeclaration", + "scope": 10023, + "src": "4887:13:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10003, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4887:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4862:39:33" + }, + "returnParameters": { + "id": 10008, + "nodeType": "ParameterList", + "parameters": [], + "src": "4920:0:33" + }, + "scope": 10179, + "src": "4846:166:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10083, + "nodeType": "Block", + "src": "5083:361:33", + "statements": [ + { + "assignments": [ + 10031 + ], + "declarations": [ + { + "constant": false, + "id": 10031, + "mutability": "mutable", + "name": "exists", + "nameLocation": "5098:6:33", + "nodeType": "VariableDeclaration", + "scope": 10083, + "src": "5093:11:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10030, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5093:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 10033, + "initialValue": { + "hexValue": "66616c7365", + "id": 10032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5107:5:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5093:19:33" + }, + { + "body": { + "id": 10075, + "nodeType": "Block", + "src": "5177:203:33", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 10048, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "5195:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10050, + "indexExpression": { + "id": 10049, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10035, + "src": "5205:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5195:12:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 10051, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10025, + "src": "5211:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5195:30:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10074, + "nodeType": "IfStatement", + "src": "5191:179:33", + "trueBody": { + "id": 10073, + "nodeType": "Block", + "src": "5227:143:33", + "statements": [ + { + "expression": { + "id": 10055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10053, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10031, + "src": "5245:6:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 10054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5254:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5245:13:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10056, + "nodeType": "ExpressionStatement", + "src": "5245:13:33" + }, + { + "expression": { + "id": 10066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10057, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "5276:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10059, + "indexExpression": { + "id": 10058, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10035, + "src": "5286:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5276:12:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 10060, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "5291:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10065, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 10061, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "5301:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5311:6:33", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5301:16:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 10063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5320:1:33", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5301:20:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5291:31:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5276:46:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10067, + "nodeType": "ExpressionStatement", + "src": "5276:46:33" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 10068, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "5340:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5350:3:33", + "memberName": "pop", + "nodeType": "MemberAccess", + "src": "5340:13:33", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer)" + } + }, + "id": 10071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5340:15:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10072, + "nodeType": "ExpressionStatement", + "src": "5340:15:33" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10038, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10035, + "src": "5139:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 10039, + "name": "_airdrops", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9593, + "src": "5143:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5153:6:33", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5143:16:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5139:20:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 10043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5163:7:33", + "subExpression": { + "id": 10042, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10031, + "src": "5164:6:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5139:31:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10076, + "initializationExpression": { + "assignments": [ + 10035 + ], + "declarations": [ + { + "constant": false, + "id": 10035, + "mutability": "mutable", + "name": "i", + "nameLocation": "5132:1:33", + "nodeType": "VariableDeclaration", + "scope": 10076, + "src": "5127:6:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10034, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5127:4:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10037, + "initialValue": { + "hexValue": "30", + "id": 10036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5136:1:33", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5127:10:33" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 10046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5172:3:33", + "subExpression": { + "id": 10045, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10035, + "src": "5172:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10047, + "nodeType": "ExpressionStatement", + "src": "5172:3:33" + }, + "nodeType": "ForStatement", + "src": "5122:258:33" + }, + { + "condition": { + "id": 10077, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10031, + "src": "5394:6:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10082, + "nodeType": "IfStatement", + "src": "5390:47:33", + "trueBody": { + "eventCall": { + "arguments": [ + { + "id": 10079, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10025, + "src": "5422:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10078, + "name": "AirdropRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9601, + "src": "5407:14:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 10080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5407:30:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10081, + "nodeType": "EmitStatement", + "src": "5402:35:33" + } + } + ] + }, + "functionSelector": "c012a68f", + "id": 10084, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10028, + "kind": "modifierInvocation", + "modifierName": { + "id": 10027, + "name": "onlyAdmins", + "nameLocations": [ + "5072:10:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "5072:10:33" + }, + "nodeType": "ModifierInvocation", + "src": "5072:10:33" + } + ], + "name": "removeAirdrop", + "nameLocation": "5027:13:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10026, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10025, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5049:14:33", + "nodeType": "VariableDeclaration", + "scope": 10084, + "src": "5041:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5041:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5040:24:33" + }, + "returnParameters": { + "id": 10029, + "nodeType": "ParameterList", + "parameters": [], + "src": "5083:0:33" + }, + "scope": 10179, + "src": "5018:426:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10106, + "nodeType": "Block", + "src": "5550:96:33", + "statements": [ + { + "assignments": [ + 10095 + ], + "declarations": [ + { + "constant": false, + "id": 10095, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "5569:7:33", + "nodeType": "VariableDeclaration", + "scope": 10106, + "src": "5560:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 10094, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10093, + "name": "IAirdrop", + "nameLocations": [ + "5560:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "5560:8:33" + }, + "referencedDeclaration": 11751, + "src": "5560:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 10099, + "initialValue": { + "arguments": [ + { + "id": 10097, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10086, + "src": "5588:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10096, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "5579:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 10098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5579:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5560:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 10103, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10088, + "src": "5634:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10100, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10095, + "src": "5613:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 10102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5621:12:33", + "memberName": "allowAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 11690, + "src": "5613:20:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 10104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5613:26:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10105, + "nodeType": "ExpressionStatement", + "src": "5613:26:33" + } + ] + }, + "functionSelector": "989a9863", + "id": 10107, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10091, + "kind": "modifierInvocation", + "modifierName": { + "id": 10090, + "name": "onlyAdmins", + "nameLocations": [ + "5539:10:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "5539:10:33" + }, + "nodeType": "ModifierInvocation", + "src": "5539:10:33" + } + ], + "name": "allowAddress", + "nameLocation": "5459:12:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10086, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5489:14:33", + "nodeType": "VariableDeclaration", + "scope": 10107, + "src": "5481:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10085, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5481:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10088, + "mutability": "mutable", + "name": "user", + "nameLocation": "5521:4:33", + "nodeType": "VariableDeclaration", + "scope": 10107, + "src": "5513:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5513:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5471:60:33" + }, + "returnParameters": { + "id": 10092, + "nodeType": "ParameterList", + "parameters": [], + "src": "5550:0:33" + }, + "scope": 10179, + "src": "5450:196:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10130, + "nodeType": "Block", + "src": "5764:99:33", + "statements": [ + { + "assignments": [ + 10119 + ], + "declarations": [ + { + "constant": false, + "id": 10119, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "5783:7:33", + "nodeType": "VariableDeclaration", + "scope": 10130, + "src": "5774:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 10118, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10117, + "name": "IAirdrop", + "nameLocations": [ + "5774:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "5774:8:33" + }, + "referencedDeclaration": 11751, + "src": "5774:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 10123, + "initialValue": { + "arguments": [ + { + "id": 10121, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10109, + "src": "5802:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10120, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "5793:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 10122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5793:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5774:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 10127, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10112, + "src": "5850:5:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 10124, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10119, + "src": "5827:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 10126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5835:14:33", + "memberName": "allowAddresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 11696, + "src": "5827:22:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory) external" + } + }, + "id": 10128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5827:29:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10129, + "nodeType": "ExpressionStatement", + "src": "5827:29:33" + } + ] + }, + "functionSelector": "ead7778a", + "id": 10131, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10115, + "kind": "modifierInvocation", + "modifierName": { + "id": 10114, + "name": "onlyAdmins", + "nameLocations": [ + "5753:10:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "5753:10:33" + }, + "nodeType": "ModifierInvocation", + "src": "5753:10:33" + } + ], + "name": "allowAddresses", + "nameLocation": "5661:14:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10109, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5693:14:33", + "nodeType": "VariableDeclaration", + "scope": 10131, + "src": "5685:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5685:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10112, + "mutability": "mutable", + "name": "users", + "nameLocation": "5734:5:33", + "nodeType": "VariableDeclaration", + "scope": 10131, + "src": "5717:22:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5717:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10111, + "nodeType": "ArrayTypeName", + "src": "5717:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "5675:70:33" + }, + "returnParameters": { + "id": 10116, + "nodeType": "ParameterList", + "parameters": [], + "src": "5764:0:33" + }, + "scope": 10179, + "src": "5652:211:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10153, + "nodeType": "Block", + "src": "5972:99:33", + "statements": [ + { + "assignments": [ + 10142 + ], + "declarations": [ + { + "constant": false, + "id": 10142, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "5991:7:33", + "nodeType": "VariableDeclaration", + "scope": 10153, + "src": "5982:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 10141, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10140, + "name": "IAirdrop", + "nameLocations": [ + "5982:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "5982:8:33" + }, + "referencedDeclaration": 11751, + "src": "5982:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 10146, + "initialValue": { + "arguments": [ + { + "id": 10144, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10133, + "src": "6010:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10143, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "6001:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 10145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6001:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5982:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 10150, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10135, + "src": "6059:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10147, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10142, + "src": "6035:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 10149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6043:15:33", + "memberName": "disallowAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 11707, + "src": "6035:23:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 10151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6035:29:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10152, + "nodeType": "ExpressionStatement", + "src": "6035:29:33" + } + ] + }, + "functionSelector": "3ad14ed6", + "id": 10154, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10138, + "kind": "modifierInvocation", + "modifierName": { + "id": 10137, + "name": "onlyAdmins", + "nameLocations": [ + "5961:10:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "5961:10:33" + }, + "nodeType": "ModifierInvocation", + "src": "5961:10:33" + } + ], + "name": "disallowAddress", + "nameLocation": "5878:15:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10133, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "5911:14:33", + "nodeType": "VariableDeclaration", + "scope": 10154, + "src": "5903:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5903:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10135, + "mutability": "mutable", + "name": "user", + "nameLocation": "5943:4:33", + "nodeType": "VariableDeclaration", + "scope": 10154, + "src": "5935:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10134, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5935:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5893:60:33" + }, + "returnParameters": { + "id": 10139, + "nodeType": "ParameterList", + "parameters": [], + "src": "5972:0:33" + }, + "scope": 10179, + "src": "5869:202:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10177, + "nodeType": "Block", + "src": "6192:102:33", + "statements": [ + { + "assignments": [ + 10166 + ], + "declarations": [ + { + "constant": false, + "id": 10166, + "mutability": "mutable", + "name": "airdrop", + "nameLocation": "6211:7:33", + "nodeType": "VariableDeclaration", + "scope": 10177, + "src": "6202:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + }, + "typeName": { + "id": 10165, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10164, + "name": "IAirdrop", + "nameLocations": [ + "6202:8:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11751, + "src": "6202:8:33" + }, + "referencedDeclaration": 11751, + "src": "6202:8:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "visibility": "internal" + } + ], + "id": 10170, + "initialValue": { + "arguments": [ + { + "id": 10168, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10156, + "src": "6230:14:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10167, + "name": "IAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11751, + "src": "6221:8:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAirdrop_$11751_$", + "typeString": "type(contract IAirdrop)" + } + }, + "id": 10169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6221:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6202:43:33" + }, + { + "expression": { + "arguments": [ + { + "id": 10174, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10159, + "src": "6281:5:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 10171, + "name": "airdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10166, + "src": "6255:7:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAirdrop_$11751", + "typeString": "contract IAirdrop" + } + }, + "id": 10173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6263:17:33", + "memberName": "disallowAddresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 11702, + "src": "6255:25:33", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory) external" + } + }, + "id": 10175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6255:32:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10176, + "nodeType": "ExpressionStatement", + "src": "6255:32:33" + } + ] + }, + "functionSelector": "0cb27628", + "id": 10178, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10162, + "kind": "modifierInvocation", + "modifierName": { + "id": 10161, + "name": "onlyAdmins", + "nameLocations": [ + "6181:10:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "6181:10:33" + }, + "nodeType": "ModifierInvocation", + "src": "6181:10:33" + } + ], + "name": "disallowAddresses", + "nameLocation": "6086:17:33", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10156, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "6121:14:33", + "nodeType": "VariableDeclaration", + "scope": 10178, + "src": "6113:22:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10155, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6113:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10159, + "mutability": "mutable", + "name": "users", + "nameLocation": "6162:5:33", + "nodeType": "VariableDeclaration", + "scope": 10178, + "src": "6145:22:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10157, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6145:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10158, + "nodeType": "ArrayTypeName", + "src": "6145:9:33", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "6103:70:33" + }, + "returnParameters": { + "id": 10163, + "nodeType": "ParameterList", + "parameters": [], + "src": "6192:0:33" + }, + "scope": 10179, + "src": "6077:217:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 10180, + "src": "121:6175:33", + "usedErrors": [], + "usedEvents": [ + 9597, + 9601, + 9605, + 9609 + ] + } + ], + "src": "32:6265:33" + }, + "id": 33 + }, + "contracts/ERC1155/CustomAirdrop1155.sol": { + "ast": { + "absolutePath": "contracts/ERC1155/CustomAirdrop1155.sol", + "exportedSymbols": { + "AirdropInfo": [ + 11663 + ], + "AirdropType": [ + 11645 + ], + "Context": [ + 3356 + ], + "CustomAirdrop1155": [ + 10627 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ], + "Ownable": [ + 147 + ] + }, + "id": 10628, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10181, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:34" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 10182, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10628, + "sourceUnit": 148, + "src": "58:52:34", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Tools/Types.sol", + "file": "../Tools/Types.sol", + "id": 10183, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10628, + "sourceUnit": 11836, + "src": "111:28:34", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10184, + "name": "Ownable", + "nameLocations": [ + "171:7:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "171:7:34" + }, + "id": 10185, + "nodeType": "InheritanceSpecifier", + "src": "171:7:34" + } + ], + "canonicalName": "CustomAirdrop1155", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 10627, + "linearizedBaseContracts": [ + 10627, + 147, + 3356 + ], + "name": "CustomAirdrop1155", + "nameLocation": "150:17:34", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4", + "id": 10191, + "name": "Claim", + "nameLocation": "191:5:34", + "nodeType": "EventDefinition", + "parameters": { + "id": 10190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10187, + "indexed": false, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "205:9:34", + "nodeType": "VariableDeclaration", + "scope": 10191, + "src": "197:17:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "197:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10189, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "224:6:34", + "nodeType": "VariableDeclaration", + "scope": 10191, + "src": "216:14:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "216:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "196:35:34" + }, + "src": "185:47:34" + }, + { + "anonymous": false, + "eventSelector": "5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af77", + "id": 10195, + "name": "AddressAllowed", + "nameLocation": "243:14:34", + "nodeType": "EventDefinition", + "parameters": { + "id": 10194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10193, + "indexed": false, + "mutability": "mutable", + "name": "allowedAddress", + "nameLocation": "266:14:34", + "nodeType": "VariableDeclaration", + "scope": 10195, + "src": "258:22:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "258:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "257:24:34" + }, + "src": "237:45:34" + }, + { + "anonymous": false, + "eventSelector": "5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d", + "id": 10199, + "name": "AddressDisallowed", + "nameLocation": "293:17:34", + "nodeType": "EventDefinition", + "parameters": { + "id": 10198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10197, + "indexed": false, + "mutability": "mutable", + "name": "disallowedAddress", + "nameLocation": "319:17:34", + "nodeType": "VariableDeclaration", + "scope": 10199, + "src": "311:25:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "311:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "310:27:34" + }, + "src": "287:51:34" + }, + { + "constant": false, + "id": 10202, + "mutability": "mutable", + "name": "_tokenContract", + "nameLocation": "353:14:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "344:23:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + }, + "typeName": { + "id": 10201, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10200, + "name": "IERC1155", + "nameLocations": [ + "344:8:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11835, + "src": "344:8:34" + }, + "referencedDeclaration": 11835, + "src": "344:8:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10204, + "mutability": "mutable", + "name": "_totalAirdropAmount", + "nameLocation": "381:19:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "373:27:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "373:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10206, + "mutability": "mutable", + "name": "_airdropAmountLeft", + "nameLocation": "414:18:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "406:26:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10205, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "406:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10208, + "mutability": "mutable", + "name": "_claimAmount", + "nameLocation": "446:12:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "438:20:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10210, + "mutability": "mutable", + "name": "_expirationDate", + "nameLocation": "472:15:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "464:23:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10209, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "464:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10212, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "501:8:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "493:16:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "493:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10214, + "mutability": "mutable", + "name": "_airdropName", + "nameLocation": "522:12:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "515:19:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 10213, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "515:6:34", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10217, + "mutability": "mutable", + "name": "_airdropType", + "nameLocation": "552:12:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "540:24:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 10216, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10215, + "name": "AirdropType", + "nameLocations": [ + "540:11:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11645, + "src": "540:11:34" + }, + "referencedDeclaration": 11645, + "src": "540:11:34", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10221, + "mutability": "mutable", + "name": "_allowedAddresses", + "nameLocation": "596:17:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "571:42:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 10220, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 10218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "579:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "571:24:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 10219, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "590:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10225, + "mutability": "mutable", + "name": "_addressesThatAlreadyClaimed", + "nameLocation": "644:28:34", + "nodeType": "VariableDeclaration", + "scope": 10627, + "src": "619:53:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 10224, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 10222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "627:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "619:24:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 10223, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "638:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 10282, + "nodeType": "Block", + "src": "969:333:34", + "statements": [ + { + "expression": { + "id": 10252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10248, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10202, + "src": "979:14:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 10250, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10231, + "src": "1005:12:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10249, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11835, + "src": "996:8:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$11835_$", + "typeString": "type(contract IERC1155)" + } + }, + "id": 10251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "996:22:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "src": "979:39:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10253, + "nodeType": "ExpressionStatement", + "src": "979:39:34" + }, + { + "expression": { + "id": 10256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10254, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10214, + "src": "1028:12:34", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10255, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10227, + "src": "1043:11:34", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1028:26:34", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 10257, + "nodeType": "ExpressionStatement", + "src": "1028:26:34" + }, + { + "expression": { + "id": 10260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10258, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10212, + "src": "1064:8:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10259, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "1075:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1064:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10261, + "nodeType": "ExpressionStatement", + "src": "1064:18:34" + }, + { + "expression": { + "id": 10264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10262, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10204, + "src": "1092:19:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10263, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "1114:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1092:40:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10265, + "nodeType": "ExpressionStatement", + "src": "1092:40:34" + }, + { + "expression": { + "id": 10268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10266, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10206, + "src": "1142:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10267, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "1163:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1142:39:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10269, + "nodeType": "ExpressionStatement", + "src": "1142:39:34" + }, + { + "expression": { + "id": 10272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10270, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "1191:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10271, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10237, + "src": "1206:11:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1191:26:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10273, + "nodeType": "ExpressionStatement", + "src": "1191:26:34" + }, + { + "expression": { + "id": 10276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10274, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10210, + "src": "1227:15:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10275, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10239, + "src": "1245:14:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1227:32:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10277, + "nodeType": "ExpressionStatement", + "src": "1227:32:34" + }, + { + "expression": { + "id": 10280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10278, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10217, + "src": "1269:12:34", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10279, + "name": "airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10242, + "src": "1284:11:34", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "src": "1269:26:34", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "id": 10281, + "nodeType": "ExpressionStatement", + "src": "1269:26:34" + } + ] + }, + "id": 10283, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 10245, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10229, + "src": "955:12:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10246, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 10244, + "name": "Ownable", + "nameLocations": [ + "947:7:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "947:7:34" + }, + "nodeType": "ModifierInvocation", + "src": "947:21:34" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10227, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "714:11:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "700:25:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10226, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "700:6:34", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10229, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "743:12:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "735:20:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10228, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "735:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10231, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "773:12:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "765:20:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10233, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "803:7:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "795:15:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10232, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "795:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10235, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "828:18:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "820:26:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "820:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10237, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "864:11:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "856:19:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10239, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "893:14:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "885:22:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "885:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10242, + "mutability": "mutable", + "name": "airdropType", + "nameLocation": "929:11:34", + "nodeType": "VariableDeclaration", + "scope": 10283, + "src": "917:23:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 10241, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10240, + "name": "AirdropType", + "nameLocations": [ + "917:11:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11645, + "src": "917:11:34" + }, + "referencedDeclaration": 11645, + "src": "917:11:34", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + } + ], + "src": "690:256:34" + }, + "returnParameters": { + "id": 10247, + "nodeType": "ParameterList", + "parameters": [], + "src": "969:0:34" + }, + "scope": 10627, + "src": "679:623:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10358, + "nodeType": "Block", + "src": "1396:628:34", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10297, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10285, + "src": "1424:4:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10296, + "name": "isAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10548, + "src": "1414:9:34", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 10298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1414:15:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f20636c61696d20746869732061697264726f70", + "id": 10299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1431:43:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "typeString": "literal_string \"Address not allowed to claim this airdrop\"" + }, + "value": "Address not allowed to claim this airdrop" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "typeString": "literal_string \"Address not allowed to claim this airdrop\"" + } + ], + "id": 10295, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1406:7:34", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1406:69:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10301, + "nodeType": "ExpressionStatement", + "src": "1406:69:34" + }, + { + "expression": { + "arguments": [ + { + "id": 10305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1493:13:34", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10303, + "name": "hasExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10430, + "src": "1494:10:34", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 10304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1494:12:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "id": 10306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1508:26:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + }, + "value": "Airdrop already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + } + ], + "id": 10302, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1485:7:34", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1485:50:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10308, + "nodeType": "ExpressionStatement", + "src": "1485:50:34" + }, + { + "expression": { + "arguments": [ + { + "id": 10313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1553:17:34", + "subExpression": { + "arguments": [ + { + "id": 10311, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10285, + "src": "1565:4:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10310, + "name": "hasClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10419, + "src": "1554:10:34", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 10312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1554:16:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d656420746869732061697264726f702e", + "id": 10314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1572:39:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + }, + "value": "Address already claimed this airdrop." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + } + ], + "id": 10309, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1545:7:34", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1545:67:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10316, + "nodeType": "ExpressionStatement", + "src": "1545:67:34" + }, + { + "expression": { + "arguments": [ + { + "id": 10320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1630:24:34", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10318, + "name": "hasBeenTotallyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10407, + "src": "1631:21:34", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 10319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1631:23:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d656420616c72656164792e", + "id": 10321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1656:43:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + }, + "value": "Airdrop has been totally claimed already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + } + ], + "id": 10317, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1622:7:34", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1622:78:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10323, + "nodeType": "ExpressionStatement", + "src": "1622:78:34" + }, + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10325, + "name": "hasBalanceToClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10397, + "src": "1718:17:34", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 10326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1718:19:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e7420746f6b656e2062616c616e63652e", + "id": 10327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1739:50:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + }, + "value": "Airdrop contract has insufficient token balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + } + ], + "id": 10324, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1710:7:34", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1710:80:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10329, + "nodeType": "ExpressionStatement", + "src": "1710:80:34" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10335, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1841:4:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 10334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1833:7:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1833:7:34", + "typeDescriptions": {} + } + }, + "id": 10336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1833:13:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10337, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10285, + "src": "1848:4:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10338, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10212, + "src": "1854:8:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10339, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "1864:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 10340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1878:2:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 10330, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10202, + "src": "1801:14:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1816:16:34", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 11820, + "src": "1801:31:34", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 10341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1801:80:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10342, + "nodeType": "ExpressionStatement", + "src": "1801:80:34" + }, + { + "expression": { + "id": 10345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10343, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10206, + "src": "1891:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 10344, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "1913:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1891:34:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10346, + "nodeType": "ExpressionStatement", + "src": "1891:34:34" + }, + { + "expression": { + "id": 10351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10347, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10225, + "src": "1935:28:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10349, + "indexExpression": { + "id": 10348, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10285, + "src": "1964:4:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1935:34:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 10350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1972:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1935:41:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10352, + "nodeType": "ExpressionStatement", + "src": "1935:41:34" + }, + { + "eventCall": { + "arguments": [ + { + "id": 10354, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10285, + "src": "1998:4:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10355, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "2004:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10353, + "name": "Claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10191, + "src": "1992:5:34", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 10356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1992:25:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10357, + "nodeType": "EmitStatement", + "src": "1987:30:34" + } + ] + }, + "functionSelector": "3d13f874", + "id": 10359, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10293, + "kind": "modifierInvocation", + "modifierName": { + "id": 10292, + "name": "onlyOwner", + "nameLocations": [ + "1386:9:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1386:9:34" + }, + "nodeType": "ModifierInvocation", + "src": "1386:9:34" + } + ], + "name": "claim", + "nameLocation": "1317:5:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10285, + "mutability": "mutable", + "name": "user", + "nameLocation": "1331:4:34", + "nodeType": "VariableDeclaration", + "scope": 10359, + "src": "1323:12:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1323:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10287, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1345:6:34", + "nodeType": "VariableDeclaration", + "scope": 10359, + "src": "1337:14:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1337:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10290, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1372:5:34", + "nodeType": "VariableDeclaration", + "scope": 10359, + "src": "1353:24:34", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 10288, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1353:7:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 10289, + "nodeType": "ArrayTypeName", + "src": "1353:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1322:56:34" + }, + "returnParameters": { + "id": 10294, + "nodeType": "ParameterList", + "parameters": [], + "src": "1396:0:34" + }, + "scope": 10627, + "src": "1308:716:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10379, + "nodeType": "Block", + "src": "2096:154:34", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10366, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10214, + "src": "2125:12:34", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "arguments": [ + { + "id": 10369, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2147:4:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 10368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2139:7:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10367, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2139:7:34", + "typeDescriptions": {} + } + }, + "id": 10370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2139:13:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10371, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10204, + "src": "2154:19:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10372, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10206, + "src": "2175:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10373, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "2195:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10374, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10210, + "src": "2209:15:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10375, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10217, + "src": "2226:12:34", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + { + "hexValue": "", + "id": 10376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2240:2:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 10365, + "name": "AirdropInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11663, + "src": "2113:11:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AirdropInfo_$11663_storage_ptr_$", + "typeString": "type(struct AirdropInfo storage pointer)" + } + }, + "id": 10377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2113:130:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 10364, + "id": 10378, + "nodeType": "Return", + "src": "2106:137:34" + } + ] + }, + "functionSelector": "32f08873", + "id": 10380, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "2039:14:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10360, + "nodeType": "ParameterList", + "parameters": [], + "src": "2053:2:34" + }, + "returnParameters": { + "id": 10364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10363, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10380, + "src": "2076:18:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 10362, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10361, + "name": "AirdropInfo", + "nameLocations": [ + "2076:11:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11663, + "src": "2076:11:34" + }, + "referencedDeclaration": 11663, + "src": "2076:11:34", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "2075:20:34" + }, + "scope": 10627, + "src": "2030:220:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10396, + "nodeType": "Block", + "src": "2311:89:34", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 10389, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2361:4:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 10388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2353:7:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10387, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2353:7:34", + "typeDescriptions": {} + } + }, + "id": 10390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2353:13:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10391, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10212, + "src": "2368:8:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10385, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10202, + "src": "2328:14:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2343:9:34", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 11829, + "src": "2328:24:34", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 10392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2328:49:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 10393, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "2381:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2328:65:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10384, + "id": 10395, + "nodeType": "Return", + "src": "2321:72:34" + } + ] + }, + "functionSelector": "01cb54c0", + "id": 10397, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBalanceToClaim", + "nameLocation": "2265:17:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10381, + "nodeType": "ParameterList", + "parameters": [], + "src": "2282:2:34" + }, + "returnParameters": { + "id": 10384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10383, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "2305:4:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10382, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2305:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2304:6:34" + }, + "scope": 10627, + "src": "2256:144:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10406, + "nodeType": "Block", + "src": "2465:57:34", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10402, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10206, + "src": "2482:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 10403, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "2503:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2482:33:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10401, + "id": 10405, + "nodeType": "Return", + "src": "2475:40:34" + } + ] + }, + "functionSelector": "9592a2cd", + "id": 10407, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBeenTotallyClaimed", + "nameLocation": "2415:21:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10398, + "nodeType": "ParameterList", + "parameters": [], + "src": "2436:2:34" + }, + "returnParameters": { + "id": 10401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10400, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10407, + "src": "2459:4:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10399, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2459:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2458:6:34" + }, + "scope": 10627, + "src": "2406:116:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10418, + "nodeType": "Block", + "src": "2592:62:34", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 10414, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10225, + "src": "2609:28:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10416, + "indexExpression": { + "id": 10415, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10409, + "src": "2638:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2609:38:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10413, + "id": 10417, + "nodeType": "Return", + "src": "2602:45:34" + } + ] + }, + "functionSelector": "73b2e80e", + "id": 10419, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "2537:10:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10409, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2556:8:34", + "nodeType": "VariableDeclaration", + "scope": 10419, + "src": "2548:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2548:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2547:18:34" + }, + "returnParameters": { + "id": 10413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10412, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10419, + "src": "2586:4:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10411, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2586:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2585:6:34" + }, + "scope": 10627, + "src": "2528:126:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10429, + "nodeType": "Block", + "src": "2708:57:34", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10424, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10210, + "src": "2725:15:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 10425, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2743:5:34", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 10426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2749:9:34", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2743:15:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2725:33:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10423, + "id": 10428, + "nodeType": "Return", + "src": "2718:40:34" + } + ] + }, + "functionSelector": "90e64d13", + "id": 10430, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "2669:10:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10420, + "nodeType": "ParameterList", + "parameters": [], + "src": "2679:2:34" + }, + "returnParameters": { + "id": 10423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10422, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10430, + "src": "2702:4:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2702:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2701:6:34" + }, + "scope": 10627, + "src": "2660:105:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10447, + "nodeType": "Block", + "src": "2828:90:34", + "statements": [ + { + "expression": { + "id": 10441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10437, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "2838:17:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10439, + "indexExpression": { + "id": 10438, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10432, + "src": "2856:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2838:27:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 10440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2868:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2838:34:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10442, + "nodeType": "ExpressionStatement", + "src": "2838:34:34" + }, + { + "eventCall": { + "arguments": [ + { + "id": 10444, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10432, + "src": "2902:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10443, + "name": "AddressAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10195, + "src": "2887:14:34", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 10445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2887:24:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10446, + "nodeType": "EmitStatement", + "src": "2882:29:34" + } + ] + }, + "functionSelector": "08af4d88", + "id": 10448, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10435, + "kind": "modifierInvocation", + "modifierName": { + "id": 10434, + "name": "onlyOwner", + "nameLocations": [ + "2818:9:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2818:9:34" + }, + "nodeType": "ModifierInvocation", + "src": "2818:9:34" + } + ], + "name": "allowAddress", + "nameLocation": "2780:12:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10432, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2801:8:34", + "nodeType": "VariableDeclaration", + "scope": 10448, + "src": "2793:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2793:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2792:18:34" + }, + "returnParameters": { + "id": 10436, + "nodeType": "ParameterList", + "parameters": [], + "src": "2828:0:34" + }, + "scope": 10627, + "src": "2771:147:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10482, + "nodeType": "Block", + "src": "2993:166:34", + "statements": [ + { + "body": { + "id": 10480, + "nodeType": "Block", + "src": "3043:110:34", + "statements": [ + { + "expression": { + "id": 10472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10466, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "3057:17:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10470, + "indexExpression": { + "baseExpression": { + "id": 10467, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10451, + "src": "3075:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10469, + "indexExpression": { + "id": 10468, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10457, + "src": "3085:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3075:12:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3057:31:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 10471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3091:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3057:38:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10473, + "nodeType": "ExpressionStatement", + "src": "3057:38:34" + }, + { + "eventCall": { + "arguments": [ + { + "baseExpression": { + "id": 10475, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10451, + "src": "3129:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10477, + "indexExpression": { + "id": 10476, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10457, + "src": "3139:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3129:12:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10474, + "name": "AddressAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10195, + "src": "3114:14:34", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 10478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3114:28:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10479, + "nodeType": "EmitStatement", + "src": "3109:33:34" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10459, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10457, + "src": "3016:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 10460, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10451, + "src": "3020:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3030:6:34", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3020:16:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3016:20:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10481, + "initializationExpression": { + "assignments": [ + 10457 + ], + "declarations": [ + { + "constant": false, + "id": 10457, + "mutability": "mutable", + "name": "i", + "nameLocation": "3013:1:34", + "nodeType": "VariableDeclaration", + "scope": 10481, + "src": "3008:6:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10456, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3008:4:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10458, + "nodeType": "VariableDeclarationStatement", + "src": "3008:6:34" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 10464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3038:3:34", + "subExpression": { + "id": 10463, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10457, + "src": "3038:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10465, + "nodeType": "ExpressionStatement", + "src": "3038:3:34" + }, + "nodeType": "ForStatement", + "src": "3003:150:34" + } + ] + }, + "functionSelector": "3863b1f5", + "id": 10483, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10454, + "kind": "modifierInvocation", + "modifierName": { + "id": 10453, + "name": "onlyOwner", + "nameLocations": [ + "2983:9:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2983:9:34" + }, + "nodeType": "ModifierInvocation", + "src": "2983:9:34" + } + ], + "name": "allowAddresses", + "nameLocation": "2933:14:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10451, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "2965:9:34", + "nodeType": "VariableDeclaration", + "scope": 10483, + "src": "2948:26:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2948:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10450, + "nodeType": "ArrayTypeName", + "src": "2948:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2947:28:34" + }, + "returnParameters": { + "id": 10455, + "nodeType": "ParameterList", + "parameters": [], + "src": "2993:0:34" + }, + "scope": 10627, + "src": "2924:235:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10517, + "nodeType": "Block", + "src": "3237:170:34", + "statements": [ + { + "body": { + "id": 10515, + "nodeType": "Block", + "src": "3287:114:34", + "statements": [ + { + "expression": { + "id": 10507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10501, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "3301:17:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10505, + "indexExpression": { + "baseExpression": { + "id": 10502, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10486, + "src": "3319:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10504, + "indexExpression": { + "id": 10503, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10492, + "src": "3329:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3319:12:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3301:31:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 10506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3335:5:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3301:39:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10508, + "nodeType": "ExpressionStatement", + "src": "3301:39:34" + }, + { + "eventCall": { + "arguments": [ + { + "baseExpression": { + "id": 10510, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10486, + "src": "3377:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10512, + "indexExpression": { + "id": 10511, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10492, + "src": "3387:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3377:12:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10509, + "name": "AddressDisallowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10199, + "src": "3359:17:34", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 10513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3359:31:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10514, + "nodeType": "EmitStatement", + "src": "3354:36:34" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10494, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10492, + "src": "3260:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 10495, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10486, + "src": "3264:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3274:6:34", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3264:16:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3260:20:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10516, + "initializationExpression": { + "assignments": [ + 10492 + ], + "declarations": [ + { + "constant": false, + "id": 10492, + "mutability": "mutable", + "name": "i", + "nameLocation": "3257:1:34", + "nodeType": "VariableDeclaration", + "scope": 10516, + "src": "3252:6:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10491, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3252:4:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10493, + "nodeType": "VariableDeclarationStatement", + "src": "3252:6:34" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 10499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3282:3:34", + "subExpression": { + "id": 10498, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10492, + "src": "3282:1:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10500, + "nodeType": "ExpressionStatement", + "src": "3282:3:34" + }, + "nodeType": "ForStatement", + "src": "3247:154:34" + } + ] + }, + "functionSelector": "a9f7d0b2", + "id": 10518, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10489, + "kind": "modifierInvocation", + "modifierName": { + "id": 10488, + "name": "onlyOwner", + "nameLocations": [ + "3227:9:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "3227:9:34" + }, + "nodeType": "ModifierInvocation", + "src": "3227:9:34" + } + ], + "name": "disallowAddresses", + "nameLocation": "3174:17:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10486, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "3209:9:34", + "nodeType": "VariableDeclaration", + "scope": 10518, + "src": "3192:26:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3192:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10485, + "nodeType": "ArrayTypeName", + "src": "3192:9:34", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "3191:28:34" + }, + "returnParameters": { + "id": 10490, + "nodeType": "ParameterList", + "parameters": [], + "src": "3237:0:34" + }, + "scope": 10627, + "src": "3165:242:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10535, + "nodeType": "Block", + "src": "3473:94:34", + "statements": [ + { + "expression": { + "id": 10529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10525, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "3483:17:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10527, + "indexExpression": { + "id": 10526, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10520, + "src": "3501:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3483:27:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 10528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3513:5:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3483:35:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10530, + "nodeType": "ExpressionStatement", + "src": "3483:35:34" + }, + { + "eventCall": { + "arguments": [ + { + "id": 10532, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10520, + "src": "3551:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10531, + "name": "AddressDisallowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10199, + "src": "3533:17:34", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 10533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3533:27:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10534, + "nodeType": "EmitStatement", + "src": "3528:32:34" + } + ] + }, + "functionSelector": "b7c58d7a", + "id": 10536, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10523, + "kind": "modifierInvocation", + "modifierName": { + "id": 10522, + "name": "onlyOwner", + "nameLocations": [ + "3463:9:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "3463:9:34" + }, + "nodeType": "ModifierInvocation", + "src": "3463:9:34" + } + ], + "name": "disallowAddress", + "nameLocation": "3422:15:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10520, + "mutability": "mutable", + "name": "_address", + "nameLocation": "3446:8:34", + "nodeType": "VariableDeclaration", + "scope": 10536, + "src": "3438:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3438:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3437:18:34" + }, + "returnParameters": { + "id": 10524, + "nodeType": "ParameterList", + "parameters": [], + "src": "3473:0:34" + }, + "scope": 10627, + "src": "3413:154:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10547, + "nodeType": "Block", + "src": "3636:51:34", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 10543, + "name": "_allowedAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "3653:17:34", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10545, + "indexExpression": { + "id": 10544, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10538, + "src": "3671:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3653:27:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10542, + "id": 10546, + "nodeType": "Return", + "src": "3646:34:34" + } + ] + }, + "functionSelector": "babcc539", + "id": 10548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "3582:9:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10538, + "mutability": "mutable", + "name": "_address", + "nameLocation": "3600:8:34", + "nodeType": "VariableDeclaration", + "scope": 10548, + "src": "3592:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10537, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3592:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3591:18:34" + }, + "returnParameters": { + "id": 10542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10541, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10548, + "src": "3630:4:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10540, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3630:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3629:6:34" + }, + "scope": 10627, + "src": "3573:114:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10555, + "nodeType": "Block", + "src": "3751:39:34", + "statements": [ + { + "expression": { + "id": 10553, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10210, + "src": "3768:15:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10552, + "id": 10554, + "nodeType": "Return", + "src": "3761:22:34" + } + ] + }, + "functionSelector": "5edf7d8b", + "id": 10556, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "3702:17:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10549, + "nodeType": "ParameterList", + "parameters": [], + "src": "3719:2:34" + }, + "returnParameters": { + "id": 10552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10551, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10556, + "src": "3742:7:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3742:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3741:9:34" + }, + "scope": 10627, + "src": "3693:97:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10563, + "nodeType": "Block", + "src": "3851:36:34", + "statements": [ + { + "expression": { + "id": 10561, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "3868:12:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10560, + "id": 10562, + "nodeType": "Return", + "src": "3861:19:34" + } + ] + }, + "functionSelector": "71127ed2", + "id": 10564, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "3805:14:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10557, + "nodeType": "ParameterList", + "parameters": [], + "src": "3819:2:34" + }, + "returnParameters": { + "id": 10560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10559, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10564, + "src": "3842:7:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3842:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3841:9:34" + }, + "scope": 10627, + "src": "3796:91:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10571, + "nodeType": "Block", + "src": "3955:43:34", + "statements": [ + { + "expression": { + "id": 10569, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10204, + "src": "3972:19:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10568, + "id": 10570, + "nodeType": "Return", + "src": "3965:26:34" + } + ] + }, + "functionSelector": "43f367c8", + "id": 10572, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "3902:21:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10565, + "nodeType": "ParameterList", + "parameters": [], + "src": "3923:2:34" + }, + "returnParameters": { + "id": 10568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10567, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10572, + "src": "3946:7:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3946:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3945:9:34" + }, + "scope": 10627, + "src": "3893:105:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10579, + "nodeType": "Block", + "src": "4065:42:34", + "statements": [ + { + "expression": { + "id": 10577, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10206, + "src": "4082:18:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10576, + "id": 10578, + "nodeType": "Return", + "src": "4075:25:34" + } + ] + }, + "functionSelector": "cd61a609", + "id": 10580, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "4013:20:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10573, + "nodeType": "ParameterList", + "parameters": [], + "src": "4033:2:34" + }, + "returnParameters": { + "id": 10576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10575, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10580, + "src": "4056:7:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10574, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4056:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4055:9:34" + }, + "scope": 10627, + "src": "4004:103:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10594, + "nodeType": "Block", + "src": "4164:73:34", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10589, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4214:4:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 10588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4206:7:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4206:7:34", + "typeDescriptions": {} + } + }, + "id": 10590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4206:13:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10591, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10212, + "src": "4221:8:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10585, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10202, + "src": "4181:14:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4196:9:34", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 11829, + "src": "4181:24:34", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 10592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4181:49:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10584, + "id": 10593, + "nodeType": "Return", + "src": "4174:56:34" + } + ] + }, + "functionSelector": "12065fe0", + "id": 10595, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "4122:10:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10581, + "nodeType": "ParameterList", + "parameters": [], + "src": "4132:2:34" + }, + "returnParameters": { + "id": 10584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10583, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10595, + "src": "4155:7:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4155:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4154:9:34" + }, + "scope": 10627, + "src": "4113:124:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10617, + "nodeType": "Block", + "src": "4379:101:34", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6f6e45524331313535526563656976656428616464726573732c616464726573732c75696e743235362c75696e743235362c627974657329", + "id": 10613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4413:58:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + }, + "value": "onERC1155Received(address,address,uint256,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + } + ], + "id": 10612, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4403:9:34", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 10614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4403:69:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 10611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4396:6:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 10610, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4396:6:34", + "typeDescriptions": {} + } + }, + "id": 10615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4396:77:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 10609, + "id": 10616, + "nodeType": "Return", + "src": "4389:84:34" + } + ] + }, + "functionSelector": "f23a6e61", + "id": 10618, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onERC1155Received", + "nameLocation": "4252:17:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10597, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4278:8:34", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "4270:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10596, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4270:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10599, + "mutability": "mutable", + "name": "from", + "nameLocation": "4296:4:34", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "4288:12:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10598, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4288:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10601, + "mutability": "mutable", + "name": "id", + "nameLocation": "4310:2:34", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "4302:10:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4302:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10603, + "mutability": "mutable", + "name": "value", + "nameLocation": "4322:5:34", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "4314:13:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4314:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10605, + "mutability": "mutable", + "name": "data", + "nameLocation": "4342:4:34", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "4329:17:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10604, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4329:5:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4269:78:34" + }, + "returnParameters": { + "id": 10609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10608, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "4371:6:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 10607, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4371:6:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4370:8:34" + }, + "scope": 10627, + "src": "4243:237:34", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 10625, + "nodeType": "Block", + "src": "4540:71:34", + "statements": [ + { + "expression": { + "hexValue": "6e6f7420696d706c656d656e746564", + "id": 10623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4587:17:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9", + "typeString": "literal_string \"not implemented\"" + }, + "value": "not implemented" + }, + "functionReturnParameters": 10622, + "id": 10624, + "nodeType": "Return", + "src": "4580:24:34" + } + ] + }, + "functionSelector": "4e16fc8b", + "id": 10626, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "4495:6:34", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10619, + "nodeType": "ParameterList", + "parameters": [], + "src": "4501:2:34" + }, + "returnParameters": { + "id": 10622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10621, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10626, + "src": "4525:13:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10620, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4525:6:34", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4524:15:34" + }, + "scope": 10627, + "src": "4486:125:34", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 10628, + "src": "141:4472:34", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24, + 10191, + 10195, + 10199 + ] + } + ], + "src": "32:4581:34" + }, + "id": 34 + }, + "contracts/ERC1155/CustomAirdrop1155Merkle.sol": { + "ast": { + "absolutePath": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "exportedSymbols": { + "AirdropInfo": [ + 11663 + ], + "AirdropType": [ + 11645 + ], + "Context": [ + 3356 + ], + "CustomAirdrop1155Merkle": [ + 10989 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ], + "MerkleProof": [ + 5955 + ], + "Ownable": [ + 147 + ] + }, + "id": 10990, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10629, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:35" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 10630, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10990, + "sourceUnit": 148, + "src": "58:52:35", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Tools/Types.sol", + "file": "../Tools/Types.sol", + "id": 10631, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10990, + "sourceUnit": 11836, + "src": "111:28:35", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", + "file": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", + "id": 10633, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10990, + "sourceUnit": 5956, + "src": "141:89:35", + "symbolAliases": [ + { + "foreign": { + "id": 10632, + "name": "MerkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5955, + "src": "150:11:35", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10634, + "name": "Ownable", + "nameLocations": [ + "268:7:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "268:7:35" + }, + "id": 10635, + "nodeType": "InheritanceSpecifier", + "src": "268:7:35" + } + ], + "canonicalName": "CustomAirdrop1155Merkle", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 10989, + "linearizedBaseContracts": [ + 10989, + 147, + 3356 + ], + "name": "CustomAirdrop1155Merkle", + "nameLocation": "241:23:35", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4", + "id": 10641, + "name": "Claim", + "nameLocation": "288:5:35", + "nodeType": "EventDefinition", + "parameters": { + "id": 10640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10637, + "indexed": false, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "302:9:35", + "nodeType": "VariableDeclaration", + "scope": 10641, + "src": "294:17:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10639, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "321:6:35", + "nodeType": "VariableDeclaration", + "scope": 10641, + "src": "313:14:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "293:35:35" + }, + "src": "282:47:35" + }, + { + "constant": false, + "id": 10644, + "mutability": "mutable", + "name": "_tokenContract", + "nameLocation": "344:14:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "335:23:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + }, + "typeName": { + "id": 10643, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10642, + "name": "IERC1155", + "nameLocations": [ + "335:8:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11835, + "src": "335:8:35" + }, + "referencedDeclaration": 11835, + "src": "335:8:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10646, + "mutability": "mutable", + "name": "_totalAirdropAmount", + "nameLocation": "372:19:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "364:27:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "364:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10648, + "mutability": "mutable", + "name": "_airdropAmountLeft", + "nameLocation": "405:18:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "397:26:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "397:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10650, + "mutability": "mutable", + "name": "_claimAmount", + "nameLocation": "437:12:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "429:20:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "429:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10652, + "mutability": "mutable", + "name": "_expirationDate", + "nameLocation": "463:15:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "455:23:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10651, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "455:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10654, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "492:8:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "484:16:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10653, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "484:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10656, + "mutability": "mutable", + "name": "_airdropName", + "nameLocation": "513:12:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "506:19:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 10655, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "506:6:35", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10659, + "mutability": "mutable", + "name": "_airdropType", + "nameLocation": "543:12:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "531:24:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 10658, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10657, + "name": "AirdropType", + "nameLocations": [ + "531:11:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11645, + "src": "531:11:35" + }, + "referencedDeclaration": 11645, + "src": "531:11:35", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "ebf0c717", + "id": 10661, + "mutability": "mutable", + "name": "root", + "nameLocation": "618:4:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "603:19:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10660, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "603:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "errorSelector": "09bde339", + "id": 10663, + "name": "InvalidProof", + "nameLocation": "634:12:35", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 10662, + "nodeType": "ParameterList", + "parameters": [], + "src": "646:2:35" + }, + "src": "628:21:35" + }, + { + "errorSelector": "c0ab2c9f", + "id": 10665, + "name": "UsedLeaf", + "nameLocation": "660:8:35", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 10664, + "nodeType": "ParameterList", + "parameters": [], + "src": "668:2:35" + }, + "src": "654:17:35" + }, + { + "constant": false, + "id": 10669, + "mutability": "mutable", + "name": "_addressesThatAlreadyClaimed", + "nameLocation": "702:28:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "677:53:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 10668, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 10666, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "685:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "677:24:35", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 10667, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "696:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "80bdc421", + "id": 10673, + "mutability": "mutable", + "name": "claimedLeaf", + "nameLocation": "768:11:35", + "nodeType": "VariableDeclaration", + "scope": 10989, + "src": "736:43:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "typeName": { + "id": 10672, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 10670, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "744:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "736:24:35", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 10671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "755:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "public" + }, + { + "body": { + "id": 10724, + "nodeType": "Block", + "src": "1047:297:35", + "statements": [ + { + "expression": { + "id": 10698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10694, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10644, + "src": "1057:14:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 10696, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10679, + "src": "1083:12:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10695, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11835, + "src": "1074:8:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$11835_$", + "typeString": "type(contract IERC1155)" + } + }, + "id": 10697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1074:22:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "src": "1057:39:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10699, + "nodeType": "ExpressionStatement", + "src": "1057:39:35" + }, + { + "expression": { + "id": 10702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10700, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10656, + "src": "1106:12:35", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10701, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10675, + "src": "1121:11:35", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1106:26:35", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 10703, + "nodeType": "ExpressionStatement", + "src": "1106:26:35" + }, + { + "expression": { + "id": 10706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10704, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10654, + "src": "1142:8:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10705, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10681, + "src": "1153:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1142:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10707, + "nodeType": "ExpressionStatement", + "src": "1142:18:35" + }, + { + "expression": { + "id": 10710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10708, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10646, + "src": "1170:19:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10709, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10683, + "src": "1192:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1170:40:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10711, + "nodeType": "ExpressionStatement", + "src": "1170:40:35" + }, + { + "expression": { + "id": 10714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10712, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10648, + "src": "1220:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10713, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10683, + "src": "1241:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1220:39:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10715, + "nodeType": "ExpressionStatement", + "src": "1220:39:35" + }, + { + "expression": { + "id": 10718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10716, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10652, + "src": "1269:15:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10717, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10685, + "src": "1287:14:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1269:32:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10719, + "nodeType": "ExpressionStatement", + "src": "1269:32:35" + }, + { + "expression": { + "id": 10722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10720, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10659, + "src": "1311:12:35", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10721, + "name": "airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10688, + "src": "1326:11:35", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "src": "1311:26:35", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "id": 10723, + "nodeType": "ExpressionStatement", + "src": "1311:26:35" + } + ] + }, + "id": 10725, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 10691, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10677, + "src": "1033:12:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10692, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 10690, + "name": "Ownable", + "nameLocations": [ + "1025:7:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "1025:7:35" + }, + "nodeType": "ModifierInvocation", + "src": "1025:21:35" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10675, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "821:11:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "807:25:35", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "807:6:35", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10677, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "850:12:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "842:20:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "842:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10679, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "880:12:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "872:20:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10678, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "872:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10681, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "910:7:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "902:15:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10680, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "902:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10683, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "935:18:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "927:26:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10682, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "927:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10685, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "971:14:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "963:22:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10684, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "963:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10688, + "mutability": "mutable", + "name": "airdropType", + "nameLocation": "1007:11:35", + "nodeType": "VariableDeclaration", + "scope": 10725, + "src": "995:23:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 10687, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10686, + "name": "AirdropType", + "nameLocations": [ + "995:11:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11645, + "src": "995:11:35" + }, + "referencedDeclaration": 11645, + "src": "995:11:35", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + } + ], + "src": "797:227:35" + }, + "returnParameters": { + "id": 10693, + "nodeType": "ParameterList", + "parameters": [], + "src": "1047:0:35" + }, + "scope": 10989, + "src": "786:558:35", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10736, + "nodeType": "Block", + "src": "1399:29:35", + "statements": [ + { + "expression": { + "id": 10734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10732, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10661, + "src": "1409:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10733, + "name": "_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10727, + "src": "1416:5:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1409:12:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 10735, + "nodeType": "ExpressionStatement", + "src": "1409:12:35" + } + ] + }, + "functionSelector": "dab5f340", + "id": 10737, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10730, + "kind": "modifierInvocation", + "modifierName": { + "id": 10729, + "name": "onlyOwner", + "nameLocations": [ + "1389:9:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1389:9:35" + }, + "nodeType": "ModifierInvocation", + "src": "1389:9:35" + } + ], + "name": "setRoot", + "nameLocation": "1359:7:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10727, + "mutability": "mutable", + "name": "_root", + "nameLocation": "1375:5:35", + "nodeType": "VariableDeclaration", + "scope": 10737, + "src": "1367:13:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10726, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1367:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1366:15:35" + }, + "returnParameters": { + "id": 10731, + "nodeType": "ParameterList", + "parameters": [], + "src": "1399:0:35" + }, + "scope": 10989, + "src": "1350:78:35", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10755, + "nodeType": "Block", + "src": "1523:44:35", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10750, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10739, + "src": "1540:4:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10751, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10741, + "src": "1546:6:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10752, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10744, + "src": "1554:5:35", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "id": 10749, + "name": "_claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10840, + "src": "1533:6:35", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_calldata_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes32[] calldata)" + } + }, + "id": 10753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1533:27:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10754, + "nodeType": "ExpressionStatement", + "src": "1533:27:35" + } + ] + }, + "functionSelector": "3d13f874", + "id": 10756, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 10747, + "kind": "modifierInvocation", + "modifierName": { + "id": 10746, + "name": "onlyOwner", + "nameLocations": [ + "1514:9:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1514:9:35" + }, + "nodeType": "ModifierInvocation", + "src": "1514:9:35" + } + ], + "name": "claim", + "nameLocation": "1443:5:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10739, + "mutability": "mutable", + "name": "user", + "nameLocation": "1457:4:35", + "nodeType": "VariableDeclaration", + "scope": 10756, + "src": "1449:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10738, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1449:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10741, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1471:6:35", + "nodeType": "VariableDeclaration", + "scope": 10756, + "src": "1463:14:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1463:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10744, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1498:5:35", + "nodeType": "VariableDeclaration", + "scope": 10756, + "src": "1479:24:35", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 10742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1479:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 10743, + "nodeType": "ArrayTypeName", + "src": "1479:9:35", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1448:56:35" + }, + "returnParameters": { + "id": 10748, + "nodeType": "ParameterList", + "parameters": [], + "src": "1523:0:35" + }, + "scope": 10989, + "src": "1434:133:35", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 10839, + "nodeType": "Block", + "src": "1659:598:35", + "statements": [ + { + "assignments": [ + 10767 + ], + "declarations": [ + { + "constant": false, + "id": 10767, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "1677:4:35", + "nodeType": "VariableDeclaration", + "scope": 10839, + "src": "1669:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10766, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 10772, + "initialValue": { + "arguments": [ + { + "id": 10769, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10758, + "src": "1695:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10770, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10760, + "src": "1704:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10768, + "name": "_buildLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10864, + "src": "1684:10:35", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 10771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1684:28:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1669:43:35" + }, + { + "condition": { + "id": 10779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1727:47:35", + "subExpression": { + "arguments": [ + { + "id": 10775, + "name": "proof_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10763, + "src": "1755:6:35", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 10776, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10661, + "src": "1763:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 10777, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10767, + "src": "1769:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 10773, + "name": "MerkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5955, + "src": "1728:11:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MerkleProof_$5955_$", + "typeString": "type(library MerkleProof)" + } + }, + "id": 10774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1740:14:35", + "memberName": "verifyCalldata", + "nodeType": "MemberAccess", + "referencedDeclaration": 5055, + "src": "1728:26:35", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32[] calldata,bytes32,bytes32) pure returns (bool)" + } + }, + "id": 10778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1728:46:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10783, + "nodeType": "IfStatement", + "src": "1723:74:35", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10780, + "name": "InvalidProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10663, + "src": "1783:12:35", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 10781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1783:14:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10782, + "nodeType": "RevertStatement", + "src": "1776:21:35" + } + }, + { + "condition": { + "baseExpression": { + "id": 10784, + "name": "claimedLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10673, + "src": "1811:11:35", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 10786, + "indexExpression": { + "id": 10785, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10767, + "src": "1823:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1811:17:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10790, + "nodeType": "IfStatement", + "src": "1807:40:35", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10787, + "name": "UsedLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10665, + "src": "1837:8:35", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 10788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1837:10:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10789, + "nodeType": "RevertStatement", + "src": "1830:17:35" + } + }, + { + "expression": { + "id": 10795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10791, + "name": "claimedLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10673, + "src": "1857:11:35", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 10793, + "indexExpression": { + "id": 10792, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10767, + "src": "1869:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1857:17:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 10794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1877:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1857:24:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10796, + "nodeType": "ExpressionStatement", + "src": "1857:24:35" + }, + { + "expression": { + "arguments": [ + { + "id": 10800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1899:13:35", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10798, + "name": "hasExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10918, + "src": "1900:10:35", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 10799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1900:12:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "id": 10801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1914:26:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + }, + "value": "Airdrop already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + } + ], + "id": 10797, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1891:7:35", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1891:50:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10803, + "nodeType": "ExpressionStatement", + "src": "1891:50:35" + }, + { + "expression": { + "arguments": [ + { + "id": 10807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1959:24:35", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 10805, + "name": "hasBeenTotallyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10895, + "src": "1960:21:35", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 10806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1960:23:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d656420616c72656164792e", + "id": 10808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1985:43:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + }, + "value": "Airdrop has been totally claimed already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + } + ], + "id": 10804, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1951:7:35", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1951:78:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10810, + "nodeType": "ExpressionStatement", + "src": "1951:78:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10816, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2080:4:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 10815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2072:7:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2072:7:35", + "typeDescriptions": {} + } + }, + "id": 10817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2072:13:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10818, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10758, + "src": "2087:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10819, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10654, + "src": "2096:8:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10820, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10760, + "src": "2106:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 10821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2115:2:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 10811, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10644, + "src": "2040:14:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2055:16:35", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 11820, + "src": "2040:31:35", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 10822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2040:78:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10823, + "nodeType": "ExpressionStatement", + "src": "2040:78:35" + }, + { + "expression": { + "id": 10826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10824, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10648, + "src": "2128:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 10825, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10760, + "src": "2150:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2128:29:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10827, + "nodeType": "ExpressionStatement", + "src": "2128:29:35" + }, + { + "expression": { + "id": 10832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 10828, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10669, + "src": "2167:28:35", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10830, + "indexExpression": { + "id": 10829, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10758, + "src": "2196:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2167:37:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 10831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2207:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2167:44:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10833, + "nodeType": "ExpressionStatement", + "src": "2167:44:35" + }, + { + "eventCall": { + "arguments": [ + { + "id": 10835, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10758, + "src": "2233:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10836, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10760, + "src": "2242:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10834, + "name": "Claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10641, + "src": "2227:5:35", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 10837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2227:23:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10838, + "nodeType": "EmitStatement", + "src": "2222:28:35" + } + ] + }, + "id": 10840, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_claim", + "nameLocation": "1582:6:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10758, + "mutability": "mutable", + "name": "origin_", + "nameLocation": "1597:7:35", + "nodeType": "VariableDeclaration", + "scope": 10840, + "src": "1589:15:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1589:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10760, + "mutability": "mutable", + "name": "amount_", + "nameLocation": "1614:7:35", + "nodeType": "VariableDeclaration", + "scope": 10840, + "src": "1606:15:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1606:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10763, + "mutability": "mutable", + "name": "proof_", + "nameLocation": "1642:6:35", + "nodeType": "VariableDeclaration", + "scope": 10840, + "src": "1623:25:35", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 10761, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1623:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 10762, + "nodeType": "ArrayTypeName", + "src": "1623:9:35", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1588:61:35" + }, + "returnParameters": { + "id": 10765, + "nodeType": "ParameterList", + "parameters": [], + "src": "1659:0:35" + }, + "scope": 10989, + "src": "1573:684:35", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10863, + "nodeType": "Block", + "src": "2349:88:35", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 10856, + "name": "origin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10842, + "src": "2410:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10857, + "name": "amount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10844, + "src": "2419:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10854, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2399:3:35", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2403:6:35", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2399:10:35", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2399:28:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10853, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2389:9:35", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 10859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2389:39:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 10851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2376:5:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 10850, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2376:5:35", + "typeDescriptions": {} + } + }, + "id": 10852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2382:6:35", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "2376:12:35", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2376:53:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10849, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2366:9:35", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 10861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2366:64:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 10848, + "id": 10862, + "nodeType": "Return", + "src": "2359:71:35" + } + ] + }, + "id": 10864, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_buildLeaf", + "nameLocation": "2272:10:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10842, + "mutability": "mutable", + "name": "origin_", + "nameLocation": "2291:7:35", + "nodeType": "VariableDeclaration", + "scope": 10864, + "src": "2283:15:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10841, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2283:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10844, + "mutability": "mutable", + "name": "amount_", + "nameLocation": "2308:7:35", + "nodeType": "VariableDeclaration", + "scope": 10864, + "src": "2300:15:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2300:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2282:34:35" + }, + "returnParameters": { + "id": 10848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10847, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10864, + "src": "2340:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10846, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2340:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2339:9:35" + }, + "scope": 10989, + "src": "2263:174:35", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10884, + "nodeType": "Block", + "src": "2509:143:35", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10871, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10656, + "src": "2538:12:35", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "arguments": [ + { + "id": 10874, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2560:4:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 10873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2552:7:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2552:7:35", + "typeDescriptions": {} + } + }, + "id": 10875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2552:13:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10876, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10646, + "src": "2567:19:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10877, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10648, + "src": "2588:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 10878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2608:1:35", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 10879, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10652, + "src": "2611:15:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10880, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10659, + "src": "2628:12:35", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + { + "hexValue": "", + "id": 10881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2642:2:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 10870, + "name": "AirdropInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11663, + "src": "2526:11:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AirdropInfo_$11663_storage_ptr_$", + "typeString": "type(struct AirdropInfo storage pointer)" + } + }, + "id": 10882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2526:119:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 10869, + "id": 10883, + "nodeType": "Return", + "src": "2519:126:35" + } + ] + }, + "functionSelector": "32f08873", + "id": 10885, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "2452:14:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10865, + "nodeType": "ParameterList", + "parameters": [], + "src": "2466:2:35" + }, + "returnParameters": { + "id": 10869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10868, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10885, + "src": "2489:18:35", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 10867, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10866, + "name": "AirdropInfo", + "nameLocations": [ + "2489:11:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11663, + "src": "2489:11:35" + }, + "referencedDeclaration": 11663, + "src": "2489:11:35", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "2488:20:35" + }, + "scope": 10989, + "src": "2443:209:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10894, + "nodeType": "Block", + "src": "2717:46:35", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10890, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10648, + "src": "2734:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "31", + "id": 10891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2755:1:35", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2734:22:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10889, + "id": 10893, + "nodeType": "Return", + "src": "2727:29:35" + } + ] + }, + "functionSelector": "9592a2cd", + "id": 10895, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBeenTotallyClaimed", + "nameLocation": "2667:21:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10886, + "nodeType": "ParameterList", + "parameters": [], + "src": "2688:2:35" + }, + "returnParameters": { + "id": 10889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10888, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10895, + "src": "2711:4:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10887, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2711:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2710:6:35" + }, + "scope": 10989, + "src": "2658:105:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10906, + "nodeType": "Block", + "src": "2833:62:35", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 10902, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10669, + "src": "2850:28:35", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10904, + "indexExpression": { + "id": 10903, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10897, + "src": "2879:8:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2850:38:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10901, + "id": 10905, + "nodeType": "Return", + "src": "2843:45:35" + } + ] + }, + "functionSelector": "73b2e80e", + "id": 10907, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "2778:10:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10897, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2797:8:35", + "nodeType": "VariableDeclaration", + "scope": 10907, + "src": "2789:16:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10896, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2789:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2788:18:35" + }, + "returnParameters": { + "id": 10901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10900, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10907, + "src": "2827:4:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10899, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2827:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2826:6:35" + }, + "scope": 10989, + "src": "2769:126:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10917, + "nodeType": "Block", + "src": "2949:57:35", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10912, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10652, + "src": "2966:15:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 10913, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2984:5:35", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 10914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2990:9:35", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2984:15:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2966:33:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10911, + "id": 10916, + "nodeType": "Return", + "src": "2959:40:35" + } + ] + }, + "functionSelector": "90e64d13", + "id": 10918, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "2910:10:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10908, + "nodeType": "ParameterList", + "parameters": [], + "src": "2920:2:35" + }, + "returnParameters": { + "id": 10911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10910, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10918, + "src": "2943:4:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10909, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2943:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2942:6:35" + }, + "scope": 10989, + "src": "2901:105:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10925, + "nodeType": "Block", + "src": "3070:39:35", + "statements": [ + { + "expression": { + "id": 10923, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10652, + "src": "3087:15:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10922, + "id": 10924, + "nodeType": "Return", + "src": "3080:22:35" + } + ] + }, + "functionSelector": "5edf7d8b", + "id": 10926, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "3021:17:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10919, + "nodeType": "ParameterList", + "parameters": [], + "src": "3038:2:35" + }, + "returnParameters": { + "id": 10922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10921, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10926, + "src": "3061:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3061:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3060:9:35" + }, + "scope": 10989, + "src": "3012:97:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10933, + "nodeType": "Block", + "src": "3177:43:35", + "statements": [ + { + "expression": { + "id": 10931, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10646, + "src": "3194:19:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10930, + "id": 10932, + "nodeType": "Return", + "src": "3187:26:35" + } + ] + }, + "functionSelector": "43f367c8", + "id": 10934, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "3124:21:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10927, + "nodeType": "ParameterList", + "parameters": [], + "src": "3145:2:35" + }, + "returnParameters": { + "id": 10930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10929, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10934, + "src": "3168:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10928, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3168:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3167:9:35" + }, + "scope": 10989, + "src": "3115:105:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10941, + "nodeType": "Block", + "src": "3287:42:35", + "statements": [ + { + "expression": { + "id": 10939, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10648, + "src": "3304:18:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10938, + "id": 10940, + "nodeType": "Return", + "src": "3297:25:35" + } + ] + }, + "functionSelector": "cd61a609", + "id": 10942, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "3235:20:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10935, + "nodeType": "ParameterList", + "parameters": [], + "src": "3255:2:35" + }, + "returnParameters": { + "id": 10938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10937, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10942, + "src": "3278:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3278:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3277:9:35" + }, + "scope": 10989, + "src": "3226:103:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10956, + "nodeType": "Block", + "src": "3386:73:35", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10951, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3436:4:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 10950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3428:7:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10949, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3428:7:35", + "typeDescriptions": {} + } + }, + "id": 10952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3428:13:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10953, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10654, + "src": "3443:8:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10947, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10644, + "src": "3403:14:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$11835", + "typeString": "contract IERC1155" + } + }, + "id": 10948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3418:9:35", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 11829, + "src": "3403:24:35", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 10954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3403:49:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 10946, + "id": 10955, + "nodeType": "Return", + "src": "3396:56:35" + } + ] + }, + "functionSelector": "12065fe0", + "id": 10957, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "3344:10:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10943, + "nodeType": "ParameterList", + "parameters": [], + "src": "3354:2:35" + }, + "returnParameters": { + "id": 10946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10945, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10957, + "src": "3377:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3377:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3376:9:35" + }, + "scope": 10989, + "src": "3335:124:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10979, + "nodeType": "Block", + "src": "3601:101:35", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6f6e45524331313535526563656976656428616464726573732c616464726573732c75696e743235362c75696e743235362c627974657329", + "id": 10975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3635:58:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + }, + "value": "onERC1155Received(address,address,uint256,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97", + "typeString": "literal_string \"onERC1155Received(address,address,uint256,uint256,bytes)\"" + } + ], + "id": 10974, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3625:9:35", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 10976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3625:69:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 10973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3618:6:35", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 10972, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3618:6:35", + "typeDescriptions": {} + } + }, + "id": 10977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3618:77:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 10971, + "id": 10978, + "nodeType": "Return", + "src": "3611:84:35" + } + ] + }, + "functionSelector": "f23a6e61", + "id": 10980, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onERC1155Received", + "nameLocation": "3474:17:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10959, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3500:8:35", + "nodeType": "VariableDeclaration", + "scope": 10980, + "src": "3492:16:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3492:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10961, + "mutability": "mutable", + "name": "from", + "nameLocation": "3518:4:35", + "nodeType": "VariableDeclaration", + "scope": 10980, + "src": "3510:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3510:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10963, + "mutability": "mutable", + "name": "id", + "nameLocation": "3532:2:35", + "nodeType": "VariableDeclaration", + "scope": 10980, + "src": "3524:10:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3524:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10965, + "mutability": "mutable", + "name": "value", + "nameLocation": "3544:5:35", + "nodeType": "VariableDeclaration", + "scope": 10980, + "src": "3536:13:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3536:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10967, + "mutability": "mutable", + "name": "data", + "nameLocation": "3564:4:35", + "nodeType": "VariableDeclaration", + "scope": 10980, + "src": "3551:17:35", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10966, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3551:5:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3491:78:35" + }, + "returnParameters": { + "id": 10971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10970, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10980, + "src": "3593:6:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 10969, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3593:6:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "3592:8:35" + }, + "scope": 10989, + "src": "3465:237:35", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 10987, + "nodeType": "Block", + "src": "3762:71:35", + "statements": [ + { + "expression": { + "hexValue": "6e6f7420696d706c656d656e746564", + "id": 10985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3809:17:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9", + "typeString": "literal_string \"not implemented\"" + }, + "value": "not implemented" + }, + "functionReturnParameters": 10984, + "id": 10986, + "nodeType": "Return", + "src": "3802:24:35" + } + ] + }, + "functionSelector": "4e16fc8b", + "id": 10988, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "3717:6:35", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10981, + "nodeType": "ParameterList", + "parameters": [], + "src": "3723:2:35" + }, + "returnParameters": { + "id": 10984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10983, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10988, + "src": "3747:13:35", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10982, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3747:6:35", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3746:15:35" + }, + "scope": 10989, + "src": "3708:125:35", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 10990, + "src": "232:3603:35", + "usedErrors": [ + 13, + 18, + 10663, + 10665 + ], + "usedEvents": [ + 24, + 10641 + ] + } + ], + "src": "32:3803:35" + }, + "id": 35 + }, + "contracts/ERC1155/Erc1155.sol": { + "ast": { + "absolutePath": "contracts/ERC1155/Erc1155.sol", + "exportedSymbols": { + "Arrays": [ + 3294 + ], + "Context": [ + 3356 + ], + "ERC1155": [ + 1226 + ], + "ERC1155Utils": [ + 1561 + ], + "ERC165": [ + 6053 + ], + "IERC1155": [ + 1349 + ], + "IERC1155Errors": [ + 309 + ], + "IERC1155MetadataURI": [ + 1407 + ], + "IERC165": [ + 6065 + ], + "MyToken": [ + 11065 + ], + "Ownable": [ + 147 + ] + }, + "id": 11066, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10991, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "81:24:36" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155.sol", + "file": "@openzeppelin/contracts/token/ERC1155/ERC1155.sol", + "id": 10992, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11066, + "sourceUnit": 1227, + "src": "107:59:36", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 10993, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11066, + "sourceUnit": 148, + "src": "167:52:36", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10994, + "name": "ERC1155", + "nameLocations": [ + "241:7:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1226, + "src": "241:7:36" + }, + "id": 10995, + "nodeType": "InheritanceSpecifier", + "src": "241:7:36" + }, + { + "baseName": { + "id": 10996, + "name": "Ownable", + "nameLocations": [ + "250:7:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "250:7:36" + }, + "id": 10997, + "nodeType": "InheritanceSpecifier", + "src": "250:7:36" + } + ], + "canonicalName": "MyToken", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 11065, + "linearizedBaseContracts": [ + 11065, + 147, + 1226, + 309, + 1407, + 1349, + 6053, + 6065, + 3356 + ], + "name": "MyToken", + "nameLocation": "230:7:36", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11007, + "nodeType": "Block", + "src": "310:2:36", + "statements": [] + }, + "id": 11008, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "", + "id": 11000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "286:2:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "id": 11001, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 10999, + "name": "ERC1155", + "nameLocations": [ + "278:7:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1226, + "src": "278:7:36" + }, + "nodeType": "ModifierInvocation", + "src": "278:11:36" + }, + { + "arguments": [ + { + "expression": { + "id": 11003, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "298:3:36", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "302:6:36", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "298:10:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11005, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 11002, + "name": "Ownable", + "nameLocations": [ + "290:7:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "290:7:36" + }, + "nodeType": "ModifierInvocation", + "src": "290:19:36" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10998, + "nodeType": "ParameterList", + "parameters": [], + "src": "275:2:36" + }, + "returnParameters": { + "id": 11006, + "nodeType": "ParameterList", + "parameters": [], + "src": "310:0:36" + }, + "scope": 11065, + "src": "264:48:36", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11019, + "nodeType": "Block", + "src": "373:32:36", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 11016, + "name": "newuri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11010, + "src": "391:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 11015, + "name": "_setURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "383:7:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 11017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "383:15:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11018, + "nodeType": "ExpressionStatement", + "src": "383:15:36" + } + ] + }, + "functionSelector": "02fe5305", + "id": 11020, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11013, + "kind": "modifierInvocation", + "modifierName": { + "id": 11012, + "name": "onlyOwner", + "nameLocations": [ + "363:9:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "363:9:36" + }, + "nodeType": "ModifierInvocation", + "src": "363:9:36" + } + ], + "name": "setURI", + "nameLocation": "327:6:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11010, + "mutability": "mutable", + "name": "newuri", + "nameLocation": "348:6:36", + "nodeType": "VariableDeclaration", + "scope": 11020, + "src": "334:20:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11009, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "334:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "333:22:36" + }, + "returnParameters": { + "id": 11014, + "nodeType": "ParameterList", + "parameters": [], + "src": "373:0:36" + }, + "scope": 11065, + "src": "318:87:36", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11040, + "nodeType": "Block", + "src": "526:49:36", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 11034, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11022, + "src": "542:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11035, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11024, + "src": "551:2:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11036, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11026, + "src": "555:6:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11037, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11028, + "src": "563:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11033, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1039, + "src": "536:5:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,uint256,bytes memory)" + } + }, + "id": 11038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "536:32:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11039, + "nodeType": "ExpressionStatement", + "src": "536:32:36" + } + ] + }, + "functionSelector": "731133e9", + "id": 11041, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11031, + "kind": "modifierInvocation", + "modifierName": { + "id": 11030, + "name": "onlyOwner", + "nameLocations": [ + "512:9:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "512:9:36" + }, + "nodeType": "ModifierInvocation", + "src": "512:9:36" + } + ], + "name": "mint", + "nameLocation": "420:4:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11022, + "mutability": "mutable", + "name": "account", + "nameLocation": "433:7:36", + "nodeType": "VariableDeclaration", + "scope": 11041, + "src": "425:15:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11024, + "mutability": "mutable", + "name": "id", + "nameLocation": "450:2:36", + "nodeType": "VariableDeclaration", + "scope": 11041, + "src": "442:10:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11023, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11026, + "mutability": "mutable", + "name": "amount", + "nameLocation": "462:6:36", + "nodeType": "VariableDeclaration", + "scope": 11041, + "src": "454:14:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "454:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11028, + "mutability": "mutable", + "name": "data", + "nameLocation": "483:4:36", + "nodeType": "VariableDeclaration", + "scope": 11041, + "src": "470:17:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 11027, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "470:5:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "424:64:36" + }, + "returnParameters": { + "id": 11032, + "nodeType": "ParameterList", + "parameters": [], + "src": "526:0:36" + }, + "scope": 11065, + "src": "411:164:36", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11063, + "nodeType": "Block", + "src": "716:51:36", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 11057, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11043, + "src": "737:2:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11058, + "name": "ids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11046, + "src": "741:3:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 11059, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11049, + "src": "746:7:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 11060, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11051, + "src": "755:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11056, + "name": "_mintBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "726:10:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory,uint256[] memory,bytes memory)" + } + }, + "id": 11061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "726:34:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11062, + "nodeType": "ExpressionStatement", + "src": "726:34:36" + } + ] + }, + "functionSelector": "1f7fdffa", + "id": 11064, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11054, + "kind": "modifierInvocation", + "modifierName": { + "id": 11053, + "name": "onlyOwner", + "nameLocations": [ + "702:9:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "702:9:36" + }, + "nodeType": "ModifierInvocation", + "src": "702:9:36" + } + ], + "name": "mintBatch", + "nameLocation": "590:9:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11043, + "mutability": "mutable", + "name": "to", + "nameLocation": "608:2:36", + "nodeType": "VariableDeclaration", + "scope": 11064, + "src": "600:10:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11042, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "600:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11046, + "mutability": "mutable", + "name": "ids", + "nameLocation": "629:3:36", + "nodeType": "VariableDeclaration", + "scope": 11064, + "src": "612:20:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11044, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "612:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11045, + "nodeType": "ArrayTypeName", + "src": "612:9:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11049, + "mutability": "mutable", + "name": "amounts", + "nameLocation": "651:7:36", + "nodeType": "VariableDeclaration", + "scope": 11064, + "src": "634:24:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "634:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11048, + "nodeType": "ArrayTypeName", + "src": "634:9:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11051, + "mutability": "mutable", + "name": "data", + "nameLocation": "673:4:36", + "nodeType": "VariableDeclaration", + "scope": 11064, + "src": "660:17:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 11050, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "660:5:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "599:79:36" + }, + "returnParameters": { + "id": 11055, + "nodeType": "ParameterList", + "parameters": [], + "src": "716:0:36" + }, + "scope": 11065, + "src": "581:186:36", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 11066, + "src": "221:548:36", + "usedErrors": [ + 13, + 18, + 274, + 279, + 284, + 291, + 296, + 301, + 308 + ], + "usedEvents": [ + 24, + 1246, + 1261, + 1270, + 1277 + ] + } + ], + "src": "81:688:36" + }, + "id": 36 + }, + "contracts/ERC20/Erc20.sol": { + "ast": { + "absolutePath": "contracts/ERC20/Erc20.sol", + "exportedSymbols": { + "Context": [ + 3356 + ], + "ECDSA": [ + 4615 + ], + "EIP712": [ + 4842 + ], + "ERC20": [ + 2076 + ], + "ERC20Burnable": [ + 2200 + ], + "ERC20Permit": [ + 2354 + ], + "IERC20": [ + 2154 + ], + "IERC20Errors": [ + 214 + ], + "IERC20Metadata": [ + 2380 + ], + "IERC20Permit": [ + 2416 + ], + "MyERC20": [ + 11111 + ], + "Nonces": [ + 3424 + ], + "Ownable": [ + 147 + ] + }, + "id": 11112, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11067, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:37" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "id": 11068, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11112, + "sourceUnit": 2077, + "src": "58:55:37", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "id": 11069, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11112, + "sourceUnit": 2201, + "src": "114:74:37", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 11070, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11112, + "sourceUnit": 148, + "src": "189:52:37", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol", + "id": 11071, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11112, + "sourceUnit": 2355, + "src": "242:72:37", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 11072, + "name": "ERC20", + "nameLocations": [ + "336:5:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2076, + "src": "336:5:37" + }, + "id": 11073, + "nodeType": "InheritanceSpecifier", + "src": "336:5:37" + }, + { + "baseName": { + "id": 11074, + "name": "ERC20Burnable", + "nameLocations": [ + "343:13:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2200, + "src": "343:13:37" + }, + "id": 11075, + "nodeType": "InheritanceSpecifier", + "src": "343:13:37" + }, + { + "baseName": { + "id": 11076, + "name": "Ownable", + "nameLocations": [ + "358:7:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "358:7:37" + }, + "id": 11077, + "nodeType": "InheritanceSpecifier", + "src": "358:7:37" + }, + { + "baseName": { + "id": 11078, + "name": "ERC20Permit", + "nameLocations": [ + "367:11:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2354, + "src": "367:11:37" + }, + "id": 11079, + "nodeType": "InheritanceSpecifier", + "src": "367:11:37" + } + ], + "canonicalName": "MyERC20", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 11111, + "linearizedBaseContracts": [ + 11111, + 2354, + 3424, + 4842, + 172, + 2416, + 147, + 2200, + 2076, + 214, + 2380, + 2154, + 3356 + ], + "name": "MyERC20", + "nameLocation": "325:7:37", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11094, + "nodeType": "Block", + "src": "516:2:37", + "statements": [] + }, + "id": 11095, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "4d794552433230", + "id": 11084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "433:9:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c9735432a94c01a25d6df614a93e9a68ab72969b11f8d9a1b07706aa466c54ec", + "typeString": "literal_string \"MyERC20\"" + }, + "value": "MyERC20" + }, + { + "hexValue": "4d5243", + "id": 11085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "444:5:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_82271cfb9df90d685a8f71863b41567ba5e4cf66b9036abeda37f683f4544eb7", + "typeString": "literal_string \"MRC\"" + }, + "value": "MRC" + } + ], + "id": 11086, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 11083, + "name": "ERC20", + "nameLocations": [ + "427:5:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2076, + "src": "427:5:37" + }, + "nodeType": "ModifierInvocation", + "src": "427:23:37" + }, + { + "arguments": [ + { + "id": 11088, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "467:12:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11089, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 11087, + "name": "Ownable", + "nameLocations": [ + "459:7:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "459:7:37" + }, + "nodeType": "ModifierInvocation", + "src": "459:21:37" + }, + { + "arguments": [ + { + "hexValue": "4d794552433230", + "id": 11091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "501:9:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c9735432a94c01a25d6df614a93e9a68ab72969b11f8d9a1b07706aa466c54ec", + "typeString": "literal_string \"MyERC20\"" + }, + "value": "MyERC20" + } + ], + "id": 11092, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 11090, + "name": "ERC20Permit", + "nameLocations": [ + "489:11:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2354, + "src": "489:11:37" + }, + "nodeType": "ModifierInvocation", + "src": "489:22:37" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11081, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "405:12:37", + "nodeType": "VariableDeclaration", + "scope": 11095, + "src": "397:20:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "397:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "396:22:37" + }, + "returnParameters": { + "id": 11093, + "nodeType": "ParameterList", + "parameters": [], + "src": "516:0:37" + }, + "scope": 11111, + "src": "385:133:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11109, + "nodeType": "Block", + "src": "583:34:37", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 11105, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11097, + "src": "599:2:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11106, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11099, + "src": "603:6:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11104, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "593:5:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 11107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "593:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11108, + "nodeType": "ExpressionStatement", + "src": "593:17:37" + } + ] + }, + "functionSelector": "40c10f19", + "id": 11110, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11102, + "kind": "modifierInvocation", + "modifierName": { + "id": 11101, + "name": "onlyOwner", + "nameLocations": [ + "573:9:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "573:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "573:9:37" + } + ], + "name": "mint", + "nameLocation": "533:4:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11097, + "mutability": "mutable", + "name": "to", + "nameLocation": "546:2:37", + "nodeType": "VariableDeclaration", + "scope": 11110, + "src": "538:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "538:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11099, + "mutability": "mutable", + "name": "amount", + "nameLocation": "558:6:37", + "nodeType": "VariableDeclaration", + "scope": 11110, + "src": "550:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "550:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "537:28:37" + }, + "returnParameters": { + "id": 11103, + "nodeType": "ParameterList", + "parameters": [], + "src": "583:0:37" + }, + "scope": 11111, + "src": "524:93:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 11112, + "src": "316:303:37", + "usedErrors": [ + 13, + 18, + 184, + 189, + 194, + 203, + 208, + 213, + 2231, + 2238, + 3366, + 3490, + 3492, + 4278, + 4283, + 4288 + ], + "usedEvents": [ + 24, + 152, + 2088, + 2097 + ] + } + ], + "src": "32:588:37" + }, + "id": 37 + }, + "contracts/ERC20/OpenAirdropERC20.sol": { + "ast": { + "absolutePath": "contracts/ERC20/OpenAirdropERC20.sol", + "exportedSymbols": { + "AirdropInfo": [ + 11663 + ], + "AirdropType": [ + 11645 + ], + "Context": [ + 3356 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ], + "OpenAirdropERC20": [ + 11401 + ], + "Ownable": [ + 147 + ] + }, + "id": 11402, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11113, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:38" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 11114, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11402, + "sourceUnit": 148, + "src": "58:52:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Tools/Types.sol", + "file": "../Tools/Types.sol", + "id": 11115, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11402, + "sourceUnit": 11836, + "src": "111:28:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 11116, + "name": "Ownable", + "nameLocations": [ + "170:7:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "170:7:38" + }, + "id": 11117, + "nodeType": "InheritanceSpecifier", + "src": "170:7:38" + } + ], + "canonicalName": "OpenAirdropERC20", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 11401, + "linearizedBaseContracts": [ + 11401, + 147, + 3356 + ], + "name": "OpenAirdropERC20", + "nameLocation": "150:16:38", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4", + "id": 11123, + "name": "Claim", + "nameLocation": "190:5:38", + "nodeType": "EventDefinition", + "parameters": { + "id": 11122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11119, + "indexed": false, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "204:9:38", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "196:17:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "196:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11121, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "223:6:38", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "215:14:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "195:35:38" + }, + "src": "184:47:38" + }, + { + "anonymous": false, + "eventSelector": "5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af77", + "id": 11127, + "name": "AddressAllowed", + "nameLocation": "242:14:38", + "nodeType": "EventDefinition", + "parameters": { + "id": 11126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11125, + "indexed": false, + "mutability": "mutable", + "name": "allowedAddress", + "nameLocation": "265:14:38", + "nodeType": "VariableDeclaration", + "scope": 11127, + "src": "257:22:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11124, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "257:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "256:24:38" + }, + "src": "236:45:38" + }, + { + "anonymous": false, + "eventSelector": "5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d", + "id": 11131, + "name": "AddressDisallowed", + "nameLocation": "292:17:38", + "nodeType": "EventDefinition", + "parameters": { + "id": 11130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11129, + "indexed": false, + "mutability": "mutable", + "name": "disallowedAddress", + "nameLocation": "318:17:38", + "nodeType": "VariableDeclaration", + "scope": 11131, + "src": "310:25:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "310:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "309:27:38" + }, + "src": "286:51:38" + }, + { + "constant": false, + "id": 11134, + "mutability": "mutable", + "name": "_tokenContract", + "nameLocation": "350:14:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "343:21:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + }, + "typeName": { + "id": 11133, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11132, + "name": "IERC20", + "nameLocations": [ + "343:6:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11807, + "src": "343:6:38" + }, + "referencedDeclaration": 11807, + "src": "343:6:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11136, + "mutability": "mutable", + "name": "_totalAirdropAmount", + "nameLocation": "378:19:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "370:27:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "370:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11138, + "mutability": "mutable", + "name": "_airdropAmountLeft", + "nameLocation": "411:18:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "403:26:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "403:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11140, + "mutability": "mutable", + "name": "_claimAmount", + "nameLocation": "443:12:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "435:20:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "435:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11142, + "mutability": "mutable", + "name": "_expirationDate", + "nameLocation": "469:15:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "461:23:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "461:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11144, + "mutability": "mutable", + "name": "_airdropName", + "nameLocation": "497:12:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "490:19:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 11143, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "490:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11147, + "mutability": "mutable", + "name": "_airdropType", + "nameLocation": "527:12:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "515:24:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 11146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11145, + "name": "AirdropType", + "nameLocations": [ + "515:11:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11645, + "src": "515:11:38" + }, + "referencedDeclaration": 11645, + "src": "515:11:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11151, + "mutability": "mutable", + "name": "_allowedAddresses", + "nameLocation": "571:17:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "546:42:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 11150, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 11148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "554:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "546:24:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 11149, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "565:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11155, + "mutability": "mutable", + "name": "_addressesThatAlreadyClaimed", + "nameLocation": "619:28:38", + "nodeType": "VariableDeclaration", + "scope": 11401, + "src": "594:53:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 11154, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 11152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "602:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "594:24:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 11153, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "613:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 11204, + "nodeType": "Block", + "src": "886:312:38", + "statements": [ + { + "expression": { + "id": 11177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11173, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11134, + "src": "896:14:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 11175, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11161, + "src": "920:12:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 11174, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11807, + "src": "913:6:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$11807_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 11176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "913:20:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "src": "896:37:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "id": 11178, + "nodeType": "ExpressionStatement", + "src": "896:37:38" + }, + { + "expression": { + "id": 11181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11179, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11144, + "src": "943:12:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 11180, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11157, + "src": "958:11:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "943:26:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 11182, + "nodeType": "ExpressionStatement", + "src": "943:26:38" + }, + { + "expression": { + "id": 11185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11183, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11136, + "src": "979:19:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 11184, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11163, + "src": "1001:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "979:40:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11186, + "nodeType": "ExpressionStatement", + "src": "979:40:38" + }, + { + "expression": { + "id": 11189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11187, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11138, + "src": "1029:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 11188, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11163, + "src": "1050:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1029:39:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11190, + "nodeType": "ExpressionStatement", + "src": "1029:39:38" + }, + { + "expression": { + "id": 11193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11191, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "1078:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 11192, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11165, + "src": "1093:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1078:26:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11194, + "nodeType": "ExpressionStatement", + "src": "1078:26:38" + }, + { + "expression": { + "id": 11197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11195, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11142, + "src": "1114:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 11196, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11167, + "src": "1132:14:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1114:32:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11198, + "nodeType": "ExpressionStatement", + "src": "1114:32:38" + }, + { + "expression": { + "id": 11202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11199, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11147, + "src": "1156:12:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 11200, + "name": "AirdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11645, + "src": "1171:11:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AirdropType_$11645_$", + "typeString": "type(enum AirdropType)" + } + }, + "id": 11201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1183:8:38", + "memberName": "FUNGIBLE", + "nodeType": "MemberAccess", + "referencedDeclaration": 11644, + "src": "1171:20:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "src": "1156:35:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "id": 11203, + "nodeType": "ExpressionStatement", + "src": "1156:35:38" + } + ] + }, + "id": 11205, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 11170, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11159, + "src": "872:12:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11171, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 11169, + "name": "Ownable", + "nameLocations": [ + "864:7:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "864:7:38" + }, + "nodeType": "ModifierInvocation", + "src": "864:21:38" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11157, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "689:11:38", + "nodeType": "VariableDeclaration", + "scope": 11205, + "src": "675:25:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11156, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "675:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11159, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "718:12:38", + "nodeType": "VariableDeclaration", + "scope": 11205, + "src": "710:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11158, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "710:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11161, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "748:12:38", + "nodeType": "VariableDeclaration", + "scope": 11205, + "src": "740:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "740:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11163, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "778:18:38", + "nodeType": "VariableDeclaration", + "scope": 11205, + "src": "770:26:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "770:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11165, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "814:11:38", + "nodeType": "VariableDeclaration", + "scope": 11205, + "src": "806:19:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11164, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "806:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11167, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "843:14:38", + "nodeType": "VariableDeclaration", + "scope": 11205, + "src": "835:22:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "835:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "665:198:38" + }, + "returnParameters": { + "id": 11172, + "nodeType": "ParameterList", + "parameters": [], + "src": "886:0:38" + }, + "scope": 11401, + "src": "654:544:38", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11267, + "nodeType": "Block", + "src": "1292:512:38", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 11220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1310:13:38", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 11218, + "name": "hasExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11354, + "src": "1311:10:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 11219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1311:12:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "id": 11221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1325:26:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + }, + "value": "Airdrop already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "typeString": "literal_string \"Airdrop already expired.\"" + } + ], + "id": 11217, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1302:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 11222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1302:50:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11223, + "nodeType": "ExpressionStatement", + "src": "1302:50:38" + }, + { + "expression": { + "arguments": [ + { + "id": 11228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1370:17:38", + "subExpression": { + "arguments": [ + { + "id": 11226, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11207, + "src": "1382:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 11225, + "name": "hasClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11343, + "src": "1371:10:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 11227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1371:16:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d656420746869732061697264726f702e", + "id": 11229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1389:39:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + }, + "value": "Address already claimed this airdrop." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "typeString": "literal_string \"Address already claimed this airdrop.\"" + } + ], + "id": 11224, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1362:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 11230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1362:67:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11231, + "nodeType": "ExpressionStatement", + "src": "1362:67:38" + }, + { + "expression": { + "arguments": [ + { + "id": 11235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1447:24:38", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 11233, + "name": "hasBeenTotallyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "1448:21:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 11234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1448:23:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d656420616c72656164792e", + "id": 11236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1473:43:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + }, + "value": "Airdrop has been totally claimed already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "typeString": "literal_string \"Airdrop has been totally claimed already.\"" + } + ], + "id": 11232, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1439:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 11237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1439:78:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11238, + "nodeType": "ExpressionStatement", + "src": "1439:78:38" + }, + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 11240, + "name": "hasBalanceToClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11321, + "src": "1535:17:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 11241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1535:19:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e7420746f6b656e2062616c616e63652e", + "id": 11242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1556:50:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + }, + "value": "Airdrop contract has insufficient token balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "typeString": "literal_string \"Airdrop contract has insufficient token balance.\"" + } + ], + "id": 11239, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1527:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 11243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1527:80:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11244, + "nodeType": "ExpressionStatement", + "src": "1527:80:38" + }, + { + "expression": { + "arguments": [ + { + "id": 11248, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11207, + "src": "1642:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11249, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "1648:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11245, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11134, + "src": "1618:14:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "id": 11247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1633:8:38", + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 11794, + "src": "1618:23:38", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 11250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1618:43:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11251, + "nodeType": "ExpressionStatement", + "src": "1618:43:38" + }, + { + "expression": { + "id": 11254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 11252, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11138, + "src": "1671:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 11253, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "1693:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1671:34:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11255, + "nodeType": "ExpressionStatement", + "src": "1671:34:38" + }, + { + "expression": { + "id": 11260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 11256, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11155, + "src": "1715:28:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11258, + "indexExpression": { + "id": 11257, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11207, + "src": "1744:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1715:34:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 11259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1752:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1715:41:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11261, + "nodeType": "ExpressionStatement", + "src": "1715:41:38" + }, + { + "eventCall": { + "arguments": [ + { + "id": 11263, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11207, + "src": "1778:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11264, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "1784:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11262, + "name": "Claim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11123, + "src": "1772:5:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 11265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1772:25:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11266, + "nodeType": "EmitStatement", + "src": "1767:30:38" + } + ] + }, + "functionSelector": "3d13f874", + "id": 11268, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11215, + "kind": "modifierInvocation", + "modifierName": { + "id": 11214, + "name": "onlyOwner", + "nameLocations": [ + "1282:9:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "1282:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "1282:9:38" + } + ], + "name": "claim", + "nameLocation": "1213:5:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11207, + "mutability": "mutable", + "name": "user", + "nameLocation": "1227:4:38", + "nodeType": "VariableDeclaration", + "scope": 11268, + "src": "1219:12:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1219:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11209, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1241:6:38", + "nodeType": "VariableDeclaration", + "scope": 11268, + "src": "1233:14:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1233:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11212, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1268:5:38", + "nodeType": "VariableDeclaration", + "scope": 11268, + "src": "1249:24:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 11210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1249:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11211, + "nodeType": "ArrayTypeName", + "src": "1249:9:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1218:56:38" + }, + "returnParameters": { + "id": 11216, + "nodeType": "ParameterList", + "parameters": [], + "src": "1292:0:38" + }, + "scope": 11401, + "src": "1204:600:38", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11277, + "nodeType": "Block", + "src": "1873:28:38", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 11275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1890:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 11274, + "id": 11276, + "nodeType": "Return", + "src": "1883:11:38" + } + ] + }, + "functionSelector": "babcc539", + "id": 11278, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "1823:9:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11270, + "mutability": "mutable", + "name": "user", + "nameLocation": "1841:4:38", + "nodeType": "VariableDeclaration", + "scope": 11278, + "src": "1833:12:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1833:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1832:14:38" + }, + "returnParameters": { + "id": 11274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11278, + "src": "1867:4:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11272, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1867:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1866:6:38" + }, + "scope": 11401, + "src": "1814:87:38", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11304, + "nodeType": "Block", + "src": "1973:319:38", + "statements": [ + { + "assignments": [ + 11285 + ], + "declarations": [ + { + "constant": false, + "id": 11285, + "mutability": "mutable", + "name": "uri", + "nameLocation": "1997:3:38", + "nodeType": "VariableDeclaration", + "scope": 11304, + "src": "1983:17:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11284, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1983:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 11289, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 11286, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11134, + "src": "2003:14:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "id": 11287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2018:6:38", + "memberName": "getUri", + "nodeType": "MemberAccess", + "referencedDeclaration": 11806, + "src": "2003:21:38", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view external returns (string memory)" + } + }, + "id": 11288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2003:23:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1983:43:38" + }, + { + "expression": { + "arguments": [ + { + "id": 11291, + "name": "_airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11144, + "src": "2068:12:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "arguments": [ + { + "id": 11294, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2103:4:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 11293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2095:7:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2095:7:38", + "typeDescriptions": {} + } + }, + "id": 11295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2095:13:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11296, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11136, + "src": "2122:19:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11297, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11138, + "src": "2156:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11298, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "2189:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11299, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11142, + "src": "2216:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11300, + "name": "_airdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11147, + "src": "2246:12:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + { + "id": 11301, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11285, + "src": "2272:3:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 11290, + "name": "AirdropInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11663, + "src": "2043:11:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AirdropInfo_$11663_storage_ptr_$", + "typeString": "type(struct AirdropInfo storage pointer)" + } + }, + "id": 11302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2043:242:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo memory" + } + }, + "functionReturnParameters": 11283, + "id": 11303, + "nodeType": "Return", + "src": "2036:249:38" + } + ] + }, + "functionSelector": "32f08873", + "id": 11305, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "1916:14:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11279, + "nodeType": "ParameterList", + "parameters": [], + "src": "1930:2:38" + }, + "returnParameters": { + "id": 11283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11282, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11305, + "src": "1953:18:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 11281, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11280, + "name": "AirdropInfo", + "nameLocations": [ + "1953:11:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11663, + "src": "1953:11:38" + }, + "referencedDeclaration": 11663, + "src": "1953:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "1952:20:38" + }, + "scope": 11401, + "src": "1907:385:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11320, + "nodeType": "Block", + "src": "2353:79:38", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 11314, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2403:4:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 11313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2395:7:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2395:7:38", + "typeDescriptions": {} + } + }, + "id": 11315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2395:13:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11310, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11134, + "src": "2370:14:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "id": 11311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2385:9:38", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 11801, + "src": "2370:24:38", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 11316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2370:39:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 11317, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "2413:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2370:55:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 11309, + "id": 11319, + "nodeType": "Return", + "src": "2363:62:38" + } + ] + }, + "functionSelector": "01cb54c0", + "id": 11321, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBalanceToClaim", + "nameLocation": "2307:17:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11306, + "nodeType": "ParameterList", + "parameters": [], + "src": "2324:2:38" + }, + "returnParameters": { + "id": 11309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11308, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11321, + "src": "2347:4:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11307, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2347:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2346:6:38" + }, + "scope": 11401, + "src": "2298:134:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11330, + "nodeType": "Block", + "src": "2497:57:38", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 11326, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11138, + "src": "2514:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 11327, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "2535:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2514:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 11325, + "id": 11329, + "nodeType": "Return", + "src": "2507:40:38" + } + ] + }, + "functionSelector": "9592a2cd", + "id": 11331, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBeenTotallyClaimed", + "nameLocation": "2447:21:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11322, + "nodeType": "ParameterList", + "parameters": [], + "src": "2468:2:38" + }, + "returnParameters": { + "id": 11325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11324, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11331, + "src": "2491:4:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11323, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2491:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2490:6:38" + }, + "scope": 11401, + "src": "2438:116:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11342, + "nodeType": "Block", + "src": "2624:62:38", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 11338, + "name": "_addressesThatAlreadyClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11155, + "src": "2641:28:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11340, + "indexExpression": { + "id": 11339, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11333, + "src": "2670:8:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2641:38:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 11337, + "id": 11341, + "nodeType": "Return", + "src": "2634:45:38" + } + ] + }, + "functionSelector": "73b2e80e", + "id": 11343, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "2569:10:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11333, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2588:8:38", + "nodeType": "VariableDeclaration", + "scope": 11343, + "src": "2580:16:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2580:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2579:18:38" + }, + "returnParameters": { + "id": 11337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11336, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11343, + "src": "2618:4:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11335, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2618:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2617:6:38" + }, + "scope": 11401, + "src": "2560:126:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11353, + "nodeType": "Block", + "src": "2740:57:38", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 11348, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11142, + "src": "2757:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 11349, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2775:5:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 11350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2781:9:38", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2775:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2757:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 11347, + "id": 11352, + "nodeType": "Return", + "src": "2750:40:38" + } + ] + }, + "functionSelector": "90e64d13", + "id": 11354, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "2701:10:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11344, + "nodeType": "ParameterList", + "parameters": [], + "src": "2711:2:38" + }, + "returnParameters": { + "id": 11347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11346, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11354, + "src": "2734:4:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2734:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2733:6:38" + }, + "scope": 11401, + "src": "2692:105:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11361, + "nodeType": "Block", + "src": "2861:39:38", + "statements": [ + { + "expression": { + "id": 11359, + "name": "_expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11142, + "src": "2878:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 11358, + "id": 11360, + "nodeType": "Return", + "src": "2871:22:38" + } + ] + }, + "functionSelector": "5edf7d8b", + "id": 11362, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "2812:17:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11355, + "nodeType": "ParameterList", + "parameters": [], + "src": "2829:2:38" + }, + "returnParameters": { + "id": 11358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11357, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11362, + "src": "2852:7:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2852:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2851:9:38" + }, + "scope": 11401, + "src": "2803:97:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11369, + "nodeType": "Block", + "src": "2961:36:38", + "statements": [ + { + "expression": { + "id": 11367, + "name": "_claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "2978:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 11366, + "id": 11368, + "nodeType": "Return", + "src": "2971:19:38" + } + ] + }, + "functionSelector": "71127ed2", + "id": 11370, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "2915:14:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11363, + "nodeType": "ParameterList", + "parameters": [], + "src": "2929:2:38" + }, + "returnParameters": { + "id": 11366, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11365, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11370, + "src": "2952:7:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2952:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2951:9:38" + }, + "scope": 11401, + "src": "2906:91:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11377, + "nodeType": "Block", + "src": "3065:43:38", + "statements": [ + { + "expression": { + "id": 11375, + "name": "_totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11136, + "src": "3082:19:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 11374, + "id": 11376, + "nodeType": "Return", + "src": "3075:26:38" + } + ] + }, + "functionSelector": "43f367c8", + "id": 11378, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "3012:21:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11371, + "nodeType": "ParameterList", + "parameters": [], + "src": "3033:2:38" + }, + "returnParameters": { + "id": 11374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11373, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11378, + "src": "3056:7:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3056:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3055:9:38" + }, + "scope": 11401, + "src": "3003:105:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11385, + "nodeType": "Block", + "src": "3175:42:38", + "statements": [ + { + "expression": { + "id": 11383, + "name": "_airdropAmountLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11138, + "src": "3192:18:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 11382, + "id": 11384, + "nodeType": "Return", + "src": "3185:25:38" + } + ] + }, + "functionSelector": "cd61a609", + "id": 11386, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "3123:20:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11379, + "nodeType": "ParameterList", + "parameters": [], + "src": "3143:2:38" + }, + "returnParameters": { + "id": 11382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11381, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "3166:7:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11380, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3166:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3165:9:38" + }, + "scope": 11401, + "src": "3114:103:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11399, + "nodeType": "Block", + "src": "3274:63:38", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 11395, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3324:4:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 11394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3316:7:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11393, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3316:7:38", + "typeDescriptions": {} + } + }, + "id": 11396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3316:13:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11391, + "name": "_tokenContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11134, + "src": "3291:14:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$11807", + "typeString": "contract IERC20" + } + }, + "id": 11392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3306:9:38", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 11801, + "src": "3291:24:38", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 11397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3291:39:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 11390, + "id": 11398, + "nodeType": "Return", + "src": "3284:46:38" + } + ] + }, + "functionSelector": "12065fe0", + "id": 11400, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "3232:10:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11387, + "nodeType": "ParameterList", + "parameters": [], + "src": "3242:2:38" + }, + "returnParameters": { + "id": 11390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11389, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11400, + "src": "3265:7:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3265:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3264:9:38" + }, + "scope": 11401, + "src": "3223:114:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 11402, + "src": "141:3198:38", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24, + 11123, + 11127, + 11131 + ] + } + ], + "src": "32:3307:38" + }, + "id": 38 + }, + "contracts/Lib/Administrable.sol": { + "ast": { + "absolutePath": "contracts/Lib/Administrable.sol", + "exportedSymbols": { + "Administrable": [ + 11487 + ] + }, + "id": 11488, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11403, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:39" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Administrable", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 11487, + "linearizedBaseContracts": [ + 11487 + ], + "name": "Administrable", + "nameLocation": "67:13:39", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 11407, + "mutability": "mutable", + "name": "_admins", + "nameLocation": "112:7:39", + "nodeType": "VariableDeclaration", + "scope": 11487, + "src": "87:32:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 11406, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 11404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "95:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "87:24:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 11405, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "106:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 11433, + "nodeType": "Block", + "src": "170:117:39", + "statements": [ + { + "body": { + "id": 11431, + "nodeType": "Block", + "src": "224:57:39", + "statements": [ + { + "expression": { + "id": 11429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 11423, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11407, + "src": "238:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11427, + "indexExpression": { + "baseExpression": { + "id": 11424, + "name": "initialAdmins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11410, + "src": "246:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11426, + "indexExpression": { + "id": 11425, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11414, + "src": "260:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "246:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "238:25:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 11428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "266:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "238:32:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11430, + "nodeType": "ExpressionStatement", + "src": "238:32:39" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 11416, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11414, + "src": "193:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 11417, + "name": "initialAdmins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11410, + "src": "197:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "211:6:39", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "197:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "193:24:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11432, + "initializationExpression": { + "assignments": [ + 11414 + ], + "declarations": [ + { + "constant": false, + "id": 11414, + "mutability": "mutable", + "name": "i", + "nameLocation": "190:1:39", + "nodeType": "VariableDeclaration", + "scope": 11432, + "src": "185:6:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11413, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "185:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 11415, + "nodeType": "VariableDeclarationStatement", + "src": "185:6:39" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 11421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "219:3:39", + "subExpression": { + "id": 11420, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11414, + "src": "219:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11422, + "nodeType": "ExpressionStatement", + "src": "219:3:39" + }, + "nodeType": "ForStatement", + "src": "180:101:39" + } + ] + }, + "id": 11434, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11410, + "mutability": "mutable", + "name": "initialAdmins", + "nameLocation": "155:13:39", + "nodeType": "VariableDeclaration", + "scope": 11434, + "src": "138:30:39", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11409, + "nodeType": "ArrayTypeName", + "src": "138:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "137:32:39" + }, + "returnParameters": { + "id": 11412, + "nodeType": "ParameterList", + "parameters": [], + "src": "170:0:39" + }, + "scope": 11487, + "src": "126:161:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11445, + "nodeType": "Block", + "src": "313:99:39", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 11437, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11407, + "src": "331:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11440, + "indexExpression": { + "expression": { + "id": 11438, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "339:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "343:6:39", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "339:10:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "331:19:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f2063616c6c2074686973206d6574686f64", + "id": 11441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "352:41:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "typeString": "literal_string \"Address not allowed to call this method\"" + }, + "value": "Address not allowed to call this method" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "typeString": "literal_string \"Address not allowed to call this method\"" + } + ], + "id": 11436, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "323:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 11442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "323:71:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11443, + "nodeType": "ExpressionStatement", + "src": "323:71:39" + }, + { + "id": 11444, + "nodeType": "PlaceholderStatement", + "src": "404:1:39" + } + ] + }, + "id": 11446, + "name": "onlyAdmins", + "nameLocation": "302:10:39", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 11435, + "nodeType": "ParameterList", + "parameters": [], + "src": "313:0:39" + }, + "src": "293:119:39", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 11457, + "nodeType": "Block", + "src": "479:41:39", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 11453, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11407, + "src": "496:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11455, + "indexExpression": { + "id": 11454, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11448, + "src": "504:8:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "496:17:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 11452, + "id": 11456, + "nodeType": "Return", + "src": "489:24:39" + } + ] + }, + "functionSelector": "24d7806c", + "id": 11458, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAdmin", + "nameLocation": "427:7:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11449, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11448, + "mutability": "mutable", + "name": "_address", + "nameLocation": "443:8:39", + "nodeType": "VariableDeclaration", + "scope": 11458, + "src": "435:16:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "434:18:39" + }, + "returnParameters": { + "id": 11452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11451, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11458, + "src": "473:4:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11450, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "473:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "472:6:39" + }, + "scope": 11487, + "src": "418:102:39", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11471, + "nodeType": "Block", + "src": "581:42:39", + "statements": [ + { + "expression": { + "id": 11469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 11465, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11407, + "src": "591:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11467, + "indexExpression": { + "id": 11466, + "name": "_newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11460, + "src": "599:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "591:18:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 11468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "612:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "591:25:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11470, + "nodeType": "ExpressionStatement", + "src": "591:25:39" + } + ] + }, + "functionSelector": "70480275", + "id": 11472, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11463, + "kind": "modifierInvocation", + "modifierName": { + "id": 11462, + "name": "onlyAdmins", + "nameLocations": [ + "570:10:39" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "570:10:39" + }, + "nodeType": "ModifierInvocation", + "src": "570:10:39" + } + ], + "name": "addAdmin", + "nameLocation": "535:8:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11460, + "mutability": "mutable", + "name": "_newAdmin", + "nameLocation": "552:9:39", + "nodeType": "VariableDeclaration", + "scope": 11472, + "src": "544:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "543:19:39" + }, + "returnParameters": { + "id": 11464, + "nodeType": "ParameterList", + "parameters": [], + "src": "581:0:39" + }, + "scope": 11487, + "src": "526:97:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11485, + "nodeType": "Block", + "src": "684:40:39", + "statements": [ + { + "expression": { + "id": 11483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 11479, + "name": "_admins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11407, + "src": "694:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 11481, + "indexExpression": { + "id": 11480, + "name": "_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11474, + "src": "702:6:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "694:15:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 11482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "712:5:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "694:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11484, + "nodeType": "ExpressionStatement", + "src": "694:23:39" + } + ] + }, + "functionSelector": "1785f53c", + "id": 11486, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 11477, + "kind": "modifierInvocation", + "modifierName": { + "id": 11476, + "name": "onlyAdmins", + "nameLocations": [ + "673:10:39" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11446, + "src": "673:10:39" + }, + "nodeType": "ModifierInvocation", + "src": "673:10:39" + } + ], + "name": "removeAdmin", + "nameLocation": "638:11:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11474, + "mutability": "mutable", + "name": "_admin", + "nameLocation": "658:6:39", + "nodeType": "VariableDeclaration", + "scope": 11486, + "src": "650:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "650:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "649:16:39" + }, + "returnParameters": { + "id": 11478, + "nodeType": "ParameterList", + "parameters": [], + "src": "684:0:39" + }, + "scope": 11487, + "src": "629:95:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 11488, + "src": "58:668:39", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:694:39" + }, + "id": 39 + }, + "contracts/Lib/AirdropDeployerERC1155.sol": { + "ast": { + "absolutePath": "contracts/Lib/AirdropDeployerERC1155.sol", + "exportedSymbols": { + "AirdropDeployerERC1155": [ + 11590 + ], + "AirdropInfo": [ + 11663 + ], + "AirdropType": [ + 11645 + ], + "Context": [ + 3356 + ], + "CustomAirdrop1155": [ + 10627 + ], + "CustomAirdrop1155Merkle": [ + 10989 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ], + "MerkleProof": [ + 5955 + ], + "Ownable": [ + 147 + ] + }, + "id": 11591, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11489, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:40" + }, + { + "absolutePath": "contracts/ERC1155/CustomAirdrop1155.sol", + "file": "../ERC1155/CustomAirdrop1155.sol", + "id": 11490, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11591, + "sourceUnit": 10628, + "src": "58:42:40", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/ERC1155/CustomAirdrop1155Merkle.sol", + "file": "../ERC1155/CustomAirdrop1155Merkle.sol", + "id": 11491, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11591, + "sourceUnit": 10990, + "src": "101:48:40", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Tools/Types.sol", + "file": "../Tools/Types.sol", + "id": 11492, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11591, + "sourceUnit": 11836, + "src": "150:28:40", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "AirdropDeployerERC1155", + "contractDependencies": [ + 10627, + 10989 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 11590, + "linearizedBaseContracts": [ + 11590 + ], + "name": "AirdropDeployerERC1155", + "nameLocation": "189:22:40", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11495, + "nodeType": "Block", + "src": "232:2:40", + "statements": [] + }, + "id": 11496, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11493, + "nodeType": "ParameterList", + "parameters": [], + "src": "229:2:40" + }, + "returnParameters": { + "id": 11494, + "nodeType": "ParameterList", + "parameters": [], + "src": "232:0:40" + }, + "scope": 11590, + "src": "218:16:40", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11588, + "nodeType": "Block", + "src": "508:999:40", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 11515, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11510, + "src": "522:4:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 11516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "530:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "522:9:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 11548, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11510, + "src": "985:4:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 11549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "993:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "985:9:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11585, + "nodeType": "Block", + "src": "1459:42:40", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 11582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1488:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 11581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1480:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1480:7:40", + "typeDescriptions": {} + } + }, + "id": 11583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1480:10:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 11514, + "id": 11584, + "nodeType": "Return", + "src": "1473:17:40" + } + ] + }, + "id": 11586, + "nodeType": "IfStatement", + "src": "981:520:40", + "trueBody": { + "id": 11579, + "nodeType": "Block", + "src": "996:457:40", + "statements": [ + { + "assignments": [ + 11553 + ], + "declarations": [ + { + "constant": false, + "id": 11553, + "mutability": "mutable", + "name": "deployedAirdrop", + "nameLocation": "1034:15:40", + "nodeType": "VariableDeclaration", + "scope": 11579, + "src": "1010:39:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + }, + "typeName": { + "id": 11552, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11551, + "name": "CustomAirdrop1155Merkle", + "nameLocations": [ + "1010:23:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10989, + "src": "1010:23:40" + }, + "referencedDeclaration": 10989, + "src": "1010:23:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + }, + "visibility": "internal" + } + ], + "id": 11569, + "initialValue": { + "arguments": [ + { + "id": 11557, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11498, + "src": "1101:11:40", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "id": 11560, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1142:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$11590", + "typeString": "contract AirdropDeployerERC1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$11590", + "typeString": "contract AirdropDeployerERC1155" + } + ], + "id": 11559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1134:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1134:7:40", + "typeDescriptions": {} + } + }, + "id": 11561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1134:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11562, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11500, + "src": "1169:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11563, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11502, + "src": "1203:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11564, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11504, + "src": "1232:18:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11565, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11508, + "src": "1272:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 11566, + "name": "AirdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11645, + "src": "1308:11:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AirdropType_$11645_$", + "typeString": "type(enum AirdropType)" + } + }, + "id": 11567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1320:6:40", + "memberName": "MERKLE", + "nodeType": "MemberAccess", + "referencedDeclaration": 11643, + "src": "1308:18:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + ], + "id": 11556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1052:27:40", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_AirdropType_$11645_$returns$_t_contract$_CustomAirdrop1155Merkle_$10989_$", + "typeString": "function (string memory,address,address,uint256,uint256,uint256,enum AirdropType) returns (contract CustomAirdrop1155Merkle)" + }, + "typeName": { + "id": 11555, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11554, + "name": "CustomAirdrop1155Merkle", + "nameLocations": [ + "1056:23:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10989, + "src": "1056:23:40" + }, + "referencedDeclaration": 10989, + "src": "1056:23:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + }, + "id": 11568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1052:292:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1010:334:40" + }, + { + "assignments": [ + 11571 + ], + "declarations": [ + { + "constant": false, + "id": 11571, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "1366:14:40", + "nodeType": "VariableDeclaration", + "scope": 11579, + "src": "1358:22:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1358:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 11576, + "initialValue": { + "arguments": [ + { + "id": 11574, + "name": "deployedAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11553, + "src": "1391:15:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155Merkle_$10989", + "typeString": "contract CustomAirdrop1155Merkle" + } + ], + "id": 11573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1383:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11572, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1383:7:40", + "typeDescriptions": {} + } + }, + "id": 11575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1383:24:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1358:49:40" + }, + { + "expression": { + "id": 11577, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11571, + "src": "1428:14:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 11514, + "id": 11578, + "nodeType": "Return", + "src": "1421:21:40" + } + ] + } + }, + "id": 11587, + "nodeType": "IfStatement", + "src": "518:983:40", + "trueBody": { + "id": 11547, + "nodeType": "Block", + "src": "533:442:40", + "statements": [ + { + "assignments": [ + 11520 + ], + "declarations": [ + { + "constant": false, + "id": 11520, + "mutability": "mutable", + "name": "deployedAirdrop", + "nameLocation": "565:15:40", + "nodeType": "VariableDeclaration", + "scope": 11547, + "src": "547:33:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + }, + "typeName": { + "id": 11519, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11518, + "name": "CustomAirdrop1155", + "nameLocations": [ + "547:17:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10627, + "src": "547:17:40" + }, + "referencedDeclaration": 10627, + "src": "547:17:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + }, + "visibility": "internal" + } + ], + "id": 11537, + "initialValue": { + "arguments": [ + { + "id": 11524, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11498, + "src": "622:11:40", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "id": 11527, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "659:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$11590", + "typeString": "contract AirdropDeployerERC1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AirdropDeployerERC1155_$11590", + "typeString": "contract AirdropDeployerERC1155" + } + ], + "id": 11526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "651:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11525, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "651:7:40", + "typeDescriptions": {} + } + }, + "id": 11528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "651:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11529, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11500, + "src": "682:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11530, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11502, + "src": "712:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11531, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11504, + "src": "737:18:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11532, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11506, + "src": "773:11:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11533, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11508, + "src": "802:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 11534, + "name": "AirdropType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11645, + "src": "834:11:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AirdropType_$11645_$", + "typeString": "type(enum AirdropType)" + } + }, + "id": 11535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "846:6:40", + "memberName": "CUSTOM", + "nodeType": "MemberAccess", + "referencedDeclaration": 11642, + "src": "834:18:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + ], + "id": 11523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "583:21:40", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_AirdropType_$11645_$returns$_t_contract$_CustomAirdrop1155_$10627_$", + "typeString": "function (string memory,address,address,uint256,uint256,uint256,uint256,enum AirdropType) returns (contract CustomAirdrop1155)" + }, + "typeName": { + "id": 11522, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11521, + "name": "CustomAirdrop1155", + "nameLocations": [ + "587:17:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10627, + "src": "587:17:40" + }, + "referencedDeclaration": 10627, + "src": "587:17:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + } + }, + "id": 11536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "583:283:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "547:319:40" + }, + { + "assignments": [ + 11539 + ], + "declarations": [ + { + "constant": false, + "id": 11539, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "888:14:40", + "nodeType": "VariableDeclaration", + "scope": 11547, + "src": "880:22:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "880:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 11544, + "initialValue": { + "arguments": [ + { + "id": 11542, + "name": "deployedAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11520, + "src": "913:15:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CustomAirdrop1155_$10627", + "typeString": "contract CustomAirdrop1155" + } + ], + "id": 11541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "905:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "905:7:40", + "typeDescriptions": {} + } + }, + "id": 11543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "905:24:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "880:49:40" + }, + { + "expression": { + "id": 11545, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11539, + "src": "950:14:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 11514, + "id": 11546, + "nodeType": "Return", + "src": "943:21:40" + } + ] + } + } + ] + }, + "functionSelector": "0920be42", + "id": 11589, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "248:19:40", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11498, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "291:11:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "277:25:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11497, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "277:6:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11500, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "320:12:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "312:20:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "312:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11502, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "350:7:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "342:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11501, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "342:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11504, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "375:18:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "367:26:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "367:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11506, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "411:11:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "403:19:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "403:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11508, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "440:14:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "432:22:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "432:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11510, + "mutability": "mutable", + "name": "mode", + "nameLocation": "472:4:40", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "464:12:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "464:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "267:215:40" + }, + "returnParameters": { + "id": 11514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11513, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11589, + "src": "499:7:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "499:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "498:9:40" + }, + "scope": 11590, + "src": "239:1268:40", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 11591, + "src": "180:1329:40", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:1478:40" + }, + "id": 40 + }, + "contracts/Lib/AirdropDeployerERC20.sol": { + "ast": { + "absolutePath": "contracts/Lib/AirdropDeployerERC20.sol", + "exportedSymbols": { + "AirdropDeployerERC20": [ + 11639 + ], + "AirdropInfo": [ + 11663 + ], + "AirdropType": [ + 11645 + ], + "Context": [ + 3356 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ], + "OpenAirdropERC20": [ + 11401 + ], + "Ownable": [ + 147 + ] + }, + "id": 11640, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11592, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:41" + }, + { + "absolutePath": "contracts/ERC20/OpenAirdropERC20.sol", + "file": "../ERC20/OpenAirdropERC20.sol", + "id": 11593, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11640, + "sourceUnit": 11402, + "src": "58:39:41", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/Tools/Types.sol", + "file": "../Tools/Types.sol", + "id": 11594, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 11640, + "sourceUnit": 11836, + "src": "98:28:41", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "AirdropDeployerERC20", + "contractDependencies": [ + 11401 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 11639, + "linearizedBaseContracts": [ + 11639 + ], + "name": "AirdropDeployerERC20", + "nameLocation": "137:20:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11597, + "nodeType": "Block", + "src": "177:2:41", + "statements": [] + }, + "id": 11598, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11595, + "nodeType": "ParameterList", + "parameters": [], + "src": "174:2:41" + }, + "returnParameters": { + "id": 11596, + "nodeType": "ParameterList", + "parameters": [], + "src": "177:0:41" + }, + "scope": 11639, + "src": "163:16:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 11637, + "nodeType": "Block", + "src": "406:332:41", + "statements": [ + { + "assignments": [ + 11615 + ], + "declarations": [ + { + "constant": false, + "id": 11615, + "mutability": "mutable", + "name": "deployedAirdrop", + "nameLocation": "433:15:41", + "nodeType": "VariableDeclaration", + "scope": 11637, + "src": "416:32:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + }, + "typeName": { + "id": 11614, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11613, + "name": "OpenAirdropERC20", + "nameLocations": [ + "416:16:41" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11401, + "src": "416:16:41" + }, + "referencedDeclaration": 11401, + "src": "416:16:41", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + }, + "visibility": "internal" + } + ], + "id": 11627, + "initialValue": { + "arguments": [ + { + "id": 11619, + "name": "airdropName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11600, + "src": "485:11:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 11620, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "510:3:41", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "514:6:41", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "510:10:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11622, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11602, + "src": "534:12:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11623, + "name": "totalAirdropAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11604, + "src": "560:18:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11624, + "name": "claimAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11606, + "src": "592:11:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11625, + "name": "expirationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11608, + "src": "617:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "451:20:41", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_OpenAirdropERC20_$11401_$", + "typeString": "function (string memory,address,address,uint256,uint256,uint256) returns (contract OpenAirdropERC20)" + }, + "typeName": { + "id": 11617, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11616, + "name": "OpenAirdropERC20", + "nameLocations": [ + "455:16:41" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11401, + "src": "455:16:41" + }, + "referencedDeclaration": 11401, + "src": "455:16:41", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + } + }, + "id": 11626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "451:190:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "416:225:41" + }, + { + "assignments": [ + 11629 + ], + "declarations": [ + { + "constant": false, + "id": 11629, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "659:14:41", + "nodeType": "VariableDeclaration", + "scope": 11637, + "src": "651:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11628, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "651:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 11634, + "initialValue": { + "arguments": [ + { + "id": 11632, + "name": "deployedAirdrop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11615, + "src": "684:15:41", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OpenAirdropERC20_$11401", + "typeString": "contract OpenAirdropERC20" + } + ], + "id": 11631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "676:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 11630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "676:7:41", + "typeDescriptions": {} + } + }, + "id": 11633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "676:24:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "651:49:41" + }, + { + "expression": { + "id": 11635, + "name": "airdropAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11629, + "src": "717:14:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 11612, + "id": 11636, + "nodeType": "Return", + "src": "710:21:41" + } + ] + }, + "functionSelector": "d171b519", + "id": 11638, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "193:19:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11600, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "236:11:41", + "nodeType": "VariableDeclaration", + "scope": 11638, + "src": "222:25:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11599, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "222:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11602, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "265:12:41", + "nodeType": "VariableDeclaration", + "scope": 11638, + "src": "257:20:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11601, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "257:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11604, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "295:18:41", + "nodeType": "VariableDeclaration", + "scope": 11638, + "src": "287:26:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "287:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11606, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "331:11:41", + "nodeType": "VariableDeclaration", + "scope": 11638, + "src": "323:19:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "323:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11608, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "360:14:41", + "nodeType": "VariableDeclaration", + "scope": 11638, + "src": "352:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "352:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "212:168:41" + }, + "returnParameters": { + "id": 11612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11611, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11638, + "src": "397:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "397:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "396:9:41" + }, + "scope": 11639, + "src": "184:554:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 11640, + "src": "128:612:41", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:709:41" + }, + "id": 41 + }, + "contracts/Tools/Types.sol": { + "ast": { + "absolutePath": "contracts/Tools/Types.sol", + "exportedSymbols": { + "AirdropInfo": [ + 11663 + ], + "AirdropType": [ + 11645 + ], + "IAirdrop": [ + 11751 + ], + "IDeployer1155": [ + 11787 + ], + "IDeployerERC20": [ + 11767 + ], + "IERC1155": [ + 11835 + ], + "IERC20": [ + 11807 + ] + }, + "id": 11836, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11641, + "literals": [ + "solidity", + "^", + "0.8", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "32:24:42" + }, + { + "canonicalName": "AirdropType", + "id": 11645, + "members": [ + { + "id": 11642, + "name": "CUSTOM", + "nameLocation": "81:6:42", + "nodeType": "EnumValue", + "src": "81:6:42" + }, + { + "id": 11643, + "name": "MERKLE", + "nameLocation": "93:6:42", + "nodeType": "EnumValue", + "src": "93:6:42" + }, + { + "id": 11644, + "name": "FUNGIBLE", + "nameLocation": "105:8:42", + "nodeType": "EnumValue", + "src": "105:8:42" + } + ], + "name": "AirdropType", + "nameLocation": "63:11:42", + "nodeType": "EnumDefinition", + "src": "58:57:42" + }, + { + "canonicalName": "AirdropInfo", + "id": 11663, + "members": [ + { + "constant": false, + "id": 11647, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "149:11:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "142:18:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11646, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "142:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11649, + "mutability": "mutable", + "name": "airdropAddress", + "nameLocation": "174:14:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "166:22:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11651, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "202:18:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "194:26:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11650, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "194:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11653, + "mutability": "mutable", + "name": "airdropAmountLeft", + "nameLocation": "234:17:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "226:25:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "226:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11655, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "265:11:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "257:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11654, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "257:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11657, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "290:14:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "282:22:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11656, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "282:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11660, + "mutability": "mutable", + "name": "airdropType", + "nameLocation": "322:11:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "310:23:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + }, + "typeName": { + "id": 11659, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11658, + "name": "AirdropType", + "nameLocations": [ + "310:11:42" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11645, + "src": "310:11:42" + }, + "referencedDeclaration": 11645, + "src": "310:11:42", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AirdropType_$11645", + "typeString": "enum AirdropType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11662, + "mutability": "mutable", + "name": "uri", + "nameLocation": "346:3:42", + "nodeType": "VariableDeclaration", + "scope": 11663, + "src": "339:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11661, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "339:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "AirdropInfo", + "nameLocation": "124:11:42", + "nodeType": "StructDefinition", + "scope": 11836, + "src": "117:235:42", + "visibility": "public" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAirdrop", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 11751, + "linearizedBaseContracts": [ + 11751 + ], + "name": "IAirdrop", + "nameLocation": "364:8:42", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "3d13f874", + "id": 11673, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claim", + "nameLocation": "388:5:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11665, + "mutability": "mutable", + "name": "user", + "nameLocation": "402:4:42", + "nodeType": "VariableDeclaration", + "scope": 11673, + "src": "394:12:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "394:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11667, + "mutability": "mutable", + "name": "amount_", + "nameLocation": "416:7:42", + "nodeType": "VariableDeclaration", + "scope": 11673, + "src": "408:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "408:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11670, + "mutability": "mutable", + "name": "proof_", + "nameLocation": "444:6:42", + "nodeType": "VariableDeclaration", + "scope": 11673, + "src": "425:25:42", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 11668, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "425:7:42", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11669, + "nodeType": "ArrayTypeName", + "src": "425:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "393:58:42" + }, + "returnParameters": { + "id": 11672, + "nodeType": "ParameterList", + "parameters": [], + "src": "460:0:42" + }, + "scope": 11751, + "src": "379:82:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "73b2e80e", + "id": 11680, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasClaimed", + "nameLocation": "475:10:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11675, + "mutability": "mutable", + "name": "_address", + "nameLocation": "494:8:42", + "nodeType": "VariableDeclaration", + "scope": 11680, + "src": "486:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "486:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "485:18:42" + }, + "returnParameters": { + "id": 11679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11678, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11680, + "src": "526:4:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11677, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "526:4:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "525:6:42" + }, + "scope": 11751, + "src": "466:66:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "90e64d13", + "id": 11685, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasExpired", + "nameLocation": "546:10:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11681, + "nodeType": "ParameterList", + "parameters": [], + "src": "556:2:42" + }, + "returnParameters": { + "id": 11684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11683, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11685, + "src": "581:4:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "581:4:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "580:6:42" + }, + "scope": 11751, + "src": "537:50:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "08af4d88", + "id": 11690, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowAddress", + "nameLocation": "601:12:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11687, + "mutability": "mutable", + "name": "_address", + "nameLocation": "622:8:42", + "nodeType": "VariableDeclaration", + "scope": 11690, + "src": "614:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "614:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "613:18:42" + }, + "returnParameters": { + "id": 11689, + "nodeType": "ParameterList", + "parameters": [], + "src": "640:0:42" + }, + "scope": 11751, + "src": "592:49:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "3863b1f5", + "id": 11696, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowAddresses", + "nameLocation": "655:14:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11693, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "687:9:42", + "nodeType": "VariableDeclaration", + "scope": 11696, + "src": "670:26:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11691, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "670:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11692, + "nodeType": "ArrayTypeName", + "src": "670:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "669:28:42" + }, + "returnParameters": { + "id": 11695, + "nodeType": "ParameterList", + "parameters": [], + "src": "706:0:42" + }, + "scope": 11751, + "src": "646:61:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a9f7d0b2", + "id": 11702, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "disallowAddresses", + "nameLocation": "721:17:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11699, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "756:9:42", + "nodeType": "VariableDeclaration", + "scope": 11702, + "src": "739:26:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "739:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11698, + "nodeType": "ArrayTypeName", + "src": "739:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "738:28:42" + }, + "returnParameters": { + "id": 11701, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:0:42" + }, + "scope": 11751, + "src": "712:64:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "b7c58d7a", + "id": 11707, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "disallowAddress", + "nameLocation": "790:15:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11704, + "mutability": "mutable", + "name": "_address", + "nameLocation": "814:8:42", + "nodeType": "VariableDeclaration", + "scope": 11707, + "src": "806:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11703, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "806:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "805:18:42" + }, + "returnParameters": { + "id": 11706, + "nodeType": "ParameterList", + "parameters": [], + "src": "832:0:42" + }, + "scope": 11751, + "src": "781:52:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "babcc539", + "id": 11714, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nameLocation": "847:9:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11709, + "mutability": "mutable", + "name": "_address", + "nameLocation": "865:8:42", + "nodeType": "VariableDeclaration", + "scope": 11714, + "src": "857:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "857:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "856:18:42" + }, + "returnParameters": { + "id": 11713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11712, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11714, + "src": "897:4:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11711, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "897:4:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "896:6:42" + }, + "scope": 11751, + "src": "838:65:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5edf7d8b", + "id": 11719, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getExpirationDate", + "nameLocation": "917:17:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11715, + "nodeType": "ParameterList", + "parameters": [], + "src": "934:2:42" + }, + "returnParameters": { + "id": 11718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11717, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11719, + "src": "959:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "959:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "958:9:42" + }, + "scope": 11751, + "src": "908:60:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "71127ed2", + "id": 11724, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getClaimAmount", + "nameLocation": "982:14:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11720, + "nodeType": "ParameterList", + "parameters": [], + "src": "996:2:42" + }, + "returnParameters": { + "id": 11723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11722, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11724, + "src": "1021:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1021:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1020:9:42" + }, + "scope": 11751, + "src": "973:57:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "43f367c8", + "id": 11729, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getTotalAirdropAmount", + "nameLocation": "1044:21:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11725, + "nodeType": "ParameterList", + "parameters": [], + "src": "1065:2:42" + }, + "returnParameters": { + "id": 11728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11727, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11729, + "src": "1090:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1090:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1089:9:42" + }, + "scope": 11751, + "src": "1035:64:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "cd61a609", + "id": 11734, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAirdropAmountLeft", + "nameLocation": "1113:20:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11730, + "nodeType": "ParameterList", + "parameters": [], + "src": "1133:2:42" + }, + "returnParameters": { + "id": 11733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11732, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11734, + "src": "1158:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1158:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1157:9:42" + }, + "scope": 11751, + "src": "1104:63:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "12065fe0", + "id": 11739, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "1181:10:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11735, + "nodeType": "ParameterList", + "parameters": [], + "src": "1191:2:42" + }, + "returnParameters": { + "id": 11738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11739, + "src": "1216:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1216:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1215:9:42" + }, + "scope": 11751, + "src": "1172:53:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "32f08873", + "id": 11745, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAirdropInfo", + "nameLocation": "1239:14:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11740, + "nodeType": "ParameterList", + "parameters": [], + "src": "1253:2:42" + }, + "returnParameters": { + "id": 11744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11743, + "mutability": "mutable", + "name": "info", + "nameLocation": "1297:4:42", + "nodeType": "VariableDeclaration", + "scope": 11745, + "src": "1278:23:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_memory_ptr", + "typeString": "struct AirdropInfo" + }, + "typeName": { + "id": 11742, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 11741, + "name": "AirdropInfo", + "nameLocations": [ + "1278:11:42" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 11663, + "src": "1278:11:42" + }, + "referencedDeclaration": 11663, + "src": "1278:11:42", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AirdropInfo_$11663_storage_ptr", + "typeString": "struct AirdropInfo" + } + }, + "visibility": "internal" + } + ], + "src": "1277:25:42" + }, + "scope": 11751, + "src": "1230:73:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "dab5f340", + "id": 11750, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRoot", + "nameLocation": "1317:7:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11747, + "mutability": "mutable", + "name": "_root", + "nameLocation": "1333:5:42", + "nodeType": "VariableDeclaration", + "scope": 11750, + "src": "1325:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11746, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1325:7:42", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1324:15:42" + }, + "returnParameters": { + "id": 11749, + "nodeType": "ParameterList", + "parameters": [], + "src": "1348:0:42" + }, + "scope": 11751, + "src": "1308:41:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 11836, + "src": "354:997:42", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IDeployerERC20", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 11767, + "linearizedBaseContracts": [ + 11767 + ], + "name": "IDeployerERC20", + "nameLocation": "1363:14:42", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "d171b519", + "id": 11766, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "1393:19:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11753, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "1436:11:42", + "nodeType": "VariableDeclaration", + "scope": 11766, + "src": "1422:25:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11752, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1422:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11755, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "1465:12:42", + "nodeType": "VariableDeclaration", + "scope": 11766, + "src": "1457:20:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11754, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1457:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11757, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "1495:18:42", + "nodeType": "VariableDeclaration", + "scope": 11766, + "src": "1487:26:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1487:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11759, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "1531:11:42", + "nodeType": "VariableDeclaration", + "scope": 11766, + "src": "1523:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1523:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11761, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "1560:14:42", + "nodeType": "VariableDeclaration", + "scope": 11766, + "src": "1552:22:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1552:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1412:168:42" + }, + "returnParameters": { + "id": 11765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11764, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11766, + "src": "1598:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1598:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1597:9:42" + }, + "scope": 11767, + "src": "1384:223:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 11836, + "src": "1353:256:42", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IDeployer1155", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 11787, + "linearizedBaseContracts": [ + 11787 + ], + "name": "IDeployer1155", + "nameLocation": "1621:13:42", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "0920be42", + "id": 11786, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deployAndAddAirdrop", + "nameLocation": "1650:19:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11769, + "mutability": "mutable", + "name": "airdropName", + "nameLocation": "1693:11:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1679:25:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11768, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1679:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11771, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "1722:12:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1714:20:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1714:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11773, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1752:7:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1744:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11772, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1744:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11775, + "mutability": "mutable", + "name": "totalAirdropAmount", + "nameLocation": "1777:18:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1769:26:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1769:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11777, + "mutability": "mutable", + "name": "claimAmount", + "nameLocation": "1813:11:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1805:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1805:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11779, + "mutability": "mutable", + "name": "expirationDate", + "nameLocation": "1842:14:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1834:22:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11778, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1834:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11781, + "mutability": "mutable", + "name": "mode", + "nameLocation": "1874:4:42", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1866:12:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11780, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1866:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1669:215:42" + }, + "returnParameters": { + "id": 11785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11784, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11786, + "src": "1902:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1902:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1901:9:42" + }, + "scope": 11787, + "src": "1641:270:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 11836, + "src": "1611:302:42", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 11807, + "linearizedBaseContracts": [ + 11807 + ], + "name": "IERC20", + "nameLocation": "1925:6:42", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "a9059cbb", + "id": 11794, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1947:8:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11789, + "mutability": "mutable", + "name": "to", + "nameLocation": "1964:2:42", + "nodeType": "VariableDeclaration", + "scope": 11794, + "src": "1956:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1956:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11791, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1976:6:42", + "nodeType": "VariableDeclaration", + "scope": 11794, + "src": "1968:14:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1968:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1955:28:42" + }, + "returnParameters": { + "id": 11793, + "nodeType": "ParameterList", + "parameters": [], + "src": "1992:0:42" + }, + "scope": 11807, + "src": "1938:55:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "70a08231", + "id": 11801, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2007:9:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11796, + "mutability": "mutable", + "name": "account", + "nameLocation": "2025:7:42", + "nodeType": "VariableDeclaration", + "scope": 11801, + "src": "2017:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2017:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2016:17:42" + }, + "returnParameters": { + "id": 11800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11799, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11801, + "src": "2057:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2057:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2056:9:42" + }, + "scope": 11807, + "src": "1998:68:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4e16fc8b", + "id": 11806, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "2080:6:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11802, + "nodeType": "ParameterList", + "parameters": [], + "src": "2086:2:42" + }, + "returnParameters": { + "id": 11805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11804, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11806, + "src": "2112:13:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11803, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2112:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2111:15:42" + }, + "scope": 11807, + "src": "2071:56:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 11836, + "src": "1915:214:42", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1155", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 11835, + "linearizedBaseContracts": [ + 11835 + ], + "name": "IERC1155", + "nameLocation": "2141:8:42", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "f242432a", + "id": 11820, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "2165:16:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11818, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11809, + "mutability": "mutable", + "name": "from", + "nameLocation": "2190:4:42", + "nodeType": "VariableDeclaration", + "scope": 11820, + "src": "2182:12:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2182:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11811, + "mutability": "mutable", + "name": "to", + "nameLocation": "2204:2:42", + "nodeType": "VariableDeclaration", + "scope": 11820, + "src": "2196:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2196:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11813, + "mutability": "mutable", + "name": "id", + "nameLocation": "2216:2:42", + "nodeType": "VariableDeclaration", + "scope": 11820, + "src": "2208:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2208:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11815, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2228:6:42", + "nodeType": "VariableDeclaration", + "scope": 11820, + "src": "2220:14:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2220:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11817, + "mutability": "mutable", + "name": "data", + "nameLocation": "2249:4:42", + "nodeType": "VariableDeclaration", + "scope": 11820, + "src": "2236:17:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 11816, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2236:5:42", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2181:73:42" + }, + "returnParameters": { + "id": 11819, + "nodeType": "ParameterList", + "parameters": [], + "src": "2263:0:42" + }, + "scope": 11835, + "src": "2156:108:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "00fdd58e", + "id": 11829, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2278:9:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11822, + "mutability": "mutable", + "name": "account", + "nameLocation": "2296:7:42", + "nodeType": "VariableDeclaration", + "scope": 11829, + "src": "2288:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2288:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11824, + "mutability": "mutable", + "name": "id", + "nameLocation": "2313:2:42", + "nodeType": "VariableDeclaration", + "scope": 11829, + "src": "2305:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11823, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2305:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2287:29:42" + }, + "returnParameters": { + "id": 11828, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11827, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11829, + "src": "2340:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11826, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2340:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2339:9:42" + }, + "scope": 11835, + "src": "2269:80:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4e16fc8b", + "id": 11834, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getUri", + "nameLocation": "2363:6:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11830, + "nodeType": "ParameterList", + "parameters": [], + "src": "2369:2:42" + }, + "returnParameters": { + "id": 11833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11832, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 11834, + "src": "2395:13:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11831, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2395:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2394:15:42" + }, + "scope": 11835, + "src": "2354:56:42", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 11836, + "src": "2131:281:42", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:2380:42" + }, + "id": 42 + } + }, + "contracts": { + "@openzeppelin/contracts/access/Ownable.sol": { + "Ownable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/interfaces/IERC5267.sol": { + "IERC5267": { + "abi": [ + { + "anonymous": false, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event" + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + { + "internalType": "bytes1", + "name": "fields", + "type": "bytes1" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "version", + "type": "string" + }, + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "eip712Domain()": "84b0196e" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC5267.sol\":\"IERC5267\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "IERC1155Errors": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC1155InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC1155InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "idsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256" + } + ], + "name": "ERC1155InvalidArrayLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC1155InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC1155InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC1155InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC1155MissingApprovalForAll", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}" + }, + "IERC20Errors": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}" + }, + "IERC721Errors": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC721IncorrectOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC721InsufficientApproval", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC721InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC721InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC721InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC721InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC721InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC721NonexistentToken", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/ERC1155.sol": { + "ERC1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC1155InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC1155InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "idsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256" + } + ], + "name": "ERC1155InvalidArrayLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC1155InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC1155InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC1155InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC1155MissingApprovalForAll", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "isApprovedForAll(address,address)": "e985e9c5", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "uri(uint256)": "0e89341c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the basic standard multi-token. See https://eips.ethereum.org/EIPS/eip-1155 Originally based on code by Enjin: https://github.com/enjin/erc-1155\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"constructor\":{\"details\":\"See {_setURI}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":\"ERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x22933f0f4897ff70a991c3baebfbc2574fd052dc4bae7fcafec45b07c1f23dd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13674cffad18cec55f013056496d7d2e3a34bd7bdbe23d1ef0c7588088c73367\",\"dweb:/ipfs/QmcBkrwxNvCApG48Gyby2L6qCNtuhaFncGpbJt3zuukTmu\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91\",\"dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x61a23d601c2ab69dd726ac55058604cbda98e1d728ba31a51c379a3f9eeea715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8cbb06152d82ebdd5ba1d33454e5759492040f309a82637c7e99c948a04fa20\",\"dweb:/ipfs/QmQQuLr6WSfLu97pMEh6XLefk99TSj9k5Qu1zXGPepwGiK\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0x35d120c427299af1525aaf07955314d9e36a62f14408eb93dec71a2e001f74d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://743e38acf441eece428c008be399c40a3ca5b2d595d58faf656cbdbac1a45374\",\"dweb:/ipfs/QmcWDuWkndox3dxa5P7ZgpKy3iuQKkxBq1cR9hPV1ZzAfa\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol\":{\"keccak256\":\"0x30afe9013aaeb3ba735284a9310792776f57a3b2db6fc1d99628f2c47287f5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c675b740746031092efcedb2e18179f05fce8ba482de64e982715e4aa16bc90\",\"dweb:/ipfs/QmVdUD89qYudLc88k5AsuQ6VWyz9SE1c6UXrVK32Yqh1YS\"]},\"@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xaf9586854de33dc9d3a7160cad8170fdfb4119d02a44bad90ba16d71d701cc92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c15a02762b0a51d66e36be135c27de656093fc09292fa743df8484b87d4486ea\",\"dweb:/ipfs/QmbEozFrt5XwC9nzDFuXvN1RF3hQVwKYNi8c2R4bFvYJ2X\"]},\"@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "IERC1155": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "isApprovedForAll(address,address)": "e985e9c5", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC-1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[ERC].\",\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the value of tokens of token type `id` owned by `account`.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {onERC1155BatchReceived} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments. Requirements: - `ids` and `values` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers a `value` amount of tokens of type `id` from `from` to `to`. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {onERC1155Received} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `value` amount. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the zero address.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91\",\"dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol": { + "IERC1155Receiver": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC1155BatchReceived", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": "bc197c81", + "onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61", + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface that must be implemented by smart contracts in order to receive ERC-1155 token transfers.\",\"kind\":\"dev\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC-1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC-1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":\"IERC1155Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x61a23d601c2ab69dd726ac55058604cbda98e1d728ba31a51c379a3f9eeea715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8cbb06152d82ebdd5ba1d33454e5759492040f309a82637c7e99c948a04fa20\",\"dweb:/ipfs/QmQQuLr6WSfLu97pMEh6XLefk99TSj9k5Qu1zXGPepwGiK\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol": { + "IERC1155MetadataURI": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "isApprovedForAll(address,address)": "e985e9c5", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "uri(uint256)": "0e89341c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the optional ERC1155MetadataExtension interface, as defined in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[ERC].\",\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the value of tokens of token type `id` owned by `account`.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {onERC1155BatchReceived} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments. Requirements: - `ids` and `values` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers a `value` amount of tokens of type `id` from `from` to `to`. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {onERC1155Received} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `value` amount. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the zero address.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"uri(uint256)\":{\"details\":\"Returns the URI for token type `id`. If the `\\\\{id\\\\}` substring is present in the URI, it must be replaced by clients with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":\"IERC1155MetadataURI\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91\",\"dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0x35d120c427299af1525aaf07955314d9e36a62f14408eb93dec71a2e001f74d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://743e38acf441eece428c008be399c40a3ca5b2d595d58faf656cbdbac1a45374\",\"dweb:/ipfs/QmcWDuWkndox3dxa5P7ZgpKy3iuQKkxBq1cR9hPV1ZzAfa\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol": { + "ERC1155Utils": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d185d5698479770f4bf20d7e6d5cd61e10bc9b3e24b5ff317cc445dca02282b764736f6c63430008180033", + "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 0xD1 DUP6 0xD5 PUSH10 0x8479770F4BF20D7E6D5C 0xD6 0x1E LT 0xBC SWAP12 RETURNDATACOPY 0x24 0xB5 SELFDESTRUCT BALANCE PUSH29 0xC445DCA02282B764736F6C634300081800330000000000000000000000 ", + "sourceMap": "439:3094:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d185d5698479770f4bf20d7e6d5cd61e10bc9b3e24b5ff317cc445dca02282b764736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 DUP6 0xD5 PUSH10 0x8479770F4BF20D7E6D5C 0xD6 0x1E LT 0xBC SWAP12 RETURNDATACOPY 0x24 0xB5 SELFDESTRUCT BALANCE PUSH29 0xC445DCA02282B764736F6C634300081800330000000000000000000000 ", + "sourceMap": "439:3094:7:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library that provide common ERC-1155 utility functions. See https://eips.ethereum.org/EIPS/eip-1155[ERC-1155]. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol\":\"ERC1155Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x61a23d601c2ab69dd726ac55058604cbda98e1d728ba31a51c379a3f9eeea715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8cbb06152d82ebdd5ba1d33454e5759492040f309a82637c7e99c948a04fa20\",\"dweb:/ipfs/QmQQuLr6WSfLu97pMEh6XLefk99TSj9k5Qu1zXGPepwGiK\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol\":{\"keccak256\":\"0x30afe9013aaeb3ba735284a9310792776f57a3b2db6fc1d99628f2c47287f5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c675b740746031092efcedb2e18179f05fce8ba482de64e982715e4aa16bc90\",\"dweb:/ipfs/QmVdUD89qYudLc88k5AsuQ6VWyz9SE1c6UXrVK32Yqh1YS\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "ERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09\",\"dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "IERC20": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { + "ERC20Burnable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(uint256)": "42966c68", + "burnFrom(address,uint256)": "79cc6790", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09\",\"dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol": { + "ERC20Permit": { + "abi": [ + { + "inputs": [], + "name": "ECDSAInvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "ECDSAInvalidSignatureS", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "ERC2612ExpiredSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC2612InvalidSigner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256" + } + ], + "name": "InvalidAccountNonce", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidShortString", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "str", + "type": "string" + } + ], + "name": "StringTooLong", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + { + "internalType": "bytes1", + "name": "fields", + "type": "bytes1" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "version", + "type": "string" + }, + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "eip712Domain()": "84b0196e", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[ERC-2612]. Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\\\"1\\\"`. It's a good idea to use the same `name` that is defined as the ERC-20 token name.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":\"ERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09\",\"dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c\",\"dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3\",\"dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "IERC20Metadata": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "IERC20Permit": { + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[ERC-2612]. Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. ==== Security Considerations There are two important considerations concerning the use of `permit`. The first is that a valid permit signature expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be considered as an intention to spend the allowance in any specific way. The second is that because permits have built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be generally recommended is: ```solidity function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {} doThing(..., value); } function doThing(..., uint256 value) public { token.safeTransferFrom(msg.sender, address(this), value); ... } ``` Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also {SafeERC20-safeTransferFrom}). Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so contracts should have entry points that don't rely on permit.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3\",\"dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Arrays.sol": { + "Arrays": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122087f7f888e9ea24af991a303b569998b6d96a0c9bfa18734418edc96a9ed63bba64736f6c63430008180033", + "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 DUP8 0xF7 0xF8 DUP9 0xE9 0xEA 0x24 0xAF SWAP10 BYTE ADDRESS EXTCODESIZE JUMP SWAP10 SWAP9 0xB6 0xD9 PUSH11 0xC9BFA18734418EDC96A9E 0xD6 EXTCODESIZE 0xBA PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "459:17881:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122087f7f888e9ea24af991a303b569998b6d96a0c9bfa18734418edc96a9ed63bba64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP8 0xF7 0xF8 DUP9 0xE9 0xEA 0x24 0xAF SWAP10 BYTE ADDRESS EXTCODESIZE JUMP SWAP10 SWAP9 0xB6 0xD9 PUSH11 0xC9BFA18734418EDC96A9E 0xD6 EXTCODESIZE 0xBA PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "459:17881:14:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to array types.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Arrays.sol\":\"Arrays\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xaf9586854de33dc9d3a7160cad8170fdfb4119d02a44bad90ba16d71d701cc92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c15a02762b0a51d66e36be135c27de656093fc09292fa743df8484b87d4486ea\",\"dweb:/ipfs/QmbEozFrt5XwC9nzDFuXvN1RF3hQVwKYNi8c2R4bFvYJ2X\"]},\"@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Comparators.sol": { + "Comparators": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220489b03972a312eb6afdccb56d088dd6c8a4971a2415e48ebecbf0ff51ee5ff7264736f6c63430008180033", + "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 BASEFEE SWAP12 SUB SWAP8 0x2A BALANCE 0x2E 0xB6 0xAF 0xDC 0xCB JUMP 0xD0 DUP9 0xDD PUSH13 0x8A4971A2415E48EBECBF0FF51E 0xE5 SELFDESTRUCT PUSH19 0x64736F6C634300081800330000000000000000 ", + "sourceMap": "224:218:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220489b03972a312eb6afdccb56d088dd6c8a4971a2415e48ebecbf0ff51ee5ff7264736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE SWAP12 SUB SWAP8 0x2A BALANCE 0x2E 0xB6 0xAF 0xDC 0xCB JUMP 0xD0 DUP9 0xDD PUSH13 0x8A4971A2415E48EBECBF0FF51E 0xE5 SELFDESTRUCT PUSH19 0x64736F6C634300081800330000000000000000 ", + "sourceMap": "224:218:15:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides a set of functions to compare values. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Comparators.sol\":\"Comparators\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Nonces.sol": { + "Nonces": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256" + } + ], + "name": "InvalidAccountNonce", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "nonces(address)": "7ecebe00" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Provides tracking nonces for addresses. Nonces will only increment.\",\"errors\":{\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"kind\":\"dev\",\"methods\":{\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Nonces.sol\":\"Nonces\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Panic.sol": { + "Panic": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122077124401dfaf97cd08e586bc2b3443f93be8e32f34d83a0070dc4d71d29e014964736f6c63430008180033", + "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 PUSH24 0x124401DFAF97CD08E586BC2B3443F93BE8E32F34D83A0070 0xDC 0x4D PUSH18 0xD29E014964736F6C63430008180033000000 ", + "sourceMap": "657:1315:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122077124401dfaf97cd08e586bc2b3443f93be8e32f34d83a0070dc4d71d29e014964736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x124401DFAF97CD08E586BC2B3443F93BE8E32F34D83A0070 0xDC 0x4D PUSH18 0xD29E014964736F6C63430008180033000000 ", + "sourceMap": "657:1315:18:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper library for emitting standardized panic codes. ```solidity contract Example { using Panic for uint256; // Use any of the declared internal constants function foo() { Panic.GENERIC.panic(); } // Alternatively function foo() { Panic.panic(Panic.GENERIC); } } ``` Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil]. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ARRAY_OUT_OF_BOUNDS\":{\"details\":\"array out of bounds access\"},\"ASSERT\":{\"details\":\"used by the assert() builtin\"},\"DIVISION_BY_ZERO\":{\"details\":\"division or modulo by zero\"},\"EMPTY_ARRAY_POP\":{\"details\":\"empty array pop\"},\"ENUM_CONVERSION_ERROR\":{\"details\":\"enum conversion error\"},\"GENERIC\":{\"details\":\"generic / unspecified error\"},\"INVALID_INTERNAL_FUNCTION\":{\"details\":\"calling invalid internal function\"},\"RESOURCE_ERROR\":{\"details\":\"resource error (too large allocation or too large array)\"},\"STORAGE_ENCODING_ERROR\":{\"details\":\"invalid encoding in storage\"},\"UNDER_OVERFLOW\":{\"details\":\"arithmetic underflow or overflow\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Panic.sol\":\"Panic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/ShortStrings.sol": { + "ShortStrings": { + "abi": [ + { + "inputs": [], + "name": "InvalidShortString", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "str", + "type": "string" + } + ], + "name": "StringTooLong", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ea3fb44c0c4931a98094525e0e64145f5302c0b11b921969018bc174aa402efc64736f6c63430008180033", + "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 0xEA EXTCODEHASH 0xB4 0x4C 0xC BLOBHASH BALANCE 0xA9 DUP1 SWAP5 MSTORE MCOPY 0xE PUSH5 0x145F5302C0 0xB1 SHL SWAP3 NOT PUSH10 0x18BC174AA402EFC6473 PUSH16 0x6C634300081800330000000000000000 ", + "sourceMap": "1255:3026:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ea3fb44c0c4931a98094525e0e64145f5302c0b11b921969018bc174aa402efc64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEA EXTCODEHASH 0xB4 0x4C 0xC BLOBHASH BALANCE 0xA9 DUP1 SWAP5 MSTORE MCOPY 0xE PUSH5 0x145F5302C0 0xB1 SHL SWAP3 NOT PUSH10 0x18BC174AA402EFC6473 PUSH16 0x6C634300081800330000000000000000 ", + "sourceMap": "1255:3026:19:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides functions to convert short memory strings into a `ShortString` type that can be used as an immutable variable. Strings of arbitrary length can be optimized using this library if they are short enough (up to 31 bytes) by packing them with their length (1 byte) in a single EVM word (32 bytes). Additionally, a fallback mechanism can be used for every other case. Usage example: ```solidity contract Named { using ShortStrings for *; ShortString private immutable _name; string private _nameFallback; constructor(string memory contractName) { _name = contractName.toShortStringWithFallback(_nameFallback); } function name() external view returns (string memory) { return _name.toStringWithFallback(_nameFallback); } } ```\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/ShortStrings.sol\":\"ShortStrings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/SlotDerivation.sol": { + "SlotDerivation": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a833be268fda0a16f2920227ddbda224cd8e213eba43aad42a3c9cc71d52c9364736f6c63430008180033", + "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 EXP DUP4 EXTCODESIZE 0xE2 PUSH9 0xFDA0A16F2920227DDB 0xDA 0x22 0x4C 0xD8 0xE2 SGT 0xEB LOG4 GASPRICE 0xAD TIMESTAMP LOG3 0xC9 0xCC PUSH18 0xD52C9364736F6C6343000818003300000000 ", + "sourceMap": "1598:3723:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a833be268fda0a16f2920227ddbda224cd8e213eba43aad42a3c9cc71d52c9364736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXP DUP4 EXTCODESIZE 0xE2 PUSH9 0xFDA0A16F2920227DDB 0xDA 0x22 0x4C 0xD8 0xE2 SGT 0xEB LOG4 GASPRICE 0xAD TIMESTAMP LOG3 0xC9 0xCC PUSH18 0xD52C9364736F6C6343000818003300000000 ", + "sourceMap": "1598:3723:20:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for computing storage (and transient storage) locations from namespaces and deriving slots corresponding to standard patterns. The derivation method for array and mapping matches the storage layout used by the solidity language / compiler. See https://docs.soliditylang.org/en/v0.8.20/internals/layout_in_storage.html#mappings-and-dynamic-arrays[Solidity docs for mappings and dynamic arrays.]. Example usage: ```solidity contract Example { // Add the library methods using StorageSlot for bytes32; using SlotDerivation for bytes32; // Declare a namespace string private constant _NAMESPACE = \\\"\\\" // eg. OpenZeppelin.Slot function setValueInNamespace(uint256 key, address newValue) internal { _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue; } function getValueInNamespace(uint256 key) internal view returns (address) { return _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value; } } ``` TIP: Consider using this library along with {StorageSlot}. NOTE: This library provides a way to manipulate storage locations in a non-standard way. Tooling for checking upgrade safety will ignore the slots accessed through this library. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/SlotDerivation.sol\":\"SlotDerivation\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/StorageSlot.sol": { + "StorageSlot": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f5dd3f8b3c50549444134de1db0cd4dde85c3f10f2eb57a20735a9ab2f17497b64736f6c63430008180033", + "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 CREATE2 0xDD EXTCODEHASH DUP12 EXTCODECOPY POP SLOAD SWAP5 PREVRANDAO SGT 0x4D 0xE1 0xDB 0xC 0xD4 0xDD 0xE8 TLOAD EXTCODEHASH LT CALLCODE 0xEB JUMPI LOG2 SMOD CALLDATALOAD 0xA9 0xAB 0x2F OR BLOBHASH PUSH28 0x64736F6C634300081800330000000000000000000000000000000000 ", + "sourceMap": "1407:2774:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f5dd3f8b3c50549444134de1db0cd4dde85c3f10f2eb57a20735a9ab2f17497b64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE2 0xDD EXTCODEHASH DUP12 EXTCODECOPY POP SLOAD SWAP5 PREVRANDAO SGT 0x4D 0xE1 0xDB 0xC 0xD4 0xDD 0xE8 TLOAD EXTCODEHASH LT CALLCODE 0xEB JUMPI LOG2 SMOD CALLDATALOAD 0xA9 0xAB 0x2F OR BLOBHASH PUSH28 0x64736F6C634300081800330000000000000000000000000000000000 ", + "sourceMap": "1407:2774:21:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "Strings": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "StringsInsufficientHexLength", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203d85bcf9dee702312ce73b56eae9bb1316d7b59fa90e98c974ac4ef5197e1f3064736f6c63430008180033", + "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 RETURNDATASIZE DUP6 0xBC 0xF9 0xDE 0xE7 MUL BALANCE 0x2C 0xE7 EXTCODESIZE JUMP 0xEA 0xE9 0xBB SGT AND 0xD7 0xB5 SWAP16 0xA9 0xE SWAP9 0xC9 PUSH21 0xAC4EF5197E1F3064736F6C63430008180033000000 ", + "sourceMap": "251:3680:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203d85bcf9dee702312ce73b56eae9bb1316d7b59fa90e98c974ac4ef5197e1f3064736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE DUP6 0xBC 0xF9 0xDE 0xE7 MUL BALANCE 0x2C 0xE7 EXTCODESIZE JUMP 0xEA 0xE9 0xBB SGT AND 0xD7 0xB5 SWAP16 0xA9 0xE SWAP9 0xC9 PUSH21 0xAC4EF5197E1F3064736F6C63430008180033000000 ", + "sourceMap": "251:3680:22:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/ECDSA.sol": { + "ECDSA": { + "abi": [ + { + "inputs": [], + "name": "ECDSAInvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "ECDSAInvalidSignatureS", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220acae791fa55ef8b52f115532cf60fcb946167beacca18e4f40c1e1d74cfcf77f64736f6c63430008180033", + "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 0xAC 0xAE PUSH26 0x1FA55EF8B52F115532CF60FCB946167BEACCA18E4F40C1E1D74C 0xFC 0xF7 PUSH32 0x64736F6C63430008180033000000000000000000000000000000000000000000 ", + "sourceMap": "344:7470:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220acae791fa55ef8b52f115532cf60fcb946167beacca18e4f40c1e1d74cfcf77f64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC 0xAE PUSH26 0x1FA55EF8B52F115532CF60FCB946167BEACCA18E4F40C1E1D74C 0xFC 0xF7 PUSH32 0x64736F6C63430008180033000000000000000000000000000000000000000000 ", + "sourceMap": "344:7470:23:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/EIP712.sol": { + "EIP712": { + "abi": [ + { + "inputs": [], + "name": "InvalidShortString", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "str", + "type": "string" + } + ], + "name": "StringTooLong", + "type": "error" + }, + { + "anonymous": false, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event" + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + { + "internalType": "bytes1", + "name": "fields", + "type": "bytes1" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "version", + "type": "string" + }, + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "eip712Domain()": "84b0196e" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\",\"details\":\"https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data. The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to produce the hash of their typed data using a combination of `abi.encode` and `keccak256`. This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA ({_hashTypedDataV4}). The implementation of the domain separator was designed to be as efficient as possible while still properly updating the chain id to protect against replay attacks on an eventual fork of the chain. NOTE: This contract implements the version of the encoding known as \\\"v4\\\", as implemented by the JSON RPC method https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\",\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the domain separator and parameter caches. The meaning of `name` and `version` is specified in https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]: - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. - `version`: the current major version of the signing domain. NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart contract upgrade].\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/EIP712.sol\":\"EIP712\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/Hashes.sol": { + "Hashes": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220563d0f4d0f36fc2307470ba10127ff556206c7b6d7cc7f936146bcbc4240695a64736f6c63430008180033", + "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 JUMP RETURNDATASIZE 0xF 0x4D 0xF CALLDATASIZE 0xFC 0x23 SMOD SELFBALANCE SIGNEXTEND LOG1 ADD 0x27 SELFDESTRUCT SSTORE PUSH3 0x6C7B6 0xD7 0xCC PUSH32 0x936146BCBC4240695A64736F6C63430008180033000000000000000000000000 ", + "sourceMap": "221:813:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220563d0f4d0f36fc2307470ba10127ff556206c7b6d7cc7f936146bcbc4240695a64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMP RETURNDATASIZE 0xF 0x4D 0xF CALLDATASIZE 0xFC 0x23 SMOD SELFBALANCE SIGNEXTEND LOG1 ADD 0x27 SELFDESTRUCT SSTORE PUSH3 0x6C7B6 0xD7 0xCC PUSH32 0x936146BCBC4240695A64736F6C63430008180033000000000000000000000000 ", + "sourceMap": "221:813:25:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library of standard hash functions. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":\"Hashes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { + "MerkleProof": { + "abi": [ + { + "inputs": [], + "name": "MerkleProofInvalidMultiproof", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200fd4791050012ae280ced9990ca1dade2fe327aa5a5be0fb8ca61e541ad5308364736f6c63430008180033", + "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 0xF 0xD4 PUSH26 0x1050012AE280CED9990CA1DADE2FE327AA5A5BE0FB8CA61E541A 0xD5 ADDRESS DUP4 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "1353:22982:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200fd4791050012ae280ced9990ca1dade2fe327aa5a5be0fb8ca61e541ad5308364736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF 0xD4 PUSH26 0x1050012AE280CED9990CA1DADE2FE327AA5A5BE0FB8CA61E541A 0xD5 ADDRESS DUP4 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "1353:22982:26:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MerkleProofInvalidMultiproof\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"These functions deal with verification of Merkle Tree proofs. The tree and the proofs can be generated using our https://github.com/OpenZeppelin/merkle-tree[JavaScript library]. You will find a quickstart guide in the readme. WARNING: You should avoid using leaf values that are 64 bytes long prior to hashing, or use a hash function other than keccak256 for hashing leaves. This is because the concatenation of a sorted pair of internal nodes in the Merkle tree could be reinterpreted as a leaf value. OpenZeppelin's JavaScript library generates Merkle trees that are safe against this attack out of the box. IMPORTANT: Consider memory side-effects when using custom hashing functions that access memory in an unsafe way. NOTE: This library supports proof verification for merkle trees built using custom _commutative_ hashing functions (i.e. `H(a, b) == H(b, a)`). Proving leaf inclusion in trees built using non-commutative hashing functions requires additional logic that is not supported by this library.\",\"errors\":{\"MerkleProofInvalidMultiproof()\":[{\"details\":\"The multiproof provided is not valid.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":\"MerkleProof\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol": { + "MessageHashUtils": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fc876379e3e8d0a192d67b4c187d4bc7b100c01624d5a339b6cd42c3307337ba64736f6c63430008180033", + "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 0xFC DUP8 PUSH4 0x79E3E8D0 LOG1 SWAP3 0xD6 PUSH28 0x4C187D4BC7B100C01624D5A339B6CD42C3307337BA64736F6C634300 ADDMOD XOR STOP CALLER ", + "sourceMap": "521:3181:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fc876379e3e8d0a192d67b4c187d4bc7b100c01624d5a339b6cd42c3307337ba64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFC DUP8 PUSH4 0x79E3E8D0 LOG1 SWAP3 0xD6 PUSH28 0x4C187D4BC7B100C01624D5A339B6CD42C3307337BA64736F6C634300 ADDMOD XOR STOP CALLER ", + "sourceMap": "521:3181:27:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing. The library provides methods for generating a hash of a message that conforms to the https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712] specifications.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":\"MessageHashUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "Math": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209447c755a57d06eb19fc470a2d00143ace45b32da9169a4acb81046a565251de64736f6c63430008180033", + "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 SWAP5 SELFBALANCE 0xC7 SSTORE 0xA5 PUSH30 0x6EB19FC470A2D00143ACE45B32DA9169A4ACB81046A565251DE64736F6C PUSH4 0x43000818 STOP CALLER ", + "sourceMap": "281:28026:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209447c755a57d06eb19fc470a2d00143ace45b32da9169a4acb81046a565251de64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP5 SELFBALANCE 0xC7 SSTORE 0xA5 PUSH30 0x6EB19FC470A2D00143ACE45B32DA9169A4ACB81046A565251DE64736F6C PUSH4 0x43000818 STOP CALLER ", + "sourceMap": "281:28026:30:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/math/SafeCast.sol": { + "SafeCast": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint8", + "name": "bits", + "type": "uint8" + }, + { + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "SafeCastOverflowedIntDowncast", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "SafeCastOverflowedIntToUint", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "bits", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "SafeCastOverflowedUintToInt", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5f566bcc33798f030e57f140ce005b7099829e7434ae2c81bd24cfd7eb2b16a64736f6c63430008180033", + "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 0xB5 CREATE2 PUSH7 0xBCC33798F030E5 PUSH32 0x140CE005B7099829E7434AE2C81BD24CFD7EB2B16A64736F6C63430008180033 ", + "sourceMap": "769:34173:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5f566bcc33798f030e57f140ce005b7099829e7434ae2c81bd24cfd7eb2b16a64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB5 CREATE2 PUSH7 0xBCC33798F030E5 PUSH32 0x140CE005B7099829E7434AE2C81BD24CFD7EB2B16A64736F6C63430008180033 ", + "sourceMap": "769:34173:31:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintToInt\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"errors\":{\"SafeCastOverflowedIntDowncast(uint8,int256)\":[{\"details\":\"Value doesn't fit in an int of `bits` size.\"}],\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintToInt(uint256)\":[{\"details\":\"An uint value doesn't fit in an int of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "SignedMath": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201c3e0ffabae6a6dd7d8ebfd76c1e4e6548f6f9a595cbaddd45c2b7c532cc107c64736f6c63430008180033", + "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 SHR RETURNDATACOPY 0xF STATICCALL 0xBA 0xE6 0xA6 0xDD PUSH30 0x8EBFD76C1E4E6548F6F9A595CBADDD45C2B7C532CC107C64736F6C634300 ADDMOD XOR STOP CALLER ", + "sourceMap": "258:2354:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201c3e0ffabae6a6dd7d8ebfd76c1e4e6548f6f9a595cbaddd45c2b7c532cc107c64736f6c63430008180033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHR RETURNDATACOPY 0xF STATICCALL 0xBA 0xE6 0xA6 0xDD PUSH30 0x8EBFD76C1E4E6548F6F9A595CBADDD45C2B7C532CC107C64736F6C634300 ADDMOD XOR STOP CALLER ", + "sourceMap": "258:2354:32:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}" + } + }, + "contracts/AirdropManager.sol": { + "AirdropManager": { + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "initialAdmins", + "type": "address[]" + }, + { + "internalType": "address", + "name": "airdropDeployerERC20Address", + "type": "address" + }, + { + "internalType": "address", + "name": "airdropDeployerERC1155Address", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropERC1155Deployed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropERC20Deployed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "AirdropRemoved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "allowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "users", + "type": "address[]" + } + ], + "name": "allowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mode", + "type": "uint256" + } + ], + "name": "deployAndAddAirdropERC1155", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "deployAndAddAirdropERC20", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "disallowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "users", + "type": "address[]" + } + ], + "name": "disallowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdrops", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAdmin", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "name": "removeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + } + ], + "name": "removeAirdrop", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11434": { + "entryPoint": null, + "id": 11434, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_9631": { + "entryPoint": null, + "id": 9631, + "parameterSlots": 3, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 667, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 644, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 783, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_addresst_address_fromMemory": { + "entryPoint": 834, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "allocate_memory": { + "entryPoint": 483, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 340, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 514, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 598, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 566, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 429, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 957, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 382, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 360, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 561, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 355, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 350, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 365, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 618, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:4342:43", + "nodeType": "YulBlock", + "src": "0:4342:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "505:54:43", + "nodeType": "YulBlock", + "src": "505:54:43", + "statements": [ + { + "nativeSrc": "515:38:43", + "nodeType": "YulAssignment", + "src": "515:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "533:5:43", + "nodeType": "YulIdentifier", + "src": "533:5:43" + }, + { + "kind": "number", + "nativeSrc": "540:2:43", + "nodeType": "YulLiteral", + "src": "540:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "529:3:43", + "nodeType": "YulIdentifier", + "src": "529:3:43" + }, + "nativeSrc": "529:14:43", + "nodeType": "YulFunctionCall", + "src": "529:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "549:2:43", + "nodeType": "YulLiteral", + "src": "549:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "545:3:43", + "nodeType": "YulIdentifier", + "src": "545:3:43" + }, + "nativeSrc": "545:7:43", + "nodeType": "YulFunctionCall", + "src": "545:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "525:3:43", + "nodeType": "YulIdentifier", + "src": "525:3:43" + }, + "nativeSrc": "525:28:43", + "nodeType": "YulFunctionCall", + "src": "525:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "515:6:43", + "nodeType": "YulIdentifier", + "src": "515:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "457:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "488:5:43", + "nodeType": "YulTypedName", + "src": "488:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "498:6:43", + "nodeType": "YulTypedName", + "src": "498:6:43", + "type": "" + } + ], + "src": "457:102:43" + }, + { + "body": { + "nativeSrc": "593:152:43", + "nodeType": "YulBlock", + "src": "593:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "610:1:43", + "nodeType": "YulLiteral", + "src": "610:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "613:77:43", + "nodeType": "YulLiteral", + "src": "613:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "603:6:43", + "nodeType": "YulIdentifier", + "src": "603:6:43" + }, + "nativeSrc": "603:88:43", + "nodeType": "YulFunctionCall", + "src": "603:88:43" + }, + "nativeSrc": "603:88:43", + "nodeType": "YulExpressionStatement", + "src": "603:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "707:1:43", + "nodeType": "YulLiteral", + "src": "707:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "710:4:43", + "nodeType": "YulLiteral", + "src": "710:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "700:6:43", + "nodeType": "YulIdentifier", + "src": "700:6:43" + }, + "nativeSrc": "700:15:43", + "nodeType": "YulFunctionCall", + "src": "700:15:43" + }, + "nativeSrc": "700:15:43", + "nodeType": "YulExpressionStatement", + "src": "700:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "731:1:43", + "nodeType": "YulLiteral", + "src": "731:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "734:4:43", + "nodeType": "YulLiteral", + "src": "734:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "724:6:43", + "nodeType": "YulIdentifier", + "src": "724:6:43" + }, + "nativeSrc": "724:15:43", + "nodeType": "YulFunctionCall", + "src": "724:15:43" + }, + "nativeSrc": "724:15:43", + "nodeType": "YulExpressionStatement", + "src": "724:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "565:180:43", + "nodeType": "YulFunctionDefinition", + "src": "565:180:43" + }, + { + "body": { + "nativeSrc": "794:238:43", + "nodeType": "YulBlock", + "src": "794:238:43", + "statements": [ + { + "nativeSrc": "804:58:43", + "nodeType": "YulVariableDeclaration", + "src": "804:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "826:6:43", + "nodeType": "YulIdentifier", + "src": "826:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "856:4:43", + "nodeType": "YulIdentifier", + "src": "856:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "834:21:43", + "nodeType": "YulIdentifier", + "src": "834:21:43" + }, + "nativeSrc": "834:27:43", + "nodeType": "YulFunctionCall", + "src": "834:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "822:3:43", + "nodeType": "YulIdentifier", + "src": "822:3:43" + }, + "nativeSrc": "822:40:43", + "nodeType": "YulFunctionCall", + "src": "822:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "808:10:43", + "nodeType": "YulTypedName", + "src": "808:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "973:22:43", + "nodeType": "YulBlock", + "src": "973:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "975:16:43", + "nodeType": "YulIdentifier", + "src": "975:16:43" + }, + "nativeSrc": "975:18:43", + "nodeType": "YulFunctionCall", + "src": "975:18:43" + }, + "nativeSrc": "975:18:43", + "nodeType": "YulExpressionStatement", + "src": "975:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "916:10:43", + "nodeType": "YulIdentifier", + "src": "916:10:43" + }, + { + "kind": "number", + "nativeSrc": "928:18:43", + "nodeType": "YulLiteral", + "src": "928:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "913:2:43", + "nodeType": "YulIdentifier", + "src": "913:2:43" + }, + "nativeSrc": "913:34:43", + "nodeType": "YulFunctionCall", + "src": "913:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "952:10:43", + "nodeType": "YulIdentifier", + "src": "952:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "964:6:43", + "nodeType": "YulIdentifier", + "src": "964:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "949:2:43", + "nodeType": "YulIdentifier", + "src": "949:2:43" + }, + "nativeSrc": "949:22:43", + "nodeType": "YulFunctionCall", + "src": "949:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "910:2:43", + "nodeType": "YulIdentifier", + "src": "910:2:43" + }, + "nativeSrc": "910:62:43", + "nodeType": "YulFunctionCall", + "src": "910:62:43" + }, + "nativeSrc": "907:88:43", + "nodeType": "YulIf", + "src": "907:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1011:2:43", + "nodeType": "YulLiteral", + "src": "1011:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1015:10:43", + "nodeType": "YulIdentifier", + "src": "1015:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1004:6:43", + "nodeType": "YulIdentifier", + "src": "1004:6:43" + }, + "nativeSrc": "1004:22:43", + "nodeType": "YulFunctionCall", + "src": "1004:22:43" + }, + "nativeSrc": "1004:22:43", + "nodeType": "YulExpressionStatement", + "src": "1004:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "751:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "780:6:43", + "nodeType": "YulTypedName", + "src": "780:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "788:4:43", + "nodeType": "YulTypedName", + "src": "788:4:43", + "type": "" + } + ], + "src": "751:281:43" + }, + { + "body": { + "nativeSrc": "1079:88:43", + "nodeType": "YulBlock", + "src": "1079:88:43", + "statements": [ + { + "nativeSrc": "1089:30:43", + "nodeType": "YulAssignment", + "src": "1089:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1099:18:43", + "nodeType": "YulIdentifier", + "src": "1099:18:43" + }, + "nativeSrc": "1099:20:43", + "nodeType": "YulFunctionCall", + "src": "1099:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1089:6:43", + "nodeType": "YulIdentifier", + "src": "1089:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1148:6:43", + "nodeType": "YulIdentifier", + "src": "1148:6:43" + }, + { + "name": "size", + "nativeSrc": "1156:4:43", + "nodeType": "YulIdentifier", + "src": "1156:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1128:19:43", + "nodeType": "YulIdentifier", + "src": "1128:19:43" + }, + "nativeSrc": "1128:33:43", + "nodeType": "YulFunctionCall", + "src": "1128:33:43" + }, + "nativeSrc": "1128:33:43", + "nodeType": "YulExpressionStatement", + "src": "1128:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1038:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1063:4:43", + "nodeType": "YulTypedName", + "src": "1063:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1072:6:43", + "nodeType": "YulTypedName", + "src": "1072:6:43", + "type": "" + } + ], + "src": "1038:129:43" + }, + { + "body": { + "nativeSrc": "1255:229:43", + "nodeType": "YulBlock", + "src": "1255:229:43", + "statements": [ + { + "body": { + "nativeSrc": "1360:22:43", + "nodeType": "YulBlock", + "src": "1360:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1362:16:43", + "nodeType": "YulIdentifier", + "src": "1362:16:43" + }, + "nativeSrc": "1362:18:43", + "nodeType": "YulFunctionCall", + "src": "1362:18:43" + }, + "nativeSrc": "1362:18:43", + "nodeType": "YulExpressionStatement", + "src": "1362:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1332:6:43", + "nodeType": "YulIdentifier", + "src": "1332:6:43" + }, + { + "kind": "number", + "nativeSrc": "1340:18:43", + "nodeType": "YulLiteral", + "src": "1340:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1329:2:43", + "nodeType": "YulIdentifier", + "src": "1329:2:43" + }, + "nativeSrc": "1329:30:43", + "nodeType": "YulFunctionCall", + "src": "1329:30:43" + }, + "nativeSrc": "1326:56:43", + "nodeType": "YulIf", + "src": "1326:56:43" + }, + { + "nativeSrc": "1392:25:43", + "nodeType": "YulAssignment", + "src": "1392:25:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1404:6:43", + "nodeType": "YulIdentifier", + "src": "1404:6:43" + }, + { + "kind": "number", + "nativeSrc": "1412:4:43", + "nodeType": "YulLiteral", + "src": "1412:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "1400:3:43", + "nodeType": "YulIdentifier", + "src": "1400:3:43" + }, + "nativeSrc": "1400:17:43", + "nodeType": "YulFunctionCall", + "src": "1400:17:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1392:4:43", + "nodeType": "YulIdentifier", + "src": "1392:4:43" + } + ] + }, + { + "nativeSrc": "1454:23:43", + "nodeType": "YulAssignment", + "src": "1454:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1466:4:43", + "nodeType": "YulIdentifier", + "src": "1466:4:43" + }, + { + "kind": "number", + "nativeSrc": "1472:4:43", + "nodeType": "YulLiteral", + "src": "1472:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1462:3:43", + "nodeType": "YulIdentifier", + "src": "1462:3:43" + }, + "nativeSrc": "1462:15:43", + "nodeType": "YulFunctionCall", + "src": "1462:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1454:4:43", + "nodeType": "YulIdentifier", + "src": "1454:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "1173:311:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1239:6:43", + "nodeType": "YulTypedName", + "src": "1239:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1250:4:43", + "nodeType": "YulTypedName", + "src": "1250:4:43", + "type": "" + } + ], + "src": "1173:311:43" + }, + { + "body": { + "nativeSrc": "1579:28:43", + "nodeType": "YulBlock", + "src": "1579:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1596:1:43", + "nodeType": "YulLiteral", + "src": "1596:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1599:1:43", + "nodeType": "YulLiteral", + "src": "1599:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1589:6:43", + "nodeType": "YulIdentifier", + "src": "1589:6:43" + }, + "nativeSrc": "1589:12:43", + "nodeType": "YulFunctionCall", + "src": "1589:12:43" + }, + "nativeSrc": "1589:12:43", + "nodeType": "YulExpressionStatement", + "src": "1589:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "1490:117:43", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:43" + }, + { + "body": { + "nativeSrc": "1658:81:43", + "nodeType": "YulBlock", + "src": "1658:81:43", + "statements": [ + { + "nativeSrc": "1668:65:43", + "nodeType": "YulAssignment", + "src": "1668:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1683:5:43", + "nodeType": "YulIdentifier", + "src": "1683:5:43" + }, + { + "kind": "number", + "nativeSrc": "1690:42:43", + "nodeType": "YulLiteral", + "src": "1690:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1679:3:43", + "nodeType": "YulIdentifier", + "src": "1679:3:43" + }, + "nativeSrc": "1679:54:43", + "nodeType": "YulFunctionCall", + "src": "1679:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1668:7:43", + "nodeType": "YulIdentifier", + "src": "1668:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1613:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1640:5:43", + "nodeType": "YulTypedName", + "src": "1640:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1650:7:43", + "nodeType": "YulTypedName", + "src": "1650:7:43", + "type": "" + } + ], + "src": "1613:126:43" + }, + { + "body": { + "nativeSrc": "1790:51:43", + "nodeType": "YulBlock", + "src": "1790:51:43", + "statements": [ + { + "nativeSrc": "1800:35:43", + "nodeType": "YulAssignment", + "src": "1800:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1829:5:43", + "nodeType": "YulIdentifier", + "src": "1829:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1811:17:43", + "nodeType": "YulIdentifier", + "src": "1811:17:43" + }, + "nativeSrc": "1811:24:43", + "nodeType": "YulFunctionCall", + "src": "1811:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1800:7:43", + "nodeType": "YulIdentifier", + "src": "1800:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1745:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1772:5:43", + "nodeType": "YulTypedName", + "src": "1772:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1782:7:43", + "nodeType": "YulTypedName", + "src": "1782:7:43", + "type": "" + } + ], + "src": "1745:96:43" + }, + { + "body": { + "nativeSrc": "1890:79:43", + "nodeType": "YulBlock", + "src": "1890:79:43", + "statements": [ + { + "body": { + "nativeSrc": "1947:16:43", + "nodeType": "YulBlock", + "src": "1947:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1956:1:43", + "nodeType": "YulLiteral", + "src": "1956:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1959:1:43", + "nodeType": "YulLiteral", + "src": "1959:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1949:6:43", + "nodeType": "YulIdentifier", + "src": "1949:6:43" + }, + "nativeSrc": "1949:12:43", + "nodeType": "YulFunctionCall", + "src": "1949:12:43" + }, + "nativeSrc": "1949:12:43", + "nodeType": "YulExpressionStatement", + "src": "1949:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1913:5:43", + "nodeType": "YulIdentifier", + "src": "1913:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1938:5:43", + "nodeType": "YulIdentifier", + "src": "1938:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1920:17:43", + "nodeType": "YulIdentifier", + "src": "1920:17:43" + }, + "nativeSrc": "1920:24:43", + "nodeType": "YulFunctionCall", + "src": "1920:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1910:2:43", + "nodeType": "YulIdentifier", + "src": "1910:2:43" + }, + "nativeSrc": "1910:35:43", + "nodeType": "YulFunctionCall", + "src": "1910:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1903:6:43", + "nodeType": "YulIdentifier", + "src": "1903:6:43" + }, + "nativeSrc": "1903:43:43", + "nodeType": "YulFunctionCall", + "src": "1903:43:43" + }, + "nativeSrc": "1900:63:43", + "nodeType": "YulIf", + "src": "1900:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "1847:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1883:5:43", + "nodeType": "YulTypedName", + "src": "1883:5:43", + "type": "" + } + ], + "src": "1847:122:43" + }, + { + "body": { + "nativeSrc": "2038:80:43", + "nodeType": "YulBlock", + "src": "2038:80:43", + "statements": [ + { + "nativeSrc": "2048:22:43", + "nodeType": "YulAssignment", + "src": "2048:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2063:6:43", + "nodeType": "YulIdentifier", + "src": "2063:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2057:5:43", + "nodeType": "YulIdentifier", + "src": "2057:5:43" + }, + "nativeSrc": "2057:13:43", + "nodeType": "YulFunctionCall", + "src": "2057:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2048:5:43", + "nodeType": "YulIdentifier", + "src": "2048:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2106:5:43", + "nodeType": "YulIdentifier", + "src": "2106:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "2079:26:43", + "nodeType": "YulIdentifier", + "src": "2079:26:43" + }, + "nativeSrc": "2079:33:43", + "nodeType": "YulFunctionCall", + "src": "2079:33:43" + }, + "nativeSrc": "2079:33:43", + "nodeType": "YulExpressionStatement", + "src": "2079:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "1975:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2016:6:43", + "nodeType": "YulTypedName", + "src": "2016:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2024:3:43", + "nodeType": "YulTypedName", + "src": "2024:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2032:5:43", + "nodeType": "YulTypedName", + "src": "2032:5:43", + "type": "" + } + ], + "src": "1975:143:43" + }, + { + "body": { + "nativeSrc": "2254:619:43", + "nodeType": "YulBlock", + "src": "2254:619:43", + "statements": [ + { + "nativeSrc": "2264:90:43", + "nodeType": "YulAssignment", + "src": "2264:90:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2346:6:43", + "nodeType": "YulIdentifier", + "src": "2346:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "2289:56:43", + "nodeType": "YulIdentifier", + "src": "2289:56:43" + }, + "nativeSrc": "2289:64:43", + "nodeType": "YulFunctionCall", + "src": "2289:64:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "2273:15:43", + "nodeType": "YulIdentifier", + "src": "2273:15:43" + }, + "nativeSrc": "2273:81:43", + "nodeType": "YulFunctionCall", + "src": "2273:81:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2264:5:43", + "nodeType": "YulIdentifier", + "src": "2264:5:43" + } + ] + }, + { + "nativeSrc": "2363:16:43", + "nodeType": "YulVariableDeclaration", + "src": "2363:16:43", + "value": { + "name": "array", + "nativeSrc": "2374:5:43", + "nodeType": "YulIdentifier", + "src": "2374:5:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2367:3:43", + "nodeType": "YulTypedName", + "src": "2367:3:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2396:5:43", + "nodeType": "YulIdentifier", + "src": "2396:5:43" + }, + { + "name": "length", + "nativeSrc": "2403:6:43", + "nodeType": "YulIdentifier", + "src": "2403:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2389:6:43", + "nodeType": "YulIdentifier", + "src": "2389:6:43" + }, + "nativeSrc": "2389:21:43", + "nodeType": "YulFunctionCall", + "src": "2389:21:43" + }, + "nativeSrc": "2389:21:43", + "nodeType": "YulExpressionStatement", + "src": "2389:21:43" + }, + { + "nativeSrc": "2419:23:43", + "nodeType": "YulAssignment", + "src": "2419:23:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2430:5:43", + "nodeType": "YulIdentifier", + "src": "2430:5:43" + }, + { + "kind": "number", + "nativeSrc": "2437:4:43", + "nodeType": "YulLiteral", + "src": "2437:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2426:3:43", + "nodeType": "YulIdentifier", + "src": "2426:3:43" + }, + "nativeSrc": "2426:16:43", + "nodeType": "YulFunctionCall", + "src": "2426:16:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2419:3:43", + "nodeType": "YulIdentifier", + "src": "2419:3:43" + } + ] + }, + { + "nativeSrc": "2452:44:43", + "nodeType": "YulVariableDeclaration", + "src": "2452:44:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2470:6:43", + "nodeType": "YulIdentifier", + "src": "2470:6:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2482:6:43", + "nodeType": "YulIdentifier", + "src": "2482:6:43" + }, + { + "kind": "number", + "nativeSrc": "2490:4:43", + "nodeType": "YulLiteral", + "src": "2490:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2478:3:43", + "nodeType": "YulIdentifier", + "src": "2478:3:43" + }, + "nativeSrc": "2478:17:43", + "nodeType": "YulFunctionCall", + "src": "2478:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2466:3:43", + "nodeType": "YulIdentifier", + "src": "2466:3:43" + }, + "nativeSrc": "2466:30:43", + "nodeType": "YulFunctionCall", + "src": "2466:30:43" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "2456:6:43", + "nodeType": "YulTypedName", + "src": "2456:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2524:103:43", + "nodeType": "YulBlock", + "src": "2524:103:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "2538:77:43", + "nodeType": "YulIdentifier", + "src": "2538:77:43" + }, + "nativeSrc": "2538:79:43", + "nodeType": "YulFunctionCall", + "src": "2538:79:43" + }, + "nativeSrc": "2538:79:43", + "nodeType": "YulExpressionStatement", + "src": "2538:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "2511:6:43", + "nodeType": "YulIdentifier", + "src": "2511:6:43" + }, + { + "name": "end", + "nativeSrc": "2519:3:43", + "nodeType": "YulIdentifier", + "src": "2519:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2508:2:43", + "nodeType": "YulIdentifier", + "src": "2508:2:43" + }, + "nativeSrc": "2508:15:43", + "nodeType": "YulFunctionCall", + "src": "2508:15:43" + }, + "nativeSrc": "2505:122:43", + "nodeType": "YulIf", + "src": "2505:122:43" + }, + { + "body": { + "nativeSrc": "2712:155:43", + "nodeType": "YulBlock", + "src": "2712:155:43", + "statements": [ + { + "nativeSrc": "2727:21:43", + "nodeType": "YulVariableDeclaration", + "src": "2727:21:43", + "value": { + "name": "src", + "nativeSrc": "2745:3:43", + "nodeType": "YulIdentifier", + "src": "2745:3:43" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "2731:10:43", + "nodeType": "YulTypedName", + "src": "2731:10:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2769:3:43", + "nodeType": "YulIdentifier", + "src": "2769:3:43" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "2806:10:43", + "nodeType": "YulIdentifier", + "src": "2806:10:43" + }, + { + "name": "end", + "nativeSrc": "2818:3:43", + "nodeType": "YulIdentifier", + "src": "2818:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "2774:31:43", + "nodeType": "YulIdentifier", + "src": "2774:31:43" + }, + "nativeSrc": "2774:48:43", + "nodeType": "YulFunctionCall", + "src": "2774:48:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2762:6:43", + "nodeType": "YulIdentifier", + "src": "2762:6:43" + }, + "nativeSrc": "2762:61:43", + "nodeType": "YulFunctionCall", + "src": "2762:61:43" + }, + "nativeSrc": "2762:61:43", + "nodeType": "YulExpressionStatement", + "src": "2762:61:43" + }, + { + "nativeSrc": "2836:21:43", + "nodeType": "YulAssignment", + "src": "2836:21:43", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2847:3:43", + "nodeType": "YulIdentifier", + "src": "2847:3:43" + }, + { + "kind": "number", + "nativeSrc": "2852:4:43", + "nodeType": "YulLiteral", + "src": "2852:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2843:3:43", + "nodeType": "YulIdentifier", + "src": "2843:3:43" + }, + "nativeSrc": "2843:14:43", + "nodeType": "YulFunctionCall", + "src": "2843:14:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2836:3:43", + "nodeType": "YulIdentifier", + "src": "2836:3:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2665:3:43", + "nodeType": "YulIdentifier", + "src": "2665:3:43" + }, + { + "name": "srcEnd", + "nativeSrc": "2670:6:43", + "nodeType": "YulIdentifier", + "src": "2670:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2662:2:43", + "nodeType": "YulIdentifier", + "src": "2662:2:43" + }, + "nativeSrc": "2662:15:43", + "nodeType": "YulFunctionCall", + "src": "2662:15:43" + }, + "nativeSrc": "2636:231:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2678:25:43", + "nodeType": "YulBlock", + "src": "2678:25:43", + "statements": [ + { + "nativeSrc": "2680:21:43", + "nodeType": "YulAssignment", + "src": "2680:21:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2691:3:43", + "nodeType": "YulIdentifier", + "src": "2691:3:43" + }, + { + "kind": "number", + "nativeSrc": "2696:4:43", + "nodeType": "YulLiteral", + "src": "2696:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2687:3:43", + "nodeType": "YulIdentifier", + "src": "2687:3:43" + }, + "nativeSrc": "2687:14:43", + "nodeType": "YulFunctionCall", + "src": "2687:14:43" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "2680:3:43", + "nodeType": "YulIdentifier", + "src": "2680:3:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2640:21:43", + "nodeType": "YulBlock", + "src": "2640:21:43", + "statements": [ + { + "nativeSrc": "2642:17:43", + "nodeType": "YulVariableDeclaration", + "src": "2642:17:43", + "value": { + "name": "offset", + "nativeSrc": "2653:6:43", + "nodeType": "YulIdentifier", + "src": "2653:6:43" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "2646:3:43", + "nodeType": "YulTypedName", + "src": "2646:3:43", + "type": "" + } + ] + } + ] + }, + "src": "2636:231:43" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2141:732:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2224:6:43", + "nodeType": "YulTypedName", + "src": "2224:6:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2232:6:43", + "nodeType": "YulTypedName", + "src": "2232:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2240:3:43", + "nodeType": "YulTypedName", + "src": "2240:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2248:5:43", + "nodeType": "YulTypedName", + "src": "2248:5:43", + "type": "" + } + ], + "src": "2141:732:43" + }, + { + "body": { + "nativeSrc": "2984:297:43", + "nodeType": "YulBlock", + "src": "2984:297:43", + "statements": [ + { + "body": { + "nativeSrc": "3033:83:43", + "nodeType": "YulBlock", + "src": "3033:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3035:77:43", + "nodeType": "YulIdentifier", + "src": "3035:77:43" + }, + "nativeSrc": "3035:79:43", + "nodeType": "YulFunctionCall", + "src": "3035:79:43" + }, + "nativeSrc": "3035:79:43", + "nodeType": "YulExpressionStatement", + "src": "3035:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3012:6:43", + "nodeType": "YulIdentifier", + "src": "3012:6:43" + }, + { + "kind": "number", + "nativeSrc": "3020:4:43", + "nodeType": "YulLiteral", + "src": "3020:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3008:3:43", + "nodeType": "YulIdentifier", + "src": "3008:3:43" + }, + "nativeSrc": "3008:17:43", + "nodeType": "YulFunctionCall", + "src": "3008:17:43" + }, + { + "name": "end", + "nativeSrc": "3027:3:43", + "nodeType": "YulIdentifier", + "src": "3027:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3004:3:43", + "nodeType": "YulIdentifier", + "src": "3004:3:43" + }, + "nativeSrc": "3004:27:43", + "nodeType": "YulFunctionCall", + "src": "3004:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2997:6:43", + "nodeType": "YulIdentifier", + "src": "2997:6:43" + }, + "nativeSrc": "2997:35:43", + "nodeType": "YulFunctionCall", + "src": "2997:35:43" + }, + "nativeSrc": "2994:122:43", + "nodeType": "YulIf", + "src": "2994:122:43" + }, + { + "nativeSrc": "3125:27:43", + "nodeType": "YulVariableDeclaration", + "src": "3125:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3145:6:43", + "nodeType": "YulIdentifier", + "src": "3145:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3139:5:43", + "nodeType": "YulIdentifier", + "src": "3139:5:43" + }, + "nativeSrc": "3139:13:43", + "nodeType": "YulFunctionCall", + "src": "3139:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "3129:6:43", + "nodeType": "YulTypedName", + "src": "3129:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "3161:114:43", + "nodeType": "YulAssignment", + "src": "3161:114:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3248:6:43", + "nodeType": "YulIdentifier", + "src": "3248:6:43" + }, + { + "kind": "number", + "nativeSrc": "3256:4:43", + "nodeType": "YulLiteral", + "src": "3256:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3244:3:43", + "nodeType": "YulIdentifier", + "src": "3244:3:43" + }, + "nativeSrc": "3244:17:43", + "nodeType": "YulFunctionCall", + "src": "3244:17:43" + }, + { + "name": "length", + "nativeSrc": "3263:6:43", + "nodeType": "YulIdentifier", + "src": "3263:6:43" + }, + { + "name": "end", + "nativeSrc": "3271:3:43", + "nodeType": "YulIdentifier", + "src": "3271:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3170:73:43", + "nodeType": "YulIdentifier", + "src": "3170:73:43" + }, + "nativeSrc": "3170:105:43", + "nodeType": "YulFunctionCall", + "src": "3170:105:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3161:5:43", + "nodeType": "YulIdentifier", + "src": "3161:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2896:385:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2962:6:43", + "nodeType": "YulTypedName", + "src": "2962:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2970:3:43", + "nodeType": "YulTypedName", + "src": "2970:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2978:5:43", + "nodeType": "YulTypedName", + "src": "2978:5:43", + "type": "" + } + ], + "src": "2896:385:43" + }, + { + "body": { + "nativeSrc": "3423:730:43", + "nodeType": "YulBlock", + "src": "3423:730:43", + "statements": [ + { + "body": { + "nativeSrc": "3469:83:43", + "nodeType": "YulBlock", + "src": "3469:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3471:77:43", + "nodeType": "YulIdentifier", + "src": "3471:77:43" + }, + "nativeSrc": "3471:79:43", + "nodeType": "YulFunctionCall", + "src": "3471:79:43" + }, + "nativeSrc": "3471:79:43", + "nodeType": "YulExpressionStatement", + "src": "3471:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3444:7:43", + "nodeType": "YulIdentifier", + "src": "3444:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3453:9:43", + "nodeType": "YulIdentifier", + "src": "3453:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3440:3:43", + "nodeType": "YulIdentifier", + "src": "3440:3:43" + }, + "nativeSrc": "3440:23:43", + "nodeType": "YulFunctionCall", + "src": "3440:23:43" + }, + { + "kind": "number", + "nativeSrc": "3465:2:43", + "nodeType": "YulLiteral", + "src": "3465:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3436:3:43", + "nodeType": "YulIdentifier", + "src": "3436:3:43" + }, + "nativeSrc": "3436:32:43", + "nodeType": "YulFunctionCall", + "src": "3436:32:43" + }, + "nativeSrc": "3433:119:43", + "nodeType": "YulIf", + "src": "3433:119:43" + }, + { + "nativeSrc": "3562:306:43", + "nodeType": "YulBlock", + "src": "3562:306:43", + "statements": [ + { + "nativeSrc": "3577:38:43", + "nodeType": "YulVariableDeclaration", + "src": "3577:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3601:9:43", + "nodeType": "YulIdentifier", + "src": "3601:9:43" + }, + { + "kind": "number", + "nativeSrc": "3612:1:43", + "nodeType": "YulLiteral", + "src": "3612:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3597:3:43", + "nodeType": "YulIdentifier", + "src": "3597:3:43" + }, + "nativeSrc": "3597:17:43", + "nodeType": "YulFunctionCall", + "src": "3597:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3591:5:43", + "nodeType": "YulIdentifier", + "src": "3591:5:43" + }, + "nativeSrc": "3591:24:43", + "nodeType": "YulFunctionCall", + "src": "3591:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3581:6:43", + "nodeType": "YulTypedName", + "src": "3581:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3662:83:43", + "nodeType": "YulBlock", + "src": "3662:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3664:77:43", + "nodeType": "YulIdentifier", + "src": "3664:77:43" + }, + "nativeSrc": "3664:79:43", + "nodeType": "YulFunctionCall", + "src": "3664:79:43" + }, + "nativeSrc": "3664:79:43", + "nodeType": "YulExpressionStatement", + "src": "3664:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3634:6:43", + "nodeType": "YulIdentifier", + "src": "3634:6:43" + }, + { + "kind": "number", + "nativeSrc": "3642:18:43", + "nodeType": "YulLiteral", + "src": "3642:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3631:2:43", + "nodeType": "YulIdentifier", + "src": "3631:2:43" + }, + "nativeSrc": "3631:30:43", + "nodeType": "YulFunctionCall", + "src": "3631:30:43" + }, + "nativeSrc": "3628:117:43", + "nodeType": "YulIf", + "src": "3628:117:43" + }, + { + "nativeSrc": "3759:99:43", + "nodeType": "YulAssignment", + "src": "3759:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3830:9:43", + "nodeType": "YulIdentifier", + "src": "3830:9:43" + }, + { + "name": "offset", + "nativeSrc": "3841:6:43", + "nodeType": "YulIdentifier", + "src": "3841:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3826:3:43", + "nodeType": "YulIdentifier", + "src": "3826:3:43" + }, + "nativeSrc": "3826:22:43", + "nodeType": "YulFunctionCall", + "src": "3826:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "3850:7:43", + "nodeType": "YulIdentifier", + "src": "3850:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3769:56:43", + "nodeType": "YulIdentifier", + "src": "3769:56:43" + }, + "nativeSrc": "3769:89:43", + "nodeType": "YulFunctionCall", + "src": "3769:89:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3759:6:43", + "nodeType": "YulIdentifier", + "src": "3759:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "3878:129:43", + "nodeType": "YulBlock", + "src": "3878:129:43", + "statements": [ + { + "nativeSrc": "3893:16:43", + "nodeType": "YulVariableDeclaration", + "src": "3893:16:43", + "value": { + "kind": "number", + "nativeSrc": "3907:2:43", + "nodeType": "YulLiteral", + "src": "3907:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3897:6:43", + "nodeType": "YulTypedName", + "src": "3897:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "3923:74:43", + "nodeType": "YulAssignment", + "src": "3923:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3969:9:43", + "nodeType": "YulIdentifier", + "src": "3969:9:43" + }, + { + "name": "offset", + "nativeSrc": "3980:6:43", + "nodeType": "YulIdentifier", + "src": "3980:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3965:3:43", + "nodeType": "YulIdentifier", + "src": "3965:3:43" + }, + "nativeSrc": "3965:22:43", + "nodeType": "YulFunctionCall", + "src": "3965:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "3989:7:43", + "nodeType": "YulIdentifier", + "src": "3989:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3933:31:43", + "nodeType": "YulIdentifier", + "src": "3933:31:43" + }, + "nativeSrc": "3933:64:43", + "nodeType": "YulFunctionCall", + "src": "3933:64:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "3923:6:43", + "nodeType": "YulIdentifier", + "src": "3923:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4017:129:43", + "nodeType": "YulBlock", + "src": "4017:129:43", + "statements": [ + { + "nativeSrc": "4032:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4032:16:43", + "value": { + "kind": "number", + "nativeSrc": "4046:2:43", + "nodeType": "YulLiteral", + "src": "4046:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4036:6:43", + "nodeType": "YulTypedName", + "src": "4036:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4062:74:43", + "nodeType": "YulAssignment", + "src": "4062:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4108:9:43", + "nodeType": "YulIdentifier", + "src": "4108:9:43" + }, + { + "name": "offset", + "nativeSrc": "4119:6:43", + "nodeType": "YulIdentifier", + "src": "4119:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4104:3:43", + "nodeType": "YulIdentifier", + "src": "4104:3:43" + }, + "nativeSrc": "4104:22:43", + "nodeType": "YulFunctionCall", + "src": "4104:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4128:7:43", + "nodeType": "YulIdentifier", + "src": "4128:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4072:31:43", + "nodeType": "YulIdentifier", + "src": "4072:31:43" + }, + "nativeSrc": "4072:64:43", + "nodeType": "YulFunctionCall", + "src": "4072:64:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4062:6:43", + "nodeType": "YulIdentifier", + "src": "4062:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_addresst_address_fromMemory", + "nativeSrc": "3287:866:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3377:9:43", + "nodeType": "YulTypedName", + "src": "3377:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3388:7:43", + "nodeType": "YulTypedName", + "src": "3388:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3400:6:43", + "nodeType": "YulTypedName", + "src": "3400:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3408:6:43", + "nodeType": "YulTypedName", + "src": "3408:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3416:6:43", + "nodeType": "YulTypedName", + "src": "3416:6:43", + "type": "" + } + ], + "src": "3287:866:43" + }, + { + "body": { + "nativeSrc": "4187:152:43", + "nodeType": "YulBlock", + "src": "4187:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4204:1:43", + "nodeType": "YulLiteral", + "src": "4204:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4207:77:43", + "nodeType": "YulLiteral", + "src": "4207:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4197:6:43", + "nodeType": "YulIdentifier", + "src": "4197:6:43" + }, + "nativeSrc": "4197:88:43", + "nodeType": "YulFunctionCall", + "src": "4197:88:43" + }, + "nativeSrc": "4197:88:43", + "nodeType": "YulExpressionStatement", + "src": "4197:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4301:1:43", + "nodeType": "YulLiteral", + "src": "4301:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "4304:4:43", + "nodeType": "YulLiteral", + "src": "4304:4:43", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4294:6:43", + "nodeType": "YulIdentifier", + "src": "4294:6:43" + }, + "nativeSrc": "4294:15:43", + "nodeType": "YulFunctionCall", + "src": "4294:15:43" + }, + "nativeSrc": "4294:15:43", + "nodeType": "YulExpressionStatement", + "src": "4294:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4325:1:43", + "nodeType": "YulLiteral", + "src": "4325:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4328:4:43", + "nodeType": "YulLiteral", + "src": "4328:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4318:6:43", + "nodeType": "YulIdentifier", + "src": "4318:6:43" + }, + "nativeSrc": "4318:15:43", + "nodeType": "YulFunctionCall", + "src": "4318:15:43" + }, + "nativeSrc": "4318:15:43", + "nodeType": "YulExpressionStatement", + "src": "4318:15:43" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "4159:180:43", + "nodeType": "YulFunctionDefinition", + "src": "4159:180:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5060405162002cf538038062002cf5833981810160405281019062000037919062000342565b8260005b8151811015620000c757600160008084848151811062000060576200005f620003bd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506200003b565b505081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620003ec565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001b8826200016d565b810181811067ffffffffffffffff82111715620001da57620001d96200017e565b5b80604052505050565b6000620001ef62000154565b9050620001fd8282620001ad565b919050565b600067ffffffffffffffff82111562000220576200021f6200017e565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002638262000236565b9050919050565b620002758162000256565b81146200028157600080fd5b50565b60008151905062000295816200026a565b92915050565b6000620002b2620002ac8462000202565b620001e3565b90508083825260208201905060208402830185811115620002d857620002d762000231565b5b835b81811015620003055780620002f0888262000284565b845260208401935050602081019050620002da565b5050509392505050565b600082601f83011262000327576200032662000168565b5b8151620003398482602086016200029b565b91505092915050565b6000806000606084860312156200035e576200035d6200015e565b5b600084015167ffffffffffffffff8111156200037f576200037e62000163565b5b6200038d868287016200030f565b9350506020620003a08682870162000284565b9250506040620003b38682870162000284565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6128f980620003fc6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063989a9863116100b8578063dde070e81161007c578063dde070e8146103a9578063ead7778a146103d9578063f77bc88b146103f5578063f89f2a2c14610425578063f8b2cb4f14610455578063fabed4121461048557610142565b8063989a9863146102e1578063a1654379146102fd578063a9b8f0181461032d578063b17acd1a1461035d578063c012a68f1461038d57610142565b80633ad14ed61161010a5780633ad14ed61461020f57806359f47add1461022b5780636b58222e1461024957806370480275146102795780637f94f65d1461029557806389266f60146102b157610142565b806307b1d553146101475780630cb27628146101775780631785f53c1461019357806324d7806c146101af5780632522f8da146101df575b600080fd5b610161600480360381019061015c9190611a03565b6104a1565b60405161016e9190611aa9565b60405180910390f35b610191600480360381019061018c9190611b8c565b61059f565b005b6101ad60048036038101906101a89190611be8565b61069f565b005b6101c960048036038101906101c49190611be8565b610784565b6040516101d69190611c30565b60405180910390f35b6101f960048036038101906101f49190611be8565b6107d9565b6040516102069190611c5a565b60405180910390f35b61022960048036038101906102249190611c75565b610856565b005b610233610956565b6040516102409190611d73565b60405180910390f35b610263600480360381019061025e9190611be8565b6109e4565b6040516102709190611f51565b60405180910390f35b610293600480360381019061028e9190611be8565b610a6d565b005b6102af60048036038101906102aa9190611fa9565b610b52565b005b6102cb60048036038101906102c69190611c75565b610c52565b6040516102d89190611c30565b60405180910390f35b6102fb60048036038101906102f69190611c75565b610cdb565b005b61031760048036038101906103129190611c75565b610ddb565b6040516103249190611c30565b60405180910390f35b61034760048036038101906103429190611be8565b610e64565b6040516103549190611c5a565b60405180910390f35b61037760048036038101906103729190611fe9565b610ee1565b6040516103849190611aa9565b60405180910390f35b6103a760048036038101906103a29190611be8565b611054565b005b6103c360048036038101906103be9190611be8565b6112b9565b6040516103d09190611c5a565b60405180910390f35b6103f360048036038101906103ee9190611b8c565b611336565b005b61040f600480360381019061040a9190611be8565b611436565b60405161041c9190611c30565b60405180910390f35b61043f600480360381019061043a9190611be8565b6114b3565b60405161044c9190611c5a565b60405180910390f35b61046f600480360381019061046a9190611be8565b611530565b60405161047c9190611c5a565b60405180910390f35b61049f600480360381019061049a9190612102565b6115ad565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663d171b51989898989896040518663ffffffff1660e01b815260040161050c9594939291906121d4565b6020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190612243565b905061055a8161162b565b7fe0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257816040516105899190611aa9565b60405180910390a1809250505095945050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661062a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610621906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9f7d0b2836040518263ffffffff1660e01b81526004016106689190611d73565b600060405180830381600087803b15801561068257600080fd5b505af1158015610696573d6000803e3d6000fd5b50505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661072a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610721906122e2565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff16635edf7d8b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084e9190612317565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d8906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663b7c58d7a836040518263ffffffff1660e01b815260040161091f9190611aa9565b600060405180830381600087803b15801561093957600080fd5b505af115801561094d573d6000803e3d6000fd5b50505050505050565b606060038054806020026020016040519081016040528092919081815260200182805480156109da57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610990575b5050505050905090565b6109ec6117a8565b60008290508073ffffffffffffffffffffffffffffffffffffffff166332f088736040518163ffffffff1660e01b8152600401600060405180830381865afa158015610a3c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610a6591906124e5565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef906122e2565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd4906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663dab5f340836040518263ffffffff1660e01b8152600401610c1b919061253d565b600060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff166373b2e80e846040518263ffffffff1660e01b8152600401610c919190611aa9565b602060405180830381865afa158015610cae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd29190612584565b91505092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5d906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166308af4d88836040518263ffffffff1660e01b8152600401610da49190611aa9565b600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff1663babcc539846040518263ffffffff1660e01b8152600401610e1a9190611aa9565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190612584565b91505092915050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff1663cd61a6096040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed99190612317565b915050919050565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630920be428b8b8b8b8b8b8b6040518863ffffffff1660e01b8152600401610f5097969594939291906125b1565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190612243565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb90612673565b60405180910390fd5b61100d8161162b565b7f3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d8160405161103c9190611aa9565b60405180910390a18092505050979650505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d6906122e2565b60405180910390fd5b6000805b600380549050811080156110f5575081155b15611276578273ffffffffffffffffffffffffffffffffffffffff166003828154811061112557611124612693565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126357600191506003600160038054905061118391906126f1565b8154811061119457611193612693565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600382815481106111d3576111d2612693565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600380548061122d5761122c612725565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b808061126e90612754565b9150506110e3565b5080156112b5577fa075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32826040516112ac9190611aa9565b60405180910390a15b5050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166371127ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e9190612317565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166113c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b8906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16633863b1f5836040518263ffffffff1660e01b81526004016113ff9190611d73565b600060405180830381600087803b15801561141957600080fd5b505af115801561142d573d6000803e3d6000fd5b50505050505050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166390e64d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ab9190612584565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166343f367c86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115289190612317565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190612317565b915050919050565b60008590508073ffffffffffffffffffffffffffffffffffffffff16633d13f874868686866040518563ffffffff1660e01b81526004016115f19493929190612817565b600060405180830381600087803b15801561160b57600080fd5b505af115801561161f573d6000803e3d6000fd5b50505050505050505050565b6000805b60038054905081108015611641575081155b156116c8578273ffffffffffffffffffffffffffffffffffffffff166003828154811061167157611670612693565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614915080806116c090612754565b91505061162f565b50801561170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906128a3565b60405180910390fd5b6003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b648260405161179c9190611aa9565b60405180910390a15050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000600281111561180857611807611e23565b5b8152602001606081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61187c82611833565b810181811067ffffffffffffffff8211171561189b5761189a611844565b5b80604052505050565b60006118ae611815565b90506118ba8282611873565b919050565b600067ffffffffffffffff8211156118da576118d9611844565b5b6118e382611833565b9050602081019050919050565b82818337600083830152505050565b600061191261190d846118bf565b6118a4565b90508281526020810184848401111561192e5761192d61182e565b5b6119398482856118f0565b509392505050565b600082601f83011261195657611955611829565b5b81356119668482602086016118ff565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061199a8261196f565b9050919050565b6119aa8161198f565b81146119b557600080fd5b50565b6000813590506119c7816119a1565b92915050565b6000819050919050565b6119e0816119cd565b81146119eb57600080fd5b50565b6000813590506119fd816119d7565b92915050565b600080600080600060a08688031215611a1f57611a1e61181f565b5b600086013567ffffffffffffffff811115611a3d57611a3c611824565b5b611a4988828901611941565b9550506020611a5a888289016119b8565b9450506040611a6b888289016119ee565b9350506060611a7c888289016119ee565b9250506080611a8d888289016119ee565b9150509295509295909350565b611aa38161198f565b82525050565b6000602082019050611abe6000830184611a9a565b92915050565b600067ffffffffffffffff821115611adf57611ade611844565b5b602082029050602081019050919050565b600080fd5b6000611b08611b0384611ac4565b6118a4565b90508083825260208201905060208402830185811115611b2b57611b2a611af0565b5b835b81811015611b545780611b4088826119b8565b845260208401935050602081019050611b2d565b5050509392505050565b600082601f830112611b7357611b72611829565b5b8135611b83848260208601611af5565b91505092915050565b60008060408385031215611ba357611ba261181f565b5b6000611bb1858286016119b8565b925050602083013567ffffffffffffffff811115611bd257611bd1611824565b5b611bde85828601611b5e565b9150509250929050565b600060208284031215611bfe57611bfd61181f565b5b6000611c0c848285016119b8565b91505092915050565b60008115159050919050565b611c2a81611c15565b82525050565b6000602082019050611c456000830184611c21565b92915050565b611c54816119cd565b82525050565b6000602082019050611c6f6000830184611c4b565b92915050565b60008060408385031215611c8c57611c8b61181f565b5b6000611c9a858286016119b8565b9250506020611cab858286016119b8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611cea8161198f565b82525050565b6000611cfc8383611ce1565b60208301905092915050565b6000602082019050919050565b6000611d2082611cb5565b611d2a8185611cc0565b9350611d3583611cd1565b8060005b83811015611d66578151611d4d8882611cf0565b9750611d5883611d08565b925050600181019050611d39565b5085935050505092915050565b60006020820190508181036000830152611d8d8184611d15565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611dcf578082015181840152602081019050611db4565b60008484015250505050565b6000611de682611d95565b611df08185611da0565b9350611e00818560208601611db1565b611e0981611833565b840191505092915050565b611e1d816119cd565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110611e6357611e62611e23565b5b50565b6000819050611e7482611e52565b919050565b6000611e8482611e66565b9050919050565b611e9481611e79565b82525050565b6000610100830160008301518482036000860152611eb88282611ddb565b9150506020830151611ecd6020860182611ce1565b506040830151611ee06040860182611e14565b506060830151611ef36060860182611e14565b506080830151611f066080860182611e14565b5060a0830151611f1960a0860182611e14565b5060c0830151611f2c60c0860182611e8b565b5060e083015184820360e0860152611f448282611ddb565b9150508091505092915050565b60006020820190508181036000830152611f6b8184611e9a565b905092915050565b6000819050919050565b611f8681611f73565b8114611f9157600080fd5b50565b600081359050611fa381611f7d565b92915050565b60008060408385031215611fc057611fbf61181f565b5b6000611fce858286016119b8565b9250506020611fdf85828601611f94565b9150509250929050565b600080600080600080600060e0888a0312156120085761200761181f565b5b600088013567ffffffffffffffff81111561202657612025611824565b5b6120328a828b01611941565b97505060206120438a828b016119b8565b96505060406120548a828b016119ee565b95505060606120658a828b016119ee565b94505060806120768a828b016119ee565b93505060a06120878a828b016119ee565b92505060c06120988a828b016119ee565b91505092959891949750929550565b600080fd5b60008083601f8401126120c2576120c1611829565b5b8235905067ffffffffffffffff8111156120df576120de6120a7565b5b6020830191508360208202830111156120fb576120fa611af0565b5b9250929050565b60008060008060006080868803121561211e5761211d61181f565b5b600061212c888289016119b8565b955050602061213d888289016119b8565b945050604061214e888289016119ee565b935050606086013567ffffffffffffffff81111561216f5761216e611824565b5b61217b888289016120ac565b92509250509295509295909350565b600082825260208201905092915050565b60006121a682611d95565b6121b0818561218a565b93506121c0818560208601611db1565b6121c981611833565b840191505092915050565b600060a08201905081810360008301526121ee818861219b565b90506121fd6020830187611a9a565b61220a6040830186611c4b565b6122176060830185611c4b565b6122246080830184611c4b565b9695505050505050565b60008151905061223d816119a1565b92915050565b6000602082840312156122595761225861181f565b5b60006122678482850161222e565b91505092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b60006122cc60278361218a565b91506122d782612270565b604082019050919050565b600060208201905081810360008301526122fb816122bf565b9050919050565b600081519050612311816119d7565b92915050565b60006020828403121561232d5761232c61181f565b5b600061233b84828501612302565b91505092915050565b600080fd5b600080fd5b600061236161235c846118bf565b6118a4565b90508281526020810184848401111561237d5761237c61182e565b5b612388848285611db1565b509392505050565b600082601f8301126123a5576123a4611829565b5b81516123b584826020860161234e565b91505092915050565b600381106123cb57600080fd5b50565b6000815190506123dd816123be565b92915050565b600061010082840312156123fa576123f9612344565b5b6124056101006118a4565b9050600082015167ffffffffffffffff81111561242557612424612349565b5b61243184828501612390565b60008301525060206124458482850161222e565b602083015250604061245984828501612302565b604083015250606061246d84828501612302565b606083015250608061248184828501612302565b60808301525060a061249584828501612302565b60a08301525060c06124a9848285016123ce565b60c08301525060e082015167ffffffffffffffff8111156124cd576124cc612349565b5b6124d984828501612390565b60e08301525092915050565b6000602082840312156124fb576124fa61181f565b5b600082015167ffffffffffffffff81111561251957612518611824565b5b612525848285016123e3565b91505092915050565b61253781611f73565b82525050565b6000602082019050612552600083018461252e565b92915050565b61256181611c15565b811461256c57600080fd5b50565b60008151905061257e81612558565b92915050565b60006020828403121561259a5761259961181f565b5b60006125a88482850161256f565b91505092915050565b600060e08201905081810360008301526125cb818a61219b565b90506125da6020830189611a9a565b6125e76040830188611c4b565b6125f46060830187611c4b565b6126016080830186611c4b565b61260e60a0830185611c4b565b61261b60c0830184611c4b565b98975050505050505050565b7f4572726f722c2077726f6e67206d6f64652073656c6563746564000000000000600082015250565b600061265d601a8361218a565b915061266882612627565b602082019050919050565b6000602082019050818103600083015261268c81612650565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126fc826119cd565b9150612707836119cd565b925082820390508181111561271f5761271e6126c2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061275f826119cd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612791576127906126c2565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006127c7838561279c565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156127fa576127f96127ad565b5b60208302925061280b8385846127b2565b82840190509392505050565b600060608201905061282c6000830187611a9a565b6128396020830186611c4b565b818103604083015261284c8184866127bb565b905095945050505050565b7f41697264726f7020616c72656164792061646465640000000000000000000000600082015250565b600061288d60158361218a565b915061289882612857565b602082019050919050565b600060208201905081810360008301526128bc81612880565b905091905056fea2646970667358221220f360e45cd8fa6f092b5b1297ab713d1852c69843819692ccd7e59067b992b80064736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2CF5 CODESIZE SUB DUP1 PUSH3 0x2CF5 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x342 JUMP JUMPDEST DUP3 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0xC7 JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0x60 JUMPI PUSH3 0x5F PUSH3 0x3BD JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH3 0x3B JUMP JUMPDEST POP POP DUP2 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH3 0x3EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1B8 DUP3 PUSH3 0x16D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x1DA JUMPI PUSH3 0x1D9 PUSH3 0x17E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1EF PUSH3 0x154 JUMP JUMPDEST SWAP1 POP PUSH3 0x1FD DUP3 DUP3 PUSH3 0x1AD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x220 JUMPI PUSH3 0x21F PUSH3 0x17E JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x263 DUP3 PUSH3 0x236 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x275 DUP2 PUSH3 0x256 JUMP JUMPDEST DUP2 EQ PUSH3 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x295 DUP2 PUSH3 0x26A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2B2 PUSH3 0x2AC DUP5 PUSH3 0x202 JUMP JUMPDEST PUSH3 0x1E3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH3 0x2D8 JUMPI PUSH3 0x2D7 PUSH3 0x231 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x305 JUMPI DUP1 PUSH3 0x2F0 DUP9 DUP3 PUSH3 0x284 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x2DA JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x327 JUMPI PUSH3 0x326 PUSH3 0x168 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x339 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x29B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x35E JUMPI PUSH3 0x35D PUSH3 0x15E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x163 JUMP JUMPDEST JUMPDEST PUSH3 0x38D DUP7 DUP3 DUP8 ADD PUSH3 0x30F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH3 0x3A0 DUP7 DUP3 DUP8 ADD PUSH3 0x284 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x3B3 DUP7 DUP3 DUP8 ADD PUSH3 0x284 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x28F9 DUP1 PUSH3 0x3FC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x989A9863 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDDE070E8 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xDDE070E8 EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xEAD7778A EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0xF77BC88B EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0xF89F2A2C EQ PUSH2 0x425 JUMPI DUP1 PUSH4 0xF8B2CB4F EQ PUSH2 0x455 JUMPI DUP1 PUSH4 0xFABED412 EQ PUSH2 0x485 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x989A9863 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xA1654379 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0xA9B8F018 EQ PUSH2 0x32D JUMPI DUP1 PUSH4 0xB17ACD1A EQ PUSH2 0x35D JUMPI DUP1 PUSH4 0xC012A68F EQ PUSH2 0x38D JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x3AD14ED6 GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x3AD14ED6 EQ PUSH2 0x20F JUMPI DUP1 PUSH4 0x59F47ADD EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x6B58222E EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x7F94F65D EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x89266F60 EQ PUSH2 0x2B1 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x7B1D553 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xCB27628 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x1785F53C EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x2522F8DA EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x1A03 JUMP JUMPDEST PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x1B8C JUMP JUMPDEST PUSH2 0x59F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A8 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x69F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x784 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x7D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x206 SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x229 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x224 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0x856 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x233 PUSH2 0x956 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x9E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x1F51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x293 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0xA6D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2AA SWAP2 SWAP1 PUSH2 0x1FA9 JUMP JUMPDEST PUSH2 0xB52 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0xC52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0xCDB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x317 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x312 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0xDDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x347 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0xE64 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x354 SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x377 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x1FE9 JUMP JUMPDEST PUSH2 0xEE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x384 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3A2 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x1054 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x3C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3BE SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x12B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D0 SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x1B8C JUMP JUMPDEST PUSH2 0x1336 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x40F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x40A SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x1436 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x41C SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43A SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x14B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44C SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x46F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46A SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x1530 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x49F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x49A SWAP2 SWAP1 PUSH2 0x2102 JUMP JUMPDEST PUSH2 0x15AD JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD171B519 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x50C SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21D4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x52B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x54F SWAP2 SWAP1 PUSH2 0x2243 JUMP JUMPDEST SWAP1 POP PUSH2 0x55A DUP2 PUSH2 0x162B JUMP JUMPDEST PUSH32 0xE0895CE248F348E6C4CF31166567DE65AAEFFED89303CF6709201E538B209257 DUP2 PUSH1 0x40 MLOAD PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x62A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x621 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9F7D0B2 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x668 SWAP2 SWAP1 PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x682 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x696 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x72A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x721 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5EDF7D8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x82A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x84E SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x8E1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8D8 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB7C58D7A DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x939 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x94D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x9DA JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x990 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x9EC PUSH2 0x17A8 JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x32F08873 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA65 SWAP2 SWAP1 PUSH2 0x24E5 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xAF8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAEF SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xBDD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD4 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xDAB5F340 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC1B SWAP2 SWAP1 PUSH2 0x253D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC49 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x73B2E80E DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC91 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCD2 SWAP2 SWAP1 PUSH2 0x2584 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xD66 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD5D SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8AF4D88 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDA4 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xDD2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xBABCC539 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE1A SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE37 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE5B SWAP2 SWAP1 PUSH2 0x2584 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xCD61A609 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEB5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xED9 SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x920BE42 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF50 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25B1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF6F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF93 SWAP2 SWAP1 PUSH2 0x2243 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1004 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFFB SWAP1 PUSH2 0x2673 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x100D DUP2 PUSH2 0x162B JUMP JUMPDEST PUSH32 0x3253658F687C8CB74D577A64B270AF597E6BAE60C74179602AF4E8CA7225362D DUP2 PUSH1 0x40 MLOAD PUSH2 0x103C SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x10DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D6 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x10F5 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x1276 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1125 JUMPI PUSH2 0x1124 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1263 JUMPI PUSH1 0x1 SWAP2 POP PUSH1 0x3 PUSH1 0x1 PUSH1 0x3 DUP1 SLOAD SWAP1 POP PUSH2 0x1183 SWAP2 SWAP1 PUSH2 0x26F1 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1194 JUMPI PUSH2 0x1193 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x11D3 JUMPI PUSH2 0x11D2 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 DUP1 SLOAD DUP1 PUSH2 0x122D JUMPI PUSH2 0x122C PUSH2 0x2725 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE JUMPDEST DUP1 DUP1 PUSH2 0x126E SWAP1 PUSH2 0x2754 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E3 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x12B5 JUMPI PUSH32 0xA075707015B6368EEE802922E19A51528F4B98C88E1082B65D4805BF47F8CD32 DUP3 PUSH1 0x40 MLOAD PUSH2 0x12AC SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x71127ED2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x130A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x132E SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x13C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13B8 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3863B1F5 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13FF SWAP2 SWAP1 PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x142D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x90E64D13 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1487 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14AB SWAP2 SWAP1 PUSH2 0x2584 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x43F367C8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1504 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1528 SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1581 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15A5 SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP6 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3D13F874 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15F1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2817 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x160B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x161F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x1641 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x16C8 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1671 JUMPI PUSH2 0x1670 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP DUP1 DUP1 PUSH2 0x16C0 SWAP1 PUSH2 0x2754 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x162F JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x170A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1701 SWAP1 PUSH2 0x28A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 DUP3 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8C716DE2EEB0D456A3F3012D8F1EF9FBE14D94374E94CA90F916AADFB8C04B64 DUP3 PUSH1 0x40 MLOAD PUSH2 0x179C SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1808 JUMPI PUSH2 0x1807 PUSH2 0x1E23 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x187C DUP3 PUSH2 0x1833 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x189B JUMPI PUSH2 0x189A PUSH2 0x1844 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18AE PUSH2 0x1815 JUMP JUMPDEST SWAP1 POP PUSH2 0x18BA DUP3 DUP3 PUSH2 0x1873 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x18DA JUMPI PUSH2 0x18D9 PUSH2 0x1844 JUMP JUMPDEST JUMPDEST PUSH2 0x18E3 DUP3 PUSH2 0x1833 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1912 PUSH2 0x190D DUP5 PUSH2 0x18BF JUMP JUMPDEST PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x192E JUMPI PUSH2 0x192D PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH2 0x1939 DUP5 DUP3 DUP6 PUSH2 0x18F0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1956 JUMPI PUSH2 0x1955 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1966 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x18FF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x199A DUP3 PUSH2 0x196F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19AA DUP2 PUSH2 0x198F JUMP JUMPDEST DUP2 EQ PUSH2 0x19B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x19C7 DUP2 PUSH2 0x19A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19E0 DUP2 PUSH2 0x19CD JUMP JUMPDEST DUP2 EQ PUSH2 0x19EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x19FD DUP2 PUSH2 0x19D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1A1F JUMPI PUSH2 0x1A1E PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A3D JUMPI PUSH2 0x1A3C PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x1A49 DUP9 DUP3 DUP10 ADD PUSH2 0x1941 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1A5A DUP9 DUP3 DUP10 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1A6B DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1A7C DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x1A8D DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x1AA3 DUP2 PUSH2 0x198F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1ABE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A9A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1ADF JUMPI PUSH2 0x1ADE PUSH2 0x1844 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B08 PUSH2 0x1B03 DUP5 PUSH2 0x1AC4 JUMP JUMPDEST PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1B2B JUMPI PUSH2 0x1B2A PUSH2 0x1AF0 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1B54 JUMPI DUP1 PUSH2 0x1B40 DUP9 DUP3 PUSH2 0x19B8 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1B2D JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B73 JUMPI PUSH2 0x1B72 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B83 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1AF5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BA3 JUMPI PUSH2 0x1BA2 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BB1 DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1BD2 JUMPI PUSH2 0x1BD1 PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x1BDE DUP6 DUP3 DUP7 ADD PUSH2 0x1B5E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BFE JUMPI PUSH2 0x1BFD PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C0C DUP5 DUP3 DUP6 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C2A DUP2 PUSH2 0x1C15 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1C45 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C21 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1C54 DUP2 PUSH2 0x19CD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1C6F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C4B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1C8C JUMPI PUSH2 0x1C8B PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C9A DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1CAB DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CEA DUP2 PUSH2 0x198F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CFC DUP4 DUP4 PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D20 DUP3 PUSH2 0x1CB5 JUMP JUMPDEST PUSH2 0x1D2A DUP2 DUP6 PUSH2 0x1CC0 JUMP JUMPDEST SWAP4 POP PUSH2 0x1D35 DUP4 PUSH2 0x1CD1 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D66 JUMPI DUP2 MLOAD PUSH2 0x1D4D DUP9 DUP3 PUSH2 0x1CF0 JUMP JUMPDEST SWAP8 POP PUSH2 0x1D58 DUP4 PUSH2 0x1D08 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1D39 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D8D DUP2 DUP5 PUSH2 0x1D15 JUMP JUMPDEST SWAP1 POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DCF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DB4 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DE6 DUP3 PUSH2 0x1D95 JUMP JUMPDEST PUSH2 0x1DF0 DUP2 DUP6 PUSH2 0x1DA0 JUMP JUMPDEST SWAP4 POP PUSH2 0x1E00 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1DB1 JUMP JUMPDEST PUSH2 0x1E09 DUP2 PUSH2 0x1833 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E1D DUP2 PUSH2 0x19CD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1E63 JUMPI PUSH2 0x1E62 PUSH2 0x1E23 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x1E74 DUP3 PUSH2 0x1E52 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E84 DUP3 PUSH2 0x1E66 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E94 DUP2 PUSH2 0x1E79 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x1EB8 DUP3 DUP3 PUSH2 0x1DDB JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1ECD PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x1CE1 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1EE0 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x1EF3 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x1F06 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1F19 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1F2C PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x1E8B JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x1F44 DUP3 DUP3 PUSH2 0x1DDB JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F6B DUP2 DUP5 PUSH2 0x1E9A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F86 DUP2 PUSH2 0x1F73 JUMP JUMPDEST DUP2 EQ PUSH2 0x1F91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1FA3 DUP2 PUSH2 0x1F7D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1FC0 JUMPI PUSH2 0x1FBF PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FCE DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1FDF DUP6 DUP3 DUP7 ADD PUSH2 0x1F94 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x2008 JUMPI PUSH2 0x2007 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2026 JUMPI PUSH2 0x2025 PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x2032 DUP11 DUP3 DUP12 ADD PUSH2 0x1941 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x2043 DUP11 DUP3 DUP12 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x2054 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH2 0x2065 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH2 0x2076 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH2 0x2087 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH2 0x2098 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x20C2 JUMPI PUSH2 0x20C1 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DF JUMPI PUSH2 0x20DE PUSH2 0x20A7 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x20FB JUMPI PUSH2 0x20FA PUSH2 0x1AF0 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x211E JUMPI PUSH2 0x211D PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x212C DUP9 DUP3 DUP10 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x213D DUP9 DUP3 DUP10 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x214E DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x216F JUMPI PUSH2 0x216E PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x217B DUP9 DUP3 DUP10 ADD PUSH2 0x20AC JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A6 DUP3 PUSH2 0x1D95 JUMP JUMPDEST PUSH2 0x21B0 DUP2 DUP6 PUSH2 0x218A JUMP JUMPDEST SWAP4 POP PUSH2 0x21C0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1DB1 JUMP JUMPDEST PUSH2 0x21C9 DUP2 PUSH2 0x1833 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21EE DUP2 DUP9 PUSH2 0x219B JUMP JUMPDEST SWAP1 POP PUSH2 0x21FD PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x220A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x2217 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x2224 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1C4B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x223D DUP2 PUSH2 0x19A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2259 JUMPI PUSH2 0x2258 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2267 DUP5 DUP3 DUP6 ADD PUSH2 0x222E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22CC PUSH1 0x27 DUP4 PUSH2 0x218A JUMP JUMPDEST SWAP2 POP PUSH2 0x22D7 DUP3 PUSH2 0x2270 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22FB DUP2 PUSH2 0x22BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2311 DUP2 PUSH2 0x19D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x232D JUMPI PUSH2 0x232C PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x233B DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2361 PUSH2 0x235C DUP5 PUSH2 0x18BF JUMP JUMPDEST PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x237D JUMPI PUSH2 0x237C PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH2 0x2388 DUP5 DUP3 DUP6 PUSH2 0x1DB1 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23A5 JUMPI PUSH2 0x23A4 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x23B5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x234E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x23CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x23DD DUP2 PUSH2 0x23BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x23FA JUMPI PUSH2 0x23F9 PUSH2 0x2344 JUMP JUMPDEST JUMPDEST PUSH2 0x2405 PUSH2 0x100 PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2425 JUMPI PUSH2 0x2424 PUSH2 0x2349 JUMP JUMPDEST JUMPDEST PUSH2 0x2431 DUP5 DUP3 DUP6 ADD PUSH2 0x2390 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2445 DUP5 DUP3 DUP6 ADD PUSH2 0x222E JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2459 DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x246D DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x2481 DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x2495 DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP PUSH1 0xC0 PUSH2 0x24A9 DUP5 DUP3 DUP6 ADD PUSH2 0x23CE JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH1 0xE0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24CD JUMPI PUSH2 0x24CC PUSH2 0x2349 JUMP JUMPDEST JUMPDEST PUSH2 0x24D9 DUP5 DUP3 DUP6 ADD PUSH2 0x2390 JUMP JUMPDEST PUSH1 0xE0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x24FB JUMPI PUSH2 0x24FA PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2519 JUMPI PUSH2 0x2518 PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x2525 DUP5 DUP3 DUP6 ADD PUSH2 0x23E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2537 DUP2 PUSH2 0x1F73 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2552 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x252E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2561 DUP2 PUSH2 0x1C15 JUMP JUMPDEST DUP2 EQ PUSH2 0x256C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x257E DUP2 PUSH2 0x2558 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x259A JUMPI PUSH2 0x2599 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x25A8 DUP5 DUP3 DUP6 ADD PUSH2 0x256F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25CB DUP2 DUP11 PUSH2 0x219B JUMP JUMPDEST SWAP1 POP PUSH2 0x25DA PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x25E7 PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x25F4 PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x2601 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x260E PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x261B PUSH1 0xC0 DUP4 ADD DUP5 PUSH2 0x1C4B JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4572726F722C2077726F6E67206D6F64652073656C6563746564000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x265D PUSH1 0x1A DUP4 PUSH2 0x218A JUMP JUMPDEST SWAP2 POP PUSH2 0x2668 DUP3 PUSH2 0x2627 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x268C DUP2 PUSH2 0x2650 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x26FC DUP3 PUSH2 0x19CD JUMP JUMPDEST SWAP2 POP PUSH2 0x2707 DUP4 PUSH2 0x19CD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x271F JUMPI PUSH2 0x271E PUSH2 0x26C2 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x275F DUP3 PUSH2 0x19CD JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x2791 JUMPI PUSH2 0x2790 PUSH2 0x26C2 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD 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 DUP1 REVERT JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27C7 DUP4 DUP6 PUSH2 0x279C JUMP JUMPDEST SWAP4 POP PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT ISZERO PUSH2 0x27FA JUMPI PUSH2 0x27F9 PUSH2 0x27AD JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 MUL SWAP3 POP PUSH2 0x280B DUP4 DUP6 DUP5 PUSH2 0x27B2 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x282C PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x2839 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1C4B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x284C DUP2 DUP5 DUP7 PUSH2 0x27BB JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C72656164792061646465640000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x288D PUSH1 0x15 DUP4 PUSH2 0x218A JUMP JUMPDEST SWAP2 POP PUSH2 0x2898 DUP3 PUSH2 0x2857 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x28BC DUP2 PUSH2 0x2880 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURN PUSH1 0xE4 TLOAD 0xD8 STATICCALL PUSH16 0x92B5B1297AB713D1852C69843819692 0xCC 0xD7 0xE5 SWAP1 PUSH8 0xB992B80064736F6C PUSH4 0x43000818 STOP CALLER ", + "sourceMap": "121:6175:33:-:0;;;493:326;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;657:13;185:6:39;180:101;197:13;:20;193:1;:24;180:101;;;266:4;238:7;:25;246:13;260:1;246:16;;;;;;;;:::i;:::-;;;;;;;;238:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;219:3;;;;;;;180:101;;;;126:161;713:27:33::1;682:28;;:58;;;;;;;;;;;;;;;;;;783:29;750:30;;:62;;;;;;;;;;;;;;;;;;493:326:::0;;;121:6175;;7:75:43;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:866::-;3400:6;3408;3416;3465:2;3453:9;3444:7;3440:23;3436:32;3433:119;;;3471:79;;:::i;:::-;3433:119;3612:1;3601:9;3597:17;3591:24;3642:18;3634:6;3631:30;3628:117;;;3664:79;;:::i;:::-;3628:117;3769:89;3850:7;3841:6;3830:9;3826:22;3769:89;:::i;:::-;3759:99;;3562:306;3907:2;3933:64;3989:7;3980:6;3969:9;3965:22;3933:64;:::i;:::-;3923:74;;3878:129;4046:2;4072:64;4128:7;4119:6;4108:9;4104:22;4072:64;:::i;:::-;4062:74;;4017:129;3287:866;;;;;:::o;4159:180::-;4207:77;4204:1;4197:88;4304:4;4301:1;4294:15;4328:4;4325:1;4318:15;121:6175:33;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@addAdmin_11472": { + "entryPoint": 2669, + "id": 11472, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@addAirdrop_10000": { + "entryPoint": 5675, + "id": 10000, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@allowAddress_10107": { + "entryPoint": 3291, + "id": 10107, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@allowAddresses_10131": { + "entryPoint": 4918, + "id": 10131, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@claim_9659": { + "entryPoint": 5549, + "id": 9659, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@deployAndAddAirdropERC1155_9950": { + "entryPoint": 3809, + "id": 9950, + "parameterSlots": 7, + "returnSlots": 1 + }, + "@deployAndAddAirdropERC20_9890": { + "entryPoint": 1185, + "id": 9890, + "parameterSlots": 5, + "returnSlots": 1 + }, + "@disallowAddress_10154": { + "entryPoint": 2134, + "id": 10154, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@disallowAddresses_10178": { + "entryPoint": 1439, + "id": 10178, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@getAirdropAmountLeft_9818": { + "entryPoint": 3684, + "id": 9818, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getAirdropInfo_9780": { + "entryPoint": 2532, + "id": 9780, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getAirdrops_9846": { + "entryPoint": 2390, + "id": 9846, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_9837": { + "entryPoint": 5424, + "id": 9837, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getClaimAmount_9760": { + "entryPoint": 4793, + "id": 9760, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getExpirationDate_9741": { + "entryPoint": 2009, + "id": 9741, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_9799": { + "entryPoint": 5299, + "id": 9799, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasClaimed_9681": { + "entryPoint": 3154, + "id": 9681, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@hasExpired_9700": { + "entryPoint": 5174, + "id": 9700, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isAdmin_11458": { + "entryPoint": 1924, + "id": 11458, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isAllowed_9722": { + "entryPoint": 3547, + "id": 9722, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@removeAdmin_11486": { + "entryPoint": 1695, + "id": 11486, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@removeAirdrop_10084": { + "entryPoint": 4180, + "id": 10084, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@setRoot_10023": { + "entryPoint": 2898, + "id": 10023, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 6901, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 6399, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 9038, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 6584, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 8750, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7006, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 8364, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bool_fromMemory": { + "entryPoint": 9583, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes32": { + "entryPoint": 8084, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_enum$_AirdropType_$11645_fromMemory": { + "entryPoint": 9166, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 6465, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 9104, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory": { + "entryPoint": 9187, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 6638, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 8962, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 7144, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 8771, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_address": { + "entryPoint": 7285, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 8450, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7052, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_bytes32": { + "entryPoint": 8105, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 9604, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256": { + "entryPoint": 6659, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256": { + "entryPoint": 8169, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_decode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory": { + "entryPoint": 9445, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 8983, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_address_to_t_address": { + "entryPoint": 7408, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 7393, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 6810, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack": { + "entryPoint": 7445, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10171, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 7201, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 9518, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 7819, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 7643, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8603, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack": { + "entryPoint": 9808, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8895, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack": { + "entryPoint": 10368, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack": { + "entryPoint": 7834, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 7700, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 7243, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 6825, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_calldata_ptr__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 10263, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 7539, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 7216, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 9533, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 8660, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 9649, + "id": null, + "parameterSlots": 8, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 9843, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8930, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10403, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed": { + "entryPoint": 8017, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 7258, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 6308, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 6165, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 6852, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 6335, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7377, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7349, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 7573, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7432, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack": { + "entryPoint": 7360, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10140, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 7584, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 8586, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 9969, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 6543, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 7189, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 8051, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$11645": { + "entryPoint": 7782, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 6511, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 6605, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 7801, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory": { + "entryPoint": 10162, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 6384, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 7601, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 6259, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_t_uint256": { + "entryPoint": 10068, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 9922, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 7715, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x31": { + "entryPoint": 10021, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 9875, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 6212, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 8359, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 6185, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f": { + "entryPoint": 9028, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421": { + "entryPoint": 9033, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 6896, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 6190, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 6180, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec": { + "entryPoint": 10157, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 6175, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 6195, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6": { + "entryPoint": 9767, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01": { + "entryPoint": 8816, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54": { + "entryPoint": 10327, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$11645": { + "entryPoint": 7762, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 6561, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 9560, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 8061, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_enum$_AirdropType_$11645": { + "entryPoint": 9150, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 6615, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:32605:43", + "nodeType": "YulBlock", + "src": "0:32605:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "546:28:43", + "nodeType": "YulBlock", + "src": "546:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:43", + "nodeType": "YulLiteral", + "src": "563:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:43", + "nodeType": "YulLiteral", + "src": "566:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:43", + "nodeType": "YulIdentifier", + "src": "556:6:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulFunctionCall", + "src": "556:12:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulExpressionStatement", + "src": "556:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:43", + "nodeType": "YulFunctionDefinition", + "src": "457:117:43" + }, + { + "body": { + "nativeSrc": "628:54:43", + "nodeType": "YulBlock", + "src": "628:54:43", + "statements": [ + { + "nativeSrc": "638:38:43", + "nodeType": "YulAssignment", + "src": "638:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:43", + "nodeType": "YulIdentifier", + "src": "656:5:43" + }, + { + "kind": "number", + "nativeSrc": "663:2:43", + "nodeType": "YulLiteral", + "src": "663:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:43", + "nodeType": "YulIdentifier", + "src": "652:3:43" + }, + "nativeSrc": "652:14:43", + "nodeType": "YulFunctionCall", + "src": "652:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:43", + "nodeType": "YulLiteral", + "src": "672:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:43", + "nodeType": "YulIdentifier", + "src": "668:3:43" + }, + "nativeSrc": "668:7:43", + "nodeType": "YulFunctionCall", + "src": "668:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:43", + "nodeType": "YulIdentifier", + "src": "648:3:43" + }, + "nativeSrc": "648:28:43", + "nodeType": "YulFunctionCall", + "src": "648:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:43", + "nodeType": "YulIdentifier", + "src": "638:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:43", + "nodeType": "YulTypedName", + "src": "611:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:43", + "nodeType": "YulTypedName", + "src": "621:6:43", + "type": "" + } + ], + "src": "580:102:43" + }, + { + "body": { + "nativeSrc": "716:152:43", + "nodeType": "YulBlock", + "src": "716:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:43", + "nodeType": "YulLiteral", + "src": "733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:43", + "nodeType": "YulLiteral", + "src": "736:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:43", + "nodeType": "YulIdentifier", + "src": "726:6:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulFunctionCall", + "src": "726:88:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulExpressionStatement", + "src": "726:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:43", + "nodeType": "YulLiteral", + "src": "830:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:43", + "nodeType": "YulLiteral", + "src": "833:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:43", + "nodeType": "YulIdentifier", + "src": "823:6:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulFunctionCall", + "src": "823:15:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulExpressionStatement", + "src": "823:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:43", + "nodeType": "YulLiteral", + "src": "854:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:43", + "nodeType": "YulLiteral", + "src": "857:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:43", + "nodeType": "YulIdentifier", + "src": "847:6:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulFunctionCall", + "src": "847:15:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulExpressionStatement", + "src": "847:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:43", + "nodeType": "YulFunctionDefinition", + "src": "688:180:43" + }, + { + "body": { + "nativeSrc": "917:238:43", + "nodeType": "YulBlock", + "src": "917:238:43", + "statements": [ + { + "nativeSrc": "927:58:43", + "nodeType": "YulVariableDeclaration", + "src": "927:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:43", + "nodeType": "YulIdentifier", + "src": "949:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:43", + "nodeType": "YulIdentifier", + "src": "979:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:43", + "nodeType": "YulIdentifier", + "src": "957:21:43" + }, + "nativeSrc": "957:27:43", + "nodeType": "YulFunctionCall", + "src": "957:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:43", + "nodeType": "YulIdentifier", + "src": "945:3:43" + }, + "nativeSrc": "945:40:43", + "nodeType": "YulFunctionCall", + "src": "945:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:43", + "nodeType": "YulTypedName", + "src": "931:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:43", + "nodeType": "YulBlock", + "src": "1096:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:43", + "nodeType": "YulIdentifier", + "src": "1098:16:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulFunctionCall", + "src": "1098:18:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulExpressionStatement", + "src": "1098:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:43", + "nodeType": "YulIdentifier", + "src": "1039:10:43" + }, + { + "kind": "number", + "nativeSrc": "1051:18:43", + "nodeType": "YulLiteral", + "src": "1051:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:43", + "nodeType": "YulIdentifier", + "src": "1036:2:43" + }, + "nativeSrc": "1036:34:43", + "nodeType": "YulFunctionCall", + "src": "1036:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:43", + "nodeType": "YulIdentifier", + "src": "1075:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:43", + "nodeType": "YulIdentifier", + "src": "1087:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:43", + "nodeType": "YulIdentifier", + "src": "1072:2:43" + }, + "nativeSrc": "1072:22:43", + "nodeType": "YulFunctionCall", + "src": "1072:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:43", + "nodeType": "YulIdentifier", + "src": "1033:2:43" + }, + "nativeSrc": "1033:62:43", + "nodeType": "YulFunctionCall", + "src": "1033:62:43" + }, + "nativeSrc": "1030:88:43", + "nodeType": "YulIf", + "src": "1030:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:43", + "nodeType": "YulLiteral", + "src": "1134:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:43", + "nodeType": "YulIdentifier", + "src": "1138:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:43", + "nodeType": "YulIdentifier", + "src": "1127:6:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulFunctionCall", + "src": "1127:22:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulExpressionStatement", + "src": "1127:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:43", + "nodeType": "YulTypedName", + "src": "903:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:43", + "nodeType": "YulTypedName", + "src": "911:4:43", + "type": "" + } + ], + "src": "874:281:43" + }, + { + "body": { + "nativeSrc": "1202:88:43", + "nodeType": "YulBlock", + "src": "1202:88:43", + "statements": [ + { + "nativeSrc": "1212:30:43", + "nodeType": "YulAssignment", + "src": "1212:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:43", + "nodeType": "YulIdentifier", + "src": "1222:18:43" + }, + "nativeSrc": "1222:20:43", + "nodeType": "YulFunctionCall", + "src": "1222:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:43", + "nodeType": "YulIdentifier", + "src": "1271:6:43" + }, + { + "name": "size", + "nativeSrc": "1279:4:43", + "nodeType": "YulIdentifier", + "src": "1279:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:43", + "nodeType": "YulIdentifier", + "src": "1251:19:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulFunctionCall", + "src": "1251:33:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulExpressionStatement", + "src": "1251:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:43", + "nodeType": "YulTypedName", + "src": "1186:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:43", + "nodeType": "YulTypedName", + "src": "1195:6:43", + "type": "" + } + ], + "src": "1161:129:43" + }, + { + "body": { + "nativeSrc": "1363:241:43", + "nodeType": "YulBlock", + "src": "1363:241:43", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:43", + "nodeType": "YulBlock", + "src": "1468:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:43", + "nodeType": "YulIdentifier", + "src": "1470:16:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulFunctionCall", + "src": "1470:18:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulExpressionStatement", + "src": "1470:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:43", + "nodeType": "YulIdentifier", + "src": "1440:6:43" + }, + { + "kind": "number", + "nativeSrc": "1448:18:43", + "nodeType": "YulLiteral", + "src": "1448:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:43", + "nodeType": "YulIdentifier", + "src": "1437:2:43" + }, + "nativeSrc": "1437:30:43", + "nodeType": "YulFunctionCall", + "src": "1437:30:43" + }, + "nativeSrc": "1434:56:43", + "nodeType": "YulIf", + "src": "1434:56:43" + }, + { + "nativeSrc": "1500:37:43", + "nodeType": "YulAssignment", + "src": "1500:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:43", + "nodeType": "YulIdentifier", + "src": "1530:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:43", + "nodeType": "YulIdentifier", + "src": "1508:21:43" + }, + "nativeSrc": "1508:29:43", + "nodeType": "YulFunctionCall", + "src": "1508:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:43", + "nodeType": "YulIdentifier", + "src": "1500:4:43" + } + ] + }, + { + "nativeSrc": "1574:23:43", + "nodeType": "YulAssignment", + "src": "1574:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:43", + "nodeType": "YulIdentifier", + "src": "1586:4:43" + }, + { + "kind": "number", + "nativeSrc": "1592:4:43", + "nodeType": "YulLiteral", + "src": "1592:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:43", + "nodeType": "YulIdentifier", + "src": "1582:3:43" + }, + "nativeSrc": "1582:15:43", + "nodeType": "YulFunctionCall", + "src": "1582:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:43", + "nodeType": "YulIdentifier", + "src": "1574:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:43", + "nodeType": "YulTypedName", + "src": "1347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:43", + "nodeType": "YulTypedName", + "src": "1358:4:43", + "type": "" + } + ], + "src": "1296:308:43" + }, + { + "body": { + "nativeSrc": "1674:82:43", + "nodeType": "YulBlock", + "src": "1674:82:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:43", + "nodeType": "YulIdentifier", + "src": "1697:3:43" + }, + { + "name": "src", + "nativeSrc": "1702:3:43", + "nodeType": "YulIdentifier", + "src": "1702:3:43" + }, + { + "name": "length", + "nativeSrc": "1707:6:43", + "nodeType": "YulIdentifier", + "src": "1707:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:43", + "nodeType": "YulIdentifier", + "src": "1684:12:43" + }, + "nativeSrc": "1684:30:43", + "nodeType": "YulFunctionCall", + "src": "1684:30:43" + }, + "nativeSrc": "1684:30:43", + "nodeType": "YulExpressionStatement", + "src": "1684:30:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:43", + "nodeType": "YulIdentifier", + "src": "1734:3:43" + }, + { + "name": "length", + "nativeSrc": "1739:6:43", + "nodeType": "YulIdentifier", + "src": "1739:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:43", + "nodeType": "YulIdentifier", + "src": "1730:3:43" + }, + "nativeSrc": "1730:16:43", + "nodeType": "YulFunctionCall", + "src": "1730:16:43" + }, + { + "kind": "number", + "nativeSrc": "1748:1:43", + "nodeType": "YulLiteral", + "src": "1748:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:43", + "nodeType": "YulIdentifier", + "src": "1723:6:43" + }, + "nativeSrc": "1723:27:43", + "nodeType": "YulFunctionCall", + "src": "1723:27:43" + }, + "nativeSrc": "1723:27:43", + "nodeType": "YulExpressionStatement", + "src": "1723:27:43" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1610:146:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1656:3:43", + "nodeType": "YulTypedName", + "src": "1656:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1661:3:43", + "nodeType": "YulTypedName", + "src": "1661:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1666:6:43", + "nodeType": "YulTypedName", + "src": "1666:6:43", + "type": "" + } + ], + "src": "1610:146:43" + }, + { + "body": { + "nativeSrc": "1846:341:43", + "nodeType": "YulBlock", + "src": "1846:341:43", + "statements": [ + { + "nativeSrc": "1856:75:43", + "nodeType": "YulAssignment", + "src": "1856:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1923:6:43", + "nodeType": "YulIdentifier", + "src": "1923:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1881:41:43", + "nodeType": "YulIdentifier", + "src": "1881:41:43" + }, + "nativeSrc": "1881:49:43", + "nodeType": "YulFunctionCall", + "src": "1881:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:43", + "nodeType": "YulIdentifier", + "src": "1865:15:43" + }, + "nativeSrc": "1865:66:43", + "nodeType": "YulFunctionCall", + "src": "1865:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:43", + "nodeType": "YulIdentifier", + "src": "1856:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1947:5:43", + "nodeType": "YulIdentifier", + "src": "1947:5:43" + }, + { + "name": "length", + "nativeSrc": "1954:6:43", + "nodeType": "YulIdentifier", + "src": "1954:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1940:6:43", + "nodeType": "YulIdentifier", + "src": "1940:6:43" + }, + "nativeSrc": "1940:21:43", + "nodeType": "YulFunctionCall", + "src": "1940:21:43" + }, + "nativeSrc": "1940:21:43", + "nodeType": "YulExpressionStatement", + "src": "1940:21:43" + }, + { + "nativeSrc": "1970:27:43", + "nodeType": "YulVariableDeclaration", + "src": "1970:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1985:5:43", + "nodeType": "YulIdentifier", + "src": "1985:5:43" + }, + { + "kind": "number", + "nativeSrc": "1992:4:43", + "nodeType": "YulLiteral", + "src": "1992:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1981:3:43", + "nodeType": "YulIdentifier", + "src": "1981:3:43" + }, + "nativeSrc": "1981:16:43", + "nodeType": "YulFunctionCall", + "src": "1981:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1974:3:43", + "nodeType": "YulTypedName", + "src": "1974:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2035:83:43", + "nodeType": "YulBlock", + "src": "2035:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2037:77:43", + "nodeType": "YulIdentifier", + "src": "2037:77:43" + }, + "nativeSrc": "2037:79:43", + "nodeType": "YulFunctionCall", + "src": "2037:79:43" + }, + "nativeSrc": "2037:79:43", + "nodeType": "YulExpressionStatement", + "src": "2037:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2016:3:43", + "nodeType": "YulIdentifier", + "src": "2016:3:43" + }, + { + "name": "length", + "nativeSrc": "2021:6:43", + "nodeType": "YulIdentifier", + "src": "2021:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2012:3:43", + "nodeType": "YulIdentifier", + "src": "2012:3:43" + }, + "nativeSrc": "2012:16:43", + "nodeType": "YulFunctionCall", + "src": "2012:16:43" + }, + { + "name": "end", + "nativeSrc": "2030:3:43", + "nodeType": "YulIdentifier", + "src": "2030:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2009:2:43", + "nodeType": "YulIdentifier", + "src": "2009:2:43" + }, + "nativeSrc": "2009:25:43", + "nodeType": "YulFunctionCall", + "src": "2009:25:43" + }, + "nativeSrc": "2006:112:43", + "nodeType": "YulIf", + "src": "2006:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2164:3:43", + "nodeType": "YulIdentifier", + "src": "2164:3:43" + }, + { + "name": "dst", + "nativeSrc": "2169:3:43", + "nodeType": "YulIdentifier", + "src": "2169:3:43" + }, + { + "name": "length", + "nativeSrc": "2174:6:43", + "nodeType": "YulIdentifier", + "src": "2174:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2127:36:43", + "nodeType": "YulIdentifier", + "src": "2127:36:43" + }, + "nativeSrc": "2127:54:43", + "nodeType": "YulFunctionCall", + "src": "2127:54:43" + }, + "nativeSrc": "2127:54:43", + "nodeType": "YulExpressionStatement", + "src": "2127:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "1762:425:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:43", + "nodeType": "YulTypedName", + "src": "1819:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:43", + "nodeType": "YulTypedName", + "src": "1824:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:43", + "nodeType": "YulTypedName", + "src": "1832:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:43", + "nodeType": "YulTypedName", + "src": "1840:5:43", + "type": "" + } + ], + "src": "1762:425:43" + }, + { + "body": { + "nativeSrc": "2269:278:43", + "nodeType": "YulBlock", + "src": "2269:278:43", + "statements": [ + { + "body": { + "nativeSrc": "2318:83:43", + "nodeType": "YulBlock", + "src": "2318:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2320:77:43", + "nodeType": "YulIdentifier", + "src": "2320:77:43" + }, + "nativeSrc": "2320:79:43", + "nodeType": "YulFunctionCall", + "src": "2320:79:43" + }, + "nativeSrc": "2320:79:43", + "nodeType": "YulExpressionStatement", + "src": "2320:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2297:6:43", + "nodeType": "YulIdentifier", + "src": "2297:6:43" + }, + { + "kind": "number", + "nativeSrc": "2305:4:43", + "nodeType": "YulLiteral", + "src": "2305:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2293:3:43", + "nodeType": "YulIdentifier", + "src": "2293:3:43" + }, + "nativeSrc": "2293:17:43", + "nodeType": "YulFunctionCall", + "src": "2293:17:43" + }, + { + "name": "end", + "nativeSrc": "2312:3:43", + "nodeType": "YulIdentifier", + "src": "2312:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2289:3:43", + "nodeType": "YulIdentifier", + "src": "2289:3:43" + }, + "nativeSrc": "2289:27:43", + "nodeType": "YulFunctionCall", + "src": "2289:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2282:6:43", + "nodeType": "YulIdentifier", + "src": "2282:6:43" + }, + "nativeSrc": "2282:35:43", + "nodeType": "YulFunctionCall", + "src": "2282:35:43" + }, + "nativeSrc": "2279:122:43", + "nodeType": "YulIf", + "src": "2279:122:43" + }, + { + "nativeSrc": "2410:34:43", + "nodeType": "YulVariableDeclaration", + "src": "2410:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2437:6:43", + "nodeType": "YulIdentifier", + "src": "2437:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2424:12:43", + "nodeType": "YulIdentifier", + "src": "2424:12:43" + }, + "nativeSrc": "2424:20:43", + "nodeType": "YulFunctionCall", + "src": "2424:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2414:6:43", + "nodeType": "YulTypedName", + "src": "2414:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2453:88:43", + "nodeType": "YulAssignment", + "src": "2453:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2514:6:43", + "nodeType": "YulIdentifier", + "src": "2514:6:43" + }, + { + "kind": "number", + "nativeSrc": "2522:4:43", + "nodeType": "YulLiteral", + "src": "2522:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2510:3:43", + "nodeType": "YulIdentifier", + "src": "2510:3:43" + }, + "nativeSrc": "2510:17:43", + "nodeType": "YulFunctionCall", + "src": "2510:17:43" + }, + { + "name": "length", + "nativeSrc": "2529:6:43", + "nodeType": "YulIdentifier", + "src": "2529:6:43" + }, + { + "name": "end", + "nativeSrc": "2537:3:43", + "nodeType": "YulIdentifier", + "src": "2537:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "2462:47:43", + "nodeType": "YulIdentifier", + "src": "2462:47:43" + }, + "nativeSrc": "2462:79:43", + "nodeType": "YulFunctionCall", + "src": "2462:79:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2453:5:43", + "nodeType": "YulIdentifier", + "src": "2453:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "2207:340:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2247:6:43", + "nodeType": "YulTypedName", + "src": "2247:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2255:3:43", + "nodeType": "YulTypedName", + "src": "2255:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2263:5:43", + "nodeType": "YulTypedName", + "src": "2263:5:43", + "type": "" + } + ], + "src": "2207:340:43" + }, + { + "body": { + "nativeSrc": "2598:81:43", + "nodeType": "YulBlock", + "src": "2598:81:43", + "statements": [ + { + "nativeSrc": "2608:65:43", + "nodeType": "YulAssignment", + "src": "2608:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2623:5:43", + "nodeType": "YulIdentifier", + "src": "2623:5:43" + }, + { + "kind": "number", + "nativeSrc": "2630:42:43", + "nodeType": "YulLiteral", + "src": "2630:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2619:3:43", + "nodeType": "YulIdentifier", + "src": "2619:3:43" + }, + "nativeSrc": "2619:54:43", + "nodeType": "YulFunctionCall", + "src": "2619:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2608:7:43", + "nodeType": "YulIdentifier", + "src": "2608:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2553:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2580:5:43", + "nodeType": "YulTypedName", + "src": "2580:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2590:7:43", + "nodeType": "YulTypedName", + "src": "2590:7:43", + "type": "" + } + ], + "src": "2553:126:43" + }, + { + "body": { + "nativeSrc": "2730:51:43", + "nodeType": "YulBlock", + "src": "2730:51:43", + "statements": [ + { + "nativeSrc": "2740:35:43", + "nodeType": "YulAssignment", + "src": "2740:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2769:5:43", + "nodeType": "YulIdentifier", + "src": "2769:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2751:17:43", + "nodeType": "YulIdentifier", + "src": "2751:17:43" + }, + "nativeSrc": "2751:24:43", + "nodeType": "YulFunctionCall", + "src": "2751:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2740:7:43", + "nodeType": "YulIdentifier", + "src": "2740:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2685:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2712:5:43", + "nodeType": "YulTypedName", + "src": "2712:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2722:7:43", + "nodeType": "YulTypedName", + "src": "2722:7:43", + "type": "" + } + ], + "src": "2685:96:43" + }, + { + "body": { + "nativeSrc": "2830:79:43", + "nodeType": "YulBlock", + "src": "2830:79:43", + "statements": [ + { + "body": { + "nativeSrc": "2887:16:43", + "nodeType": "YulBlock", + "src": "2887:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2896:1:43", + "nodeType": "YulLiteral", + "src": "2896:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2899:1:43", + "nodeType": "YulLiteral", + "src": "2899:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2889:6:43", + "nodeType": "YulIdentifier", + "src": "2889:6:43" + }, + "nativeSrc": "2889:12:43", + "nodeType": "YulFunctionCall", + "src": "2889:12:43" + }, + "nativeSrc": "2889:12:43", + "nodeType": "YulExpressionStatement", + "src": "2889:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2853:5:43", + "nodeType": "YulIdentifier", + "src": "2853:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2878:5:43", + "nodeType": "YulIdentifier", + "src": "2878:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2860:17:43", + "nodeType": "YulIdentifier", + "src": "2860:17:43" + }, + "nativeSrc": "2860:24:43", + "nodeType": "YulFunctionCall", + "src": "2860:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2850:2:43", + "nodeType": "YulIdentifier", + "src": "2850:2:43" + }, + "nativeSrc": "2850:35:43", + "nodeType": "YulFunctionCall", + "src": "2850:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2843:6:43", + "nodeType": "YulIdentifier", + "src": "2843:6:43" + }, + "nativeSrc": "2843:43:43", + "nodeType": "YulFunctionCall", + "src": "2843:43:43" + }, + "nativeSrc": "2840:63:43", + "nodeType": "YulIf", + "src": "2840:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2787:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2823:5:43", + "nodeType": "YulTypedName", + "src": "2823:5:43", + "type": "" + } + ], + "src": "2787:122:43" + }, + { + "body": { + "nativeSrc": "2967:87:43", + "nodeType": "YulBlock", + "src": "2967:87:43", + "statements": [ + { + "nativeSrc": "2977:29:43", + "nodeType": "YulAssignment", + "src": "2977:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2999:6:43", + "nodeType": "YulIdentifier", + "src": "2999:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2986:12:43", + "nodeType": "YulIdentifier", + "src": "2986:12:43" + }, + "nativeSrc": "2986:20:43", + "nodeType": "YulFunctionCall", + "src": "2986:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2977:5:43", + "nodeType": "YulIdentifier", + "src": "2977:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3042:5:43", + "nodeType": "YulIdentifier", + "src": "3042:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3015:26:43", + "nodeType": "YulIdentifier", + "src": "3015:26:43" + }, + "nativeSrc": "3015:33:43", + "nodeType": "YulFunctionCall", + "src": "3015:33:43" + }, + "nativeSrc": "3015:33:43", + "nodeType": "YulExpressionStatement", + "src": "3015:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2915:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2945:6:43", + "nodeType": "YulTypedName", + "src": "2945:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2953:3:43", + "nodeType": "YulTypedName", + "src": "2953:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2961:5:43", + "nodeType": "YulTypedName", + "src": "2961:5:43", + "type": "" + } + ], + "src": "2915:139:43" + }, + { + "body": { + "nativeSrc": "3105:32:43", + "nodeType": "YulBlock", + "src": "3105:32:43", + "statements": [ + { + "nativeSrc": "3115:16:43", + "nodeType": "YulAssignment", + "src": "3115:16:43", + "value": { + "name": "value", + "nativeSrc": "3126:5:43", + "nodeType": "YulIdentifier", + "src": "3126:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3115:7:43", + "nodeType": "YulIdentifier", + "src": "3115:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3060:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3087:5:43", + "nodeType": "YulTypedName", + "src": "3087:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3097:7:43", + "nodeType": "YulTypedName", + "src": "3097:7:43", + "type": "" + } + ], + "src": "3060:77:43" + }, + { + "body": { + "nativeSrc": "3186:79:43", + "nodeType": "YulBlock", + "src": "3186:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3243:16:43", + "nodeType": "YulBlock", + "src": "3243:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:1:43", + "nodeType": "YulLiteral", + "src": "3252:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3255:1:43", + "nodeType": "YulLiteral", + "src": "3255:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3245:6:43", + "nodeType": "YulIdentifier", + "src": "3245:6:43" + }, + "nativeSrc": "3245:12:43", + "nodeType": "YulFunctionCall", + "src": "3245:12:43" + }, + "nativeSrc": "3245:12:43", + "nodeType": "YulExpressionStatement", + "src": "3245:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3209:5:43", + "nodeType": "YulIdentifier", + "src": "3209:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3234:5:43", + "nodeType": "YulIdentifier", + "src": "3234:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3216:17:43", + "nodeType": "YulIdentifier", + "src": "3216:17:43" + }, + "nativeSrc": "3216:24:43", + "nodeType": "YulFunctionCall", + "src": "3216:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3206:2:43", + "nodeType": "YulIdentifier", + "src": "3206:2:43" + }, + "nativeSrc": "3206:35:43", + "nodeType": "YulFunctionCall", + "src": "3206:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3199:6:43", + "nodeType": "YulIdentifier", + "src": "3199:6:43" + }, + "nativeSrc": "3199:43:43", + "nodeType": "YulFunctionCall", + "src": "3199:43:43" + }, + "nativeSrc": "3196:63:43", + "nodeType": "YulIf", + "src": "3196:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3143:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3179:5:43", + "nodeType": "YulTypedName", + "src": "3179:5:43", + "type": "" + } + ], + "src": "3143:122:43" + }, + { + "body": { + "nativeSrc": "3323:87:43", + "nodeType": "YulBlock", + "src": "3323:87:43", + "statements": [ + { + "nativeSrc": "3333:29:43", + "nodeType": "YulAssignment", + "src": "3333:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3355:6:43", + "nodeType": "YulIdentifier", + "src": "3355:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3342:12:43", + "nodeType": "YulIdentifier", + "src": "3342:12:43" + }, + "nativeSrc": "3342:20:43", + "nodeType": "YulFunctionCall", + "src": "3342:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3333:5:43", + "nodeType": "YulIdentifier", + "src": "3333:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3398:5:43", + "nodeType": "YulIdentifier", + "src": "3398:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3371:26:43", + "nodeType": "YulIdentifier", + "src": "3371:26:43" + }, + "nativeSrc": "3371:33:43", + "nodeType": "YulFunctionCall", + "src": "3371:33:43" + }, + "nativeSrc": "3371:33:43", + "nodeType": "YulExpressionStatement", + "src": "3371:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3271:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3301:6:43", + "nodeType": "YulTypedName", + "src": "3301:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3309:3:43", + "nodeType": "YulTypedName", + "src": "3309:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3317:5:43", + "nodeType": "YulTypedName", + "src": "3317:5:43", + "type": "" + } + ], + "src": "3271:139:43" + }, + { + "body": { + "nativeSrc": "3560:947:43", + "nodeType": "YulBlock", + "src": "3560:947:43", + "statements": [ + { + "body": { + "nativeSrc": "3607:83:43", + "nodeType": "YulBlock", + "src": "3607:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3609:77:43", + "nodeType": "YulIdentifier", + "src": "3609:77:43" + }, + "nativeSrc": "3609:79:43", + "nodeType": "YulFunctionCall", + "src": "3609:79:43" + }, + "nativeSrc": "3609:79:43", + "nodeType": "YulExpressionStatement", + "src": "3609:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3581:7:43", + "nodeType": "YulIdentifier", + "src": "3581:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3590:9:43", + "nodeType": "YulIdentifier", + "src": "3590:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3577:3:43", + "nodeType": "YulIdentifier", + "src": "3577:3:43" + }, + "nativeSrc": "3577:23:43", + "nodeType": "YulFunctionCall", + "src": "3577:23:43" + }, + { + "kind": "number", + "nativeSrc": "3602:3:43", + "nodeType": "YulLiteral", + "src": "3602:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3573:3:43", + "nodeType": "YulIdentifier", + "src": "3573:3:43" + }, + "nativeSrc": "3573:33:43", + "nodeType": "YulFunctionCall", + "src": "3573:33:43" + }, + "nativeSrc": "3570:120:43", + "nodeType": "YulIf", + "src": "3570:120:43" + }, + { + "nativeSrc": "3700:287:43", + "nodeType": "YulBlock", + "src": "3700:287:43", + "statements": [ + { + "nativeSrc": "3715:45:43", + "nodeType": "YulVariableDeclaration", + "src": "3715:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3746:9:43", + "nodeType": "YulIdentifier", + "src": "3746:9:43" + }, + { + "kind": "number", + "nativeSrc": "3757:1:43", + "nodeType": "YulLiteral", + "src": "3757:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3742:3:43", + "nodeType": "YulIdentifier", + "src": "3742:3:43" + }, + "nativeSrc": "3742:17:43", + "nodeType": "YulFunctionCall", + "src": "3742:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3729:12:43", + "nodeType": "YulIdentifier", + "src": "3729:12:43" + }, + "nativeSrc": "3729:31:43", + "nodeType": "YulFunctionCall", + "src": "3729:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3719:6:43", + "nodeType": "YulTypedName", + "src": "3719:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3807:83:43", + "nodeType": "YulBlock", + "src": "3807:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3809:77:43", + "nodeType": "YulIdentifier", + "src": "3809:77:43" + }, + "nativeSrc": "3809:79:43", + "nodeType": "YulFunctionCall", + "src": "3809:79:43" + }, + "nativeSrc": "3809:79:43", + "nodeType": "YulExpressionStatement", + "src": "3809:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3779:6:43", + "nodeType": "YulIdentifier", + "src": "3779:6:43" + }, + { + "kind": "number", + "nativeSrc": "3787:18:43", + "nodeType": "YulLiteral", + "src": "3787:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3776:2:43", + "nodeType": "YulIdentifier", + "src": "3776:2:43" + }, + "nativeSrc": "3776:30:43", + "nodeType": "YulFunctionCall", + "src": "3776:30:43" + }, + "nativeSrc": "3773:117:43", + "nodeType": "YulIf", + "src": "3773:117:43" + }, + { + "nativeSrc": "3904:73:43", + "nodeType": "YulAssignment", + "src": "3904:73:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3949:9:43", + "nodeType": "YulIdentifier", + "src": "3949:9:43" + }, + { + "name": "offset", + "nativeSrc": "3960:6:43", + "nodeType": "YulIdentifier", + "src": "3960:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3945:3:43", + "nodeType": "YulIdentifier", + "src": "3945:3:43" + }, + "nativeSrc": "3945:22:43", + "nodeType": "YulFunctionCall", + "src": "3945:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "3969:7:43", + "nodeType": "YulIdentifier", + "src": "3969:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "3914:30:43", + "nodeType": "YulIdentifier", + "src": "3914:30:43" + }, + "nativeSrc": "3914:63:43", + "nodeType": "YulFunctionCall", + "src": "3914:63:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3904:6:43", + "nodeType": "YulIdentifier", + "src": "3904:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "3997:118:43", + "nodeType": "YulBlock", + "src": "3997:118:43", + "statements": [ + { + "nativeSrc": "4012:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4012:16:43", + "value": { + "kind": "number", + "nativeSrc": "4026:2:43", + "nodeType": "YulLiteral", + "src": "4026:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4016:6:43", + "nodeType": "YulTypedName", + "src": "4016:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4042:63:43", + "nodeType": "YulAssignment", + "src": "4042:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4077:9:43", + "nodeType": "YulIdentifier", + "src": "4077:9:43" + }, + { + "name": "offset", + "nativeSrc": "4088:6:43", + "nodeType": "YulIdentifier", + "src": "4088:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4073:3:43", + "nodeType": "YulIdentifier", + "src": "4073:3:43" + }, + "nativeSrc": "4073:22:43", + "nodeType": "YulFunctionCall", + "src": "4073:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4097:7:43", + "nodeType": "YulIdentifier", + "src": "4097:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4052:20:43", + "nodeType": "YulIdentifier", + "src": "4052:20:43" + }, + "nativeSrc": "4052:53:43", + "nodeType": "YulFunctionCall", + "src": "4052:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4042:6:43", + "nodeType": "YulIdentifier", + "src": "4042:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4125:118:43", + "nodeType": "YulBlock", + "src": "4125:118:43", + "statements": [ + { + "nativeSrc": "4140:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4140:16:43", + "value": { + "kind": "number", + "nativeSrc": "4154:2:43", + "nodeType": "YulLiteral", + "src": "4154:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4144:6:43", + "nodeType": "YulTypedName", + "src": "4144:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4170:63:43", + "nodeType": "YulAssignment", + "src": "4170:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4205:9:43", + "nodeType": "YulIdentifier", + "src": "4205:9:43" + }, + { + "name": "offset", + "nativeSrc": "4216:6:43", + "nodeType": "YulIdentifier", + "src": "4216:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4201:3:43", + "nodeType": "YulIdentifier", + "src": "4201:3:43" + }, + "nativeSrc": "4201:22:43", + "nodeType": "YulFunctionCall", + "src": "4201:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4225:7:43", + "nodeType": "YulIdentifier", + "src": "4225:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4180:20:43", + "nodeType": "YulIdentifier", + "src": "4180:20:43" + }, + "nativeSrc": "4180:53:43", + "nodeType": "YulFunctionCall", + "src": "4180:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4170:6:43", + "nodeType": "YulIdentifier", + "src": "4170:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4253:118:43", + "nodeType": "YulBlock", + "src": "4253:118:43", + "statements": [ + { + "nativeSrc": "4268:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4268:16:43", + "value": { + "kind": "number", + "nativeSrc": "4282:2:43", + "nodeType": "YulLiteral", + "src": "4282:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4272:6:43", + "nodeType": "YulTypedName", + "src": "4272:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4298:63:43", + "nodeType": "YulAssignment", + "src": "4298:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4333:9:43", + "nodeType": "YulIdentifier", + "src": "4333:9:43" + }, + { + "name": "offset", + "nativeSrc": "4344:6:43", + "nodeType": "YulIdentifier", + "src": "4344:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4329:3:43", + "nodeType": "YulIdentifier", + "src": "4329:3:43" + }, + "nativeSrc": "4329:22:43", + "nodeType": "YulFunctionCall", + "src": "4329:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4353:7:43", + "nodeType": "YulIdentifier", + "src": "4353:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4308:20:43", + "nodeType": "YulIdentifier", + "src": "4308:20:43" + }, + "nativeSrc": "4308:53:43", + "nodeType": "YulFunctionCall", + "src": "4308:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4298:6:43", + "nodeType": "YulIdentifier", + "src": "4298:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4381:119:43", + "nodeType": "YulBlock", + "src": "4381:119:43", + "statements": [ + { + "nativeSrc": "4396:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4396:17:43", + "value": { + "kind": "number", + "nativeSrc": "4410:3:43", + "nodeType": "YulLiteral", + "src": "4410:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4400:6:43", + "nodeType": "YulTypedName", + "src": "4400:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4427:63:43", + "nodeType": "YulAssignment", + "src": "4427:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4462:9:43", + "nodeType": "YulIdentifier", + "src": "4462:9:43" + }, + { + "name": "offset", + "nativeSrc": "4473:6:43", + "nodeType": "YulIdentifier", + "src": "4473:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4458:3:43", + "nodeType": "YulIdentifier", + "src": "4458:3:43" + }, + "nativeSrc": "4458:22:43", + "nodeType": "YulFunctionCall", + "src": "4458:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4482:7:43", + "nodeType": "YulIdentifier", + "src": "4482:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4437:20:43", + "nodeType": "YulIdentifier", + "src": "4437:20:43" + }, + "nativeSrc": "4437:53:43", + "nodeType": "YulFunctionCall", + "src": "4437:53:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4427:6:43", + "nodeType": "YulIdentifier", + "src": "4427:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256", + "nativeSrc": "3416:1091:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3498:9:43", + "nodeType": "YulTypedName", + "src": "3498:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3509:7:43", + "nodeType": "YulTypedName", + "src": "3509:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3521:6:43", + "nodeType": "YulTypedName", + "src": "3521:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3529:6:43", + "nodeType": "YulTypedName", + "src": "3529:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3537:6:43", + "nodeType": "YulTypedName", + "src": "3537:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3545:6:43", + "nodeType": "YulTypedName", + "src": "3545:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3553:6:43", + "nodeType": "YulTypedName", + "src": "3553:6:43", + "type": "" + } + ], + "src": "3416:1091:43" + }, + { + "body": { + "nativeSrc": "4578:53:43", + "nodeType": "YulBlock", + "src": "4578:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4595:3:43", + "nodeType": "YulIdentifier", + "src": "4595:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4618:5:43", + "nodeType": "YulIdentifier", + "src": "4618:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4600:17:43", + "nodeType": "YulIdentifier", + "src": "4600:17:43" + }, + "nativeSrc": "4600:24:43", + "nodeType": "YulFunctionCall", + "src": "4600:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4588:6:43", + "nodeType": "YulIdentifier", + "src": "4588:6:43" + }, + "nativeSrc": "4588:37:43", + "nodeType": "YulFunctionCall", + "src": "4588:37:43" + }, + "nativeSrc": "4588:37:43", + "nodeType": "YulExpressionStatement", + "src": "4588:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4513:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4566:5:43", + "nodeType": "YulTypedName", + "src": "4566:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4573:3:43", + "nodeType": "YulTypedName", + "src": "4573:3:43", + "type": "" + } + ], + "src": "4513:118:43" + }, + { + "body": { + "nativeSrc": "4735:124:43", + "nodeType": "YulBlock", + "src": "4735:124:43", + "statements": [ + { + "nativeSrc": "4745:26:43", + "nodeType": "YulAssignment", + "src": "4745:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4757:9:43", + "nodeType": "YulIdentifier", + "src": "4757:9:43" + }, + { + "kind": "number", + "nativeSrc": "4768:2:43", + "nodeType": "YulLiteral", + "src": "4768:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4753:3:43", + "nodeType": "YulIdentifier", + "src": "4753:3:43" + }, + "nativeSrc": "4753:18:43", + "nodeType": "YulFunctionCall", + "src": "4753:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4745:4:43", + "nodeType": "YulIdentifier", + "src": "4745:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4825:6:43", + "nodeType": "YulIdentifier", + "src": "4825:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4838:9:43", + "nodeType": "YulIdentifier", + "src": "4838:9:43" + }, + { + "kind": "number", + "nativeSrc": "4849:1:43", + "nodeType": "YulLiteral", + "src": "4849:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4834:3:43", + "nodeType": "YulIdentifier", + "src": "4834:3:43" + }, + "nativeSrc": "4834:17:43", + "nodeType": "YulFunctionCall", + "src": "4834:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4781:43:43", + "nodeType": "YulIdentifier", + "src": "4781:43:43" + }, + "nativeSrc": "4781:71:43", + "nodeType": "YulFunctionCall", + "src": "4781:71:43" + }, + "nativeSrc": "4781:71:43", + "nodeType": "YulExpressionStatement", + "src": "4781:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4637:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4707:9:43", + "nodeType": "YulTypedName", + "src": "4707:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4719:6:43", + "nodeType": "YulTypedName", + "src": "4719:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4730:4:43", + "nodeType": "YulTypedName", + "src": "4730:4:43", + "type": "" + } + ], + "src": "4637:222:43" + }, + { + "body": { + "nativeSrc": "4947:229:43", + "nodeType": "YulBlock", + "src": "4947:229:43", + "statements": [ + { + "body": { + "nativeSrc": "5052:22:43", + "nodeType": "YulBlock", + "src": "5052:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "5054:16:43", + "nodeType": "YulIdentifier", + "src": "5054:16:43" + }, + "nativeSrc": "5054:18:43", + "nodeType": "YulFunctionCall", + "src": "5054:18:43" + }, + "nativeSrc": "5054:18:43", + "nodeType": "YulExpressionStatement", + "src": "5054:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5024:6:43", + "nodeType": "YulIdentifier", + "src": "5024:6:43" + }, + { + "kind": "number", + "nativeSrc": "5032:18:43", + "nodeType": "YulLiteral", + "src": "5032:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5021:2:43", + "nodeType": "YulIdentifier", + "src": "5021:2:43" + }, + "nativeSrc": "5021:30:43", + "nodeType": "YulFunctionCall", + "src": "5021:30:43" + }, + "nativeSrc": "5018:56:43", + "nodeType": "YulIf", + "src": "5018:56:43" + }, + { + "nativeSrc": "5084:25:43", + "nodeType": "YulAssignment", + "src": "5084:25:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5096:6:43", + "nodeType": "YulIdentifier", + "src": "5096:6:43" + }, + { + "kind": "number", + "nativeSrc": "5104:4:43", + "nodeType": "YulLiteral", + "src": "5104:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5092:3:43", + "nodeType": "YulIdentifier", + "src": "5092:3:43" + }, + "nativeSrc": "5092:17:43", + "nodeType": "YulFunctionCall", + "src": "5092:17:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "5084:4:43", + "nodeType": "YulIdentifier", + "src": "5084:4:43" + } + ] + }, + { + "nativeSrc": "5146:23:43", + "nodeType": "YulAssignment", + "src": "5146:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "5158:4:43", + "nodeType": "YulIdentifier", + "src": "5158:4:43" + }, + { + "kind": "number", + "nativeSrc": "5164:4:43", + "nodeType": "YulLiteral", + "src": "5164:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5154:3:43", + "nodeType": "YulIdentifier", + "src": "5154:3:43" + }, + "nativeSrc": "5154:15:43", + "nodeType": "YulFunctionCall", + "src": "5154:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "5146:4:43", + "nodeType": "YulIdentifier", + "src": "5146:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "4865:311:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "4931:6:43", + "nodeType": "YulTypedName", + "src": "4931:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "4942:4:43", + "nodeType": "YulTypedName", + "src": "4942:4:43", + "type": "" + } + ], + "src": "4865:311:43" + }, + { + "body": { + "nativeSrc": "5271:28:43", + "nodeType": "YulBlock", + "src": "5271:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5288:1:43", + "nodeType": "YulLiteral", + "src": "5288:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5291:1:43", + "nodeType": "YulLiteral", + "src": "5291:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5281:6:43", + "nodeType": "YulIdentifier", + "src": "5281:6:43" + }, + "nativeSrc": "5281:12:43", + "nodeType": "YulFunctionCall", + "src": "5281:12:43" + }, + "nativeSrc": "5281:12:43", + "nodeType": "YulExpressionStatement", + "src": "5281:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5182:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5182:117:43" + }, + { + "body": { + "nativeSrc": "5424:608:43", + "nodeType": "YulBlock", + "src": "5424:608:43", + "statements": [ + { + "nativeSrc": "5434:90:43", + "nodeType": "YulAssignment", + "src": "5434:90:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5516:6:43", + "nodeType": "YulIdentifier", + "src": "5516:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "5459:56:43", + "nodeType": "YulIdentifier", + "src": "5459:56:43" + }, + "nativeSrc": "5459:64:43", + "nodeType": "YulFunctionCall", + "src": "5459:64:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "5443:15:43", + "nodeType": "YulIdentifier", + "src": "5443:15:43" + }, + "nativeSrc": "5443:81:43", + "nodeType": "YulFunctionCall", + "src": "5443:81:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "5434:5:43", + "nodeType": "YulIdentifier", + "src": "5434:5:43" + } + ] + }, + { + "nativeSrc": "5533:16:43", + "nodeType": "YulVariableDeclaration", + "src": "5533:16:43", + "value": { + "name": "array", + "nativeSrc": "5544:5:43", + "nodeType": "YulIdentifier", + "src": "5544:5:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "5537:3:43", + "nodeType": "YulTypedName", + "src": "5537:3:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "5566:5:43", + "nodeType": "YulIdentifier", + "src": "5566:5:43" + }, + { + "name": "length", + "nativeSrc": "5573:6:43", + "nodeType": "YulIdentifier", + "src": "5573:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5559:6:43", + "nodeType": "YulIdentifier", + "src": "5559:6:43" + }, + "nativeSrc": "5559:21:43", + "nodeType": "YulFunctionCall", + "src": "5559:21:43" + }, + "nativeSrc": "5559:21:43", + "nodeType": "YulExpressionStatement", + "src": "5559:21:43" + }, + { + "nativeSrc": "5589:23:43", + "nodeType": "YulAssignment", + "src": "5589:23:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "5600:5:43", + "nodeType": "YulIdentifier", + "src": "5600:5:43" + }, + { + "kind": "number", + "nativeSrc": "5607:4:43", + "nodeType": "YulLiteral", + "src": "5607:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5596:3:43", + "nodeType": "YulIdentifier", + "src": "5596:3:43" + }, + "nativeSrc": "5596:16:43", + "nodeType": "YulFunctionCall", + "src": "5596:16:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "5589:3:43", + "nodeType": "YulIdentifier", + "src": "5589:3:43" + } + ] + }, + { + "nativeSrc": "5622:44:43", + "nodeType": "YulVariableDeclaration", + "src": "5622:44:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5640:6:43", + "nodeType": "YulIdentifier", + "src": "5640:6:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5652:6:43", + "nodeType": "YulIdentifier", + "src": "5652:6:43" + }, + { + "kind": "number", + "nativeSrc": "5660:4:43", + "nodeType": "YulLiteral", + "src": "5660:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5648:3:43", + "nodeType": "YulIdentifier", + "src": "5648:3:43" + }, + "nativeSrc": "5648:17:43", + "nodeType": "YulFunctionCall", + "src": "5648:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5636:3:43", + "nodeType": "YulIdentifier", + "src": "5636:3:43" + }, + "nativeSrc": "5636:30:43", + "nodeType": "YulFunctionCall", + "src": "5636:30:43" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "5626:6:43", + "nodeType": "YulTypedName", + "src": "5626:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5694:103:43", + "nodeType": "YulBlock", + "src": "5694:103:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5708:77:43", + "nodeType": "YulIdentifier", + "src": "5708:77:43" + }, + "nativeSrc": "5708:79:43", + "nodeType": "YulFunctionCall", + "src": "5708:79:43" + }, + "nativeSrc": "5708:79:43", + "nodeType": "YulExpressionStatement", + "src": "5708:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "5681:6:43", + "nodeType": "YulIdentifier", + "src": "5681:6:43" + }, + { + "name": "end", + "nativeSrc": "5689:3:43", + "nodeType": "YulIdentifier", + "src": "5689:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5678:2:43", + "nodeType": "YulIdentifier", + "src": "5678:2:43" + }, + "nativeSrc": "5678:15:43", + "nodeType": "YulFunctionCall", + "src": "5678:15:43" + }, + "nativeSrc": "5675:122:43", + "nodeType": "YulIf", + "src": "5675:122:43" + }, + { + "body": { + "nativeSrc": "5882:144:43", + "nodeType": "YulBlock", + "src": "5882:144:43", + "statements": [ + { + "nativeSrc": "5897:21:43", + "nodeType": "YulVariableDeclaration", + "src": "5897:21:43", + "value": { + "name": "src", + "nativeSrc": "5915:3:43", + "nodeType": "YulIdentifier", + "src": "5915:3:43" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "5901:10:43", + "nodeType": "YulTypedName", + "src": "5901:10:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5939:3:43", + "nodeType": "YulIdentifier", + "src": "5939:3:43" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "5965:10:43", + "nodeType": "YulIdentifier", + "src": "5965:10:43" + }, + { + "name": "end", + "nativeSrc": "5977:3:43", + "nodeType": "YulIdentifier", + "src": "5977:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5944:20:43", + "nodeType": "YulIdentifier", + "src": "5944:20:43" + }, + "nativeSrc": "5944:37:43", + "nodeType": "YulFunctionCall", + "src": "5944:37:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5932:6:43", + "nodeType": "YulIdentifier", + "src": "5932:6:43" + }, + "nativeSrc": "5932:50:43", + "nodeType": "YulFunctionCall", + "src": "5932:50:43" + }, + "nativeSrc": "5932:50:43", + "nodeType": "YulExpressionStatement", + "src": "5932:50:43" + }, + { + "nativeSrc": "5995:21:43", + "nodeType": "YulAssignment", + "src": "5995:21:43", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "6006:3:43", + "nodeType": "YulIdentifier", + "src": "6006:3:43" + }, + { + "kind": "number", + "nativeSrc": "6011:4:43", + "nodeType": "YulLiteral", + "src": "6011:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6002:3:43", + "nodeType": "YulIdentifier", + "src": "6002:3:43" + }, + "nativeSrc": "6002:14:43", + "nodeType": "YulFunctionCall", + "src": "6002:14:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "5995:3:43", + "nodeType": "YulIdentifier", + "src": "5995:3:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "5835:3:43", + "nodeType": "YulIdentifier", + "src": "5835:3:43" + }, + { + "name": "srcEnd", + "nativeSrc": "5840:6:43", + "nodeType": "YulIdentifier", + "src": "5840:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5832:2:43", + "nodeType": "YulIdentifier", + "src": "5832:2:43" + }, + "nativeSrc": "5832:15:43", + "nodeType": "YulFunctionCall", + "src": "5832:15:43" + }, + "nativeSrc": "5806:220:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5848:25:43", + "nodeType": "YulBlock", + "src": "5848:25:43", + "statements": [ + { + "nativeSrc": "5850:21:43", + "nodeType": "YulAssignment", + "src": "5850:21:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "5861:3:43", + "nodeType": "YulIdentifier", + "src": "5861:3:43" + }, + { + "kind": "number", + "nativeSrc": "5866:4:43", + "nodeType": "YulLiteral", + "src": "5866:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5857:3:43", + "nodeType": "YulIdentifier", + "src": "5857:3:43" + }, + "nativeSrc": "5857:14:43", + "nodeType": "YulFunctionCall", + "src": "5857:14:43" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "5850:3:43", + "nodeType": "YulIdentifier", + "src": "5850:3:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5810:21:43", + "nodeType": "YulBlock", + "src": "5810:21:43", + "statements": [ + { + "nativeSrc": "5812:17:43", + "nodeType": "YulVariableDeclaration", + "src": "5812:17:43", + "value": { + "name": "offset", + "nativeSrc": "5823:6:43", + "nodeType": "YulIdentifier", + "src": "5823:6:43" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "5816:3:43", + "nodeType": "YulTypedName", + "src": "5816:3:43", + "type": "" + } + ] + } + ] + }, + "src": "5806:220:43" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "5322:710:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5394:6:43", + "nodeType": "YulTypedName", + "src": "5394:6:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5402:6:43", + "nodeType": "YulTypedName", + "src": "5402:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5410:3:43", + "nodeType": "YulTypedName", + "src": "5410:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "5418:5:43", + "nodeType": "YulTypedName", + "src": "5418:5:43", + "type": "" + } + ], + "src": "5322:710:43" + }, + { + "body": { + "nativeSrc": "6132:293:43", + "nodeType": "YulBlock", + "src": "6132:293:43", + "statements": [ + { + "body": { + "nativeSrc": "6181:83:43", + "nodeType": "YulBlock", + "src": "6181:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6183:77:43", + "nodeType": "YulIdentifier", + "src": "6183:77:43" + }, + "nativeSrc": "6183:79:43", + "nodeType": "YulFunctionCall", + "src": "6183:79:43" + }, + "nativeSrc": "6183:79:43", + "nodeType": "YulExpressionStatement", + "src": "6183:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6160:6:43", + "nodeType": "YulIdentifier", + "src": "6160:6:43" + }, + { + "kind": "number", + "nativeSrc": "6168:4:43", + "nodeType": "YulLiteral", + "src": "6168:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6156:3:43", + "nodeType": "YulIdentifier", + "src": "6156:3:43" + }, + "nativeSrc": "6156:17:43", + "nodeType": "YulFunctionCall", + "src": "6156:17:43" + }, + { + "name": "end", + "nativeSrc": "6175:3:43", + "nodeType": "YulIdentifier", + "src": "6175:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6152:3:43", + "nodeType": "YulIdentifier", + "src": "6152:3:43" + }, + "nativeSrc": "6152:27:43", + "nodeType": "YulFunctionCall", + "src": "6152:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6145:6:43", + "nodeType": "YulIdentifier", + "src": "6145:6:43" + }, + "nativeSrc": "6145:35:43", + "nodeType": "YulFunctionCall", + "src": "6145:35:43" + }, + "nativeSrc": "6142:122:43", + "nodeType": "YulIf", + "src": "6142:122:43" + }, + { + "nativeSrc": "6273:34:43", + "nodeType": "YulVariableDeclaration", + "src": "6273:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6300:6:43", + "nodeType": "YulIdentifier", + "src": "6300:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6287:12:43", + "nodeType": "YulIdentifier", + "src": "6287:12:43" + }, + "nativeSrc": "6287:20:43", + "nodeType": "YulFunctionCall", + "src": "6287:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "6277:6:43", + "nodeType": "YulTypedName", + "src": "6277:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6316:103:43", + "nodeType": "YulAssignment", + "src": "6316:103:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6392:6:43", + "nodeType": "YulIdentifier", + "src": "6392:6:43" + }, + { + "kind": "number", + "nativeSrc": "6400:4:43", + "nodeType": "YulLiteral", + "src": "6400:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6388:3:43", + "nodeType": "YulIdentifier", + "src": "6388:3:43" + }, + "nativeSrc": "6388:17:43", + "nodeType": "YulFunctionCall", + "src": "6388:17:43" + }, + { + "name": "length", + "nativeSrc": "6407:6:43", + "nodeType": "YulIdentifier", + "src": "6407:6:43" + }, + { + "name": "end", + "nativeSrc": "6415:3:43", + "nodeType": "YulIdentifier", + "src": "6415:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "6325:62:43", + "nodeType": "YulIdentifier", + "src": "6325:62:43" + }, + "nativeSrc": "6325:94:43", + "nodeType": "YulFunctionCall", + "src": "6325:94:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "6316:5:43", + "nodeType": "YulIdentifier", + "src": "6316:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "6055:370:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6110:6:43", + "nodeType": "YulTypedName", + "src": "6110:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6118:3:43", + "nodeType": "YulTypedName", + "src": "6118:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "6126:5:43", + "nodeType": "YulTypedName", + "src": "6126:5:43", + "type": "" + } + ], + "src": "6055:370:43" + }, + { + "body": { + "nativeSrc": "6539:576:43", + "nodeType": "YulBlock", + "src": "6539:576:43", + "statements": [ + { + "body": { + "nativeSrc": "6585:83:43", + "nodeType": "YulBlock", + "src": "6585:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6587:77:43", + "nodeType": "YulIdentifier", + "src": "6587:77:43" + }, + "nativeSrc": "6587:79:43", + "nodeType": "YulFunctionCall", + "src": "6587:79:43" + }, + "nativeSrc": "6587:79:43", + "nodeType": "YulExpressionStatement", + "src": "6587:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6560:7:43", + "nodeType": "YulIdentifier", + "src": "6560:7:43" + }, + { + "name": "headStart", + "nativeSrc": "6569:9:43", + "nodeType": "YulIdentifier", + "src": "6569:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6556:3:43", + "nodeType": "YulIdentifier", + "src": "6556:3:43" + }, + "nativeSrc": "6556:23:43", + "nodeType": "YulFunctionCall", + "src": "6556:23:43" + }, + { + "kind": "number", + "nativeSrc": "6581:2:43", + "nodeType": "YulLiteral", + "src": "6581:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6552:3:43", + "nodeType": "YulIdentifier", + "src": "6552:3:43" + }, + "nativeSrc": "6552:32:43", + "nodeType": "YulFunctionCall", + "src": "6552:32:43" + }, + "nativeSrc": "6549:119:43", + "nodeType": "YulIf", + "src": "6549:119:43" + }, + { + "nativeSrc": "6678:117:43", + "nodeType": "YulBlock", + "src": "6678:117:43", + "statements": [ + { + "nativeSrc": "6693:15:43", + "nodeType": "YulVariableDeclaration", + "src": "6693:15:43", + "value": { + "kind": "number", + "nativeSrc": "6707:1:43", + "nodeType": "YulLiteral", + "src": "6707:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6697:6:43", + "nodeType": "YulTypedName", + "src": "6697:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6722:63:43", + "nodeType": "YulAssignment", + "src": "6722:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6757:9:43", + "nodeType": "YulIdentifier", + "src": "6757:9:43" + }, + { + "name": "offset", + "nativeSrc": "6768:6:43", + "nodeType": "YulIdentifier", + "src": "6768:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6753:3:43", + "nodeType": "YulIdentifier", + "src": "6753:3:43" + }, + "nativeSrc": "6753:22:43", + "nodeType": "YulFunctionCall", + "src": "6753:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "6777:7:43", + "nodeType": "YulIdentifier", + "src": "6777:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "6732:20:43", + "nodeType": "YulIdentifier", + "src": "6732:20:43" + }, + "nativeSrc": "6732:53:43", + "nodeType": "YulFunctionCall", + "src": "6732:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6722:6:43", + "nodeType": "YulIdentifier", + "src": "6722:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "6805:303:43", + "nodeType": "YulBlock", + "src": "6805:303:43", + "statements": [ + { + "nativeSrc": "6820:46:43", + "nodeType": "YulVariableDeclaration", + "src": "6820:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6851:9:43", + "nodeType": "YulIdentifier", + "src": "6851:9:43" + }, + { + "kind": "number", + "nativeSrc": "6862:2:43", + "nodeType": "YulLiteral", + "src": "6862:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6847:3:43", + "nodeType": "YulIdentifier", + "src": "6847:3:43" + }, + "nativeSrc": "6847:18:43", + "nodeType": "YulFunctionCall", + "src": "6847:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6834:12:43", + "nodeType": "YulIdentifier", + "src": "6834:12:43" + }, + "nativeSrc": "6834:32:43", + "nodeType": "YulFunctionCall", + "src": "6834:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6824:6:43", + "nodeType": "YulTypedName", + "src": "6824:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6913:83:43", + "nodeType": "YulBlock", + "src": "6913:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "6915:77:43", + "nodeType": "YulIdentifier", + "src": "6915:77:43" + }, + "nativeSrc": "6915:79:43", + "nodeType": "YulFunctionCall", + "src": "6915:79:43" + }, + "nativeSrc": "6915:79:43", + "nodeType": "YulExpressionStatement", + "src": "6915:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6885:6:43", + "nodeType": "YulIdentifier", + "src": "6885:6:43" + }, + { + "kind": "number", + "nativeSrc": "6893:18:43", + "nodeType": "YulLiteral", + "src": "6893:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6882:2:43", + "nodeType": "YulIdentifier", + "src": "6882:2:43" + }, + "nativeSrc": "6882:30:43", + "nodeType": "YulFunctionCall", + "src": "6882:30:43" + }, + "nativeSrc": "6879:117:43", + "nodeType": "YulIf", + "src": "6879:117:43" + }, + { + "nativeSrc": "7010:88:43", + "nodeType": "YulAssignment", + "src": "7010:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7070:9:43", + "nodeType": "YulIdentifier", + "src": "7070:9:43" + }, + { + "name": "offset", + "nativeSrc": "7081:6:43", + "nodeType": "YulIdentifier", + "src": "7081:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7066:3:43", + "nodeType": "YulIdentifier", + "src": "7066:3:43" + }, + "nativeSrc": "7066:22:43", + "nodeType": "YulFunctionCall", + "src": "7066:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7090:7:43", + "nodeType": "YulIdentifier", + "src": "7090:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7020:45:43", + "nodeType": "YulIdentifier", + "src": "7020:45:43" + }, + "nativeSrc": "7020:78:43", + "nodeType": "YulFunctionCall", + "src": "7020:78:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7010:6:43", + "nodeType": "YulIdentifier", + "src": "7010:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "6431:684:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6501:9:43", + "nodeType": "YulTypedName", + "src": "6501:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6512:7:43", + "nodeType": "YulTypedName", + "src": "6512:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6524:6:43", + "nodeType": "YulTypedName", + "src": "6524:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6532:6:43", + "nodeType": "YulTypedName", + "src": "6532:6:43", + "type": "" + } + ], + "src": "6431:684:43" + }, + { + "body": { + "nativeSrc": "7187:263:43", + "nodeType": "YulBlock", + "src": "7187:263:43", + "statements": [ + { + "body": { + "nativeSrc": "7233:83:43", + "nodeType": "YulBlock", + "src": "7233:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "7235:77:43", + "nodeType": "YulIdentifier", + "src": "7235:77:43" + }, + "nativeSrc": "7235:79:43", + "nodeType": "YulFunctionCall", + "src": "7235:79:43" + }, + "nativeSrc": "7235:79:43", + "nodeType": "YulExpressionStatement", + "src": "7235:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "7208:7:43", + "nodeType": "YulIdentifier", + "src": "7208:7:43" + }, + { + "name": "headStart", + "nativeSrc": "7217:9:43", + "nodeType": "YulIdentifier", + "src": "7217:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7204:3:43", + "nodeType": "YulIdentifier", + "src": "7204:3:43" + }, + "nativeSrc": "7204:23:43", + "nodeType": "YulFunctionCall", + "src": "7204:23:43" + }, + { + "kind": "number", + "nativeSrc": "7229:2:43", + "nodeType": "YulLiteral", + "src": "7229:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "7200:3:43", + "nodeType": "YulIdentifier", + "src": "7200:3:43" + }, + "nativeSrc": "7200:32:43", + "nodeType": "YulFunctionCall", + "src": "7200:32:43" + }, + "nativeSrc": "7197:119:43", + "nodeType": "YulIf", + "src": "7197:119:43" + }, + { + "nativeSrc": "7326:117:43", + "nodeType": "YulBlock", + "src": "7326:117:43", + "statements": [ + { + "nativeSrc": "7341:15:43", + "nodeType": "YulVariableDeclaration", + "src": "7341:15:43", + "value": { + "kind": "number", + "nativeSrc": "7355:1:43", + "nodeType": "YulLiteral", + "src": "7355:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7345:6:43", + "nodeType": "YulTypedName", + "src": "7345:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7370:63:43", + "nodeType": "YulAssignment", + "src": "7370:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7405:9:43", + "nodeType": "YulIdentifier", + "src": "7405:9:43" + }, + { + "name": "offset", + "nativeSrc": "7416:6:43", + "nodeType": "YulIdentifier", + "src": "7416:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7401:3:43", + "nodeType": "YulIdentifier", + "src": "7401:3:43" + }, + "nativeSrc": "7401:22:43", + "nodeType": "YulFunctionCall", + "src": "7401:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7425:7:43", + "nodeType": "YulIdentifier", + "src": "7425:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "7380:20:43", + "nodeType": "YulIdentifier", + "src": "7380:20:43" + }, + "nativeSrc": "7380:53:43", + "nodeType": "YulFunctionCall", + "src": "7380:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7370:6:43", + "nodeType": "YulIdentifier", + "src": "7370:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "7121:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7157:9:43", + "nodeType": "YulTypedName", + "src": "7157:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "7168:7:43", + "nodeType": "YulTypedName", + "src": "7168:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "7180:6:43", + "nodeType": "YulTypedName", + "src": "7180:6:43", + "type": "" + } + ], + "src": "7121:329:43" + }, + { + "body": { + "nativeSrc": "7498:48:43", + "nodeType": "YulBlock", + "src": "7498:48:43", + "statements": [ + { + "nativeSrc": "7508:32:43", + "nodeType": "YulAssignment", + "src": "7508:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7533:5:43", + "nodeType": "YulIdentifier", + "src": "7533:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7526:6:43", + "nodeType": "YulIdentifier", + "src": "7526:6:43" + }, + "nativeSrc": "7526:13:43", + "nodeType": "YulFunctionCall", + "src": "7526:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7519:6:43", + "nodeType": "YulIdentifier", + "src": "7519:6:43" + }, + "nativeSrc": "7519:21:43", + "nodeType": "YulFunctionCall", + "src": "7519:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "7508:7:43", + "nodeType": "YulIdentifier", + "src": "7508:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "7456:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7480:5:43", + "nodeType": "YulTypedName", + "src": "7480:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "7490:7:43", + "nodeType": "YulTypedName", + "src": "7490:7:43", + "type": "" + } + ], + "src": "7456:90:43" + }, + { + "body": { + "nativeSrc": "7611:50:43", + "nodeType": "YulBlock", + "src": "7611:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7628:3:43", + "nodeType": "YulIdentifier", + "src": "7628:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7648:5:43", + "nodeType": "YulIdentifier", + "src": "7648:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "7633:14:43", + "nodeType": "YulIdentifier", + "src": "7633:14:43" + }, + "nativeSrc": "7633:21:43", + "nodeType": "YulFunctionCall", + "src": "7633:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7621:6:43", + "nodeType": "YulIdentifier", + "src": "7621:6:43" + }, + "nativeSrc": "7621:34:43", + "nodeType": "YulFunctionCall", + "src": "7621:34:43" + }, + "nativeSrc": "7621:34:43", + "nodeType": "YulExpressionStatement", + "src": "7621:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "7552:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7599:5:43", + "nodeType": "YulTypedName", + "src": "7599:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7606:3:43", + "nodeType": "YulTypedName", + "src": "7606:3:43", + "type": "" + } + ], + "src": "7552:109:43" + }, + { + "body": { + "nativeSrc": "7759:118:43", + "nodeType": "YulBlock", + "src": "7759:118:43", + "statements": [ + { + "nativeSrc": "7769:26:43", + "nodeType": "YulAssignment", + "src": "7769:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7781:9:43", + "nodeType": "YulIdentifier", + "src": "7781:9:43" + }, + { + "kind": "number", + "nativeSrc": "7792:2:43", + "nodeType": "YulLiteral", + "src": "7792:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7777:3:43", + "nodeType": "YulIdentifier", + "src": "7777:3:43" + }, + "nativeSrc": "7777:18:43", + "nodeType": "YulFunctionCall", + "src": "7777:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7769:4:43", + "nodeType": "YulIdentifier", + "src": "7769:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7843:6:43", + "nodeType": "YulIdentifier", + "src": "7843:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7856:9:43", + "nodeType": "YulIdentifier", + "src": "7856:9:43" + }, + { + "kind": "number", + "nativeSrc": "7867:1:43", + "nodeType": "YulLiteral", + "src": "7867:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7852:3:43", + "nodeType": "YulIdentifier", + "src": "7852:3:43" + }, + "nativeSrc": "7852:17:43", + "nodeType": "YulFunctionCall", + "src": "7852:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "7805:37:43", + "nodeType": "YulIdentifier", + "src": "7805:37:43" + }, + "nativeSrc": "7805:65:43", + "nodeType": "YulFunctionCall", + "src": "7805:65:43" + }, + "nativeSrc": "7805:65:43", + "nodeType": "YulExpressionStatement", + "src": "7805:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "7667:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7731:9:43", + "nodeType": "YulTypedName", + "src": "7731:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7743:6:43", + "nodeType": "YulTypedName", + "src": "7743:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7754:4:43", + "nodeType": "YulTypedName", + "src": "7754:4:43", + "type": "" + } + ], + "src": "7667:210:43" + }, + { + "body": { + "nativeSrc": "7948:53:43", + "nodeType": "YulBlock", + "src": "7948:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7965:3:43", + "nodeType": "YulIdentifier", + "src": "7965:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7988:5:43", + "nodeType": "YulIdentifier", + "src": "7988:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7970:17:43", + "nodeType": "YulIdentifier", + "src": "7970:17:43" + }, + "nativeSrc": "7970:24:43", + "nodeType": "YulFunctionCall", + "src": "7970:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7958:6:43", + "nodeType": "YulIdentifier", + "src": "7958:6:43" + }, + "nativeSrc": "7958:37:43", + "nodeType": "YulFunctionCall", + "src": "7958:37:43" + }, + "nativeSrc": "7958:37:43", + "nodeType": "YulExpressionStatement", + "src": "7958:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7883:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7936:5:43", + "nodeType": "YulTypedName", + "src": "7936:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7943:3:43", + "nodeType": "YulTypedName", + "src": "7943:3:43", + "type": "" + } + ], + "src": "7883:118:43" + }, + { + "body": { + "nativeSrc": "8105:124:43", + "nodeType": "YulBlock", + "src": "8105:124:43", + "statements": [ + { + "nativeSrc": "8115:26:43", + "nodeType": "YulAssignment", + "src": "8115:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8127:9:43", + "nodeType": "YulIdentifier", + "src": "8127:9:43" + }, + { + "kind": "number", + "nativeSrc": "8138:2:43", + "nodeType": "YulLiteral", + "src": "8138:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8123:3:43", + "nodeType": "YulIdentifier", + "src": "8123:3:43" + }, + "nativeSrc": "8123:18:43", + "nodeType": "YulFunctionCall", + "src": "8123:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8115:4:43", + "nodeType": "YulIdentifier", + "src": "8115:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8195:6:43", + "nodeType": "YulIdentifier", + "src": "8195:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8208:9:43", + "nodeType": "YulIdentifier", + "src": "8208:9:43" + }, + { + "kind": "number", + "nativeSrc": "8219:1:43", + "nodeType": "YulLiteral", + "src": "8219:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8204:3:43", + "nodeType": "YulIdentifier", + "src": "8204:3:43" + }, + "nativeSrc": "8204:17:43", + "nodeType": "YulFunctionCall", + "src": "8204:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8151:43:43", + "nodeType": "YulIdentifier", + "src": "8151:43:43" + }, + "nativeSrc": "8151:71:43", + "nodeType": "YulFunctionCall", + "src": "8151:71:43" + }, + "nativeSrc": "8151:71:43", + "nodeType": "YulExpressionStatement", + "src": "8151:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "8007:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8077:9:43", + "nodeType": "YulTypedName", + "src": "8077:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8089:6:43", + "nodeType": "YulTypedName", + "src": "8089:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8100:4:43", + "nodeType": "YulTypedName", + "src": "8100:4:43", + "type": "" + } + ], + "src": "8007:222:43" + }, + { + "body": { + "nativeSrc": "8318:391:43", + "nodeType": "YulBlock", + "src": "8318:391:43", + "statements": [ + { + "body": { + "nativeSrc": "8364:83:43", + "nodeType": "YulBlock", + "src": "8364:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8366:77:43", + "nodeType": "YulIdentifier", + "src": "8366:77:43" + }, + "nativeSrc": "8366:79:43", + "nodeType": "YulFunctionCall", + "src": "8366:79:43" + }, + "nativeSrc": "8366:79:43", + "nodeType": "YulExpressionStatement", + "src": "8366:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8339:7:43", + "nodeType": "YulIdentifier", + "src": "8339:7:43" + }, + { + "name": "headStart", + "nativeSrc": "8348:9:43", + "nodeType": "YulIdentifier", + "src": "8348:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8335:3:43", + "nodeType": "YulIdentifier", + "src": "8335:3:43" + }, + "nativeSrc": "8335:23:43", + "nodeType": "YulFunctionCall", + "src": "8335:23:43" + }, + { + "kind": "number", + "nativeSrc": "8360:2:43", + "nodeType": "YulLiteral", + "src": "8360:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8331:3:43", + "nodeType": "YulIdentifier", + "src": "8331:3:43" + }, + "nativeSrc": "8331:32:43", + "nodeType": "YulFunctionCall", + "src": "8331:32:43" + }, + "nativeSrc": "8328:119:43", + "nodeType": "YulIf", + "src": "8328:119:43" + }, + { + "nativeSrc": "8457:117:43", + "nodeType": "YulBlock", + "src": "8457:117:43", + "statements": [ + { + "nativeSrc": "8472:15:43", + "nodeType": "YulVariableDeclaration", + "src": "8472:15:43", + "value": { + "kind": "number", + "nativeSrc": "8486:1:43", + "nodeType": "YulLiteral", + "src": "8486:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8476:6:43", + "nodeType": "YulTypedName", + "src": "8476:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8501:63:43", + "nodeType": "YulAssignment", + "src": "8501:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8536:9:43", + "nodeType": "YulIdentifier", + "src": "8536:9:43" + }, + { + "name": "offset", + "nativeSrc": "8547:6:43", + "nodeType": "YulIdentifier", + "src": "8547:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8532:3:43", + "nodeType": "YulIdentifier", + "src": "8532:3:43" + }, + "nativeSrc": "8532:22:43", + "nodeType": "YulFunctionCall", + "src": "8532:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "8556:7:43", + "nodeType": "YulIdentifier", + "src": "8556:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8511:20:43", + "nodeType": "YulIdentifier", + "src": "8511:20:43" + }, + "nativeSrc": "8511:53:43", + "nodeType": "YulFunctionCall", + "src": "8511:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8501:6:43", + "nodeType": "YulIdentifier", + "src": "8501:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "8584:118:43", + "nodeType": "YulBlock", + "src": "8584:118:43", + "statements": [ + { + "nativeSrc": "8599:16:43", + "nodeType": "YulVariableDeclaration", + "src": "8599:16:43", + "value": { + "kind": "number", + "nativeSrc": "8613:2:43", + "nodeType": "YulLiteral", + "src": "8613:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8603:6:43", + "nodeType": "YulTypedName", + "src": "8603:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8629:63:43", + "nodeType": "YulAssignment", + "src": "8629:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8664:9:43", + "nodeType": "YulIdentifier", + "src": "8664:9:43" + }, + { + "name": "offset", + "nativeSrc": "8675:6:43", + "nodeType": "YulIdentifier", + "src": "8675:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8660:3:43", + "nodeType": "YulIdentifier", + "src": "8660:3:43" + }, + "nativeSrc": "8660:22:43", + "nodeType": "YulFunctionCall", + "src": "8660:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "8684:7:43", + "nodeType": "YulIdentifier", + "src": "8684:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8639:20:43", + "nodeType": "YulIdentifier", + "src": "8639:20:43" + }, + "nativeSrc": "8639:53:43", + "nodeType": "YulFunctionCall", + "src": "8639:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "8629:6:43", + "nodeType": "YulIdentifier", + "src": "8629:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nativeSrc": "8235:474:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8280:9:43", + "nodeType": "YulTypedName", + "src": "8280:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8291:7:43", + "nodeType": "YulTypedName", + "src": "8291:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8303:6:43", + "nodeType": "YulTypedName", + "src": "8303:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8311:6:43", + "nodeType": "YulTypedName", + "src": "8311:6:43", + "type": "" + } + ], + "src": "8235:474:43" + }, + { + "body": { + "nativeSrc": "8789:40:43", + "nodeType": "YulBlock", + "src": "8789:40:43", + "statements": [ + { + "nativeSrc": "8800:22:43", + "nodeType": "YulAssignment", + "src": "8800:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8816:5:43", + "nodeType": "YulIdentifier", + "src": "8816:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8810:5:43", + "nodeType": "YulIdentifier", + "src": "8810:5:43" + }, + "nativeSrc": "8810:12:43", + "nodeType": "YulFunctionCall", + "src": "8810:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "8800:6:43", + "nodeType": "YulIdentifier", + "src": "8800:6:43" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8715:114:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8772:5:43", + "nodeType": "YulTypedName", + "src": "8772:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "8782:6:43", + "nodeType": "YulTypedName", + "src": "8782:6:43", + "type": "" + } + ], + "src": "8715:114:43" + }, + { + "body": { + "nativeSrc": "8946:73:43", + "nodeType": "YulBlock", + "src": "8946:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8963:3:43", + "nodeType": "YulIdentifier", + "src": "8963:3:43" + }, + { + "name": "length", + "nativeSrc": "8968:6:43", + "nodeType": "YulIdentifier", + "src": "8968:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8956:6:43", + "nodeType": "YulIdentifier", + "src": "8956:6:43" + }, + "nativeSrc": "8956:19:43", + "nodeType": "YulFunctionCall", + "src": "8956:19:43" + }, + "nativeSrc": "8956:19:43", + "nodeType": "YulExpressionStatement", + "src": "8956:19:43" + }, + { + "nativeSrc": "8984:29:43", + "nodeType": "YulAssignment", + "src": "8984:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9003:3:43", + "nodeType": "YulIdentifier", + "src": "9003:3:43" + }, + { + "kind": "number", + "nativeSrc": "9008:4:43", + "nodeType": "YulLiteral", + "src": "9008:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8999:3:43", + "nodeType": "YulIdentifier", + "src": "8999:3:43" + }, + "nativeSrc": "8999:14:43", + "nodeType": "YulFunctionCall", + "src": "8999:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "8984:11:43", + "nodeType": "YulIdentifier", + "src": "8984:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "8835:184:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "8918:3:43", + "nodeType": "YulTypedName", + "src": "8918:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8923:6:43", + "nodeType": "YulTypedName", + "src": "8923:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "8934:11:43", + "nodeType": "YulTypedName", + "src": "8934:11:43", + "type": "" + } + ], + "src": "8835:184:43" + }, + { + "body": { + "nativeSrc": "9097:60:43", + "nodeType": "YulBlock", + "src": "9097:60:43", + "statements": [ + { + "nativeSrc": "9107:11:43", + "nodeType": "YulAssignment", + "src": "9107:11:43", + "value": { + "name": "ptr", + "nativeSrc": "9115:3:43", + "nodeType": "YulIdentifier", + "src": "9115:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9107:4:43", + "nodeType": "YulIdentifier", + "src": "9107:4:43" + } + ] + }, + { + "nativeSrc": "9128:22:43", + "nodeType": "YulAssignment", + "src": "9128:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "9140:3:43", + "nodeType": "YulIdentifier", + "src": "9140:3:43" + }, + { + "kind": "number", + "nativeSrc": "9145:4:43", + "nodeType": "YulLiteral", + "src": "9145:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9136:3:43", + "nodeType": "YulIdentifier", + "src": "9136:3:43" + }, + "nativeSrc": "9136:14:43", + "nodeType": "YulFunctionCall", + "src": "9136:14:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9128:4:43", + "nodeType": "YulIdentifier", + "src": "9128:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9025:132:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "9084:3:43", + "nodeType": "YulTypedName", + "src": "9084:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "9092:4:43", + "nodeType": "YulTypedName", + "src": "9092:4:43", + "type": "" + } + ], + "src": "9025:132:43" + }, + { + "body": { + "nativeSrc": "9218:53:43", + "nodeType": "YulBlock", + "src": "9218:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9235:3:43", + "nodeType": "YulIdentifier", + "src": "9235:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9258:5:43", + "nodeType": "YulIdentifier", + "src": "9258:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "9240:17:43", + "nodeType": "YulIdentifier", + "src": "9240:17:43" + }, + "nativeSrc": "9240:24:43", + "nodeType": "YulFunctionCall", + "src": "9240:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9228:6:43", + "nodeType": "YulIdentifier", + "src": "9228:6:43" + }, + "nativeSrc": "9228:37:43", + "nodeType": "YulFunctionCall", + "src": "9228:37:43" + }, + "nativeSrc": "9228:37:43", + "nodeType": "YulExpressionStatement", + "src": "9228:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "9163:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9206:5:43", + "nodeType": "YulTypedName", + "src": "9206:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9213:3:43", + "nodeType": "YulTypedName", + "src": "9213:3:43", + "type": "" + } + ], + "src": "9163:108:43" + }, + { + "body": { + "nativeSrc": "9357:99:43", + "nodeType": "YulBlock", + "src": "9357:99:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9401:6:43", + "nodeType": "YulIdentifier", + "src": "9401:6:43" + }, + { + "name": "pos", + "nativeSrc": "9409:3:43", + "nodeType": "YulIdentifier", + "src": "9409:3:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "9367:33:43", + "nodeType": "YulIdentifier", + "src": "9367:33:43" + }, + "nativeSrc": "9367:46:43", + "nodeType": "YulFunctionCall", + "src": "9367:46:43" + }, + "nativeSrc": "9367:46:43", + "nodeType": "YulExpressionStatement", + "src": "9367:46:43" + }, + { + "nativeSrc": "9422:28:43", + "nodeType": "YulAssignment", + "src": "9422:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9440:3:43", + "nodeType": "YulIdentifier", + "src": "9440:3:43" + }, + { + "kind": "number", + "nativeSrc": "9445:4:43", + "nodeType": "YulLiteral", + "src": "9445:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9436:3:43", + "nodeType": "YulIdentifier", + "src": "9436:3:43" + }, + "nativeSrc": "9436:14:43", + "nodeType": "YulFunctionCall", + "src": "9436:14:43" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "9422:10:43", + "nodeType": "YulIdentifier", + "src": "9422:10:43" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nativeSrc": "9277:179:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "9330:6:43", + "nodeType": "YulTypedName", + "src": "9330:6:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9338:3:43", + "nodeType": "YulTypedName", + "src": "9338:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "9346:10:43", + "nodeType": "YulTypedName", + "src": "9346:10:43", + "type": "" + } + ], + "src": "9277:179:43" + }, + { + "body": { + "nativeSrc": "9537:38:43", + "nodeType": "YulBlock", + "src": "9537:38:43", + "statements": [ + { + "nativeSrc": "9547:22:43", + "nodeType": "YulAssignment", + "src": "9547:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "9559:3:43", + "nodeType": "YulIdentifier", + "src": "9559:3:43" + }, + { + "kind": "number", + "nativeSrc": "9564:4:43", + "nodeType": "YulLiteral", + "src": "9564:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9555:3:43", + "nodeType": "YulIdentifier", + "src": "9555:3:43" + }, + "nativeSrc": "9555:14:43", + "nodeType": "YulFunctionCall", + "src": "9555:14:43" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "9547:4:43", + "nodeType": "YulIdentifier", + "src": "9547:4:43" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9462:113:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "9524:3:43", + "nodeType": "YulTypedName", + "src": "9524:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "9532:4:43", + "nodeType": "YulTypedName", + "src": "9532:4:43", + "type": "" + } + ], + "src": "9462:113:43" + }, + { + "body": { + "nativeSrc": "9735:608:43", + "nodeType": "YulBlock", + "src": "9735:608:43", + "statements": [ + { + "nativeSrc": "9745:68:43", + "nodeType": "YulVariableDeclaration", + "src": "9745:68:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9807:5:43", + "nodeType": "YulIdentifier", + "src": "9807:5:43" + } + ], + "functionName": { + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9759:47:43", + "nodeType": "YulIdentifier", + "src": "9759:47:43" + }, + "nativeSrc": "9759:54:43", + "nodeType": "YulFunctionCall", + "src": "9759:54:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "9749:6:43", + "nodeType": "YulTypedName", + "src": "9749:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9822:93:43", + "nodeType": "YulAssignment", + "src": "9822:93:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9903:3:43", + "nodeType": "YulIdentifier", + "src": "9903:3:43" + }, + { + "name": "length", + "nativeSrc": "9908:6:43", + "nodeType": "YulIdentifier", + "src": "9908:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "9829:73:43", + "nodeType": "YulIdentifier", + "src": "9829:73:43" + }, + "nativeSrc": "9829:86:43", + "nodeType": "YulFunctionCall", + "src": "9829:86:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "9822:3:43", + "nodeType": "YulIdentifier", + "src": "9822:3:43" + } + ] + }, + { + "nativeSrc": "9924:71:43", + "nodeType": "YulVariableDeclaration", + "src": "9924:71:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9989:5:43", + "nodeType": "YulIdentifier", + "src": "9989:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9939:49:43", + "nodeType": "YulIdentifier", + "src": "9939:49:43" + }, + "nativeSrc": "9939:56:43", + "nodeType": "YulFunctionCall", + "src": "9939:56:43" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "9928:7:43", + "nodeType": "YulTypedName", + "src": "9928:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10004:21:43", + "nodeType": "YulVariableDeclaration", + "src": "10004:21:43", + "value": { + "name": "baseRef", + "nativeSrc": "10018:7:43", + "nodeType": "YulIdentifier", + "src": "10018:7:43" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "10008:6:43", + "nodeType": "YulTypedName", + "src": "10008:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10094:224:43", + "nodeType": "YulBlock", + "src": "10094:224:43", + "statements": [ + { + "nativeSrc": "10108:34:43", + "nodeType": "YulVariableDeclaration", + "src": "10108:34:43", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "10135:6:43", + "nodeType": "YulIdentifier", + "src": "10135:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10129:5:43", + "nodeType": "YulIdentifier", + "src": "10129:5:43" + }, + "nativeSrc": "10129:13:43", + "nodeType": "YulFunctionCall", + "src": "10129:13:43" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "10112:13:43", + "nodeType": "YulTypedName", + "src": "10112:13:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10155:70:43", + "nodeType": "YulAssignment", + "src": "10155:70:43", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "10206:13:43", + "nodeType": "YulIdentifier", + "src": "10206:13:43" + }, + { + "name": "pos", + "nativeSrc": "10221:3:43", + "nodeType": "YulIdentifier", + "src": "10221:3:43" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nativeSrc": "10162:43:43", + "nodeType": "YulIdentifier", + "src": "10162:43:43" + }, + "nativeSrc": "10162:63:43", + "nodeType": "YulFunctionCall", + "src": "10162:63:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "10155:3:43", + "nodeType": "YulIdentifier", + "src": "10155:3:43" + } + ] + }, + { + "nativeSrc": "10238:70:43", + "nodeType": "YulAssignment", + "src": "10238:70:43", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "10301:6:43", + "nodeType": "YulIdentifier", + "src": "10301:6:43" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "10248:52:43", + "nodeType": "YulIdentifier", + "src": "10248:52:43" + }, + "nativeSrc": "10248:60:43", + "nodeType": "YulFunctionCall", + "src": "10248:60:43" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "10238:6:43", + "nodeType": "YulIdentifier", + "src": "10238:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10056:1:43", + "nodeType": "YulIdentifier", + "src": "10056:1:43" + }, + { + "name": "length", + "nativeSrc": "10059:6:43", + "nodeType": "YulIdentifier", + "src": "10059:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10053:2:43", + "nodeType": "YulIdentifier", + "src": "10053:2:43" + }, + "nativeSrc": "10053:13:43", + "nodeType": "YulFunctionCall", + "src": "10053:13:43" + }, + "nativeSrc": "10034:284:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "10067:18:43", + "nodeType": "YulBlock", + "src": "10067:18:43", + "statements": [ + { + "nativeSrc": "10069:14:43", + "nodeType": "YulAssignment", + "src": "10069:14:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10078:1:43", + "nodeType": "YulIdentifier", + "src": "10078:1:43" + }, + { + "kind": "number", + "nativeSrc": "10081:1:43", + "nodeType": "YulLiteral", + "src": "10081:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10074:3:43", + "nodeType": "YulIdentifier", + "src": "10074:3:43" + }, + "nativeSrc": "10074:9:43", + "nodeType": "YulFunctionCall", + "src": "10074:9:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "10069:1:43", + "nodeType": "YulIdentifier", + "src": "10069:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "10038:14:43", + "nodeType": "YulBlock", + "src": "10038:14:43", + "statements": [ + { + "nativeSrc": "10040:10:43", + "nodeType": "YulVariableDeclaration", + "src": "10040:10:43", + "value": { + "kind": "number", + "nativeSrc": "10049:1:43", + "nodeType": "YulLiteral", + "src": "10049:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "10044:1:43", + "nodeType": "YulTypedName", + "src": "10044:1:43", + "type": "" + } + ] + } + ] + }, + "src": "10034:284:43" + }, + { + "nativeSrc": "10327:10:43", + "nodeType": "YulAssignment", + "src": "10327:10:43", + "value": { + "name": "pos", + "nativeSrc": "10334:3:43", + "nodeType": "YulIdentifier", + "src": "10334:3:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "10327:3:43", + "nodeType": "YulIdentifier", + "src": "10327:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "9611:732:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9714:5:43", + "nodeType": "YulTypedName", + "src": "9714:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9721:3:43", + "nodeType": "YulTypedName", + "src": "9721:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "9730:3:43", + "nodeType": "YulTypedName", + "src": "9730:3:43", + "type": "" + } + ], + "src": "9611:732:43" + }, + { + "body": { + "nativeSrc": "10497:225:43", + "nodeType": "YulBlock", + "src": "10497:225:43", + "statements": [ + { + "nativeSrc": "10507:26:43", + "nodeType": "YulAssignment", + "src": "10507:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10519:9:43", + "nodeType": "YulIdentifier", + "src": "10519:9:43" + }, + { + "kind": "number", + "nativeSrc": "10530:2:43", + "nodeType": "YulLiteral", + "src": "10530:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10515:3:43", + "nodeType": "YulIdentifier", + "src": "10515:3:43" + }, + "nativeSrc": "10515:18:43", + "nodeType": "YulFunctionCall", + "src": "10515:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10507:4:43", + "nodeType": "YulIdentifier", + "src": "10507:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10554:9:43", + "nodeType": "YulIdentifier", + "src": "10554:9:43" + }, + { + "kind": "number", + "nativeSrc": "10565:1:43", + "nodeType": "YulLiteral", + "src": "10565:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10550:3:43", + "nodeType": "YulIdentifier", + "src": "10550:3:43" + }, + "nativeSrc": "10550:17:43", + "nodeType": "YulFunctionCall", + "src": "10550:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "10573:4:43", + "nodeType": "YulIdentifier", + "src": "10573:4:43" + }, + { + "name": "headStart", + "nativeSrc": "10579:9:43", + "nodeType": "YulIdentifier", + "src": "10579:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10569:3:43", + "nodeType": "YulIdentifier", + "src": "10569:3:43" + }, + "nativeSrc": "10569:20:43", + "nodeType": "YulFunctionCall", + "src": "10569:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10543:6:43", + "nodeType": "YulIdentifier", + "src": "10543:6:43" + }, + "nativeSrc": "10543:47:43", + "nodeType": "YulFunctionCall", + "src": "10543:47:43" + }, + "nativeSrc": "10543:47:43", + "nodeType": "YulExpressionStatement", + "src": "10543:47:43" + }, + { + "nativeSrc": "10599:116:43", + "nodeType": "YulAssignment", + "src": "10599:116:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10701:6:43", + "nodeType": "YulIdentifier", + "src": "10701:6:43" + }, + { + "name": "tail", + "nativeSrc": "10710:4:43", + "nodeType": "YulIdentifier", + "src": "10710:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nativeSrc": "10607:93:43", + "nodeType": "YulIdentifier", + "src": "10607:93:43" + }, + "nativeSrc": "10607:108:43", + "nodeType": "YulFunctionCall", + "src": "10607:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10599:4:43", + "nodeType": "YulIdentifier", + "src": "10599:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "10349:373:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10469:9:43", + "nodeType": "YulTypedName", + "src": "10469:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10481:6:43", + "nodeType": "YulTypedName", + "src": "10481:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10492:4:43", + "nodeType": "YulTypedName", + "src": "10492:4:43", + "type": "" + } + ], + "src": "10349:373:43" + }, + { + "body": { + "nativeSrc": "10787:40:43", + "nodeType": "YulBlock", + "src": "10787:40:43", + "statements": [ + { + "nativeSrc": "10798:22:43", + "nodeType": "YulAssignment", + "src": "10798:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10814:5:43", + "nodeType": "YulIdentifier", + "src": "10814:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10808:5:43", + "nodeType": "YulIdentifier", + "src": "10808:5:43" + }, + "nativeSrc": "10808:12:43", + "nodeType": "YulFunctionCall", + "src": "10808:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10798:6:43", + "nodeType": "YulIdentifier", + "src": "10798:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "10728:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10770:5:43", + "nodeType": "YulTypedName", + "src": "10770:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "10780:6:43", + "nodeType": "YulTypedName", + "src": "10780:6:43", + "type": "" + } + ], + "src": "10728:99:43" + }, + { + "body": { + "nativeSrc": "10919:73:43", + "nodeType": "YulBlock", + "src": "10919:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10936:3:43", + "nodeType": "YulIdentifier", + "src": "10936:3:43" + }, + { + "name": "length", + "nativeSrc": "10941:6:43", + "nodeType": "YulIdentifier", + "src": "10941:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10929:6:43", + "nodeType": "YulIdentifier", + "src": "10929:6:43" + }, + "nativeSrc": "10929:19:43", + "nodeType": "YulFunctionCall", + "src": "10929:19:43" + }, + "nativeSrc": "10929:19:43", + "nodeType": "YulExpressionStatement", + "src": "10929:19:43" + }, + { + "nativeSrc": "10957:29:43", + "nodeType": "YulAssignment", + "src": "10957:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10976:3:43", + "nodeType": "YulIdentifier", + "src": "10976:3:43" + }, + { + "kind": "number", + "nativeSrc": "10981:4:43", + "nodeType": "YulLiteral", + "src": "10981:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10972:3:43", + "nodeType": "YulIdentifier", + "src": "10972:3:43" + }, + "nativeSrc": "10972:14:43", + "nodeType": "YulFunctionCall", + "src": "10972:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "10957:11:43", + "nodeType": "YulIdentifier", + "src": "10957:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "10833:159:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "10891:3:43", + "nodeType": "YulTypedName", + "src": "10891:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "10896:6:43", + "nodeType": "YulTypedName", + "src": "10896:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "10907:11:43", + "nodeType": "YulTypedName", + "src": "10907:11:43", + "type": "" + } + ], + "src": "10833:159:43" + }, + { + "body": { + "nativeSrc": "11060:184:43", + "nodeType": "YulBlock", + "src": "11060:184:43", + "statements": [ + { + "nativeSrc": "11070:10:43", + "nodeType": "YulVariableDeclaration", + "src": "11070:10:43", + "value": { + "kind": "number", + "nativeSrc": "11079:1:43", + "nodeType": "YulLiteral", + "src": "11079:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "11074:1:43", + "nodeType": "YulTypedName", + "src": "11074:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11139:63:43", + "nodeType": "YulBlock", + "src": "11139:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11164:3:43", + "nodeType": "YulIdentifier", + "src": "11164:3:43" + }, + { + "name": "i", + "nativeSrc": "11169:1:43", + "nodeType": "YulIdentifier", + "src": "11169:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11160:3:43", + "nodeType": "YulIdentifier", + "src": "11160:3:43" + }, + "nativeSrc": "11160:11:43", + "nodeType": "YulFunctionCall", + "src": "11160:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "11183:3:43", + "nodeType": "YulIdentifier", + "src": "11183:3:43" + }, + { + "name": "i", + "nativeSrc": "11188:1:43", + "nodeType": "YulIdentifier", + "src": "11188:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11179:3:43", + "nodeType": "YulIdentifier", + "src": "11179:3:43" + }, + "nativeSrc": "11179:11:43", + "nodeType": "YulFunctionCall", + "src": "11179:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "11173:5:43", + "nodeType": "YulIdentifier", + "src": "11173:5:43" + }, + "nativeSrc": "11173:18:43", + "nodeType": "YulFunctionCall", + "src": "11173:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11153:6:43", + "nodeType": "YulIdentifier", + "src": "11153:6:43" + }, + "nativeSrc": "11153:39:43", + "nodeType": "YulFunctionCall", + "src": "11153:39:43" + }, + "nativeSrc": "11153:39:43", + "nodeType": "YulExpressionStatement", + "src": "11153:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "11100:1:43", + "nodeType": "YulIdentifier", + "src": "11100:1:43" + }, + { + "name": "length", + "nativeSrc": "11103:6:43", + "nodeType": "YulIdentifier", + "src": "11103:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11097:2:43", + "nodeType": "YulIdentifier", + "src": "11097:2:43" + }, + "nativeSrc": "11097:13:43", + "nodeType": "YulFunctionCall", + "src": "11097:13:43" + }, + "nativeSrc": "11089:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "11111:19:43", + "nodeType": "YulBlock", + "src": "11111:19:43", + "statements": [ + { + "nativeSrc": "11113:15:43", + "nodeType": "YulAssignment", + "src": "11113:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "11122:1:43", + "nodeType": "YulIdentifier", + "src": "11122:1:43" + }, + { + "kind": "number", + "nativeSrc": "11125:2:43", + "nodeType": "YulLiteral", + "src": "11125:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11118:3:43", + "nodeType": "YulIdentifier", + "src": "11118:3:43" + }, + "nativeSrc": "11118:10:43", + "nodeType": "YulFunctionCall", + "src": "11118:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "11113:1:43", + "nodeType": "YulIdentifier", + "src": "11113:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "11093:3:43", + "nodeType": "YulBlock", + "src": "11093:3:43", + "statements": [] + }, + "src": "11089:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11222:3:43", + "nodeType": "YulIdentifier", + "src": "11222:3:43" + }, + { + "name": "length", + "nativeSrc": "11227:6:43", + "nodeType": "YulIdentifier", + "src": "11227:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11218:3:43", + "nodeType": "YulIdentifier", + "src": "11218:3:43" + }, + "nativeSrc": "11218:16:43", + "nodeType": "YulFunctionCall", + "src": "11218:16:43" + }, + { + "kind": "number", + "nativeSrc": "11236:1:43", + "nodeType": "YulLiteral", + "src": "11236:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11211:6:43", + "nodeType": "YulIdentifier", + "src": "11211:6:43" + }, + "nativeSrc": "11211:27:43", + "nodeType": "YulFunctionCall", + "src": "11211:27:43" + }, + "nativeSrc": "11211:27:43", + "nodeType": "YulExpressionStatement", + "src": "11211:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10998:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "11042:3:43", + "nodeType": "YulTypedName", + "src": "11042:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "11047:3:43", + "nodeType": "YulTypedName", + "src": "11047:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11052:6:43", + "nodeType": "YulTypedName", + "src": "11052:6:43", + "type": "" + } + ], + "src": "10998:246:43" + }, + { + "body": { + "nativeSrc": "11332:275:43", + "nodeType": "YulBlock", + "src": "11332:275:43", + "statements": [ + { + "nativeSrc": "11342:53:43", + "nodeType": "YulVariableDeclaration", + "src": "11342:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "11389:5:43", + "nodeType": "YulIdentifier", + "src": "11389:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "11356:32:43", + "nodeType": "YulIdentifier", + "src": "11356:32:43" + }, + "nativeSrc": "11356:39:43", + "nodeType": "YulFunctionCall", + "src": "11356:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "11346:6:43", + "nodeType": "YulTypedName", + "src": "11346:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "11404:68:43", + "nodeType": "YulAssignment", + "src": "11404:68:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11460:3:43", + "nodeType": "YulIdentifier", + "src": "11460:3:43" + }, + { + "name": "length", + "nativeSrc": "11465:6:43", + "nodeType": "YulIdentifier", + "src": "11465:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "11411:48:43", + "nodeType": "YulIdentifier", + "src": "11411:48:43" + }, + "nativeSrc": "11411:61:43", + "nodeType": "YulFunctionCall", + "src": "11411:61:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11404:3:43", + "nodeType": "YulIdentifier", + "src": "11404:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11520:5:43", + "nodeType": "YulIdentifier", + "src": "11520:5:43" + }, + { + "kind": "number", + "nativeSrc": "11527:4:43", + "nodeType": "YulLiteral", + "src": "11527:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11516:3:43", + "nodeType": "YulIdentifier", + "src": "11516:3:43" + }, + "nativeSrc": "11516:16:43", + "nodeType": "YulFunctionCall", + "src": "11516:16:43" + }, + { + "name": "pos", + "nativeSrc": "11534:3:43", + "nodeType": "YulIdentifier", + "src": "11534:3:43" + }, + { + "name": "length", + "nativeSrc": "11539:6:43", + "nodeType": "YulIdentifier", + "src": "11539:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "11481:34:43", + "nodeType": "YulIdentifier", + "src": "11481:34:43" + }, + "nativeSrc": "11481:65:43", + "nodeType": "YulFunctionCall", + "src": "11481:65:43" + }, + "nativeSrc": "11481:65:43", + "nodeType": "YulExpressionStatement", + "src": "11481:65:43" + }, + { + "nativeSrc": "11555:46:43", + "nodeType": "YulAssignment", + "src": "11555:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11566:3:43", + "nodeType": "YulIdentifier", + "src": "11566:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "11593:6:43", + "nodeType": "YulIdentifier", + "src": "11593:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11571:21:43", + "nodeType": "YulIdentifier", + "src": "11571:21:43" + }, + "nativeSrc": "11571:29:43", + "nodeType": "YulFunctionCall", + "src": "11571:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11562:3:43", + "nodeType": "YulIdentifier", + "src": "11562:3:43" + }, + "nativeSrc": "11562:39:43", + "nodeType": "YulFunctionCall", + "src": "11562:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11555:3:43", + "nodeType": "YulIdentifier", + "src": "11555:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "11250:357:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11313:5:43", + "nodeType": "YulTypedName", + "src": "11313:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11320:3:43", + "nodeType": "YulTypedName", + "src": "11320:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11328:3:43", + "nodeType": "YulTypedName", + "src": "11328:3:43", + "type": "" + } + ], + "src": "11250:357:43" + }, + { + "body": { + "nativeSrc": "11668:53:43", + "nodeType": "YulBlock", + "src": "11668:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11685:3:43", + "nodeType": "YulIdentifier", + "src": "11685:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11708:5:43", + "nodeType": "YulIdentifier", + "src": "11708:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "11690:17:43", + "nodeType": "YulIdentifier", + "src": "11690:17:43" + }, + "nativeSrc": "11690:24:43", + "nodeType": "YulFunctionCall", + "src": "11690:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11678:6:43", + "nodeType": "YulIdentifier", + "src": "11678:6:43" + }, + "nativeSrc": "11678:37:43", + "nodeType": "YulFunctionCall", + "src": "11678:37:43" + }, + "nativeSrc": "11678:37:43", + "nodeType": "YulExpressionStatement", + "src": "11678:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "11613:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11656:5:43", + "nodeType": "YulTypedName", + "src": "11656:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11663:3:43", + "nodeType": "YulTypedName", + "src": "11663:3:43", + "type": "" + } + ], + "src": "11613:108:43" + }, + { + "body": { + "nativeSrc": "11755:152:43", + "nodeType": "YulBlock", + "src": "11755:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11772:1:43", + "nodeType": "YulLiteral", + "src": "11772:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11775:77:43", + "nodeType": "YulLiteral", + "src": "11775:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11765:6:43", + "nodeType": "YulIdentifier", + "src": "11765:6:43" + }, + "nativeSrc": "11765:88:43", + "nodeType": "YulFunctionCall", + "src": "11765:88:43" + }, + "nativeSrc": "11765:88:43", + "nodeType": "YulExpressionStatement", + "src": "11765:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11869:1:43", + "nodeType": "YulLiteral", + "src": "11869:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "11872:4:43", + "nodeType": "YulLiteral", + "src": "11872:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11862:6:43", + "nodeType": "YulIdentifier", + "src": "11862:6:43" + }, + "nativeSrc": "11862:15:43", + "nodeType": "YulFunctionCall", + "src": "11862:15:43" + }, + "nativeSrc": "11862:15:43", + "nodeType": "YulExpressionStatement", + "src": "11862:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11893:1:43", + "nodeType": "YulLiteral", + "src": "11893:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11896:4:43", + "nodeType": "YulLiteral", + "src": "11896:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11886:6:43", + "nodeType": "YulIdentifier", + "src": "11886:6:43" + }, + "nativeSrc": "11886:15:43", + "nodeType": "YulFunctionCall", + "src": "11886:15:43" + }, + "nativeSrc": "11886:15:43", + "nodeType": "YulExpressionStatement", + "src": "11886:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "11727:180:43", + "nodeType": "YulFunctionDefinition", + "src": "11727:180:43" + }, + { + "body": { + "nativeSrc": "11973:62:43", + "nodeType": "YulBlock", + "src": "11973:62:43", + "statements": [ + { + "body": { + "nativeSrc": "12007:22:43", + "nodeType": "YulBlock", + "src": "12007:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "12009:16:43", + "nodeType": "YulIdentifier", + "src": "12009:16:43" + }, + "nativeSrc": "12009:18:43", + "nodeType": "YulFunctionCall", + "src": "12009:18:43" + }, + "nativeSrc": "12009:18:43", + "nodeType": "YulExpressionStatement", + "src": "12009:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11996:5:43", + "nodeType": "YulIdentifier", + "src": "11996:5:43" + }, + { + "kind": "number", + "nativeSrc": "12003:1:43", + "nodeType": "YulLiteral", + "src": "12003:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11993:2:43", + "nodeType": "YulIdentifier", + "src": "11993:2:43" + }, + "nativeSrc": "11993:12:43", + "nodeType": "YulFunctionCall", + "src": "11993:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11986:6:43", + "nodeType": "YulIdentifier", + "src": "11986:6:43" + }, + "nativeSrc": "11986:20:43", + "nodeType": "YulFunctionCall", + "src": "11986:20:43" + }, + "nativeSrc": "11983:46:43", + "nodeType": "YulIf", + "src": "11983:46:43" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "11913:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11966:5:43", + "nodeType": "YulTypedName", + "src": "11966:5:43", + "type": "" + } + ], + "src": "11913:122:43" + }, + { + "body": { + "nativeSrc": "12103:83:43", + "nodeType": "YulBlock", + "src": "12103:83:43", + "statements": [ + { + "nativeSrc": "12113:16:43", + "nodeType": "YulAssignment", + "src": "12113:16:43", + "value": { + "name": "value", + "nativeSrc": "12124:5:43", + "nodeType": "YulIdentifier", + "src": "12124:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "12113:7:43", + "nodeType": "YulIdentifier", + "src": "12113:7:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "12174:5:43", + "nodeType": "YulIdentifier", + "src": "12174:5:43" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "12130:43:43", + "nodeType": "YulIdentifier", + "src": "12130:43:43" + }, + "nativeSrc": "12130:50:43", + "nodeType": "YulFunctionCall", + "src": "12130:50:43" + }, + "nativeSrc": "12130:50:43", + "nodeType": "YulExpressionStatement", + "src": "12130:50:43" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "12041:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12085:5:43", + "nodeType": "YulTypedName", + "src": "12085:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "12095:7:43", + "nodeType": "YulTypedName", + "src": "12095:7:43", + "type": "" + } + ], + "src": "12041:145:43" + }, + { + "body": { + "nativeSrc": "12267:70:43", + "nodeType": "YulBlock", + "src": "12267:70:43", + "statements": [ + { + "nativeSrc": "12277:54:43", + "nodeType": "YulAssignment", + "src": "12277:54:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "12325:5:43", + "nodeType": "YulIdentifier", + "src": "12325:5:43" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "12290:34:43", + "nodeType": "YulIdentifier", + "src": "12290:34:43" + }, + "nativeSrc": "12290:41:43", + "nodeType": "YulFunctionCall", + "src": "12290:41:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "12277:9:43", + "nodeType": "YulIdentifier", + "src": "12277:9:43" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "12192:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12247:5:43", + "nodeType": "YulTypedName", + "src": "12247:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "12257:9:43", + "nodeType": "YulTypedName", + "src": "12257:9:43", + "type": "" + } + ], + "src": "12192:145:43" + }, + { + "body": { + "nativeSrc": "12413:81:43", + "nodeType": "YulBlock", + "src": "12413:81:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12430:3:43", + "nodeType": "YulIdentifier", + "src": "12430:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12481:5:43", + "nodeType": "YulIdentifier", + "src": "12481:5:43" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "12435:45:43", + "nodeType": "YulIdentifier", + "src": "12435:45:43" + }, + "nativeSrc": "12435:52:43", + "nodeType": "YulFunctionCall", + "src": "12435:52:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12423:6:43", + "nodeType": "YulIdentifier", + "src": "12423:6:43" + }, + "nativeSrc": "12423:65:43", + "nodeType": "YulFunctionCall", + "src": "12423:65:43" + }, + "nativeSrc": "12423:65:43", + "nodeType": "YulExpressionStatement", + "src": "12423:65:43" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "12343:151:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12401:5:43", + "nodeType": "YulTypedName", + "src": "12401:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "12408:3:43", + "nodeType": "YulTypedName", + "src": "12408:3:43", + "type": "" + } + ], + "src": "12343:151:43" + }, + { + "body": { + "nativeSrc": "12682:1681:43", + "nodeType": "YulBlock", + "src": "12682:1681:43", + "statements": [ + { + "nativeSrc": "12692:28:43", + "nodeType": "YulVariableDeclaration", + "src": "12692:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12708:3:43", + "nodeType": "YulIdentifier", + "src": "12708:3:43" + }, + { + "kind": "number", + "nativeSrc": "12713:6:43", + "nodeType": "YulLiteral", + "src": "12713:6:43", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12704:3:43", + "nodeType": "YulIdentifier", + "src": "12704:3:43" + }, + "nativeSrc": "12704:16:43", + "nodeType": "YulFunctionCall", + "src": "12704:16:43" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "12696:4:43", + "nodeType": "YulTypedName", + "src": "12696:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "12730:242:43", + "nodeType": "YulBlock", + "src": "12730:242:43", + "statements": [ + { + "nativeSrc": "12772:43:43", + "nodeType": "YulVariableDeclaration", + "src": "12772:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12802:5:43", + "nodeType": "YulIdentifier", + "src": "12802:5:43" + }, + { + "kind": "number", + "nativeSrc": "12809:4:43", + "nodeType": "YulLiteral", + "src": "12809:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12798:3:43", + "nodeType": "YulIdentifier", + "src": "12798:3:43" + }, + "nativeSrc": "12798:16:43", + "nodeType": "YulFunctionCall", + "src": "12798:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "12792:5:43", + "nodeType": "YulIdentifier", + "src": "12792:5:43" + }, + "nativeSrc": "12792:23:43", + "nodeType": "YulFunctionCall", + "src": "12792:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "12776:12:43", + "nodeType": "YulTypedName", + "src": "12776:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12840:3:43", + "nodeType": "YulIdentifier", + "src": "12840:3:43" + }, + { + "kind": "number", + "nativeSrc": "12845:4:43", + "nodeType": "YulLiteral", + "src": "12845:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12836:3:43", + "nodeType": "YulIdentifier", + "src": "12836:3:43" + }, + "nativeSrc": "12836:14:43", + "nodeType": "YulFunctionCall", + "src": "12836:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "12856:4:43", + "nodeType": "YulIdentifier", + "src": "12856:4:43" + }, + { + "name": "pos", + "nativeSrc": "12862:3:43", + "nodeType": "YulIdentifier", + "src": "12862:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12852:3:43", + "nodeType": "YulIdentifier", + "src": "12852:3:43" + }, + "nativeSrc": "12852:14:43", + "nodeType": "YulFunctionCall", + "src": "12852:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12829:6:43", + "nodeType": "YulIdentifier", + "src": "12829:6:43" + }, + "nativeSrc": "12829:38:43", + "nodeType": "YulFunctionCall", + "src": "12829:38:43" + }, + "nativeSrc": "12829:38:43", + "nodeType": "YulExpressionStatement", + "src": "12829:38:43" + }, + { + "nativeSrc": "12880:81:43", + "nodeType": "YulAssignment", + "src": "12880:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "12942:12:43", + "nodeType": "YulIdentifier", + "src": "12942:12:43" + }, + { + "name": "tail", + "nativeSrc": "12956:4:43", + "nodeType": "YulIdentifier", + "src": "12956:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "12888:53:43", + "nodeType": "YulIdentifier", + "src": "12888:53:43" + }, + "nativeSrc": "12888:73:43", + "nodeType": "YulFunctionCall", + "src": "12888:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12880:4:43", + "nodeType": "YulIdentifier", + "src": "12880:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "12982:174:43", + "nodeType": "YulBlock", + "src": "12982:174:43", + "statements": [ + { + "nativeSrc": "13027:43:43", + "nodeType": "YulVariableDeclaration", + "src": "13027:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13057:5:43", + "nodeType": "YulIdentifier", + "src": "13057:5:43" + }, + { + "kind": "number", + "nativeSrc": "13064:4:43", + "nodeType": "YulLiteral", + "src": "13064:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13053:3:43", + "nodeType": "YulIdentifier", + "src": "13053:3:43" + }, + "nativeSrc": "13053:16:43", + "nodeType": "YulFunctionCall", + "src": "13053:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13047:5:43", + "nodeType": "YulIdentifier", + "src": "13047:5:43" + }, + "nativeSrc": "13047:23:43", + "nodeType": "YulFunctionCall", + "src": "13047:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13031:12:43", + "nodeType": "YulTypedName", + "src": "13031:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13117:12:43", + "nodeType": "YulIdentifier", + "src": "13117:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13135:3:43", + "nodeType": "YulIdentifier", + "src": "13135:3:43" + }, + { + "kind": "number", + "nativeSrc": "13140:4:43", + "nodeType": "YulLiteral", + "src": "13140:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13131:3:43", + "nodeType": "YulIdentifier", + "src": "13131:3:43" + }, + "nativeSrc": "13131:14:43", + "nodeType": "YulFunctionCall", + "src": "13131:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "13083:33:43", + "nodeType": "YulIdentifier", + "src": "13083:33:43" + }, + "nativeSrc": "13083:63:43", + "nodeType": "YulFunctionCall", + "src": "13083:63:43" + }, + "nativeSrc": "13083:63:43", + "nodeType": "YulExpressionStatement", + "src": "13083:63:43" + } + ] + }, + { + "nativeSrc": "13166:178:43", + "nodeType": "YulBlock", + "src": "13166:178:43", + "statements": [ + { + "nativeSrc": "13215:43:43", + "nodeType": "YulVariableDeclaration", + "src": "13215:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13245:5:43", + "nodeType": "YulIdentifier", + "src": "13245:5:43" + }, + { + "kind": "number", + "nativeSrc": "13252:4:43", + "nodeType": "YulLiteral", + "src": "13252:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13241:3:43", + "nodeType": "YulIdentifier", + "src": "13241:3:43" + }, + "nativeSrc": "13241:16:43", + "nodeType": "YulFunctionCall", + "src": "13241:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13235:5:43", + "nodeType": "YulIdentifier", + "src": "13235:5:43" + }, + "nativeSrc": "13235:23:43", + "nodeType": "YulFunctionCall", + "src": "13235:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13219:12:43", + "nodeType": "YulTypedName", + "src": "13219:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13305:12:43", + "nodeType": "YulIdentifier", + "src": "13305:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13323:3:43", + "nodeType": "YulIdentifier", + "src": "13323:3:43" + }, + { + "kind": "number", + "nativeSrc": "13328:4:43", + "nodeType": "YulLiteral", + "src": "13328:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13319:3:43", + "nodeType": "YulIdentifier", + "src": "13319:3:43" + }, + "nativeSrc": "13319:14:43", + "nodeType": "YulFunctionCall", + "src": "13319:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13271:33:43", + "nodeType": "YulIdentifier", + "src": "13271:33:43" + }, + "nativeSrc": "13271:63:43", + "nodeType": "YulFunctionCall", + "src": "13271:63:43" + }, + "nativeSrc": "13271:63:43", + "nodeType": "YulExpressionStatement", + "src": "13271:63:43" + } + ] + }, + { + "nativeSrc": "13354:177:43", + "nodeType": "YulBlock", + "src": "13354:177:43", + "statements": [ + { + "nativeSrc": "13402:43:43", + "nodeType": "YulVariableDeclaration", + "src": "13402:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13432:5:43", + "nodeType": "YulIdentifier", + "src": "13432:5:43" + }, + { + "kind": "number", + "nativeSrc": "13439:4:43", + "nodeType": "YulLiteral", + "src": "13439:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13428:3:43", + "nodeType": "YulIdentifier", + "src": "13428:3:43" + }, + "nativeSrc": "13428:16:43", + "nodeType": "YulFunctionCall", + "src": "13428:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13422:5:43", + "nodeType": "YulIdentifier", + "src": "13422:5:43" + }, + "nativeSrc": "13422:23:43", + "nodeType": "YulFunctionCall", + "src": "13422:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13406:12:43", + "nodeType": "YulTypedName", + "src": "13406:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13492:12:43", + "nodeType": "YulIdentifier", + "src": "13492:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13510:3:43", + "nodeType": "YulIdentifier", + "src": "13510:3:43" + }, + { + "kind": "number", + "nativeSrc": "13515:4:43", + "nodeType": "YulLiteral", + "src": "13515:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13506:3:43", + "nodeType": "YulIdentifier", + "src": "13506:3:43" + }, + "nativeSrc": "13506:14:43", + "nodeType": "YulFunctionCall", + "src": "13506:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13458:33:43", + "nodeType": "YulIdentifier", + "src": "13458:33:43" + }, + "nativeSrc": "13458:63:43", + "nodeType": "YulFunctionCall", + "src": "13458:63:43" + }, + "nativeSrc": "13458:63:43", + "nodeType": "YulExpressionStatement", + "src": "13458:63:43" + } + ] + }, + { + "nativeSrc": "13541:171:43", + "nodeType": "YulBlock", + "src": "13541:171:43", + "statements": [ + { + "nativeSrc": "13583:43:43", + "nodeType": "YulVariableDeclaration", + "src": "13583:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13613:5:43", + "nodeType": "YulIdentifier", + "src": "13613:5:43" + }, + { + "kind": "number", + "nativeSrc": "13620:4:43", + "nodeType": "YulLiteral", + "src": "13620:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13609:3:43", + "nodeType": "YulIdentifier", + "src": "13609:3:43" + }, + "nativeSrc": "13609:16:43", + "nodeType": "YulFunctionCall", + "src": "13609:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13603:5:43", + "nodeType": "YulIdentifier", + "src": "13603:5:43" + }, + "nativeSrc": "13603:23:43", + "nodeType": "YulFunctionCall", + "src": "13603:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13587:12:43", + "nodeType": "YulTypedName", + "src": "13587:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13673:12:43", + "nodeType": "YulIdentifier", + "src": "13673:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13691:3:43", + "nodeType": "YulIdentifier", + "src": "13691:3:43" + }, + { + "kind": "number", + "nativeSrc": "13696:4:43", + "nodeType": "YulLiteral", + "src": "13696:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13687:3:43", + "nodeType": "YulIdentifier", + "src": "13687:3:43" + }, + "nativeSrc": "13687:14:43", + "nodeType": "YulFunctionCall", + "src": "13687:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13639:33:43", + "nodeType": "YulIdentifier", + "src": "13639:33:43" + }, + "nativeSrc": "13639:63:43", + "nodeType": "YulFunctionCall", + "src": "13639:63:43" + }, + "nativeSrc": "13639:63:43", + "nodeType": "YulExpressionStatement", + "src": "13639:63:43" + } + ] + }, + { + "nativeSrc": "13722:174:43", + "nodeType": "YulBlock", + "src": "13722:174:43", + "statements": [ + { + "nativeSrc": "13767:43:43", + "nodeType": "YulVariableDeclaration", + "src": "13767:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13797:5:43", + "nodeType": "YulIdentifier", + "src": "13797:5:43" + }, + { + "kind": "number", + "nativeSrc": "13804:4:43", + "nodeType": "YulLiteral", + "src": "13804:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13793:3:43", + "nodeType": "YulIdentifier", + "src": "13793:3:43" + }, + "nativeSrc": "13793:16:43", + "nodeType": "YulFunctionCall", + "src": "13793:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13787:5:43", + "nodeType": "YulIdentifier", + "src": "13787:5:43" + }, + "nativeSrc": "13787:23:43", + "nodeType": "YulFunctionCall", + "src": "13787:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13771:12:43", + "nodeType": "YulTypedName", + "src": "13771:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "13857:12:43", + "nodeType": "YulIdentifier", + "src": "13857:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13875:3:43", + "nodeType": "YulIdentifier", + "src": "13875:3:43" + }, + { + "kind": "number", + "nativeSrc": "13880:4:43", + "nodeType": "YulLiteral", + "src": "13880:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13871:3:43", + "nodeType": "YulIdentifier", + "src": "13871:3:43" + }, + "nativeSrc": "13871:14:43", + "nodeType": "YulFunctionCall", + "src": "13871:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "13823:33:43", + "nodeType": "YulIdentifier", + "src": "13823:33:43" + }, + "nativeSrc": "13823:63:43", + "nodeType": "YulFunctionCall", + "src": "13823:63:43" + }, + "nativeSrc": "13823:63:43", + "nodeType": "YulExpressionStatement", + "src": "13823:63:43" + } + ] + }, + { + "nativeSrc": "13906:186:43", + "nodeType": "YulBlock", + "src": "13906:186:43", + "statements": [ + { + "nativeSrc": "13948:43:43", + "nodeType": "YulVariableDeclaration", + "src": "13948:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13978:5:43", + "nodeType": "YulIdentifier", + "src": "13978:5:43" + }, + { + "kind": "number", + "nativeSrc": "13985:4:43", + "nodeType": "YulLiteral", + "src": "13985:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13974:3:43", + "nodeType": "YulIdentifier", + "src": "13974:3:43" + }, + "nativeSrc": "13974:16:43", + "nodeType": "YulFunctionCall", + "src": "13974:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13968:5:43", + "nodeType": "YulIdentifier", + "src": "13968:5:43" + }, + "nativeSrc": "13968:23:43", + "nodeType": "YulFunctionCall", + "src": "13968:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "13952:12:43", + "nodeType": "YulTypedName", + "src": "13952:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "14053:12:43", + "nodeType": "YulIdentifier", + "src": "14053:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14071:3:43", + "nodeType": "YulIdentifier", + "src": "14071:3:43" + }, + { + "kind": "number", + "nativeSrc": "14076:4:43", + "nodeType": "YulLiteral", + "src": "14076:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14067:3:43", + "nodeType": "YulIdentifier", + "src": "14067:3:43" + }, + "nativeSrc": "14067:14:43", + "nodeType": "YulFunctionCall", + "src": "14067:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "14004:48:43", + "nodeType": "YulIdentifier", + "src": "14004:48:43" + }, + "nativeSrc": "14004:78:43", + "nodeType": "YulFunctionCall", + "src": "14004:78:43" + }, + "nativeSrc": "14004:78:43", + "nodeType": "YulExpressionStatement", + "src": "14004:78:43" + } + ] + }, + { + "nativeSrc": "14102:234:43", + "nodeType": "YulBlock", + "src": "14102:234:43", + "statements": [ + { + "nativeSrc": "14136:43:43", + "nodeType": "YulVariableDeclaration", + "src": "14136:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14166:5:43", + "nodeType": "YulIdentifier", + "src": "14166:5:43" + }, + { + "kind": "number", + "nativeSrc": "14173:4:43", + "nodeType": "YulLiteral", + "src": "14173:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14162:3:43", + "nodeType": "YulIdentifier", + "src": "14162:3:43" + }, + "nativeSrc": "14162:16:43", + "nodeType": "YulFunctionCall", + "src": "14162:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14156:5:43", + "nodeType": "YulIdentifier", + "src": "14156:5:43" + }, + "nativeSrc": "14156:23:43", + "nodeType": "YulFunctionCall", + "src": "14156:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "14140:12:43", + "nodeType": "YulTypedName", + "src": "14140:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14204:3:43", + "nodeType": "YulIdentifier", + "src": "14204:3:43" + }, + { + "kind": "number", + "nativeSrc": "14209:4:43", + "nodeType": "YulLiteral", + "src": "14209:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14200:3:43", + "nodeType": "YulIdentifier", + "src": "14200:3:43" + }, + "nativeSrc": "14200:14:43", + "nodeType": "YulFunctionCall", + "src": "14200:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14220:4:43", + "nodeType": "YulIdentifier", + "src": "14220:4:43" + }, + { + "name": "pos", + "nativeSrc": "14226:3:43", + "nodeType": "YulIdentifier", + "src": "14226:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14216:3:43", + "nodeType": "YulIdentifier", + "src": "14216:3:43" + }, + "nativeSrc": "14216:14:43", + "nodeType": "YulFunctionCall", + "src": "14216:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14193:6:43", + "nodeType": "YulIdentifier", + "src": "14193:6:43" + }, + "nativeSrc": "14193:38:43", + "nodeType": "YulFunctionCall", + "src": "14193:38:43" + }, + "nativeSrc": "14193:38:43", + "nodeType": "YulExpressionStatement", + "src": "14193:38:43" + }, + { + "nativeSrc": "14244:81:43", + "nodeType": "YulAssignment", + "src": "14244:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "14306:12:43", + "nodeType": "YulIdentifier", + "src": "14306:12:43" + }, + { + "name": "tail", + "nativeSrc": "14320:4:43", + "nodeType": "YulIdentifier", + "src": "14320:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "14252:53:43", + "nodeType": "YulIdentifier", + "src": "14252:53:43" + }, + "nativeSrc": "14252:73:43", + "nodeType": "YulFunctionCall", + "src": "14252:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14244:4:43", + "nodeType": "YulIdentifier", + "src": "14244:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "14346:11:43", + "nodeType": "YulAssignment", + "src": "14346:11:43", + "value": { + "name": "tail", + "nativeSrc": "14353:4:43", + "nodeType": "YulIdentifier", + "src": "14353:4:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "14346:3:43", + "nodeType": "YulIdentifier", + "src": "14346:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "12548:1815:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12661:5:43", + "nodeType": "YulTypedName", + "src": "12661:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "12668:3:43", + "nodeType": "YulTypedName", + "src": "12668:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "12677:3:43", + "nodeType": "YulTypedName", + "src": "12677:3:43", + "type": "" + } + ], + "src": "12548:1815:43" + }, + { + "body": { + "nativeSrc": "14527:235:43", + "nodeType": "YulBlock", + "src": "14527:235:43", + "statements": [ + { + "nativeSrc": "14537:26:43", + "nodeType": "YulAssignment", + "src": "14537:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14549:9:43", + "nodeType": "YulIdentifier", + "src": "14549:9:43" + }, + { + "kind": "number", + "nativeSrc": "14560:2:43", + "nodeType": "YulLiteral", + "src": "14560:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14545:3:43", + "nodeType": "YulIdentifier", + "src": "14545:3:43" + }, + "nativeSrc": "14545:18:43", + "nodeType": "YulFunctionCall", + "src": "14545:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14537:4:43", + "nodeType": "YulIdentifier", + "src": "14537:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14584:9:43", + "nodeType": "YulIdentifier", + "src": "14584:9:43" + }, + { + "kind": "number", + "nativeSrc": "14595:1:43", + "nodeType": "YulLiteral", + "src": "14595:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14580:3:43", + "nodeType": "YulIdentifier", + "src": "14580:3:43" + }, + "nativeSrc": "14580:17:43", + "nodeType": "YulFunctionCall", + "src": "14580:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14603:4:43", + "nodeType": "YulIdentifier", + "src": "14603:4:43" + }, + { + "name": "headStart", + "nativeSrc": "14609:9:43", + "nodeType": "YulIdentifier", + "src": "14609:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14599:3:43", + "nodeType": "YulIdentifier", + "src": "14599:3:43" + }, + "nativeSrc": "14599:20:43", + "nodeType": "YulFunctionCall", + "src": "14599:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14573:6:43", + "nodeType": "YulIdentifier", + "src": "14573:6:43" + }, + "nativeSrc": "14573:47:43", + "nodeType": "YulFunctionCall", + "src": "14573:47:43" + }, + "nativeSrc": "14573:47:43", + "nodeType": "YulExpressionStatement", + "src": "14573:47:43" + }, + { + "nativeSrc": "14629:126:43", + "nodeType": "YulAssignment", + "src": "14629:126:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14741:6:43", + "nodeType": "YulIdentifier", + "src": "14741:6:43" + }, + { + "name": "tail", + "nativeSrc": "14750:4:43", + "nodeType": "YulIdentifier", + "src": "14750:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "14637:103:43", + "nodeType": "YulIdentifier", + "src": "14637:103:43" + }, + "nativeSrc": "14637:118:43", + "nodeType": "YulFunctionCall", + "src": "14637:118:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14629:4:43", + "nodeType": "YulIdentifier", + "src": "14629:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed", + "nativeSrc": "14369:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14499:9:43", + "nodeType": "YulTypedName", + "src": "14499:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14511:6:43", + "nodeType": "YulTypedName", + "src": "14511:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14522:4:43", + "nodeType": "YulTypedName", + "src": "14522:4:43", + "type": "" + } + ], + "src": "14369:393:43" + }, + { + "body": { + "nativeSrc": "14813:32:43", + "nodeType": "YulBlock", + "src": "14813:32:43", + "statements": [ + { + "nativeSrc": "14823:16:43", + "nodeType": "YulAssignment", + "src": "14823:16:43", + "value": { + "name": "value", + "nativeSrc": "14834:5:43", + "nodeType": "YulIdentifier", + "src": "14834:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "14823:7:43", + "nodeType": "YulIdentifier", + "src": "14823:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "14768:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14795:5:43", + "nodeType": "YulTypedName", + "src": "14795:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "14805:7:43", + "nodeType": "YulTypedName", + "src": "14805:7:43", + "type": "" + } + ], + "src": "14768:77:43" + }, + { + "body": { + "nativeSrc": "14894:79:43", + "nodeType": "YulBlock", + "src": "14894:79:43", + "statements": [ + { + "body": { + "nativeSrc": "14951:16:43", + "nodeType": "YulBlock", + "src": "14951:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14960:1:43", + "nodeType": "YulLiteral", + "src": "14960:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14963:1:43", + "nodeType": "YulLiteral", + "src": "14963:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14953:6:43", + "nodeType": "YulIdentifier", + "src": "14953:6:43" + }, + "nativeSrc": "14953:12:43", + "nodeType": "YulFunctionCall", + "src": "14953:12:43" + }, + "nativeSrc": "14953:12:43", + "nodeType": "YulExpressionStatement", + "src": "14953:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14917:5:43", + "nodeType": "YulIdentifier", + "src": "14917:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14942:5:43", + "nodeType": "YulIdentifier", + "src": "14942:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "14924:17:43", + "nodeType": "YulIdentifier", + "src": "14924:17:43" + }, + "nativeSrc": "14924:24:43", + "nodeType": "YulFunctionCall", + "src": "14924:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "14914:2:43", + "nodeType": "YulIdentifier", + "src": "14914:2:43" + }, + "nativeSrc": "14914:35:43", + "nodeType": "YulFunctionCall", + "src": "14914:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "14907:6:43", + "nodeType": "YulIdentifier", + "src": "14907:6:43" + }, + "nativeSrc": "14907:43:43", + "nodeType": "YulFunctionCall", + "src": "14907:43:43" + }, + "nativeSrc": "14904:63:43", + "nodeType": "YulIf", + "src": "14904:63:43" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "14851:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14887:5:43", + "nodeType": "YulTypedName", + "src": "14887:5:43", + "type": "" + } + ], + "src": "14851:122:43" + }, + { + "body": { + "nativeSrc": "15031:87:43", + "nodeType": "YulBlock", + "src": "15031:87:43", + "statements": [ + { + "nativeSrc": "15041:29:43", + "nodeType": "YulAssignment", + "src": "15041:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15063:6:43", + "nodeType": "YulIdentifier", + "src": "15063:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15050:12:43", + "nodeType": "YulIdentifier", + "src": "15050:12:43" + }, + "nativeSrc": "15050:20:43", + "nodeType": "YulFunctionCall", + "src": "15050:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "15041:5:43", + "nodeType": "YulIdentifier", + "src": "15041:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15106:5:43", + "nodeType": "YulIdentifier", + "src": "15106:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "15079:26:43", + "nodeType": "YulIdentifier", + "src": "15079:26:43" + }, + "nativeSrc": "15079:33:43", + "nodeType": "YulFunctionCall", + "src": "15079:33:43" + }, + "nativeSrc": "15079:33:43", + "nodeType": "YulExpressionStatement", + "src": "15079:33:43" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "14979:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "15009:6:43", + "nodeType": "YulTypedName", + "src": "15009:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "15017:3:43", + "nodeType": "YulTypedName", + "src": "15017:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "15025:5:43", + "nodeType": "YulTypedName", + "src": "15025:5:43", + "type": "" + } + ], + "src": "14979:139:43" + }, + { + "body": { + "nativeSrc": "15207:391:43", + "nodeType": "YulBlock", + "src": "15207:391:43", + "statements": [ + { + "body": { + "nativeSrc": "15253:83:43", + "nodeType": "YulBlock", + "src": "15253:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "15255:77:43", + "nodeType": "YulIdentifier", + "src": "15255:77:43" + }, + "nativeSrc": "15255:79:43", + "nodeType": "YulFunctionCall", + "src": "15255:79:43" + }, + "nativeSrc": "15255:79:43", + "nodeType": "YulExpressionStatement", + "src": "15255:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "15228:7:43", + "nodeType": "YulIdentifier", + "src": "15228:7:43" + }, + { + "name": "headStart", + "nativeSrc": "15237:9:43", + "nodeType": "YulIdentifier", + "src": "15237:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15224:3:43", + "nodeType": "YulIdentifier", + "src": "15224:3:43" + }, + "nativeSrc": "15224:23:43", + "nodeType": "YulFunctionCall", + "src": "15224:23:43" + }, + { + "kind": "number", + "nativeSrc": "15249:2:43", + "nodeType": "YulLiteral", + "src": "15249:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "15220:3:43", + "nodeType": "YulIdentifier", + "src": "15220:3:43" + }, + "nativeSrc": "15220:32:43", + "nodeType": "YulFunctionCall", + "src": "15220:32:43" + }, + "nativeSrc": "15217:119:43", + "nodeType": "YulIf", + "src": "15217:119:43" + }, + { + "nativeSrc": "15346:117:43", + "nodeType": "YulBlock", + "src": "15346:117:43", + "statements": [ + { + "nativeSrc": "15361:15:43", + "nodeType": "YulVariableDeclaration", + "src": "15361:15:43", + "value": { + "kind": "number", + "nativeSrc": "15375:1:43", + "nodeType": "YulLiteral", + "src": "15375:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15365:6:43", + "nodeType": "YulTypedName", + "src": "15365:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "15390:63:43", + "nodeType": "YulAssignment", + "src": "15390:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15425:9:43", + "nodeType": "YulIdentifier", + "src": "15425:9:43" + }, + { + "name": "offset", + "nativeSrc": "15436:6:43", + "nodeType": "YulIdentifier", + "src": "15436:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15421:3:43", + "nodeType": "YulIdentifier", + "src": "15421:3:43" + }, + "nativeSrc": "15421:22:43", + "nodeType": "YulFunctionCall", + "src": "15421:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "15445:7:43", + "nodeType": "YulIdentifier", + "src": "15445:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "15400:20:43", + "nodeType": "YulIdentifier", + "src": "15400:20:43" + }, + "nativeSrc": "15400:53:43", + "nodeType": "YulFunctionCall", + "src": "15400:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "15390:6:43", + "nodeType": "YulIdentifier", + "src": "15390:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "15473:118:43", + "nodeType": "YulBlock", + "src": "15473:118:43", + "statements": [ + { + "nativeSrc": "15488:16:43", + "nodeType": "YulVariableDeclaration", + "src": "15488:16:43", + "value": { + "kind": "number", + "nativeSrc": "15502:2:43", + "nodeType": "YulLiteral", + "src": "15502:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15492:6:43", + "nodeType": "YulTypedName", + "src": "15492:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "15518:63:43", + "nodeType": "YulAssignment", + "src": "15518:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15553:9:43", + "nodeType": "YulIdentifier", + "src": "15553:9:43" + }, + { + "name": "offset", + "nativeSrc": "15564:6:43", + "nodeType": "YulIdentifier", + "src": "15564:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15549:3:43", + "nodeType": "YulIdentifier", + "src": "15549:3:43" + }, + "nativeSrc": "15549:22:43", + "nodeType": "YulFunctionCall", + "src": "15549:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "15573:7:43", + "nodeType": "YulIdentifier", + "src": "15573:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "15528:20:43", + "nodeType": "YulIdentifier", + "src": "15528:20:43" + }, + "nativeSrc": "15528:53:43", + "nodeType": "YulFunctionCall", + "src": "15528:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "15518:6:43", + "nodeType": "YulIdentifier", + "src": "15518:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32", + "nativeSrc": "15124:474:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15169:9:43", + "nodeType": "YulTypedName", + "src": "15169:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "15180:7:43", + "nodeType": "YulTypedName", + "src": "15180:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "15192:6:43", + "nodeType": "YulTypedName", + "src": "15192:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15200:6:43", + "nodeType": "YulTypedName", + "src": "15200:6:43", + "type": "" + } + ], + "src": "15124:474:43" + }, + { + "body": { + "nativeSrc": "15782:1205:43", + "nodeType": "YulBlock", + "src": "15782:1205:43", + "statements": [ + { + "body": { + "nativeSrc": "15829:83:43", + "nodeType": "YulBlock", + "src": "15829:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "15831:77:43", + "nodeType": "YulIdentifier", + "src": "15831:77:43" + }, + "nativeSrc": "15831:79:43", + "nodeType": "YulFunctionCall", + "src": "15831:79:43" + }, + "nativeSrc": "15831:79:43", + "nodeType": "YulExpressionStatement", + "src": "15831:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "15803:7:43", + "nodeType": "YulIdentifier", + "src": "15803:7:43" + }, + { + "name": "headStart", + "nativeSrc": "15812:9:43", + "nodeType": "YulIdentifier", + "src": "15812:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15799:3:43", + "nodeType": "YulIdentifier", + "src": "15799:3:43" + }, + "nativeSrc": "15799:23:43", + "nodeType": "YulFunctionCall", + "src": "15799:23:43" + }, + { + "kind": "number", + "nativeSrc": "15824:3:43", + "nodeType": "YulLiteral", + "src": "15824:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "15795:3:43", + "nodeType": "YulIdentifier", + "src": "15795:3:43" + }, + "nativeSrc": "15795:33:43", + "nodeType": "YulFunctionCall", + "src": "15795:33:43" + }, + "nativeSrc": "15792:120:43", + "nodeType": "YulIf", + "src": "15792:120:43" + }, + { + "nativeSrc": "15922:287:43", + "nodeType": "YulBlock", + "src": "15922:287:43", + "statements": [ + { + "nativeSrc": "15937:45:43", + "nodeType": "YulVariableDeclaration", + "src": "15937:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15968:9:43", + "nodeType": "YulIdentifier", + "src": "15968:9:43" + }, + { + "kind": "number", + "nativeSrc": "15979:1:43", + "nodeType": "YulLiteral", + "src": "15979:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15964:3:43", + "nodeType": "YulIdentifier", + "src": "15964:3:43" + }, + "nativeSrc": "15964:17:43", + "nodeType": "YulFunctionCall", + "src": "15964:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15951:12:43", + "nodeType": "YulIdentifier", + "src": "15951:12:43" + }, + "nativeSrc": "15951:31:43", + "nodeType": "YulFunctionCall", + "src": "15951:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15941:6:43", + "nodeType": "YulTypedName", + "src": "15941:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16029:83:43", + "nodeType": "YulBlock", + "src": "16029:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "16031:77:43", + "nodeType": "YulIdentifier", + "src": "16031:77:43" + }, + "nativeSrc": "16031:79:43", + "nodeType": "YulFunctionCall", + "src": "16031:79:43" + }, + "nativeSrc": "16031:79:43", + "nodeType": "YulExpressionStatement", + "src": "16031:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "16001:6:43", + "nodeType": "YulIdentifier", + "src": "16001:6:43" + }, + { + "kind": "number", + "nativeSrc": "16009:18:43", + "nodeType": "YulLiteral", + "src": "16009:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15998:2:43", + "nodeType": "YulIdentifier", + "src": "15998:2:43" + }, + "nativeSrc": "15998:30:43", + "nodeType": "YulFunctionCall", + "src": "15998:30:43" + }, + "nativeSrc": "15995:117:43", + "nodeType": "YulIf", + "src": "15995:117:43" + }, + { + "nativeSrc": "16126:73:43", + "nodeType": "YulAssignment", + "src": "16126:73:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16171:9:43", + "nodeType": "YulIdentifier", + "src": "16171:9:43" + }, + { + "name": "offset", + "nativeSrc": "16182:6:43", + "nodeType": "YulIdentifier", + "src": "16182:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16167:3:43", + "nodeType": "YulIdentifier", + "src": "16167:3:43" + }, + "nativeSrc": "16167:22:43", + "nodeType": "YulFunctionCall", + "src": "16167:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16191:7:43", + "nodeType": "YulIdentifier", + "src": "16191:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "16136:30:43", + "nodeType": "YulIdentifier", + "src": "16136:30:43" + }, + "nativeSrc": "16136:63:43", + "nodeType": "YulFunctionCall", + "src": "16136:63:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "16126:6:43", + "nodeType": "YulIdentifier", + "src": "16126:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "16219:118:43", + "nodeType": "YulBlock", + "src": "16219:118:43", + "statements": [ + { + "nativeSrc": "16234:16:43", + "nodeType": "YulVariableDeclaration", + "src": "16234:16:43", + "value": { + "kind": "number", + "nativeSrc": "16248:2:43", + "nodeType": "YulLiteral", + "src": "16248:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16238:6:43", + "nodeType": "YulTypedName", + "src": "16238:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16264:63:43", + "nodeType": "YulAssignment", + "src": "16264:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16299:9:43", + "nodeType": "YulIdentifier", + "src": "16299:9:43" + }, + { + "name": "offset", + "nativeSrc": "16310:6:43", + "nodeType": "YulIdentifier", + "src": "16310:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16295:3:43", + "nodeType": "YulIdentifier", + "src": "16295:3:43" + }, + "nativeSrc": "16295:22:43", + "nodeType": "YulFunctionCall", + "src": "16295:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16319:7:43", + "nodeType": "YulIdentifier", + "src": "16319:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "16274:20:43", + "nodeType": "YulIdentifier", + "src": "16274:20:43" + }, + "nativeSrc": "16274:53:43", + "nodeType": "YulFunctionCall", + "src": "16274:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "16264:6:43", + "nodeType": "YulIdentifier", + "src": "16264:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "16347:118:43", + "nodeType": "YulBlock", + "src": "16347:118:43", + "statements": [ + { + "nativeSrc": "16362:16:43", + "nodeType": "YulVariableDeclaration", + "src": "16362:16:43", + "value": { + "kind": "number", + "nativeSrc": "16376:2:43", + "nodeType": "YulLiteral", + "src": "16376:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16366:6:43", + "nodeType": "YulTypedName", + "src": "16366:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16392:63:43", + "nodeType": "YulAssignment", + "src": "16392:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16427:9:43", + "nodeType": "YulIdentifier", + "src": "16427:9:43" + }, + { + "name": "offset", + "nativeSrc": "16438:6:43", + "nodeType": "YulIdentifier", + "src": "16438:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16423:3:43", + "nodeType": "YulIdentifier", + "src": "16423:3:43" + }, + "nativeSrc": "16423:22:43", + "nodeType": "YulFunctionCall", + "src": "16423:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16447:7:43", + "nodeType": "YulIdentifier", + "src": "16447:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16402:20:43", + "nodeType": "YulIdentifier", + "src": "16402:20:43" + }, + "nativeSrc": "16402:53:43", + "nodeType": "YulFunctionCall", + "src": "16402:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "16392:6:43", + "nodeType": "YulIdentifier", + "src": "16392:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "16475:118:43", + "nodeType": "YulBlock", + "src": "16475:118:43", + "statements": [ + { + "nativeSrc": "16490:16:43", + "nodeType": "YulVariableDeclaration", + "src": "16490:16:43", + "value": { + "kind": "number", + "nativeSrc": "16504:2:43", + "nodeType": "YulLiteral", + "src": "16504:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16494:6:43", + "nodeType": "YulTypedName", + "src": "16494:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16520:63:43", + "nodeType": "YulAssignment", + "src": "16520:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16555:9:43", + "nodeType": "YulIdentifier", + "src": "16555:9:43" + }, + { + "name": "offset", + "nativeSrc": "16566:6:43", + "nodeType": "YulIdentifier", + "src": "16566:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16551:3:43", + "nodeType": "YulIdentifier", + "src": "16551:3:43" + }, + "nativeSrc": "16551:22:43", + "nodeType": "YulFunctionCall", + "src": "16551:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16575:7:43", + "nodeType": "YulIdentifier", + "src": "16575:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16530:20:43", + "nodeType": "YulIdentifier", + "src": "16530:20:43" + }, + "nativeSrc": "16530:53:43", + "nodeType": "YulFunctionCall", + "src": "16530:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "16520:6:43", + "nodeType": "YulIdentifier", + "src": "16520:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "16603:119:43", + "nodeType": "YulBlock", + "src": "16603:119:43", + "statements": [ + { + "nativeSrc": "16618:17:43", + "nodeType": "YulVariableDeclaration", + "src": "16618:17:43", + "value": { + "kind": "number", + "nativeSrc": "16632:3:43", + "nodeType": "YulLiteral", + "src": "16632:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16622:6:43", + "nodeType": "YulTypedName", + "src": "16622:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16649:63:43", + "nodeType": "YulAssignment", + "src": "16649:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16684:9:43", + "nodeType": "YulIdentifier", + "src": "16684:9:43" + }, + { + "name": "offset", + "nativeSrc": "16695:6:43", + "nodeType": "YulIdentifier", + "src": "16695:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16680:3:43", + "nodeType": "YulIdentifier", + "src": "16680:3:43" + }, + "nativeSrc": "16680:22:43", + "nodeType": "YulFunctionCall", + "src": "16680:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16704:7:43", + "nodeType": "YulIdentifier", + "src": "16704:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16659:20:43", + "nodeType": "YulIdentifier", + "src": "16659:20:43" + }, + "nativeSrc": "16659:53:43", + "nodeType": "YulFunctionCall", + "src": "16659:53:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "16649:6:43", + "nodeType": "YulIdentifier", + "src": "16649:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "16732:119:43", + "nodeType": "YulBlock", + "src": "16732:119:43", + "statements": [ + { + "nativeSrc": "16747:17:43", + "nodeType": "YulVariableDeclaration", + "src": "16747:17:43", + "value": { + "kind": "number", + "nativeSrc": "16761:3:43", + "nodeType": "YulLiteral", + "src": "16761:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16751:6:43", + "nodeType": "YulTypedName", + "src": "16751:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16778:63:43", + "nodeType": "YulAssignment", + "src": "16778:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16813:9:43", + "nodeType": "YulIdentifier", + "src": "16813:9:43" + }, + { + "name": "offset", + "nativeSrc": "16824:6:43", + "nodeType": "YulIdentifier", + "src": "16824:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16809:3:43", + "nodeType": "YulIdentifier", + "src": "16809:3:43" + }, + "nativeSrc": "16809:22:43", + "nodeType": "YulFunctionCall", + "src": "16809:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16833:7:43", + "nodeType": "YulIdentifier", + "src": "16833:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16788:20:43", + "nodeType": "YulIdentifier", + "src": "16788:20:43" + }, + "nativeSrc": "16788:53:43", + "nodeType": "YulFunctionCall", + "src": "16788:53:43" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "16778:6:43", + "nodeType": "YulIdentifier", + "src": "16778:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "16861:119:43", + "nodeType": "YulBlock", + "src": "16861:119:43", + "statements": [ + { + "nativeSrc": "16876:17:43", + "nodeType": "YulVariableDeclaration", + "src": "16876:17:43", + "value": { + "kind": "number", + "nativeSrc": "16890:3:43", + "nodeType": "YulLiteral", + "src": "16890:3:43", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "16880:6:43", + "nodeType": "YulTypedName", + "src": "16880:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16907:63:43", + "nodeType": "YulAssignment", + "src": "16907:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16942:9:43", + "nodeType": "YulIdentifier", + "src": "16942:9:43" + }, + { + "name": "offset", + "nativeSrc": "16953:6:43", + "nodeType": "YulIdentifier", + "src": "16953:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16938:3:43", + "nodeType": "YulIdentifier", + "src": "16938:3:43" + }, + "nativeSrc": "16938:22:43", + "nodeType": "YulFunctionCall", + "src": "16938:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "16962:7:43", + "nodeType": "YulIdentifier", + "src": "16962:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "16917:20:43", + "nodeType": "YulIdentifier", + "src": "16917:20:43" + }, + "nativeSrc": "16917:53:43", + "nodeType": "YulFunctionCall", + "src": "16917:53:43" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "16907:6:43", + "nodeType": "YulIdentifier", + "src": "16907:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256", + "nativeSrc": "15604:1383:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15704:9:43", + "nodeType": "YulTypedName", + "src": "15704:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "15715:7:43", + "nodeType": "YulTypedName", + "src": "15715:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "15727:6:43", + "nodeType": "YulTypedName", + "src": "15727:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15735:6:43", + "nodeType": "YulTypedName", + "src": "15735:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "15743:6:43", + "nodeType": "YulTypedName", + "src": "15743:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "15751:6:43", + "nodeType": "YulTypedName", + "src": "15751:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "15759:6:43", + "nodeType": "YulTypedName", + "src": "15759:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "15767:6:43", + "nodeType": "YulTypedName", + "src": "15767:6:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "15775:6:43", + "nodeType": "YulTypedName", + "src": "15775:6:43", + "type": "" + } + ], + "src": "15604:1383:43" + }, + { + "body": { + "nativeSrc": "17082:28:43", + "nodeType": "YulBlock", + "src": "17082:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "17099:1:43", + "nodeType": "YulLiteral", + "src": "17099:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "17102:1:43", + "nodeType": "YulLiteral", + "src": "17102:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "17092:6:43", + "nodeType": "YulIdentifier", + "src": "17092:6:43" + }, + "nativeSrc": "17092:12:43", + "nodeType": "YulFunctionCall", + "src": "17092:12:43" + }, + "nativeSrc": "17092:12:43", + "nodeType": "YulExpressionStatement", + "src": "17092:12:43" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "16993:117:43", + "nodeType": "YulFunctionDefinition", + "src": "16993:117:43" + }, + { + "body": { + "nativeSrc": "17223:478:43", + "nodeType": "YulBlock", + "src": "17223:478:43", + "statements": [ + { + "body": { + "nativeSrc": "17272:83:43", + "nodeType": "YulBlock", + "src": "17272:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "17274:77:43", + "nodeType": "YulIdentifier", + "src": "17274:77:43" + }, + "nativeSrc": "17274:79:43", + "nodeType": "YulFunctionCall", + "src": "17274:79:43" + }, + "nativeSrc": "17274:79:43", + "nodeType": "YulExpressionStatement", + "src": "17274:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17251:6:43", + "nodeType": "YulIdentifier", + "src": "17251:6:43" + }, + { + "kind": "number", + "nativeSrc": "17259:4:43", + "nodeType": "YulLiteral", + "src": "17259:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17247:3:43", + "nodeType": "YulIdentifier", + "src": "17247:3:43" + }, + "nativeSrc": "17247:17:43", + "nodeType": "YulFunctionCall", + "src": "17247:17:43" + }, + { + "name": "end", + "nativeSrc": "17266:3:43", + "nodeType": "YulIdentifier", + "src": "17266:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17243:3:43", + "nodeType": "YulIdentifier", + "src": "17243:3:43" + }, + "nativeSrc": "17243:27:43", + "nodeType": "YulFunctionCall", + "src": "17243:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "17236:6:43", + "nodeType": "YulIdentifier", + "src": "17236:6:43" + }, + "nativeSrc": "17236:35:43", + "nodeType": "YulFunctionCall", + "src": "17236:35:43" + }, + "nativeSrc": "17233:122:43", + "nodeType": "YulIf", + "src": "17233:122:43" + }, + { + "nativeSrc": "17364:30:43", + "nodeType": "YulAssignment", + "src": "17364:30:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17387:6:43", + "nodeType": "YulIdentifier", + "src": "17387:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "17374:12:43", + "nodeType": "YulIdentifier", + "src": "17374:12:43" + }, + "nativeSrc": "17374:20:43", + "nodeType": "YulFunctionCall", + "src": "17374:20:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "17364:6:43", + "nodeType": "YulIdentifier", + "src": "17364:6:43" + } + ] + }, + { + "body": { + "nativeSrc": "17437:83:43", + "nodeType": "YulBlock", + "src": "17437:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "17439:77:43", + "nodeType": "YulIdentifier", + "src": "17439:77:43" + }, + "nativeSrc": "17439:79:43", + "nodeType": "YulFunctionCall", + "src": "17439:79:43" + }, + "nativeSrc": "17439:79:43", + "nodeType": "YulExpressionStatement", + "src": "17439:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "17409:6:43", + "nodeType": "YulIdentifier", + "src": "17409:6:43" + }, + { + "kind": "number", + "nativeSrc": "17417:18:43", + "nodeType": "YulLiteral", + "src": "17417:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17406:2:43", + "nodeType": "YulIdentifier", + "src": "17406:2:43" + }, + "nativeSrc": "17406:30:43", + "nodeType": "YulFunctionCall", + "src": "17406:30:43" + }, + "nativeSrc": "17403:117:43", + "nodeType": "YulIf", + "src": "17403:117:43" + }, + { + "nativeSrc": "17529:29:43", + "nodeType": "YulAssignment", + "src": "17529:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17545:6:43", + "nodeType": "YulIdentifier", + "src": "17545:6:43" + }, + { + "kind": "number", + "nativeSrc": "17553:4:43", + "nodeType": "YulLiteral", + "src": "17553:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17541:3:43", + "nodeType": "YulIdentifier", + "src": "17541:3:43" + }, + "nativeSrc": "17541:17:43", + "nodeType": "YulFunctionCall", + "src": "17541:17:43" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "17529:8:43", + "nodeType": "YulIdentifier", + "src": "17529:8:43" + } + ] + }, + { + "body": { + "nativeSrc": "17612:83:43", + "nodeType": "YulBlock", + "src": "17612:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "17614:77:43", + "nodeType": "YulIdentifier", + "src": "17614:77:43" + }, + "nativeSrc": "17614:79:43", + "nodeType": "YulFunctionCall", + "src": "17614:79:43" + }, + "nativeSrc": "17614:79:43", + "nodeType": "YulExpressionStatement", + "src": "17614:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "17577:8:43", + "nodeType": "YulIdentifier", + "src": "17577:8:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "17591:6:43", + "nodeType": "YulIdentifier", + "src": "17591:6:43" + }, + { + "kind": "number", + "nativeSrc": "17599:4:43", + "nodeType": "YulLiteral", + "src": "17599:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "17587:3:43", + "nodeType": "YulIdentifier", + "src": "17587:3:43" + }, + "nativeSrc": "17587:17:43", + "nodeType": "YulFunctionCall", + "src": "17587:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17573:3:43", + "nodeType": "YulIdentifier", + "src": "17573:3:43" + }, + "nativeSrc": "17573:32:43", + "nodeType": "YulFunctionCall", + "src": "17573:32:43" + }, + { + "name": "end", + "nativeSrc": "17607:3:43", + "nodeType": "YulIdentifier", + "src": "17607:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17570:2:43", + "nodeType": "YulIdentifier", + "src": "17570:2:43" + }, + "nativeSrc": "17570:41:43", + "nodeType": "YulFunctionCall", + "src": "17570:41:43" + }, + "nativeSrc": "17567:128:43", + "nodeType": "YulIf", + "src": "17567:128:43" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "17133:568:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "17190:6:43", + "nodeType": "YulTypedName", + "src": "17190:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "17198:3:43", + "nodeType": "YulTypedName", + "src": "17198:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "17206:8:43", + "nodeType": "YulTypedName", + "src": "17206:8:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "17216:6:43", + "nodeType": "YulTypedName", + "src": "17216:6:43", + "type": "" + } + ], + "src": "17133:568:43" + }, + { + "body": { + "nativeSrc": "17859:843:43", + "nodeType": "YulBlock", + "src": "17859:843:43", + "statements": [ + { + "body": { + "nativeSrc": "17906:83:43", + "nodeType": "YulBlock", + "src": "17906:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "17908:77:43", + "nodeType": "YulIdentifier", + "src": "17908:77:43" + }, + "nativeSrc": "17908:79:43", + "nodeType": "YulFunctionCall", + "src": "17908:79:43" + }, + "nativeSrc": "17908:79:43", + "nodeType": "YulExpressionStatement", + "src": "17908:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "17880:7:43", + "nodeType": "YulIdentifier", + "src": "17880:7:43" + }, + { + "name": "headStart", + "nativeSrc": "17889:9:43", + "nodeType": "YulIdentifier", + "src": "17889:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17876:3:43", + "nodeType": "YulIdentifier", + "src": "17876:3:43" + }, + "nativeSrc": "17876:23:43", + "nodeType": "YulFunctionCall", + "src": "17876:23:43" + }, + { + "kind": "number", + "nativeSrc": "17901:3:43", + "nodeType": "YulLiteral", + "src": "17901:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17872:3:43", + "nodeType": "YulIdentifier", + "src": "17872:3:43" + }, + "nativeSrc": "17872:33:43", + "nodeType": "YulFunctionCall", + "src": "17872:33:43" + }, + "nativeSrc": "17869:120:43", + "nodeType": "YulIf", + "src": "17869:120:43" + }, + { + "nativeSrc": "17999:117:43", + "nodeType": "YulBlock", + "src": "17999:117:43", + "statements": [ + { + "nativeSrc": "18014:15:43", + "nodeType": "YulVariableDeclaration", + "src": "18014:15:43", + "value": { + "kind": "number", + "nativeSrc": "18028:1:43", + "nodeType": "YulLiteral", + "src": "18028:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18018:6:43", + "nodeType": "YulTypedName", + "src": "18018:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "18043:63:43", + "nodeType": "YulAssignment", + "src": "18043:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18078:9:43", + "nodeType": "YulIdentifier", + "src": "18078:9:43" + }, + { + "name": "offset", + "nativeSrc": "18089:6:43", + "nodeType": "YulIdentifier", + "src": "18089:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18074:3:43", + "nodeType": "YulIdentifier", + "src": "18074:3:43" + }, + "nativeSrc": "18074:22:43", + "nodeType": "YulFunctionCall", + "src": "18074:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "18098:7:43", + "nodeType": "YulIdentifier", + "src": "18098:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "18053:20:43", + "nodeType": "YulIdentifier", + "src": "18053:20:43" + }, + "nativeSrc": "18053:53:43", + "nodeType": "YulFunctionCall", + "src": "18053:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "18043:6:43", + "nodeType": "YulIdentifier", + "src": "18043:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "18126:118:43", + "nodeType": "YulBlock", + "src": "18126:118:43", + "statements": [ + { + "nativeSrc": "18141:16:43", + "nodeType": "YulVariableDeclaration", + "src": "18141:16:43", + "value": { + "kind": "number", + "nativeSrc": "18155:2:43", + "nodeType": "YulLiteral", + "src": "18155:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18145:6:43", + "nodeType": "YulTypedName", + "src": "18145:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "18171:63:43", + "nodeType": "YulAssignment", + "src": "18171:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18206:9:43", + "nodeType": "YulIdentifier", + "src": "18206:9:43" + }, + { + "name": "offset", + "nativeSrc": "18217:6:43", + "nodeType": "YulIdentifier", + "src": "18217:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18202:3:43", + "nodeType": "YulIdentifier", + "src": "18202:3:43" + }, + "nativeSrc": "18202:22:43", + "nodeType": "YulFunctionCall", + "src": "18202:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "18226:7:43", + "nodeType": "YulIdentifier", + "src": "18226:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "18181:20:43", + "nodeType": "YulIdentifier", + "src": "18181:20:43" + }, + "nativeSrc": "18181:53:43", + "nodeType": "YulFunctionCall", + "src": "18181:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "18171:6:43", + "nodeType": "YulIdentifier", + "src": "18171:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "18254:118:43", + "nodeType": "YulBlock", + "src": "18254:118:43", + "statements": [ + { + "nativeSrc": "18269:16:43", + "nodeType": "YulVariableDeclaration", + "src": "18269:16:43", + "value": { + "kind": "number", + "nativeSrc": "18283:2:43", + "nodeType": "YulLiteral", + "src": "18283:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18273:6:43", + "nodeType": "YulTypedName", + "src": "18273:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "18299:63:43", + "nodeType": "YulAssignment", + "src": "18299:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18334:9:43", + "nodeType": "YulIdentifier", + "src": "18334:9:43" + }, + { + "name": "offset", + "nativeSrc": "18345:6:43", + "nodeType": "YulIdentifier", + "src": "18345:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18330:3:43", + "nodeType": "YulIdentifier", + "src": "18330:3:43" + }, + "nativeSrc": "18330:22:43", + "nodeType": "YulFunctionCall", + "src": "18330:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "18354:7:43", + "nodeType": "YulIdentifier", + "src": "18354:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "18309:20:43", + "nodeType": "YulIdentifier", + "src": "18309:20:43" + }, + "nativeSrc": "18309:53:43", + "nodeType": "YulFunctionCall", + "src": "18309:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "18299:6:43", + "nodeType": "YulIdentifier", + "src": "18299:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "18382:313:43", + "nodeType": "YulBlock", + "src": "18382:313:43", + "statements": [ + { + "nativeSrc": "18397:46:43", + "nodeType": "YulVariableDeclaration", + "src": "18397:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18428:9:43", + "nodeType": "YulIdentifier", + "src": "18428:9:43" + }, + { + "kind": "number", + "nativeSrc": "18439:2:43", + "nodeType": "YulLiteral", + "src": "18439:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18424:3:43", + "nodeType": "YulIdentifier", + "src": "18424:3:43" + }, + "nativeSrc": "18424:18:43", + "nodeType": "YulFunctionCall", + "src": "18424:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "18411:12:43", + "nodeType": "YulIdentifier", + "src": "18411:12:43" + }, + "nativeSrc": "18411:32:43", + "nodeType": "YulFunctionCall", + "src": "18411:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18401:6:43", + "nodeType": "YulTypedName", + "src": "18401:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "18490:83:43", + "nodeType": "YulBlock", + "src": "18490:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "18492:77:43", + "nodeType": "YulIdentifier", + "src": "18492:77:43" + }, + "nativeSrc": "18492:79:43", + "nodeType": "YulFunctionCall", + "src": "18492:79:43" + }, + "nativeSrc": "18492:79:43", + "nodeType": "YulExpressionStatement", + "src": "18492:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "18462:6:43", + "nodeType": "YulIdentifier", + "src": "18462:6:43" + }, + { + "kind": "number", + "nativeSrc": "18470:18:43", + "nodeType": "YulLiteral", + "src": "18470:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "18459:2:43", + "nodeType": "YulIdentifier", + "src": "18459:2:43" + }, + "nativeSrc": "18459:30:43", + "nodeType": "YulFunctionCall", + "src": "18459:30:43" + }, + "nativeSrc": "18456:117:43", + "nodeType": "YulIf", + "src": "18456:117:43" + }, + { + "nativeSrc": "18587:98:43", + "nodeType": "YulAssignment", + "src": "18587:98:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18657:9:43", + "nodeType": "YulIdentifier", + "src": "18657:9:43" + }, + { + "name": "offset", + "nativeSrc": "18668:6:43", + "nodeType": "YulIdentifier", + "src": "18668:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18653:3:43", + "nodeType": "YulIdentifier", + "src": "18653:3:43" + }, + "nativeSrc": "18653:22:43", + "nodeType": "YulFunctionCall", + "src": "18653:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "18677:7:43", + "nodeType": "YulIdentifier", + "src": "18677:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "18605:47:43", + "nodeType": "YulIdentifier", + "src": "18605:47:43" + }, + "nativeSrc": "18605:80:43", + "nodeType": "YulFunctionCall", + "src": "18605:80:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "18587:6:43", + "nodeType": "YulIdentifier", + "src": "18587:6:43" + }, + { + "name": "value4", + "nativeSrc": "18595:6:43", + "nodeType": "YulIdentifier", + "src": "18595:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "17707:995:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17797:9:43", + "nodeType": "YulTypedName", + "src": "17797:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "17808:7:43", + "nodeType": "YulTypedName", + "src": "17808:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "17820:6:43", + "nodeType": "YulTypedName", + "src": "17820:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "17828:6:43", + "nodeType": "YulTypedName", + "src": "17828:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "17836:6:43", + "nodeType": "YulTypedName", + "src": "17836:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "17844:6:43", + "nodeType": "YulTypedName", + "src": "17844:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "17852:6:43", + "nodeType": "YulTypedName", + "src": "17852:6:43", + "type": "" + } + ], + "src": "17707:995:43" + }, + { + "body": { + "nativeSrc": "18804:73:43", + "nodeType": "YulBlock", + "src": "18804:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18821:3:43", + "nodeType": "YulIdentifier", + "src": "18821:3:43" + }, + { + "name": "length", + "nativeSrc": "18826:6:43", + "nodeType": "YulIdentifier", + "src": "18826:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18814:6:43", + "nodeType": "YulIdentifier", + "src": "18814:6:43" + }, + "nativeSrc": "18814:19:43", + "nodeType": "YulFunctionCall", + "src": "18814:19:43" + }, + "nativeSrc": "18814:19:43", + "nodeType": "YulExpressionStatement", + "src": "18814:19:43" + }, + { + "nativeSrc": "18842:29:43", + "nodeType": "YulAssignment", + "src": "18842:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18861:3:43", + "nodeType": "YulIdentifier", + "src": "18861:3:43" + }, + { + "kind": "number", + "nativeSrc": "18866:4:43", + "nodeType": "YulLiteral", + "src": "18866:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18857:3:43", + "nodeType": "YulIdentifier", + "src": "18857:3:43" + }, + "nativeSrc": "18857:14:43", + "nodeType": "YulFunctionCall", + "src": "18857:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "18842:11:43", + "nodeType": "YulIdentifier", + "src": "18842:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "18708:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18776:3:43", + "nodeType": "YulTypedName", + "src": "18776:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "18781:6:43", + "nodeType": "YulTypedName", + "src": "18781:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "18792:11:43", + "nodeType": "YulTypedName", + "src": "18792:11:43", + "type": "" + } + ], + "src": "18708:169:43" + }, + { + "body": { + "nativeSrc": "18975:285:43", + "nodeType": "YulBlock", + "src": "18975:285:43", + "statements": [ + { + "nativeSrc": "18985:53:43", + "nodeType": "YulVariableDeclaration", + "src": "18985:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "19032:5:43", + "nodeType": "YulIdentifier", + "src": "19032:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "18999:32:43", + "nodeType": "YulIdentifier", + "src": "18999:32:43" + }, + "nativeSrc": "18999:39:43", + "nodeType": "YulFunctionCall", + "src": "18999:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "18989:6:43", + "nodeType": "YulTypedName", + "src": "18989:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "19047:78:43", + "nodeType": "YulAssignment", + "src": "19047:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19113:3:43", + "nodeType": "YulIdentifier", + "src": "19113:3:43" + }, + { + "name": "length", + "nativeSrc": "19118:6:43", + "nodeType": "YulIdentifier", + "src": "19118:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19054:58:43", + "nodeType": "YulIdentifier", + "src": "19054:58:43" + }, + "nativeSrc": "19054:71:43", + "nodeType": "YulFunctionCall", + "src": "19054:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19047:3:43", + "nodeType": "YulIdentifier", + "src": "19047:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "19173:5:43", + "nodeType": "YulIdentifier", + "src": "19173:5:43" + }, + { + "kind": "number", + "nativeSrc": "19180:4:43", + "nodeType": "YulLiteral", + "src": "19180:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19169:3:43", + "nodeType": "YulIdentifier", + "src": "19169:3:43" + }, + "nativeSrc": "19169:16:43", + "nodeType": "YulFunctionCall", + "src": "19169:16:43" + }, + { + "name": "pos", + "nativeSrc": "19187:3:43", + "nodeType": "YulIdentifier", + "src": "19187:3:43" + }, + { + "name": "length", + "nativeSrc": "19192:6:43", + "nodeType": "YulIdentifier", + "src": "19192:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "19134:34:43", + "nodeType": "YulIdentifier", + "src": "19134:34:43" + }, + "nativeSrc": "19134:65:43", + "nodeType": "YulFunctionCall", + "src": "19134:65:43" + }, + "nativeSrc": "19134:65:43", + "nodeType": "YulExpressionStatement", + "src": "19134:65:43" + }, + { + "nativeSrc": "19208:46:43", + "nodeType": "YulAssignment", + "src": "19208:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19219:3:43", + "nodeType": "YulIdentifier", + "src": "19219:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "19246:6:43", + "nodeType": "YulIdentifier", + "src": "19246:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "19224:21:43", + "nodeType": "YulIdentifier", + "src": "19224:21:43" + }, + "nativeSrc": "19224:29:43", + "nodeType": "YulFunctionCall", + "src": "19224:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19215:3:43", + "nodeType": "YulIdentifier", + "src": "19215:3:43" + }, + "nativeSrc": "19215:39:43", + "nodeType": "YulFunctionCall", + "src": "19215:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19208:3:43", + "nodeType": "YulIdentifier", + "src": "19208:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18883:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "18956:5:43", + "nodeType": "YulTypedName", + "src": "18956:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "18963:3:43", + "nodeType": "YulTypedName", + "src": "18963:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18971:3:43", + "nodeType": "YulTypedName", + "src": "18971:3:43", + "type": "" + } + ], + "src": "18883:377:43" + }, + { + "body": { + "nativeSrc": "19496:525:43", + "nodeType": "YulBlock", + "src": "19496:525:43", + "statements": [ + { + "nativeSrc": "19506:27:43", + "nodeType": "YulAssignment", + "src": "19506:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19518:9:43", + "nodeType": "YulIdentifier", + "src": "19518:9:43" + }, + { + "kind": "number", + "nativeSrc": "19529:3:43", + "nodeType": "YulLiteral", + "src": "19529:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19514:3:43", + "nodeType": "YulIdentifier", + "src": "19514:3:43" + }, + "nativeSrc": "19514:19:43", + "nodeType": "YulFunctionCall", + "src": "19514:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19506:4:43", + "nodeType": "YulIdentifier", + "src": "19506:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19554:9:43", + "nodeType": "YulIdentifier", + "src": "19554:9:43" + }, + { + "kind": "number", + "nativeSrc": "19565:1:43", + "nodeType": "YulLiteral", + "src": "19565:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19550:3:43", + "nodeType": "YulIdentifier", + "src": "19550:3:43" + }, + "nativeSrc": "19550:17:43", + "nodeType": "YulFunctionCall", + "src": "19550:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19573:4:43", + "nodeType": "YulIdentifier", + "src": "19573:4:43" + }, + { + "name": "headStart", + "nativeSrc": "19579:9:43", + "nodeType": "YulIdentifier", + "src": "19579:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19569:3:43", + "nodeType": "YulIdentifier", + "src": "19569:3:43" + }, + "nativeSrc": "19569:20:43", + "nodeType": "YulFunctionCall", + "src": "19569:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19543:6:43", + "nodeType": "YulIdentifier", + "src": "19543:6:43" + }, + "nativeSrc": "19543:47:43", + "nodeType": "YulFunctionCall", + "src": "19543:47:43" + }, + "nativeSrc": "19543:47:43", + "nodeType": "YulExpressionStatement", + "src": "19543:47:43" + }, + { + "nativeSrc": "19599:86:43", + "nodeType": "YulAssignment", + "src": "19599:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "19671:6:43", + "nodeType": "YulIdentifier", + "src": "19671:6:43" + }, + { + "name": "tail", + "nativeSrc": "19680:4:43", + "nodeType": "YulIdentifier", + "src": "19680:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19607:63:43", + "nodeType": "YulIdentifier", + "src": "19607:63:43" + }, + "nativeSrc": "19607:78:43", + "nodeType": "YulFunctionCall", + "src": "19607:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19599:4:43", + "nodeType": "YulIdentifier", + "src": "19599:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "19739:6:43", + "nodeType": "YulIdentifier", + "src": "19739:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19752:9:43", + "nodeType": "YulIdentifier", + "src": "19752:9:43" + }, + { + "kind": "number", + "nativeSrc": "19763:2:43", + "nodeType": "YulLiteral", + "src": "19763:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19748:3:43", + "nodeType": "YulIdentifier", + "src": "19748:3:43" + }, + "nativeSrc": "19748:18:43", + "nodeType": "YulFunctionCall", + "src": "19748:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "19695:43:43", + "nodeType": "YulIdentifier", + "src": "19695:43:43" + }, + "nativeSrc": "19695:72:43", + "nodeType": "YulFunctionCall", + "src": "19695:72:43" + }, + "nativeSrc": "19695:72:43", + "nodeType": "YulExpressionStatement", + "src": "19695:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "19821:6:43", + "nodeType": "YulIdentifier", + "src": "19821:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19834:9:43", + "nodeType": "YulIdentifier", + "src": "19834:9:43" + }, + { + "kind": "number", + "nativeSrc": "19845:2:43", + "nodeType": "YulLiteral", + "src": "19845:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19830:3:43", + "nodeType": "YulIdentifier", + "src": "19830:3:43" + }, + "nativeSrc": "19830:18:43", + "nodeType": "YulFunctionCall", + "src": "19830:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "19777:43:43", + "nodeType": "YulIdentifier", + "src": "19777:43:43" + }, + "nativeSrc": "19777:72:43", + "nodeType": "YulFunctionCall", + "src": "19777:72:43" + }, + "nativeSrc": "19777:72:43", + "nodeType": "YulExpressionStatement", + "src": "19777:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "19903:6:43", + "nodeType": "YulIdentifier", + "src": "19903:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19916:9:43", + "nodeType": "YulIdentifier", + "src": "19916:9:43" + }, + { + "kind": "number", + "nativeSrc": "19927:2:43", + "nodeType": "YulLiteral", + "src": "19927:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19912:3:43", + "nodeType": "YulIdentifier", + "src": "19912:3:43" + }, + "nativeSrc": "19912:18:43", + "nodeType": "YulFunctionCall", + "src": "19912:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "19859:43:43", + "nodeType": "YulIdentifier", + "src": "19859:43:43" + }, + "nativeSrc": "19859:72:43", + "nodeType": "YulFunctionCall", + "src": "19859:72:43" + }, + "nativeSrc": "19859:72:43", + "nodeType": "YulExpressionStatement", + "src": "19859:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "19985:6:43", + "nodeType": "YulIdentifier", + "src": "19985:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19998:9:43", + "nodeType": "YulIdentifier", + "src": "19998:9:43" + }, + { + "kind": "number", + "nativeSrc": "20009:3:43", + "nodeType": "YulLiteral", + "src": "20009:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19994:3:43", + "nodeType": "YulIdentifier", + "src": "19994:3:43" + }, + "nativeSrc": "19994:19:43", + "nodeType": "YulFunctionCall", + "src": "19994:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "19941:43:43", + "nodeType": "YulIdentifier", + "src": "19941:43:43" + }, + "nativeSrc": "19941:73:43", + "nodeType": "YulFunctionCall", + "src": "19941:73:43" + }, + "nativeSrc": "19941:73:43", + "nodeType": "YulExpressionStatement", + "src": "19941:73:43" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "19266:755:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19436:9:43", + "nodeType": "YulTypedName", + "src": "19436:9:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "19448:6:43", + "nodeType": "YulTypedName", + "src": "19448:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "19456:6:43", + "nodeType": "YulTypedName", + "src": "19456:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "19464:6:43", + "nodeType": "YulTypedName", + "src": "19464:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "19472:6:43", + "nodeType": "YulTypedName", + "src": "19472:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "19480:6:43", + "nodeType": "YulTypedName", + "src": "19480:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19491:4:43", + "nodeType": "YulTypedName", + "src": "19491:4:43", + "type": "" + } + ], + "src": "19266:755:43" + }, + { + "body": { + "nativeSrc": "20090:80:43", + "nodeType": "YulBlock", + "src": "20090:80:43", + "statements": [ + { + "nativeSrc": "20100:22:43", + "nodeType": "YulAssignment", + "src": "20100:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "20115:6:43", + "nodeType": "YulIdentifier", + "src": "20115:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "20109:5:43", + "nodeType": "YulIdentifier", + "src": "20109:5:43" + }, + "nativeSrc": "20109:13:43", + "nodeType": "YulFunctionCall", + "src": "20109:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "20100:5:43", + "nodeType": "YulIdentifier", + "src": "20100:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "20158:5:43", + "nodeType": "YulIdentifier", + "src": "20158:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "20131:26:43", + "nodeType": "YulIdentifier", + "src": "20131:26:43" + }, + "nativeSrc": "20131:33:43", + "nodeType": "YulFunctionCall", + "src": "20131:33:43" + }, + "nativeSrc": "20131:33:43", + "nodeType": "YulExpressionStatement", + "src": "20131:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "20027:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "20068:6:43", + "nodeType": "YulTypedName", + "src": "20068:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "20076:3:43", + "nodeType": "YulTypedName", + "src": "20076:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "20084:5:43", + "nodeType": "YulTypedName", + "src": "20084:5:43", + "type": "" + } + ], + "src": "20027:143:43" + }, + { + "body": { + "nativeSrc": "20253:274:43", + "nodeType": "YulBlock", + "src": "20253:274:43", + "statements": [ + { + "body": { + "nativeSrc": "20299:83:43", + "nodeType": "YulBlock", + "src": "20299:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "20301:77:43", + "nodeType": "YulIdentifier", + "src": "20301:77:43" + }, + "nativeSrc": "20301:79:43", + "nodeType": "YulFunctionCall", + "src": "20301:79:43" + }, + "nativeSrc": "20301:79:43", + "nodeType": "YulExpressionStatement", + "src": "20301:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "20274:7:43", + "nodeType": "YulIdentifier", + "src": "20274:7:43" + }, + { + "name": "headStart", + "nativeSrc": "20283:9:43", + "nodeType": "YulIdentifier", + "src": "20283:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20270:3:43", + "nodeType": "YulIdentifier", + "src": "20270:3:43" + }, + "nativeSrc": "20270:23:43", + "nodeType": "YulFunctionCall", + "src": "20270:23:43" + }, + { + "kind": "number", + "nativeSrc": "20295:2:43", + "nodeType": "YulLiteral", + "src": "20295:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "20266:3:43", + "nodeType": "YulIdentifier", + "src": "20266:3:43" + }, + "nativeSrc": "20266:32:43", + "nodeType": "YulFunctionCall", + "src": "20266:32:43" + }, + "nativeSrc": "20263:119:43", + "nodeType": "YulIf", + "src": "20263:119:43" + }, + { + "nativeSrc": "20392:128:43", + "nodeType": "YulBlock", + "src": "20392:128:43", + "statements": [ + { + "nativeSrc": "20407:15:43", + "nodeType": "YulVariableDeclaration", + "src": "20407:15:43", + "value": { + "kind": "number", + "nativeSrc": "20421:1:43", + "nodeType": "YulLiteral", + "src": "20421:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20411:6:43", + "nodeType": "YulTypedName", + "src": "20411:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "20436:74:43", + "nodeType": "YulAssignment", + "src": "20436:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20482:9:43", + "nodeType": "YulIdentifier", + "src": "20482:9:43" + }, + { + "name": "offset", + "nativeSrc": "20493:6:43", + "nodeType": "YulIdentifier", + "src": "20493:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20478:3:43", + "nodeType": "YulIdentifier", + "src": "20478:3:43" + }, + "nativeSrc": "20478:22:43", + "nodeType": "YulFunctionCall", + "src": "20478:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "20502:7:43", + "nodeType": "YulIdentifier", + "src": "20502:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "20446:31:43", + "nodeType": "YulIdentifier", + "src": "20446:31:43" + }, + "nativeSrc": "20446:64:43", + "nodeType": "YulFunctionCall", + "src": "20446:64:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "20436:6:43", + "nodeType": "YulIdentifier", + "src": "20436:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "20176:351:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20223:9:43", + "nodeType": "YulTypedName", + "src": "20223:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "20234:7:43", + "nodeType": "YulTypedName", + "src": "20234:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "20246:6:43", + "nodeType": "YulTypedName", + "src": "20246:6:43", + "type": "" + } + ], + "src": "20176:351:43" + }, + { + "body": { + "nativeSrc": "20639:120:43", + "nodeType": "YulBlock", + "src": "20639:120:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20661:6:43", + "nodeType": "YulIdentifier", + "src": "20661:6:43" + }, + { + "kind": "number", + "nativeSrc": "20669:1:43", + "nodeType": "YulLiteral", + "src": "20669:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20657:3:43", + "nodeType": "YulIdentifier", + "src": "20657:3:43" + }, + "nativeSrc": "20657:14:43", + "nodeType": "YulFunctionCall", + "src": "20657:14:43" + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f2063616c6c2074686973", + "kind": "string", + "nativeSrc": "20673:34:43", + "nodeType": "YulLiteral", + "src": "20673:34:43", + "type": "", + "value": "Address not allowed to call this" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20650:6:43", + "nodeType": "YulIdentifier", + "src": "20650:6:43" + }, + "nativeSrc": "20650:58:43", + "nodeType": "YulFunctionCall", + "src": "20650:58:43" + }, + "nativeSrc": "20650:58:43", + "nodeType": "YulExpressionStatement", + "src": "20650:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20729:6:43", + "nodeType": "YulIdentifier", + "src": "20729:6:43" + }, + { + "kind": "number", + "nativeSrc": "20737:2:43", + "nodeType": "YulLiteral", + "src": "20737:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20725:3:43", + "nodeType": "YulIdentifier", + "src": "20725:3:43" + }, + "nativeSrc": "20725:15:43", + "nodeType": "YulFunctionCall", + "src": "20725:15:43" + }, + { + "hexValue": "206d6574686f64", + "kind": "string", + "nativeSrc": "20742:9:43", + "nodeType": "YulLiteral", + "src": "20742:9:43", + "type": "", + "value": " method" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20718:6:43", + "nodeType": "YulIdentifier", + "src": "20718:6:43" + }, + "nativeSrc": "20718:34:43", + "nodeType": "YulFunctionCall", + "src": "20718:34:43" + }, + "nativeSrc": "20718:34:43", + "nodeType": "YulExpressionStatement", + "src": "20718:34:43" + } + ] + }, + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "20533:226:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "20631:6:43", + "nodeType": "YulTypedName", + "src": "20631:6:43", + "type": "" + } + ], + "src": "20533:226:43" + }, + { + "body": { + "nativeSrc": "20911:220:43", + "nodeType": "YulBlock", + "src": "20911:220:43", + "statements": [ + { + "nativeSrc": "20921:74:43", + "nodeType": "YulAssignment", + "src": "20921:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20987:3:43", + "nodeType": "YulIdentifier", + "src": "20987:3:43" + }, + { + "kind": "number", + "nativeSrc": "20992:2:43", + "nodeType": "YulLiteral", + "src": "20992:2:43", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "20928:58:43", + "nodeType": "YulIdentifier", + "src": "20928:58:43" + }, + "nativeSrc": "20928:67:43", + "nodeType": "YulFunctionCall", + "src": "20928:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "20921:3:43", + "nodeType": "YulIdentifier", + "src": "20921:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21093:3:43", + "nodeType": "YulIdentifier", + "src": "21093:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "21004:88:43", + "nodeType": "YulIdentifier", + "src": "21004:88:43" + }, + "nativeSrc": "21004:93:43", + "nodeType": "YulFunctionCall", + "src": "21004:93:43" + }, + "nativeSrc": "21004:93:43", + "nodeType": "YulExpressionStatement", + "src": "21004:93:43" + }, + { + "nativeSrc": "21106:19:43", + "nodeType": "YulAssignment", + "src": "21106:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21117:3:43", + "nodeType": "YulIdentifier", + "src": "21117:3:43" + }, + { + "kind": "number", + "nativeSrc": "21122:2:43", + "nodeType": "YulLiteral", + "src": "21122:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21113:3:43", + "nodeType": "YulIdentifier", + "src": "21113:3:43" + }, + "nativeSrc": "21113:12:43", + "nodeType": "YulFunctionCall", + "src": "21113:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "21106:3:43", + "nodeType": "YulIdentifier", + "src": "21106:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20765:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "20899:3:43", + "nodeType": "YulTypedName", + "src": "20899:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "20907:3:43", + "nodeType": "YulTypedName", + "src": "20907:3:43", + "type": "" + } + ], + "src": "20765:366:43" + }, + { + "body": { + "nativeSrc": "21308:248:43", + "nodeType": "YulBlock", + "src": "21308:248:43", + "statements": [ + { + "nativeSrc": "21318:26:43", + "nodeType": "YulAssignment", + "src": "21318:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21330:9:43", + "nodeType": "YulIdentifier", + "src": "21330:9:43" + }, + { + "kind": "number", + "nativeSrc": "21341:2:43", + "nodeType": "YulLiteral", + "src": "21341:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21326:3:43", + "nodeType": "YulIdentifier", + "src": "21326:3:43" + }, + "nativeSrc": "21326:18:43", + "nodeType": "YulFunctionCall", + "src": "21326:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21318:4:43", + "nodeType": "YulIdentifier", + "src": "21318:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21365:9:43", + "nodeType": "YulIdentifier", + "src": "21365:9:43" + }, + { + "kind": "number", + "nativeSrc": "21376:1:43", + "nodeType": "YulLiteral", + "src": "21376:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21361:3:43", + "nodeType": "YulIdentifier", + "src": "21361:3:43" + }, + "nativeSrc": "21361:17:43", + "nodeType": "YulFunctionCall", + "src": "21361:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21384:4:43", + "nodeType": "YulIdentifier", + "src": "21384:4:43" + }, + { + "name": "headStart", + "nativeSrc": "21390:9:43", + "nodeType": "YulIdentifier", + "src": "21390:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21380:3:43", + "nodeType": "YulIdentifier", + "src": "21380:3:43" + }, + "nativeSrc": "21380:20:43", + "nodeType": "YulFunctionCall", + "src": "21380:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21354:6:43", + "nodeType": "YulIdentifier", + "src": "21354:6:43" + }, + "nativeSrc": "21354:47:43", + "nodeType": "YulFunctionCall", + "src": "21354:47:43" + }, + "nativeSrc": "21354:47:43", + "nodeType": "YulExpressionStatement", + "src": "21354:47:43" + }, + { + "nativeSrc": "21410:139:43", + "nodeType": "YulAssignment", + "src": "21410:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21544:4:43", + "nodeType": "YulIdentifier", + "src": "21544:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21418:124:43", + "nodeType": "YulIdentifier", + "src": "21418:124:43" + }, + "nativeSrc": "21418:131:43", + "nodeType": "YulFunctionCall", + "src": "21418:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21410:4:43", + "nodeType": "YulIdentifier", + "src": "21410:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "21137:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21288:9:43", + "nodeType": "YulTypedName", + "src": "21288:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "21303:4:43", + "nodeType": "YulTypedName", + "src": "21303:4:43", + "type": "" + } + ], + "src": "21137:419:43" + }, + { + "body": { + "nativeSrc": "21625:80:43", + "nodeType": "YulBlock", + "src": "21625:80:43", + "statements": [ + { + "nativeSrc": "21635:22:43", + "nodeType": "YulAssignment", + "src": "21635:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21650:6:43", + "nodeType": "YulIdentifier", + "src": "21650:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21644:5:43", + "nodeType": "YulIdentifier", + "src": "21644:5:43" + }, + "nativeSrc": "21644:13:43", + "nodeType": "YulFunctionCall", + "src": "21644:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21635:5:43", + "nodeType": "YulIdentifier", + "src": "21635:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21693:5:43", + "nodeType": "YulIdentifier", + "src": "21693:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "21666:26:43", + "nodeType": "YulIdentifier", + "src": "21666:26:43" + }, + "nativeSrc": "21666:33:43", + "nodeType": "YulFunctionCall", + "src": "21666:33:43" + }, + "nativeSrc": "21666:33:43", + "nodeType": "YulExpressionStatement", + "src": "21666:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "21562:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21603:6:43", + "nodeType": "YulTypedName", + "src": "21603:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21611:3:43", + "nodeType": "YulTypedName", + "src": "21611:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21619:5:43", + "nodeType": "YulTypedName", + "src": "21619:5:43", + "type": "" + } + ], + "src": "21562:143:43" + }, + { + "body": { + "nativeSrc": "21788:274:43", + "nodeType": "YulBlock", + "src": "21788:274:43", + "statements": [ + { + "body": { + "nativeSrc": "21834:83:43", + "nodeType": "YulBlock", + "src": "21834:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "21836:77:43", + "nodeType": "YulIdentifier", + "src": "21836:77:43" + }, + "nativeSrc": "21836:79:43", + "nodeType": "YulFunctionCall", + "src": "21836:79:43" + }, + "nativeSrc": "21836:79:43", + "nodeType": "YulExpressionStatement", + "src": "21836:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21809:7:43", + "nodeType": "YulIdentifier", + "src": "21809:7:43" + }, + { + "name": "headStart", + "nativeSrc": "21818:9:43", + "nodeType": "YulIdentifier", + "src": "21818:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21805:3:43", + "nodeType": "YulIdentifier", + "src": "21805:3:43" + }, + "nativeSrc": "21805:23:43", + "nodeType": "YulFunctionCall", + "src": "21805:23:43" + }, + { + "kind": "number", + "nativeSrc": "21830:2:43", + "nodeType": "YulLiteral", + "src": "21830:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21801:3:43", + "nodeType": "YulIdentifier", + "src": "21801:3:43" + }, + "nativeSrc": "21801:32:43", + "nodeType": "YulFunctionCall", + "src": "21801:32:43" + }, + "nativeSrc": "21798:119:43", + "nodeType": "YulIf", + "src": "21798:119:43" + }, + { + "nativeSrc": "21927:128:43", + "nodeType": "YulBlock", + "src": "21927:128:43", + "statements": [ + { + "nativeSrc": "21942:15:43", + "nodeType": "YulVariableDeclaration", + "src": "21942:15:43", + "value": { + "kind": "number", + "nativeSrc": "21956:1:43", + "nodeType": "YulLiteral", + "src": "21956:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "21946:6:43", + "nodeType": "YulTypedName", + "src": "21946:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "21971:74:43", + "nodeType": "YulAssignment", + "src": "21971:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22017:9:43", + "nodeType": "YulIdentifier", + "src": "22017:9:43" + }, + { + "name": "offset", + "nativeSrc": "22028:6:43", + "nodeType": "YulIdentifier", + "src": "22028:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22013:3:43", + "nodeType": "YulIdentifier", + "src": "22013:3:43" + }, + "nativeSrc": "22013:22:43", + "nodeType": "YulFunctionCall", + "src": "22013:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "22037:7:43", + "nodeType": "YulIdentifier", + "src": "22037:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "21981:31:43", + "nodeType": "YulIdentifier", + "src": "21981:31:43" + }, + "nativeSrc": "21981:64:43", + "nodeType": "YulFunctionCall", + "src": "21981:64:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "21971:6:43", + "nodeType": "YulIdentifier", + "src": "21971:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "21711:351:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21758:9:43", + "nodeType": "YulTypedName", + "src": "21758:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21769:7:43", + "nodeType": "YulTypedName", + "src": "21769:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21781:6:43", + "nodeType": "YulTypedName", + "src": "21781:6:43", + "type": "" + } + ], + "src": "21711:351:43" + }, + { + "body": { + "nativeSrc": "22157:28:43", + "nodeType": "YulBlock", + "src": "22157:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22174:1:43", + "nodeType": "YulLiteral", + "src": "22174:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22177:1:43", + "nodeType": "YulLiteral", + "src": "22177:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22167:6:43", + "nodeType": "YulIdentifier", + "src": "22167:6:43" + }, + "nativeSrc": "22167:12:43", + "nodeType": "YulFunctionCall", + "src": "22167:12:43" + }, + "nativeSrc": "22167:12:43", + "nodeType": "YulExpressionStatement", + "src": "22167:12:43" + } + ] + }, + "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", + "nativeSrc": "22068:117:43", + "nodeType": "YulFunctionDefinition", + "src": "22068:117:43" + }, + { + "body": { + "nativeSrc": "22280:28:43", + "nodeType": "YulBlock", + "src": "22280:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22297:1:43", + "nodeType": "YulLiteral", + "src": "22297:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22300:1:43", + "nodeType": "YulLiteral", + "src": "22300:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22290:6:43", + "nodeType": "YulIdentifier", + "src": "22290:6:43" + }, + "nativeSrc": "22290:12:43", + "nodeType": "YulFunctionCall", + "src": "22290:12:43" + }, + "nativeSrc": "22290:12:43", + "nodeType": "YulExpressionStatement", + "src": "22290:12:43" + } + ] + }, + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nativeSrc": "22191:117:43", + "nodeType": "YulFunctionDefinition", + "src": "22191:117:43" + }, + { + "body": { + "nativeSrc": "22409:339:43", + "nodeType": "YulBlock", + "src": "22409:339:43", + "statements": [ + { + "nativeSrc": "22419:75:43", + "nodeType": "YulAssignment", + "src": "22419:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22486:6:43", + "nodeType": "YulIdentifier", + "src": "22486:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "22444:41:43", + "nodeType": "YulIdentifier", + "src": "22444:41:43" + }, + "nativeSrc": "22444:49:43", + "nodeType": "YulFunctionCall", + "src": "22444:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "22428:15:43", + "nodeType": "YulIdentifier", + "src": "22428:15:43" + }, + "nativeSrc": "22428:66:43", + "nodeType": "YulFunctionCall", + "src": "22428:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "22419:5:43", + "nodeType": "YulIdentifier", + "src": "22419:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22510:5:43", + "nodeType": "YulIdentifier", + "src": "22510:5:43" + }, + { + "name": "length", + "nativeSrc": "22517:6:43", + "nodeType": "YulIdentifier", + "src": "22517:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22503:6:43", + "nodeType": "YulIdentifier", + "src": "22503:6:43" + }, + "nativeSrc": "22503:21:43", + "nodeType": "YulFunctionCall", + "src": "22503:21:43" + }, + "nativeSrc": "22503:21:43", + "nodeType": "YulExpressionStatement", + "src": "22503:21:43" + }, + { + "nativeSrc": "22533:27:43", + "nodeType": "YulVariableDeclaration", + "src": "22533:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22548:5:43", + "nodeType": "YulIdentifier", + "src": "22548:5:43" + }, + { + "kind": "number", + "nativeSrc": "22555:4:43", + "nodeType": "YulLiteral", + "src": "22555:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22544:3:43", + "nodeType": "YulIdentifier", + "src": "22544:3:43" + }, + "nativeSrc": "22544:16:43", + "nodeType": "YulFunctionCall", + "src": "22544:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "22537:3:43", + "nodeType": "YulTypedName", + "src": "22537:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22598:83:43", + "nodeType": "YulBlock", + "src": "22598:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "22600:77:43", + "nodeType": "YulIdentifier", + "src": "22600:77:43" + }, + "nativeSrc": "22600:79:43", + "nodeType": "YulFunctionCall", + "src": "22600:79:43" + }, + "nativeSrc": "22600:79:43", + "nodeType": "YulExpressionStatement", + "src": "22600:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "22579:3:43", + "nodeType": "YulIdentifier", + "src": "22579:3:43" + }, + { + "name": "length", + "nativeSrc": "22584:6:43", + "nodeType": "YulIdentifier", + "src": "22584:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22575:3:43", + "nodeType": "YulIdentifier", + "src": "22575:3:43" + }, + "nativeSrc": "22575:16:43", + "nodeType": "YulFunctionCall", + "src": "22575:16:43" + }, + { + "name": "end", + "nativeSrc": "22593:3:43", + "nodeType": "YulIdentifier", + "src": "22593:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "22572:2:43", + "nodeType": "YulIdentifier", + "src": "22572:2:43" + }, + "nativeSrc": "22572:25:43", + "nodeType": "YulFunctionCall", + "src": "22572:25:43" + }, + "nativeSrc": "22569:112:43", + "nodeType": "YulIf", + "src": "22569:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "22725:3:43", + "nodeType": "YulIdentifier", + "src": "22725:3:43" + }, + { + "name": "dst", + "nativeSrc": "22730:3:43", + "nodeType": "YulIdentifier", + "src": "22730:3:43" + }, + { + "name": "length", + "nativeSrc": "22735:6:43", + "nodeType": "YulIdentifier", + "src": "22735:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "22690:34:43", + "nodeType": "YulIdentifier", + "src": "22690:34:43" + }, + "nativeSrc": "22690:52:43", + "nodeType": "YulFunctionCall", + "src": "22690:52:43" + }, + "nativeSrc": "22690:52:43", + "nodeType": "YulExpressionStatement", + "src": "22690:52:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "22314:434:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "22382:3:43", + "nodeType": "YulTypedName", + "src": "22382:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "22387:6:43", + "nodeType": "YulTypedName", + "src": "22387:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22395:3:43", + "nodeType": "YulTypedName", + "src": "22395:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "22403:5:43", + "nodeType": "YulTypedName", + "src": "22403:5:43", + "type": "" + } + ], + "src": "22314:434:43" + }, + { + "body": { + "nativeSrc": "22841:282:43", + "nodeType": "YulBlock", + "src": "22841:282:43", + "statements": [ + { + "body": { + "nativeSrc": "22890:83:43", + "nodeType": "YulBlock", + "src": "22890:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "22892:77:43", + "nodeType": "YulIdentifier", + "src": "22892:77:43" + }, + "nativeSrc": "22892:79:43", + "nodeType": "YulFunctionCall", + "src": "22892:79:43" + }, + "nativeSrc": "22892:79:43", + "nodeType": "YulExpressionStatement", + "src": "22892:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22869:6:43", + "nodeType": "YulIdentifier", + "src": "22869:6:43" + }, + { + "kind": "number", + "nativeSrc": "22877:4:43", + "nodeType": "YulLiteral", + "src": "22877:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22865:3:43", + "nodeType": "YulIdentifier", + "src": "22865:3:43" + }, + "nativeSrc": "22865:17:43", + "nodeType": "YulFunctionCall", + "src": "22865:17:43" + }, + { + "name": "end", + "nativeSrc": "22884:3:43", + "nodeType": "YulIdentifier", + "src": "22884:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "22861:3:43", + "nodeType": "YulIdentifier", + "src": "22861:3:43" + }, + "nativeSrc": "22861:27:43", + "nodeType": "YulFunctionCall", + "src": "22861:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "22854:6:43", + "nodeType": "YulIdentifier", + "src": "22854:6:43" + }, + "nativeSrc": "22854:35:43", + "nodeType": "YulFunctionCall", + "src": "22854:35:43" + }, + "nativeSrc": "22851:122:43", + "nodeType": "YulIf", + "src": "22851:122:43" + }, + { + "nativeSrc": "22982:27:43", + "nodeType": "YulVariableDeclaration", + "src": "22982:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23002:6:43", + "nodeType": "YulIdentifier", + "src": "23002:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22996:5:43", + "nodeType": "YulIdentifier", + "src": "22996:5:43" + }, + "nativeSrc": "22996:13:43", + "nodeType": "YulFunctionCall", + "src": "22996:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "22986:6:43", + "nodeType": "YulTypedName", + "src": "22986:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "23018:99:43", + "nodeType": "YulAssignment", + "src": "23018:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23090:6:43", + "nodeType": "YulIdentifier", + "src": "23090:6:43" + }, + { + "kind": "number", + "nativeSrc": "23098:4:43", + "nodeType": "YulLiteral", + "src": "23098:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23086:3:43", + "nodeType": "YulIdentifier", + "src": "23086:3:43" + }, + "nativeSrc": "23086:17:43", + "nodeType": "YulFunctionCall", + "src": "23086:17:43" + }, + { + "name": "length", + "nativeSrc": "23105:6:43", + "nodeType": "YulIdentifier", + "src": "23105:6:43" + }, + { + "name": "end", + "nativeSrc": "23113:3:43", + "nodeType": "YulIdentifier", + "src": "23113:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "23027:58:43", + "nodeType": "YulIdentifier", + "src": "23027:58:43" + }, + "nativeSrc": "23027:90:43", + "nodeType": "YulFunctionCall", + "src": "23027:90:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "23018:5:43", + "nodeType": "YulIdentifier", + "src": "23018:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "22768:355:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22819:6:43", + "nodeType": "YulTypedName", + "src": "22819:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22827:3:43", + "nodeType": "YulTypedName", + "src": "22827:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "22835:5:43", + "nodeType": "YulTypedName", + "src": "22835:5:43", + "type": "" + } + ], + "src": "22768:355:43" + }, + { + "body": { + "nativeSrc": "23189:56:43", + "nodeType": "YulBlock", + "src": "23189:56:43", + "statements": [ + { + "body": { + "nativeSrc": "23223:16:43", + "nodeType": "YulBlock", + "src": "23223:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23232:1:43", + "nodeType": "YulLiteral", + "src": "23232:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23235:1:43", + "nodeType": "YulLiteral", + "src": "23235:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23225:6:43", + "nodeType": "YulIdentifier", + "src": "23225:6:43" + }, + "nativeSrc": "23225:12:43", + "nodeType": "YulFunctionCall", + "src": "23225:12:43" + }, + "nativeSrc": "23225:12:43", + "nodeType": "YulExpressionStatement", + "src": "23225:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23212:5:43", + "nodeType": "YulIdentifier", + "src": "23212:5:43" + }, + { + "kind": "number", + "nativeSrc": "23219:1:43", + "nodeType": "YulLiteral", + "src": "23219:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "23209:2:43", + "nodeType": "YulIdentifier", + "src": "23209:2:43" + }, + "nativeSrc": "23209:12:43", + "nodeType": "YulFunctionCall", + "src": "23209:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "23202:6:43", + "nodeType": "YulIdentifier", + "src": "23202:6:43" + }, + "nativeSrc": "23202:20:43", + "nodeType": "YulFunctionCall", + "src": "23202:20:43" + }, + "nativeSrc": "23199:40:43", + "nodeType": "YulIf", + "src": "23199:40:43" + } + ] + }, + "name": "validator_revert_t_enum$_AirdropType_$11645", + "nativeSrc": "23129:116:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "23182:5:43", + "nodeType": "YulTypedName", + "src": "23182:5:43", + "type": "" + } + ], + "src": "23129:116:43" + }, + { + "body": { + "nativeSrc": "23331:97:43", + "nodeType": "YulBlock", + "src": "23331:97:43", + "statements": [ + { + "nativeSrc": "23341:22:43", + "nodeType": "YulAssignment", + "src": "23341:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23356:6:43", + "nodeType": "YulIdentifier", + "src": "23356:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23350:5:43", + "nodeType": "YulIdentifier", + "src": "23350:5:43" + }, + "nativeSrc": "23350:13:43", + "nodeType": "YulFunctionCall", + "src": "23350:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "23341:5:43", + "nodeType": "YulIdentifier", + "src": "23341:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "23416:5:43", + "nodeType": "YulIdentifier", + "src": "23416:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_AirdropType_$11645", + "nativeSrc": "23372:43:43", + "nodeType": "YulIdentifier", + "src": "23372:43:43" + }, + "nativeSrc": "23372:50:43", + "nodeType": "YulFunctionCall", + "src": "23372:50:43" + }, + "nativeSrc": "23372:50:43", + "nodeType": "YulExpressionStatement", + "src": "23372:50:43" + } + ] + }, + "name": "abi_decode_t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "23251:177:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "23309:6:43", + "nodeType": "YulTypedName", + "src": "23309:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23317:3:43", + "nodeType": "YulTypedName", + "src": "23317:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "23325:5:43", + "nodeType": "YulTypedName", + "src": "23325:5:43", + "type": "" + } + ], + "src": "23251:177:43" + }, + { + "body": { + "nativeSrc": "23556:1966:43", + "nodeType": "YulBlock", + "src": "23556:1966:43", + "statements": [ + { + "body": { + "nativeSrc": "23602:83:43", + "nodeType": "YulBlock", + "src": "23602:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", + "nativeSrc": "23604:77:43", + "nodeType": "YulIdentifier", + "src": "23604:77:43" + }, + "nativeSrc": "23604:79:43", + "nodeType": "YulFunctionCall", + "src": "23604:79:43" + }, + "nativeSrc": "23604:79:43", + "nodeType": "YulExpressionStatement", + "src": "23604:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nativeSrc": "23577:3:43", + "nodeType": "YulIdentifier", + "src": "23577:3:43" + }, + { + "name": "headStart", + "nativeSrc": "23582:9:43", + "nodeType": "YulIdentifier", + "src": "23582:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23573:3:43", + "nodeType": "YulIdentifier", + "src": "23573:3:43" + }, + "nativeSrc": "23573:19:43", + "nodeType": "YulFunctionCall", + "src": "23573:19:43" + }, + { + "kind": "number", + "nativeSrc": "23594:6:43", + "nodeType": "YulLiteral", + "src": "23594:6:43", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23569:3:43", + "nodeType": "YulIdentifier", + "src": "23569:3:43" + }, + "nativeSrc": "23569:32:43", + "nodeType": "YulFunctionCall", + "src": "23569:32:43" + }, + "nativeSrc": "23566:119:43", + "nodeType": "YulIf", + "src": "23566:119:43" + }, + { + "nativeSrc": "23694:32:43", + "nodeType": "YulAssignment", + "src": "23694:32:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23719:6:43", + "nodeType": "YulLiteral", + "src": "23719:6:43", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "23703:15:43", + "nodeType": "YulIdentifier", + "src": "23703:15:43" + }, + "nativeSrc": "23703:23:43", + "nodeType": "YulFunctionCall", + "src": "23703:23:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "23694:5:43", + "nodeType": "YulIdentifier", + "src": "23694:5:43" + } + ] + }, + { + "nativeSrc": "23736:331:43", + "nodeType": "YulBlock", + "src": "23736:331:43", + "statements": [ + { + "nativeSrc": "23778:38:43", + "nodeType": "YulVariableDeclaration", + "src": "23778:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23802:9:43", + "nodeType": "YulIdentifier", + "src": "23802:9:43" + }, + { + "kind": "number", + "nativeSrc": "23813:1:43", + "nodeType": "YulLiteral", + "src": "23813:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23798:3:43", + "nodeType": "YulIdentifier", + "src": "23798:3:43" + }, + "nativeSrc": "23798:17:43", + "nodeType": "YulFunctionCall", + "src": "23798:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23792:5:43", + "nodeType": "YulIdentifier", + "src": "23792:5:43" + }, + "nativeSrc": "23792:24:43", + "nodeType": "YulFunctionCall", + "src": "23792:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23782:6:43", + "nodeType": "YulTypedName", + "src": "23782:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23863:83:43", + "nodeType": "YulBlock", + "src": "23863:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nativeSrc": "23865:77:43", + "nodeType": "YulIdentifier", + "src": "23865:77:43" + }, + "nativeSrc": "23865:79:43", + "nodeType": "YulFunctionCall", + "src": "23865:79:43" + }, + "nativeSrc": "23865:79:43", + "nodeType": "YulExpressionStatement", + "src": "23865:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23835:6:43", + "nodeType": "YulIdentifier", + "src": "23835:6:43" + }, + { + "kind": "number", + "nativeSrc": "23843:18:43", + "nodeType": "YulLiteral", + "src": "23843:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23832:2:43", + "nodeType": "YulIdentifier", + "src": "23832:2:43" + }, + "nativeSrc": "23832:30:43", + "nodeType": "YulFunctionCall", + "src": "23832:30:43" + }, + "nativeSrc": "23829:117:43", + "nodeType": "YulIf", + "src": "23829:117:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23971:5:43", + "nodeType": "YulIdentifier", + "src": "23971:5:43" + }, + { + "kind": "number", + "nativeSrc": "23978:4:43", + "nodeType": "YulLiteral", + "src": "23978:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23967:3:43", + "nodeType": "YulIdentifier", + "src": "23967:3:43" + }, + "nativeSrc": "23967:16:43", + "nodeType": "YulFunctionCall", + "src": "23967:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24031:9:43", + "nodeType": "YulIdentifier", + "src": "24031:9:43" + }, + { + "name": "offset", + "nativeSrc": "24042:6:43", + "nodeType": "YulIdentifier", + "src": "24042:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24027:3:43", + "nodeType": "YulIdentifier", + "src": "24027:3:43" + }, + "nativeSrc": "24027:22:43", + "nodeType": "YulFunctionCall", + "src": "24027:22:43" + }, + { + "name": "end", + "nativeSrc": "24051:3:43", + "nodeType": "YulIdentifier", + "src": "24051:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "23985:41:43", + "nodeType": "YulIdentifier", + "src": "23985:41:43" + }, + "nativeSrc": "23985:70:43", + "nodeType": "YulFunctionCall", + "src": "23985:70:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23960:6:43", + "nodeType": "YulIdentifier", + "src": "23960:6:43" + }, + "nativeSrc": "23960:96:43", + "nodeType": "YulFunctionCall", + "src": "23960:96:43" + }, + "nativeSrc": "23960:96:43", + "nodeType": "YulExpressionStatement", + "src": "23960:96:43" + } + ] + }, + { + "nativeSrc": "24077:172:43", + "nodeType": "YulBlock", + "src": "24077:172:43", + "statements": [ + { + "nativeSrc": "24122:16:43", + "nodeType": "YulVariableDeclaration", + "src": "24122:16:43", + "value": { + "kind": "number", + "nativeSrc": "24136:2:43", + "nodeType": "YulLiteral", + "src": "24136:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24126:6:43", + "nodeType": "YulTypedName", + "src": "24126:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24163:5:43", + "nodeType": "YulIdentifier", + "src": "24163:5:43" + }, + { + "kind": "number", + "nativeSrc": "24170:4:43", + "nodeType": "YulLiteral", + "src": "24170:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24159:3:43", + "nodeType": "YulIdentifier", + "src": "24159:3:43" + }, + "nativeSrc": "24159:16:43", + "nodeType": "YulFunctionCall", + "src": "24159:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24213:9:43", + "nodeType": "YulIdentifier", + "src": "24213:9:43" + }, + { + "name": "offset", + "nativeSrc": "24224:6:43", + "nodeType": "YulIdentifier", + "src": "24224:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24209:3:43", + "nodeType": "YulIdentifier", + "src": "24209:3:43" + }, + "nativeSrc": "24209:22:43", + "nodeType": "YulFunctionCall", + "src": "24209:22:43" + }, + { + "name": "end", + "nativeSrc": "24233:3:43", + "nodeType": "YulIdentifier", + "src": "24233:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "24177:31:43", + "nodeType": "YulIdentifier", + "src": "24177:31:43" + }, + "nativeSrc": "24177:60:43", + "nodeType": "YulFunctionCall", + "src": "24177:60:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24152:6:43", + "nodeType": "YulIdentifier", + "src": "24152:6:43" + }, + "nativeSrc": "24152:86:43", + "nodeType": "YulFunctionCall", + "src": "24152:86:43" + }, + "nativeSrc": "24152:86:43", + "nodeType": "YulExpressionStatement", + "src": "24152:86:43" + } + ] + }, + { + "nativeSrc": "24259:176:43", + "nodeType": "YulBlock", + "src": "24259:176:43", + "statements": [ + { + "nativeSrc": "24308:16:43", + "nodeType": "YulVariableDeclaration", + "src": "24308:16:43", + "value": { + "kind": "number", + "nativeSrc": "24322:2:43", + "nodeType": "YulLiteral", + "src": "24322:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24312:6:43", + "nodeType": "YulTypedName", + "src": "24312:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24349:5:43", + "nodeType": "YulIdentifier", + "src": "24349:5:43" + }, + { + "kind": "number", + "nativeSrc": "24356:4:43", + "nodeType": "YulLiteral", + "src": "24356:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24345:3:43", + "nodeType": "YulIdentifier", + "src": "24345:3:43" + }, + "nativeSrc": "24345:16:43", + "nodeType": "YulFunctionCall", + "src": "24345:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24399:9:43", + "nodeType": "YulIdentifier", + "src": "24399:9:43" + }, + { + "name": "offset", + "nativeSrc": "24410:6:43", + "nodeType": "YulIdentifier", + "src": "24410:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24395:3:43", + "nodeType": "YulIdentifier", + "src": "24395:3:43" + }, + "nativeSrc": "24395:22:43", + "nodeType": "YulFunctionCall", + "src": "24395:22:43" + }, + { + "name": "end", + "nativeSrc": "24419:3:43", + "nodeType": "YulIdentifier", + "src": "24419:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24363:31:43", + "nodeType": "YulIdentifier", + "src": "24363:31:43" + }, + "nativeSrc": "24363:60:43", + "nodeType": "YulFunctionCall", + "src": "24363:60:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24338:6:43", + "nodeType": "YulIdentifier", + "src": "24338:6:43" + }, + "nativeSrc": "24338:86:43", + "nodeType": "YulFunctionCall", + "src": "24338:86:43" + }, + "nativeSrc": "24338:86:43", + "nodeType": "YulExpressionStatement", + "src": "24338:86:43" + } + ] + }, + { + "nativeSrc": "24445:175:43", + "nodeType": "YulBlock", + "src": "24445:175:43", + "statements": [ + { + "nativeSrc": "24493:16:43", + "nodeType": "YulVariableDeclaration", + "src": "24493:16:43", + "value": { + "kind": "number", + "nativeSrc": "24507:2:43", + "nodeType": "YulLiteral", + "src": "24507:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24497:6:43", + "nodeType": "YulTypedName", + "src": "24497:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24534:5:43", + "nodeType": "YulIdentifier", + "src": "24534:5:43" + }, + { + "kind": "number", + "nativeSrc": "24541:4:43", + "nodeType": "YulLiteral", + "src": "24541:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24530:3:43", + "nodeType": "YulIdentifier", + "src": "24530:3:43" + }, + "nativeSrc": "24530:16:43", + "nodeType": "YulFunctionCall", + "src": "24530:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24584:9:43", + "nodeType": "YulIdentifier", + "src": "24584:9:43" + }, + { + "name": "offset", + "nativeSrc": "24595:6:43", + "nodeType": "YulIdentifier", + "src": "24595:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24580:3:43", + "nodeType": "YulIdentifier", + "src": "24580:3:43" + }, + "nativeSrc": "24580:22:43", + "nodeType": "YulFunctionCall", + "src": "24580:22:43" + }, + { + "name": "end", + "nativeSrc": "24604:3:43", + "nodeType": "YulIdentifier", + "src": "24604:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24548:31:43", + "nodeType": "YulIdentifier", + "src": "24548:31:43" + }, + "nativeSrc": "24548:60:43", + "nodeType": "YulFunctionCall", + "src": "24548:60:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24523:6:43", + "nodeType": "YulIdentifier", + "src": "24523:6:43" + }, + "nativeSrc": "24523:86:43", + "nodeType": "YulFunctionCall", + "src": "24523:86:43" + }, + "nativeSrc": "24523:86:43", + "nodeType": "YulExpressionStatement", + "src": "24523:86:43" + } + ] + }, + { + "nativeSrc": "24630:170:43", + "nodeType": "YulBlock", + "src": "24630:170:43", + "statements": [ + { + "nativeSrc": "24672:17:43", + "nodeType": "YulVariableDeclaration", + "src": "24672:17:43", + "value": { + "kind": "number", + "nativeSrc": "24686:3:43", + "nodeType": "YulLiteral", + "src": "24686:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24676:6:43", + "nodeType": "YulTypedName", + "src": "24676:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24714:5:43", + "nodeType": "YulIdentifier", + "src": "24714:5:43" + }, + { + "kind": "number", + "nativeSrc": "24721:4:43", + "nodeType": "YulLiteral", + "src": "24721:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24710:3:43", + "nodeType": "YulIdentifier", + "src": "24710:3:43" + }, + "nativeSrc": "24710:16:43", + "nodeType": "YulFunctionCall", + "src": "24710:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24764:9:43", + "nodeType": "YulIdentifier", + "src": "24764:9:43" + }, + { + "name": "offset", + "nativeSrc": "24775:6:43", + "nodeType": "YulIdentifier", + "src": "24775:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24760:3:43", + "nodeType": "YulIdentifier", + "src": "24760:3:43" + }, + "nativeSrc": "24760:22:43", + "nodeType": "YulFunctionCall", + "src": "24760:22:43" + }, + { + "name": "end", + "nativeSrc": "24784:3:43", + "nodeType": "YulIdentifier", + "src": "24784:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24728:31:43", + "nodeType": "YulIdentifier", + "src": "24728:31:43" + }, + "nativeSrc": "24728:60:43", + "nodeType": "YulFunctionCall", + "src": "24728:60:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24703:6:43", + "nodeType": "YulIdentifier", + "src": "24703:6:43" + }, + "nativeSrc": "24703:86:43", + "nodeType": "YulFunctionCall", + "src": "24703:86:43" + }, + "nativeSrc": "24703:86:43", + "nodeType": "YulExpressionStatement", + "src": "24703:86:43" + } + ] + }, + { + "nativeSrc": "24810:173:43", + "nodeType": "YulBlock", + "src": "24810:173:43", + "statements": [ + { + "nativeSrc": "24855:17:43", + "nodeType": "YulVariableDeclaration", + "src": "24855:17:43", + "value": { + "kind": "number", + "nativeSrc": "24869:3:43", + "nodeType": "YulLiteral", + "src": "24869:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24859:6:43", + "nodeType": "YulTypedName", + "src": "24859:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "24897:5:43", + "nodeType": "YulIdentifier", + "src": "24897:5:43" + }, + { + "kind": "number", + "nativeSrc": "24904:4:43", + "nodeType": "YulLiteral", + "src": "24904:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24893:3:43", + "nodeType": "YulIdentifier", + "src": "24893:3:43" + }, + "nativeSrc": "24893:16:43", + "nodeType": "YulFunctionCall", + "src": "24893:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24947:9:43", + "nodeType": "YulIdentifier", + "src": "24947:9:43" + }, + { + "name": "offset", + "nativeSrc": "24958:6:43", + "nodeType": "YulIdentifier", + "src": "24958:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24943:3:43", + "nodeType": "YulIdentifier", + "src": "24943:3:43" + }, + "nativeSrc": "24943:22:43", + "nodeType": "YulFunctionCall", + "src": "24943:22:43" + }, + { + "name": "end", + "nativeSrc": "24967:3:43", + "nodeType": "YulIdentifier", + "src": "24967:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "24911:31:43", + "nodeType": "YulIdentifier", + "src": "24911:31:43" + }, + "nativeSrc": "24911:60:43", + "nodeType": "YulFunctionCall", + "src": "24911:60:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24886:6:43", + "nodeType": "YulIdentifier", + "src": "24886:6:43" + }, + "nativeSrc": "24886:86:43", + "nodeType": "YulFunctionCall", + "src": "24886:86:43" + }, + "nativeSrc": "24886:86:43", + "nodeType": "YulExpressionStatement", + "src": "24886:86:43" + } + ] + }, + { + "nativeSrc": "24993:187:43", + "nodeType": "YulBlock", + "src": "24993:187:43", + "statements": [ + { + "nativeSrc": "25035:17:43", + "nodeType": "YulVariableDeclaration", + "src": "25035:17:43", + "value": { + "kind": "number", + "nativeSrc": "25049:3:43", + "nodeType": "YulLiteral", + "src": "25049:3:43", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "25039:6:43", + "nodeType": "YulTypedName", + "src": "25039:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25077:5:43", + "nodeType": "YulIdentifier", + "src": "25077:5:43" + }, + { + "kind": "number", + "nativeSrc": "25084:4:43", + "nodeType": "YulLiteral", + "src": "25084:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25073:3:43", + "nodeType": "YulIdentifier", + "src": "25073:3:43" + }, + "nativeSrc": "25073:16:43", + "nodeType": "YulFunctionCall", + "src": "25073:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25144:9:43", + "nodeType": "YulIdentifier", + "src": "25144:9:43" + }, + { + "name": "offset", + "nativeSrc": "25155:6:43", + "nodeType": "YulIdentifier", + "src": "25155:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25140:3:43", + "nodeType": "YulIdentifier", + "src": "25140:3:43" + }, + "nativeSrc": "25140:22:43", + "nodeType": "YulFunctionCall", + "src": "25140:22:43" + }, + { + "name": "end", + "nativeSrc": "25164:3:43", + "nodeType": "YulIdentifier", + "src": "25164:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "25091:48:43", + "nodeType": "YulIdentifier", + "src": "25091:48:43" + }, + "nativeSrc": "25091:77:43", + "nodeType": "YulFunctionCall", + "src": "25091:77:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25066:6:43", + "nodeType": "YulIdentifier", + "src": "25066:6:43" + }, + "nativeSrc": "25066:103:43", + "nodeType": "YulFunctionCall", + "src": "25066:103:43" + }, + "nativeSrc": "25066:103:43", + "nodeType": "YulExpressionStatement", + "src": "25066:103:43" + } + ] + }, + { + "nativeSrc": "25190:325:43", + "nodeType": "YulBlock", + "src": "25190:325:43", + "statements": [ + { + "nativeSrc": "25224:40:43", + "nodeType": "YulVariableDeclaration", + "src": "25224:40:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25248:9:43", + "nodeType": "YulIdentifier", + "src": "25248:9:43" + }, + { + "kind": "number", + "nativeSrc": "25259:3:43", + "nodeType": "YulLiteral", + "src": "25259:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25244:3:43", + "nodeType": "YulIdentifier", + "src": "25244:3:43" + }, + "nativeSrc": "25244:19:43", + "nodeType": "YulFunctionCall", + "src": "25244:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25238:5:43", + "nodeType": "YulIdentifier", + "src": "25238:5:43" + }, + "nativeSrc": "25238:26:43", + "nodeType": "YulFunctionCall", + "src": "25238:26:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "25228:6:43", + "nodeType": "YulTypedName", + "src": "25228:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25311:83:43", + "nodeType": "YulBlock", + "src": "25311:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nativeSrc": "25313:77:43", + "nodeType": "YulIdentifier", + "src": "25313:77:43" + }, + "nativeSrc": "25313:79:43", + "nodeType": "YulFunctionCall", + "src": "25313:79:43" + }, + "nativeSrc": "25313:79:43", + "nodeType": "YulExpressionStatement", + "src": "25313:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "25283:6:43", + "nodeType": "YulIdentifier", + "src": "25283:6:43" + }, + { + "kind": "number", + "nativeSrc": "25291:18:43", + "nodeType": "YulLiteral", + "src": "25291:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25280:2:43", + "nodeType": "YulIdentifier", + "src": "25280:2:43" + }, + "nativeSrc": "25280:30:43", + "nodeType": "YulFunctionCall", + "src": "25280:30:43" + }, + "nativeSrc": "25277:117:43", + "nodeType": "YulIf", + "src": "25277:117:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25419:5:43", + "nodeType": "YulIdentifier", + "src": "25419:5:43" + }, + { + "kind": "number", + "nativeSrc": "25426:4:43", + "nodeType": "YulLiteral", + "src": "25426:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25415:3:43", + "nodeType": "YulIdentifier", + "src": "25415:3:43" + }, + "nativeSrc": "25415:16:43", + "nodeType": "YulFunctionCall", + "src": "25415:16:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25479:9:43", + "nodeType": "YulIdentifier", + "src": "25479:9:43" + }, + { + "name": "offset", + "nativeSrc": "25490:6:43", + "nodeType": "YulIdentifier", + "src": "25490:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25475:3:43", + "nodeType": "YulIdentifier", + "src": "25475:3:43" + }, + "nativeSrc": "25475:22:43", + "nodeType": "YulFunctionCall", + "src": "25475:22:43" + }, + { + "name": "end", + "nativeSrc": "25499:3:43", + "nodeType": "YulIdentifier", + "src": "25499:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "25433:41:43", + "nodeType": "YulIdentifier", + "src": "25433:41:43" + }, + "nativeSrc": "25433:70:43", + "nodeType": "YulFunctionCall", + "src": "25433:70:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25408:6:43", + "nodeType": "YulIdentifier", + "src": "25408:6:43" + }, + "nativeSrc": "25408:96:43", + "nodeType": "YulFunctionCall", + "src": "25408:96:43" + }, + "nativeSrc": "25408:96:43", + "nodeType": "YulExpressionStatement", + "src": "25408:96:43" + } + ] + } + ] + }, + "name": "abi_decode_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory", + "nativeSrc": "23460:2062:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "23531:9:43", + "nodeType": "YulTypedName", + "src": "23531:9:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23542:3:43", + "nodeType": "YulTypedName", + "src": "23542:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "23550:5:43", + "nodeType": "YulTypedName", + "src": "23550:5:43", + "type": "" + } + ], + "src": "23460:2062:43" + }, + { + "body": { + "nativeSrc": "25635:457:43", + "nodeType": "YulBlock", + "src": "25635:457:43", + "statements": [ + { + "body": { + "nativeSrc": "25681:83:43", + "nodeType": "YulBlock", + "src": "25681:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "25683:77:43", + "nodeType": "YulIdentifier", + "src": "25683:77:43" + }, + "nativeSrc": "25683:79:43", + "nodeType": "YulFunctionCall", + "src": "25683:79:43" + }, + "nativeSrc": "25683:79:43", + "nodeType": "YulExpressionStatement", + "src": "25683:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "25656:7:43", + "nodeType": "YulIdentifier", + "src": "25656:7:43" + }, + { + "name": "headStart", + "nativeSrc": "25665:9:43", + "nodeType": "YulIdentifier", + "src": "25665:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "25652:3:43", + "nodeType": "YulIdentifier", + "src": "25652:3:43" + }, + "nativeSrc": "25652:23:43", + "nodeType": "YulFunctionCall", + "src": "25652:23:43" + }, + { + "kind": "number", + "nativeSrc": "25677:2:43", + "nodeType": "YulLiteral", + "src": "25677:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "25648:3:43", + "nodeType": "YulIdentifier", + "src": "25648:3:43" + }, + "nativeSrc": "25648:32:43", + "nodeType": "YulFunctionCall", + "src": "25648:32:43" + }, + "nativeSrc": "25645:119:43", + "nodeType": "YulIf", + "src": "25645:119:43" + }, + { + "nativeSrc": "25774:311:43", + "nodeType": "YulBlock", + "src": "25774:311:43", + "statements": [ + { + "nativeSrc": "25789:38:43", + "nodeType": "YulVariableDeclaration", + "src": "25789:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25813:9:43", + "nodeType": "YulIdentifier", + "src": "25813:9:43" + }, + { + "kind": "number", + "nativeSrc": "25824:1:43", + "nodeType": "YulLiteral", + "src": "25824:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25809:3:43", + "nodeType": "YulIdentifier", + "src": "25809:3:43" + }, + "nativeSrc": "25809:17:43", + "nodeType": "YulFunctionCall", + "src": "25809:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25803:5:43", + "nodeType": "YulIdentifier", + "src": "25803:5:43" + }, + "nativeSrc": "25803:24:43", + "nodeType": "YulFunctionCall", + "src": "25803:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "25793:6:43", + "nodeType": "YulTypedName", + "src": "25793:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25874:83:43", + "nodeType": "YulBlock", + "src": "25874:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "25876:77:43", + "nodeType": "YulIdentifier", + "src": "25876:77:43" + }, + "nativeSrc": "25876:79:43", + "nodeType": "YulFunctionCall", + "src": "25876:79:43" + }, + "nativeSrc": "25876:79:43", + "nodeType": "YulExpressionStatement", + "src": "25876:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "25846:6:43", + "nodeType": "YulIdentifier", + "src": "25846:6:43" + }, + { + "kind": "number", + "nativeSrc": "25854:18:43", + "nodeType": "YulLiteral", + "src": "25854:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25843:2:43", + "nodeType": "YulIdentifier", + "src": "25843:2:43" + }, + "nativeSrc": "25843:30:43", + "nodeType": "YulFunctionCall", + "src": "25843:30:43" + }, + "nativeSrc": "25840:117:43", + "nodeType": "YulIf", + "src": "25840:117:43" + }, + { + "nativeSrc": "25971:104:43", + "nodeType": "YulAssignment", + "src": "25971:104:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26047:9:43", + "nodeType": "YulIdentifier", + "src": "26047:9:43" + }, + { + "name": "offset", + "nativeSrc": "26058:6:43", + "nodeType": "YulIdentifier", + "src": "26058:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26043:3:43", + "nodeType": "YulIdentifier", + "src": "26043:3:43" + }, + "nativeSrc": "26043:22:43", + "nodeType": "YulFunctionCall", + "src": "26043:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "26067:7:43", + "nodeType": "YulIdentifier", + "src": "26067:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory", + "nativeSrc": "25981:61:43", + "nodeType": "YulIdentifier", + "src": "25981:61:43" + }, + "nativeSrc": "25981:94:43", + "nodeType": "YulFunctionCall", + "src": "25981:94:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "25971:6:43", + "nodeType": "YulIdentifier", + "src": "25971:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory", + "nativeSrc": "25528:564:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "25605:9:43", + "nodeType": "YulTypedName", + "src": "25605:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "25616:7:43", + "nodeType": "YulTypedName", + "src": "25616:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "25628:6:43", + "nodeType": "YulTypedName", + "src": "25628:6:43", + "type": "" + } + ], + "src": "25528:564:43" + }, + { + "body": { + "nativeSrc": "26163:53:43", + "nodeType": "YulBlock", + "src": "26163:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "26180:3:43", + "nodeType": "YulIdentifier", + "src": "26180:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "26203:5:43", + "nodeType": "YulIdentifier", + "src": "26203:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "26185:17:43", + "nodeType": "YulIdentifier", + "src": "26185:17:43" + }, + "nativeSrc": "26185:24:43", + "nodeType": "YulFunctionCall", + "src": "26185:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "26173:6:43", + "nodeType": "YulIdentifier", + "src": "26173:6:43" + }, + "nativeSrc": "26173:37:43", + "nodeType": "YulFunctionCall", + "src": "26173:37:43" + }, + "nativeSrc": "26173:37:43", + "nodeType": "YulExpressionStatement", + "src": "26173:37:43" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "26098:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26151:5:43", + "nodeType": "YulTypedName", + "src": "26151:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "26158:3:43", + "nodeType": "YulTypedName", + "src": "26158:3:43", + "type": "" + } + ], + "src": "26098:118:43" + }, + { + "body": { + "nativeSrc": "26320:124:43", + "nodeType": "YulBlock", + "src": "26320:124:43", + "statements": [ + { + "nativeSrc": "26330:26:43", + "nodeType": "YulAssignment", + "src": "26330:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26342:9:43", + "nodeType": "YulIdentifier", + "src": "26342:9:43" + }, + { + "kind": "number", + "nativeSrc": "26353:2:43", + "nodeType": "YulLiteral", + "src": "26353:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26338:3:43", + "nodeType": "YulIdentifier", + "src": "26338:3:43" + }, + "nativeSrc": "26338:18:43", + "nodeType": "YulFunctionCall", + "src": "26338:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "26330:4:43", + "nodeType": "YulIdentifier", + "src": "26330:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "26410:6:43", + "nodeType": "YulIdentifier", + "src": "26410:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "26423:9:43", + "nodeType": "YulIdentifier", + "src": "26423:9:43" + }, + { + "kind": "number", + "nativeSrc": "26434:1:43", + "nodeType": "YulLiteral", + "src": "26434:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26419:3:43", + "nodeType": "YulIdentifier", + "src": "26419:3:43" + }, + "nativeSrc": "26419:17:43", + "nodeType": "YulFunctionCall", + "src": "26419:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "26366:43:43", + "nodeType": "YulIdentifier", + "src": "26366:43:43" + }, + "nativeSrc": "26366:71:43", + "nodeType": "YulFunctionCall", + "src": "26366:71:43" + }, + "nativeSrc": "26366:71:43", + "nodeType": "YulExpressionStatement", + "src": "26366:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "26222:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "26292:9:43", + "nodeType": "YulTypedName", + "src": "26292:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "26304:6:43", + "nodeType": "YulTypedName", + "src": "26304:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "26315:4:43", + "nodeType": "YulTypedName", + "src": "26315:4:43", + "type": "" + } + ], + "src": "26222:222:43" + }, + { + "body": { + "nativeSrc": "26490:76:43", + "nodeType": "YulBlock", + "src": "26490:76:43", + "statements": [ + { + "body": { + "nativeSrc": "26544:16:43", + "nodeType": "YulBlock", + "src": "26544:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "26553:1:43", + "nodeType": "YulLiteral", + "src": "26553:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "26556:1:43", + "nodeType": "YulLiteral", + "src": "26556:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "26546:6:43", + "nodeType": "YulIdentifier", + "src": "26546:6:43" + }, + "nativeSrc": "26546:12:43", + "nodeType": "YulFunctionCall", + "src": "26546:12:43" + }, + "nativeSrc": "26546:12:43", + "nodeType": "YulExpressionStatement", + "src": "26546:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "26513:5:43", + "nodeType": "YulIdentifier", + "src": "26513:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "26535:5:43", + "nodeType": "YulIdentifier", + "src": "26535:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "26520:14:43", + "nodeType": "YulIdentifier", + "src": "26520:14:43" + }, + "nativeSrc": "26520:21:43", + "nodeType": "YulFunctionCall", + "src": "26520:21:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "26510:2:43", + "nodeType": "YulIdentifier", + "src": "26510:2:43" + }, + "nativeSrc": "26510:32:43", + "nodeType": "YulFunctionCall", + "src": "26510:32:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "26503:6:43", + "nodeType": "YulIdentifier", + "src": "26503:6:43" + }, + "nativeSrc": "26503:40:43", + "nodeType": "YulFunctionCall", + "src": "26503:40:43" + }, + "nativeSrc": "26500:60:43", + "nodeType": "YulIf", + "src": "26500:60:43" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "26450:116:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26483:5:43", + "nodeType": "YulTypedName", + "src": "26483:5:43", + "type": "" + } + ], + "src": "26450:116:43" + }, + { + "body": { + "nativeSrc": "26632:77:43", + "nodeType": "YulBlock", + "src": "26632:77:43", + "statements": [ + { + "nativeSrc": "26642:22:43", + "nodeType": "YulAssignment", + "src": "26642:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "26657:6:43", + "nodeType": "YulIdentifier", + "src": "26657:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26651:5:43", + "nodeType": "YulIdentifier", + "src": "26651:5:43" + }, + "nativeSrc": "26651:13:43", + "nodeType": "YulFunctionCall", + "src": "26651:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "26642:5:43", + "nodeType": "YulIdentifier", + "src": "26642:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26697:5:43", + "nodeType": "YulIdentifier", + "src": "26697:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "26673:23:43", + "nodeType": "YulIdentifier", + "src": "26673:23:43" + }, + "nativeSrc": "26673:30:43", + "nodeType": "YulFunctionCall", + "src": "26673:30:43" + }, + "nativeSrc": "26673:30:43", + "nodeType": "YulExpressionStatement", + "src": "26673:30:43" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "26572:137:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "26610:6:43", + "nodeType": "YulTypedName", + "src": "26610:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "26618:3:43", + "nodeType": "YulTypedName", + "src": "26618:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "26626:5:43", + "nodeType": "YulTypedName", + "src": "26626:5:43", + "type": "" + } + ], + "src": "26572:137:43" + }, + { + "body": { + "nativeSrc": "26789:271:43", + "nodeType": "YulBlock", + "src": "26789:271:43", + "statements": [ + { + "body": { + "nativeSrc": "26835:83:43", + "nodeType": "YulBlock", + "src": "26835:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "26837:77:43", + "nodeType": "YulIdentifier", + "src": "26837:77:43" + }, + "nativeSrc": "26837:79:43", + "nodeType": "YulFunctionCall", + "src": "26837:79:43" + }, + "nativeSrc": "26837:79:43", + "nodeType": "YulExpressionStatement", + "src": "26837:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "26810:7:43", + "nodeType": "YulIdentifier", + "src": "26810:7:43" + }, + { + "name": "headStart", + "nativeSrc": "26819:9:43", + "nodeType": "YulIdentifier", + "src": "26819:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "26806:3:43", + "nodeType": "YulIdentifier", + "src": "26806:3:43" + }, + "nativeSrc": "26806:23:43", + "nodeType": "YulFunctionCall", + "src": "26806:23:43" + }, + { + "kind": "number", + "nativeSrc": "26831:2:43", + "nodeType": "YulLiteral", + "src": "26831:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "26802:3:43", + "nodeType": "YulIdentifier", + "src": "26802:3:43" + }, + "nativeSrc": "26802:32:43", + "nodeType": "YulFunctionCall", + "src": "26802:32:43" + }, + "nativeSrc": "26799:119:43", + "nodeType": "YulIf", + "src": "26799:119:43" + }, + { + "nativeSrc": "26928:125:43", + "nodeType": "YulBlock", + "src": "26928:125:43", + "statements": [ + { + "nativeSrc": "26943:15:43", + "nodeType": "YulVariableDeclaration", + "src": "26943:15:43", + "value": { + "kind": "number", + "nativeSrc": "26957:1:43", + "nodeType": "YulLiteral", + "src": "26957:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "26947:6:43", + "nodeType": "YulTypedName", + "src": "26947:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "26972:71:43", + "nodeType": "YulAssignment", + "src": "26972:71:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27015:9:43", + "nodeType": "YulIdentifier", + "src": "27015:9:43" + }, + { + "name": "offset", + "nativeSrc": "27026:6:43", + "nodeType": "YulIdentifier", + "src": "27026:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27011:3:43", + "nodeType": "YulIdentifier", + "src": "27011:3:43" + }, + "nativeSrc": "27011:22:43", + "nodeType": "YulFunctionCall", + "src": "27011:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "27035:7:43", + "nodeType": "YulIdentifier", + "src": "27035:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "26982:28:43", + "nodeType": "YulIdentifier", + "src": "26982:28:43" + }, + "nativeSrc": "26982:61:43", + "nodeType": "YulFunctionCall", + "src": "26982:61:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "26972:6:43", + "nodeType": "YulIdentifier", + "src": "26972:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "26715:345:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "26759:9:43", + "nodeType": "YulTypedName", + "src": "26759:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "26770:7:43", + "nodeType": "YulTypedName", + "src": "26770:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "26782:6:43", + "nodeType": "YulTypedName", + "src": "26782:6:43", + "type": "" + } + ], + "src": "26715:345:43" + }, + { + "body": { + "nativeSrc": "27352:691:43", + "nodeType": "YulBlock", + "src": "27352:691:43", + "statements": [ + { + "nativeSrc": "27362:27:43", + "nodeType": "YulAssignment", + "src": "27362:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27374:9:43", + "nodeType": "YulIdentifier", + "src": "27374:9:43" + }, + { + "kind": "number", + "nativeSrc": "27385:3:43", + "nodeType": "YulLiteral", + "src": "27385:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27370:3:43", + "nodeType": "YulIdentifier", + "src": "27370:3:43" + }, + "nativeSrc": "27370:19:43", + "nodeType": "YulFunctionCall", + "src": "27370:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "27362:4:43", + "nodeType": "YulIdentifier", + "src": "27362:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27410:9:43", + "nodeType": "YulIdentifier", + "src": "27410:9:43" + }, + { + "kind": "number", + "nativeSrc": "27421:1:43", + "nodeType": "YulLiteral", + "src": "27421:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27406:3:43", + "nodeType": "YulIdentifier", + "src": "27406:3:43" + }, + "nativeSrc": "27406:17:43", + "nodeType": "YulFunctionCall", + "src": "27406:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "27429:4:43", + "nodeType": "YulIdentifier", + "src": "27429:4:43" + }, + { + "name": "headStart", + "nativeSrc": "27435:9:43", + "nodeType": "YulIdentifier", + "src": "27435:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "27425:3:43", + "nodeType": "YulIdentifier", + "src": "27425:3:43" + }, + "nativeSrc": "27425:20:43", + "nodeType": "YulFunctionCall", + "src": "27425:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27399:6:43", + "nodeType": "YulIdentifier", + "src": "27399:6:43" + }, + "nativeSrc": "27399:47:43", + "nodeType": "YulFunctionCall", + "src": "27399:47:43" + }, + "nativeSrc": "27399:47:43", + "nodeType": "YulExpressionStatement", + "src": "27399:47:43" + }, + { + "nativeSrc": "27455:86:43", + "nodeType": "YulAssignment", + "src": "27455:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "27527:6:43", + "nodeType": "YulIdentifier", + "src": "27527:6:43" + }, + { + "name": "tail", + "nativeSrc": "27536:4:43", + "nodeType": "YulIdentifier", + "src": "27536:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "27463:63:43", + "nodeType": "YulIdentifier", + "src": "27463:63:43" + }, + "nativeSrc": "27463:78:43", + "nodeType": "YulFunctionCall", + "src": "27463:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "27455:4:43", + "nodeType": "YulIdentifier", + "src": "27455:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "27595:6:43", + "nodeType": "YulIdentifier", + "src": "27595:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27608:9:43", + "nodeType": "YulIdentifier", + "src": "27608:9:43" + }, + { + "kind": "number", + "nativeSrc": "27619:2:43", + "nodeType": "YulLiteral", + "src": "27619:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27604:3:43", + "nodeType": "YulIdentifier", + "src": "27604:3:43" + }, + "nativeSrc": "27604:18:43", + "nodeType": "YulFunctionCall", + "src": "27604:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "27551:43:43", + "nodeType": "YulIdentifier", + "src": "27551:43:43" + }, + "nativeSrc": "27551:72:43", + "nodeType": "YulFunctionCall", + "src": "27551:72:43" + }, + "nativeSrc": "27551:72:43", + "nodeType": "YulExpressionStatement", + "src": "27551:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "27677:6:43", + "nodeType": "YulIdentifier", + "src": "27677:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27690:9:43", + "nodeType": "YulIdentifier", + "src": "27690:9:43" + }, + { + "kind": "number", + "nativeSrc": "27701:2:43", + "nodeType": "YulLiteral", + "src": "27701:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27686:3:43", + "nodeType": "YulIdentifier", + "src": "27686:3:43" + }, + "nativeSrc": "27686:18:43", + "nodeType": "YulFunctionCall", + "src": "27686:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27633:43:43", + "nodeType": "YulIdentifier", + "src": "27633:43:43" + }, + "nativeSrc": "27633:72:43", + "nodeType": "YulFunctionCall", + "src": "27633:72:43" + }, + "nativeSrc": "27633:72:43", + "nodeType": "YulExpressionStatement", + "src": "27633:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "27759:6:43", + "nodeType": "YulIdentifier", + "src": "27759:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27772:9:43", + "nodeType": "YulIdentifier", + "src": "27772:9:43" + }, + { + "kind": "number", + "nativeSrc": "27783:2:43", + "nodeType": "YulLiteral", + "src": "27783:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27768:3:43", + "nodeType": "YulIdentifier", + "src": "27768:3:43" + }, + "nativeSrc": "27768:18:43", + "nodeType": "YulFunctionCall", + "src": "27768:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27715:43:43", + "nodeType": "YulIdentifier", + "src": "27715:43:43" + }, + "nativeSrc": "27715:72:43", + "nodeType": "YulFunctionCall", + "src": "27715:72:43" + }, + "nativeSrc": "27715:72:43", + "nodeType": "YulExpressionStatement", + "src": "27715:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "27841:6:43", + "nodeType": "YulIdentifier", + "src": "27841:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27854:9:43", + "nodeType": "YulIdentifier", + "src": "27854:9:43" + }, + { + "kind": "number", + "nativeSrc": "27865:3:43", + "nodeType": "YulLiteral", + "src": "27865:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27850:3:43", + "nodeType": "YulIdentifier", + "src": "27850:3:43" + }, + "nativeSrc": "27850:19:43", + "nodeType": "YulFunctionCall", + "src": "27850:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27797:43:43", + "nodeType": "YulIdentifier", + "src": "27797:43:43" + }, + "nativeSrc": "27797:73:43", + "nodeType": "YulFunctionCall", + "src": "27797:73:43" + }, + "nativeSrc": "27797:73:43", + "nodeType": "YulExpressionStatement", + "src": "27797:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "27924:6:43", + "nodeType": "YulIdentifier", + "src": "27924:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27937:9:43", + "nodeType": "YulIdentifier", + "src": "27937:9:43" + }, + { + "kind": "number", + "nativeSrc": "27948:3:43", + "nodeType": "YulLiteral", + "src": "27948:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27933:3:43", + "nodeType": "YulIdentifier", + "src": "27933:3:43" + }, + "nativeSrc": "27933:19:43", + "nodeType": "YulFunctionCall", + "src": "27933:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27880:43:43", + "nodeType": "YulIdentifier", + "src": "27880:43:43" + }, + "nativeSrc": "27880:73:43", + "nodeType": "YulFunctionCall", + "src": "27880:73:43" + }, + "nativeSrc": "27880:73:43", + "nodeType": "YulExpressionStatement", + "src": "27880:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "28007:6:43", + "nodeType": "YulIdentifier", + "src": "28007:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28020:9:43", + "nodeType": "YulIdentifier", + "src": "28020:9:43" + }, + { + "kind": "number", + "nativeSrc": "28031:3:43", + "nodeType": "YulLiteral", + "src": "28031:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28016:3:43", + "nodeType": "YulIdentifier", + "src": "28016:3:43" + }, + "nativeSrc": "28016:19:43", + "nodeType": "YulFunctionCall", + "src": "28016:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27963:43:43", + "nodeType": "YulIdentifier", + "src": "27963:43:43" + }, + "nativeSrc": "27963:73:43", + "nodeType": "YulFunctionCall", + "src": "27963:73:43" + }, + "nativeSrc": "27963:73:43", + "nodeType": "YulExpressionStatement", + "src": "27963:73:43" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "27066:977:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "27276:9:43", + "nodeType": "YulTypedName", + "src": "27276:9:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "27288:6:43", + "nodeType": "YulTypedName", + "src": "27288:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "27296:6:43", + "nodeType": "YulTypedName", + "src": "27296:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "27304:6:43", + "nodeType": "YulTypedName", + "src": "27304:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "27312:6:43", + "nodeType": "YulTypedName", + "src": "27312:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "27320:6:43", + "nodeType": "YulTypedName", + "src": "27320:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "27328:6:43", + "nodeType": "YulTypedName", + "src": "27328:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "27336:6:43", + "nodeType": "YulTypedName", + "src": "27336:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "27347:4:43", + "nodeType": "YulTypedName", + "src": "27347:4:43", + "type": "" + } + ], + "src": "27066:977:43" + }, + { + "body": { + "nativeSrc": "28155:70:43", + "nodeType": "YulBlock", + "src": "28155:70:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "28177:6:43", + "nodeType": "YulIdentifier", + "src": "28177:6:43" + }, + { + "kind": "number", + "nativeSrc": "28185:1:43", + "nodeType": "YulLiteral", + "src": "28185:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28173:3:43", + "nodeType": "YulIdentifier", + "src": "28173:3:43" + }, + "nativeSrc": "28173:14:43", + "nodeType": "YulFunctionCall", + "src": "28173:14:43" + }, + { + "hexValue": "4572726f722c2077726f6e67206d6f64652073656c6563746564", + "kind": "string", + "nativeSrc": "28189:28:43", + "nodeType": "YulLiteral", + "src": "28189:28:43", + "type": "", + "value": "Error, wrong mode selected" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28166:6:43", + "nodeType": "YulIdentifier", + "src": "28166:6:43" + }, + "nativeSrc": "28166:52:43", + "nodeType": "YulFunctionCall", + "src": "28166:52:43" + }, + "nativeSrc": "28166:52:43", + "nodeType": "YulExpressionStatement", + "src": "28166:52:43" + } + ] + }, + "name": "store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "nativeSrc": "28049:176:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "28147:6:43", + "nodeType": "YulTypedName", + "src": "28147:6:43", + "type": "" + } + ], + "src": "28049:176:43" + }, + { + "body": { + "nativeSrc": "28377:220:43", + "nodeType": "YulBlock", + "src": "28377:220:43", + "statements": [ + { + "nativeSrc": "28387:74:43", + "nodeType": "YulAssignment", + "src": "28387:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28453:3:43", + "nodeType": "YulIdentifier", + "src": "28453:3:43" + }, + { + "kind": "number", + "nativeSrc": "28458:2:43", + "nodeType": "YulLiteral", + "src": "28458:2:43", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "28394:58:43", + "nodeType": "YulIdentifier", + "src": "28394:58:43" + }, + "nativeSrc": "28394:67:43", + "nodeType": "YulFunctionCall", + "src": "28394:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "28387:3:43", + "nodeType": "YulIdentifier", + "src": "28387:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28559:3:43", + "nodeType": "YulIdentifier", + "src": "28559:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6", + "nativeSrc": "28470:88:43", + "nodeType": "YulIdentifier", + "src": "28470:88:43" + }, + "nativeSrc": "28470:93:43", + "nodeType": "YulFunctionCall", + "src": "28470:93:43" + }, + "nativeSrc": "28470:93:43", + "nodeType": "YulExpressionStatement", + "src": "28470:93:43" + }, + { + "nativeSrc": "28572:19:43", + "nodeType": "YulAssignment", + "src": "28572:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28583:3:43", + "nodeType": "YulIdentifier", + "src": "28583:3:43" + }, + { + "kind": "number", + "nativeSrc": "28588:2:43", + "nodeType": "YulLiteral", + "src": "28588:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28579:3:43", + "nodeType": "YulIdentifier", + "src": "28579:3:43" + }, + "nativeSrc": "28579:12:43", + "nodeType": "YulFunctionCall", + "src": "28579:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "28572:3:43", + "nodeType": "YulIdentifier", + "src": "28572:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack", + "nativeSrc": "28231:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "28365:3:43", + "nodeType": "YulTypedName", + "src": "28365:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "28373:3:43", + "nodeType": "YulTypedName", + "src": "28373:3:43", + "type": "" + } + ], + "src": "28231:366:43" + }, + { + "body": { + "nativeSrc": "28774:248:43", + "nodeType": "YulBlock", + "src": "28774:248:43", + "statements": [ + { + "nativeSrc": "28784:26:43", + "nodeType": "YulAssignment", + "src": "28784:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28796:9:43", + "nodeType": "YulIdentifier", + "src": "28796:9:43" + }, + { + "kind": "number", + "nativeSrc": "28807:2:43", + "nodeType": "YulLiteral", + "src": "28807:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28792:3:43", + "nodeType": "YulIdentifier", + "src": "28792:3:43" + }, + "nativeSrc": "28792:18:43", + "nodeType": "YulFunctionCall", + "src": "28792:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28784:4:43", + "nodeType": "YulIdentifier", + "src": "28784:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28831:9:43", + "nodeType": "YulIdentifier", + "src": "28831:9:43" + }, + { + "kind": "number", + "nativeSrc": "28842:1:43", + "nodeType": "YulLiteral", + "src": "28842:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28827:3:43", + "nodeType": "YulIdentifier", + "src": "28827:3:43" + }, + "nativeSrc": "28827:17:43", + "nodeType": "YulFunctionCall", + "src": "28827:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28850:4:43", + "nodeType": "YulIdentifier", + "src": "28850:4:43" + }, + { + "name": "headStart", + "nativeSrc": "28856:9:43", + "nodeType": "YulIdentifier", + "src": "28856:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "28846:3:43", + "nodeType": "YulIdentifier", + "src": "28846:3:43" + }, + "nativeSrc": "28846:20:43", + "nodeType": "YulFunctionCall", + "src": "28846:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28820:6:43", + "nodeType": "YulIdentifier", + "src": "28820:6:43" + }, + "nativeSrc": "28820:47:43", + "nodeType": "YulFunctionCall", + "src": "28820:47:43" + }, + "nativeSrc": "28820:47:43", + "nodeType": "YulExpressionStatement", + "src": "28820:47:43" + }, + { + "nativeSrc": "28876:139:43", + "nodeType": "YulAssignment", + "src": "28876:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "29010:4:43", + "nodeType": "YulIdentifier", + "src": "29010:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack", + "nativeSrc": "28884:124:43", + "nodeType": "YulIdentifier", + "src": "28884:124:43" + }, + "nativeSrc": "28884:131:43", + "nodeType": "YulFunctionCall", + "src": "28884:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28876:4:43", + "nodeType": "YulIdentifier", + "src": "28876:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "28603:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "28754:9:43", + "nodeType": "YulTypedName", + "src": "28754:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "28769:4:43", + "nodeType": "YulTypedName", + "src": "28769:4:43", + "type": "" + } + ], + "src": "28603:419:43" + }, + { + "body": { + "nativeSrc": "29056:152:43", + "nodeType": "YulBlock", + "src": "29056:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29073:1:43", + "nodeType": "YulLiteral", + "src": "29073:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29076:77:43", + "nodeType": "YulLiteral", + "src": "29076:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29066:6:43", + "nodeType": "YulIdentifier", + "src": "29066:6:43" + }, + "nativeSrc": "29066:88:43", + "nodeType": "YulFunctionCall", + "src": "29066:88:43" + }, + "nativeSrc": "29066:88:43", + "nodeType": "YulExpressionStatement", + "src": "29066:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29170:1:43", + "nodeType": "YulLiteral", + "src": "29170:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "29173:4:43", + "nodeType": "YulLiteral", + "src": "29173:4:43", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29163:6:43", + "nodeType": "YulIdentifier", + "src": "29163:6:43" + }, + "nativeSrc": "29163:15:43", + "nodeType": "YulFunctionCall", + "src": "29163:15:43" + }, + "nativeSrc": "29163:15:43", + "nodeType": "YulExpressionStatement", + "src": "29163:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29194:1:43", + "nodeType": "YulLiteral", + "src": "29194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29197:4:43", + "nodeType": "YulLiteral", + "src": "29197:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "29187:6:43", + "nodeType": "YulIdentifier", + "src": "29187:6:43" + }, + "nativeSrc": "29187:15:43", + "nodeType": "YulFunctionCall", + "src": "29187:15:43" + }, + "nativeSrc": "29187:15:43", + "nodeType": "YulExpressionStatement", + "src": "29187:15:43" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "29028:180:43", + "nodeType": "YulFunctionDefinition", + "src": "29028:180:43" + }, + { + "body": { + "nativeSrc": "29242:152:43", + "nodeType": "YulBlock", + "src": "29242:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29259:1:43", + "nodeType": "YulLiteral", + "src": "29259:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29262:77:43", + "nodeType": "YulLiteral", + "src": "29262:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29252:6:43", + "nodeType": "YulIdentifier", + "src": "29252:6:43" + }, + "nativeSrc": "29252:88:43", + "nodeType": "YulFunctionCall", + "src": "29252:88:43" + }, + "nativeSrc": "29252:88:43", + "nodeType": "YulExpressionStatement", + "src": "29252:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29356:1:43", + "nodeType": "YulLiteral", + "src": "29356:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "29359:4:43", + "nodeType": "YulLiteral", + "src": "29359:4:43", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29349:6:43", + "nodeType": "YulIdentifier", + "src": "29349:6:43" + }, + "nativeSrc": "29349:15:43", + "nodeType": "YulFunctionCall", + "src": "29349:15:43" + }, + "nativeSrc": "29349:15:43", + "nodeType": "YulExpressionStatement", + "src": "29349:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29380:1:43", + "nodeType": "YulLiteral", + "src": "29380:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29383:4:43", + "nodeType": "YulLiteral", + "src": "29383:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "29373:6:43", + "nodeType": "YulIdentifier", + "src": "29373:6:43" + }, + "nativeSrc": "29373:15:43", + "nodeType": "YulFunctionCall", + "src": "29373:15:43" + }, + "nativeSrc": "29373:15:43", + "nodeType": "YulExpressionStatement", + "src": "29373:15:43" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "29214:180:43", + "nodeType": "YulFunctionDefinition", + "src": "29214:180:43" + }, + { + "body": { + "nativeSrc": "29445:149:43", + "nodeType": "YulBlock", + "src": "29445:149:43", + "statements": [ + { + "nativeSrc": "29455:25:43", + "nodeType": "YulAssignment", + "src": "29455:25:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "29478:1:43", + "nodeType": "YulIdentifier", + "src": "29478:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "29460:17:43", + "nodeType": "YulIdentifier", + "src": "29460:17:43" + }, + "nativeSrc": "29460:20:43", + "nodeType": "YulFunctionCall", + "src": "29460:20:43" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "29455:1:43", + "nodeType": "YulIdentifier", + "src": "29455:1:43" + } + ] + }, + { + "nativeSrc": "29489:25:43", + "nodeType": "YulAssignment", + "src": "29489:25:43", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "29512:1:43", + "nodeType": "YulIdentifier", + "src": "29512:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "29494:17:43", + "nodeType": "YulIdentifier", + "src": "29494:17:43" + }, + "nativeSrc": "29494:20:43", + "nodeType": "YulFunctionCall", + "src": "29494:20:43" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "29489:1:43", + "nodeType": "YulIdentifier", + "src": "29489:1:43" + } + ] + }, + { + "nativeSrc": "29523:17:43", + "nodeType": "YulAssignment", + "src": "29523:17:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "29535:1:43", + "nodeType": "YulIdentifier", + "src": "29535:1:43" + }, + { + "name": "y", + "nativeSrc": "29538:1:43", + "nodeType": "YulIdentifier", + "src": "29538:1:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29531:3:43", + "nodeType": "YulIdentifier", + "src": "29531:3:43" + }, + "nativeSrc": "29531:9:43", + "nodeType": "YulFunctionCall", + "src": "29531:9:43" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "29523:4:43", + "nodeType": "YulIdentifier", + "src": "29523:4:43" + } + ] + }, + { + "body": { + "nativeSrc": "29565:22:43", + "nodeType": "YulBlock", + "src": "29565:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "29567:16:43", + "nodeType": "YulIdentifier", + "src": "29567:16:43" + }, + "nativeSrc": "29567:18:43", + "nodeType": "YulFunctionCall", + "src": "29567:18:43" + }, + "nativeSrc": "29567:18:43", + "nodeType": "YulExpressionStatement", + "src": "29567:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "29556:4:43", + "nodeType": "YulIdentifier", + "src": "29556:4:43" + }, + { + "name": "x", + "nativeSrc": "29562:1:43", + "nodeType": "YulIdentifier", + "src": "29562:1:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "29553:2:43", + "nodeType": "YulIdentifier", + "src": "29553:2:43" + }, + "nativeSrc": "29553:11:43", + "nodeType": "YulFunctionCall", + "src": "29553:11:43" + }, + "nativeSrc": "29550:37:43", + "nodeType": "YulIf", + "src": "29550:37:43" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "29400:194:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "29431:1:43", + "nodeType": "YulTypedName", + "src": "29431:1:43", + "type": "" + }, + { + "name": "y", + "nativeSrc": "29434:1:43", + "nodeType": "YulTypedName", + "src": "29434:1:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "29440:4:43", + "nodeType": "YulTypedName", + "src": "29440:4:43", + "type": "" + } + ], + "src": "29400:194:43" + }, + { + "body": { + "nativeSrc": "29628:152:43", + "nodeType": "YulBlock", + "src": "29628:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29645:1:43", + "nodeType": "YulLiteral", + "src": "29645:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29648:77:43", + "nodeType": "YulLiteral", + "src": "29648:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29638:6:43", + "nodeType": "YulIdentifier", + "src": "29638:6:43" + }, + "nativeSrc": "29638:88:43", + "nodeType": "YulFunctionCall", + "src": "29638:88:43" + }, + "nativeSrc": "29638:88:43", + "nodeType": "YulExpressionStatement", + "src": "29638:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29742:1:43", + "nodeType": "YulLiteral", + "src": "29742:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "29745:4:43", + "nodeType": "YulLiteral", + "src": "29745:4:43", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29735:6:43", + "nodeType": "YulIdentifier", + "src": "29735:6:43" + }, + "nativeSrc": "29735:15:43", + "nodeType": "YulFunctionCall", + "src": "29735:15:43" + }, + "nativeSrc": "29735:15:43", + "nodeType": "YulExpressionStatement", + "src": "29735:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "29766:1:43", + "nodeType": "YulLiteral", + "src": "29766:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "29769:4:43", + "nodeType": "YulLiteral", + "src": "29769:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "29759:6:43", + "nodeType": "YulIdentifier", + "src": "29759:6:43" + }, + "nativeSrc": "29759:15:43", + "nodeType": "YulFunctionCall", + "src": "29759:15:43" + }, + "nativeSrc": "29759:15:43", + "nodeType": "YulExpressionStatement", + "src": "29759:15:43" + } + ] + }, + "name": "panic_error_0x31", + "nativeSrc": "29600:180:43", + "nodeType": "YulFunctionDefinition", + "src": "29600:180:43" + }, + { + "body": { + "nativeSrc": "29829:190:43", + "nodeType": "YulBlock", + "src": "29829:190:43", + "statements": [ + { + "nativeSrc": "29839:33:43", + "nodeType": "YulAssignment", + "src": "29839:33:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "29866:5:43", + "nodeType": "YulIdentifier", + "src": "29866:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "29848:17:43", + "nodeType": "YulIdentifier", + "src": "29848:17:43" + }, + "nativeSrc": "29848:24:43", + "nodeType": "YulFunctionCall", + "src": "29848:24:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "29839:5:43", + "nodeType": "YulIdentifier", + "src": "29839:5:43" + } + ] + }, + { + "body": { + "nativeSrc": "29962:22:43", + "nodeType": "YulBlock", + "src": "29962:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "29964:16:43", + "nodeType": "YulIdentifier", + "src": "29964:16:43" + }, + "nativeSrc": "29964:18:43", + "nodeType": "YulFunctionCall", + "src": "29964:18:43" + }, + "nativeSrc": "29964:18:43", + "nodeType": "YulExpressionStatement", + "src": "29964:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "29887:5:43", + "nodeType": "YulIdentifier", + "src": "29887:5:43" + }, + { + "kind": "number", + "nativeSrc": "29894:66:43", + "nodeType": "YulLiteral", + "src": "29894:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "29884:2:43", + "nodeType": "YulIdentifier", + "src": "29884:2:43" + }, + "nativeSrc": "29884:77:43", + "nodeType": "YulFunctionCall", + "src": "29884:77:43" + }, + "nativeSrc": "29881:103:43", + "nodeType": "YulIf", + "src": "29881:103:43" + }, + { + "nativeSrc": "29993:20:43", + "nodeType": "YulAssignment", + "src": "29993:20:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "30004:5:43", + "nodeType": "YulIdentifier", + "src": "30004:5:43" + }, + { + "kind": "number", + "nativeSrc": "30011:1:43", + "nodeType": "YulLiteral", + "src": "30011:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30000:3:43", + "nodeType": "YulIdentifier", + "src": "30000:3:43" + }, + "nativeSrc": "30000:13:43", + "nodeType": "YulFunctionCall", + "src": "30000:13:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "29993:3:43", + "nodeType": "YulIdentifier", + "src": "29993:3:43" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "29786:233:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "29815:5:43", + "nodeType": "YulTypedName", + "src": "29815:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "29825:3:43", + "nodeType": "YulTypedName", + "src": "29825:3:43", + "type": "" + } + ], + "src": "29786:233:43" + }, + { + "body": { + "nativeSrc": "30136:73:43", + "nodeType": "YulBlock", + "src": "30136:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30153:3:43", + "nodeType": "YulIdentifier", + "src": "30153:3:43" + }, + { + "name": "length", + "nativeSrc": "30158:6:43", + "nodeType": "YulIdentifier", + "src": "30158:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "30146:6:43", + "nodeType": "YulIdentifier", + "src": "30146:6:43" + }, + "nativeSrc": "30146:19:43", + "nodeType": "YulFunctionCall", + "src": "30146:19:43" + }, + "nativeSrc": "30146:19:43", + "nodeType": "YulExpressionStatement", + "src": "30146:19:43" + }, + { + "nativeSrc": "30174:29:43", + "nodeType": "YulAssignment", + "src": "30174:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30193:3:43", + "nodeType": "YulIdentifier", + "src": "30193:3:43" + }, + { + "kind": "number", + "nativeSrc": "30198:4:43", + "nodeType": "YulLiteral", + "src": "30198:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30189:3:43", + "nodeType": "YulIdentifier", + "src": "30189:3:43" + }, + "nativeSrc": "30189:14:43", + "nodeType": "YulFunctionCall", + "src": "30189:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "30174:11:43", + "nodeType": "YulIdentifier", + "src": "30174:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "30025:184:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "30108:3:43", + "nodeType": "YulTypedName", + "src": "30108:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30113:6:43", + "nodeType": "YulTypedName", + "src": "30113:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "30124:11:43", + "nodeType": "YulTypedName", + "src": "30124:11:43", + "type": "" + } + ], + "src": "30025:184:43" + }, + { + "body": { + "nativeSrc": "30304:28:43", + "nodeType": "YulBlock", + "src": "30304:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "30321:1:43", + "nodeType": "YulLiteral", + "src": "30321:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "30324:1:43", + "nodeType": "YulLiteral", + "src": "30324:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "30314:6:43", + "nodeType": "YulIdentifier", + "src": "30314:6:43" + }, + "nativeSrc": "30314:12:43", + "nodeType": "YulFunctionCall", + "src": "30314:12:43" + }, + "nativeSrc": "30314:12:43", + "nodeType": "YulExpressionStatement", + "src": "30314:12:43" + } + ] + }, + "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", + "nativeSrc": "30215:117:43", + "nodeType": "YulFunctionDefinition", + "src": "30215:117:43" + }, + { + "body": { + "nativeSrc": "30389:47:43", + "nodeType": "YulBlock", + "src": "30389:47:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "30412:3:43", + "nodeType": "YulIdentifier", + "src": "30412:3:43" + }, + { + "name": "src", + "nativeSrc": "30417:3:43", + "nodeType": "YulIdentifier", + "src": "30417:3:43" + }, + { + "name": "length", + "nativeSrc": "30422:6:43", + "nodeType": "YulIdentifier", + "src": "30422:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "30399:12:43", + "nodeType": "YulIdentifier", + "src": "30399:12:43" + }, + "nativeSrc": "30399:30:43", + "nodeType": "YulFunctionCall", + "src": "30399:30:43" + }, + "nativeSrc": "30399:30:43", + "nodeType": "YulExpressionStatement", + "src": "30399:30:43" + } + ] + }, + "name": "copy_calldata_to_memory", + "nativeSrc": "30338:98:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "30371:3:43", + "nodeType": "YulTypedName", + "src": "30371:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "30376:3:43", + "nodeType": "YulTypedName", + "src": "30376:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30381:6:43", + "nodeType": "YulTypedName", + "src": "30381:6:43", + "type": "" + } + ], + "src": "30338:98:43" + }, + { + "body": { + "nativeSrc": "30604:405:43", + "nodeType": "YulBlock", + "src": "30604:405:43", + "statements": [ + { + "nativeSrc": "30614:93:43", + "nodeType": "YulAssignment", + "src": "30614:93:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30695:3:43", + "nodeType": "YulIdentifier", + "src": "30695:3:43" + }, + { + "name": "length", + "nativeSrc": "30700:6:43", + "nodeType": "YulIdentifier", + "src": "30700:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "30621:73:43", + "nodeType": "YulIdentifier", + "src": "30621:73:43" + }, + "nativeSrc": "30621:86:43", + "nodeType": "YulFunctionCall", + "src": "30621:86:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "30614:3:43", + "nodeType": "YulIdentifier", + "src": "30614:3:43" + } + ] + }, + { + "body": { + "nativeSrc": "30799:83:43", + "nodeType": "YulBlock", + "src": "30799:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", + "nativeSrc": "30801:77:43", + "nodeType": "YulIdentifier", + "src": "30801:77:43" + }, + "nativeSrc": "30801:79:43", + "nodeType": "YulFunctionCall", + "src": "30801:79:43" + }, + "nativeSrc": "30801:79:43", + "nodeType": "YulExpressionStatement", + "src": "30801:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "30723:6:43", + "nodeType": "YulIdentifier", + "src": "30723:6:43" + }, + { + "kind": "number", + "nativeSrc": "30731:66:43", + "nodeType": "YulLiteral", + "src": "30731:66:43", + "type": "", + "value": "0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "30720:2:43", + "nodeType": "YulIdentifier", + "src": "30720:2:43" + }, + "nativeSrc": "30720:78:43", + "nodeType": "YulFunctionCall", + "src": "30720:78:43" + }, + "nativeSrc": "30717:165:43", + "nodeType": "YulIf", + "src": "30717:165:43" + }, + { + "nativeSrc": "30891:27:43", + "nodeType": "YulAssignment", + "src": "30891:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "30905:6:43", + "nodeType": "YulIdentifier", + "src": "30905:6:43" + }, + { + "kind": "number", + "nativeSrc": "30913:4:43", + "nodeType": "YulLiteral", + "src": "30913:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "30901:3:43", + "nodeType": "YulIdentifier", + "src": "30901:3:43" + }, + "nativeSrc": "30901:17:43", + "nodeType": "YulFunctionCall", + "src": "30901:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "30891:6:43", + "nodeType": "YulIdentifier", + "src": "30891:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "30952:5:43", + "nodeType": "YulIdentifier", + "src": "30952:5:43" + }, + { + "name": "pos", + "nativeSrc": "30959:3:43", + "nodeType": "YulIdentifier", + "src": "30959:3:43" + }, + { + "name": "length", + "nativeSrc": "30964:6:43", + "nodeType": "YulIdentifier", + "src": "30964:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nativeSrc": "30928:23:43", + "nodeType": "YulIdentifier", + "src": "30928:23:43" + }, + "nativeSrc": "30928:43:43", + "nodeType": "YulFunctionCall", + "src": "30928:43:43" + }, + "nativeSrc": "30928:43:43", + "nodeType": "YulExpressionStatement", + "src": "30928:43:43" + }, + { + "nativeSrc": "30980:23:43", + "nodeType": "YulAssignment", + "src": "30980:23:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "30991:3:43", + "nodeType": "YulIdentifier", + "src": "30991:3:43" + }, + { + "name": "length", + "nativeSrc": "30996:6:43", + "nodeType": "YulIdentifier", + "src": "30996:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30987:3:43", + "nodeType": "YulIdentifier", + "src": "30987:3:43" + }, + "nativeSrc": "30987:16:43", + "nodeType": "YulFunctionCall", + "src": "30987:16:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "30980:3:43", + "nodeType": "YulIdentifier", + "src": "30980:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "30472:537:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "30577:5:43", + "nodeType": "YulTypedName", + "src": "30577:5:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30584:6:43", + "nodeType": "YulTypedName", + "src": "30584:6:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "30592:3:43", + "nodeType": "YulTypedName", + "src": "30592:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "30600:3:43", + "nodeType": "YulTypedName", + "src": "30600:3:43", + "type": "" + } + ], + "src": "30472:537:43" + }, + { + "body": { + "nativeSrc": "31229:399:43", + "nodeType": "YulBlock", + "src": "31229:399:43", + "statements": [ + { + "nativeSrc": "31239:26:43", + "nodeType": "YulAssignment", + "src": "31239:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31251:9:43", + "nodeType": "YulIdentifier", + "src": "31251:9:43" + }, + { + "kind": "number", + "nativeSrc": "31262:2:43", + "nodeType": "YulLiteral", + "src": "31262:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31247:3:43", + "nodeType": "YulIdentifier", + "src": "31247:3:43" + }, + "nativeSrc": "31247:18:43", + "nodeType": "YulFunctionCall", + "src": "31247:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31239:4:43", + "nodeType": "YulIdentifier", + "src": "31239:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "31319:6:43", + "nodeType": "YulIdentifier", + "src": "31319:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31332:9:43", + "nodeType": "YulIdentifier", + "src": "31332:9:43" + }, + { + "kind": "number", + "nativeSrc": "31343:1:43", + "nodeType": "YulLiteral", + "src": "31343:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31328:3:43", + "nodeType": "YulIdentifier", + "src": "31328:3:43" + }, + "nativeSrc": "31328:17:43", + "nodeType": "YulFunctionCall", + "src": "31328:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "31275:43:43", + "nodeType": "YulIdentifier", + "src": "31275:43:43" + }, + "nativeSrc": "31275:71:43", + "nodeType": "YulFunctionCall", + "src": "31275:71:43" + }, + "nativeSrc": "31275:71:43", + "nodeType": "YulExpressionStatement", + "src": "31275:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "31400:6:43", + "nodeType": "YulIdentifier", + "src": "31400:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31413:9:43", + "nodeType": "YulIdentifier", + "src": "31413:9:43" + }, + { + "kind": "number", + "nativeSrc": "31424:2:43", + "nodeType": "YulLiteral", + "src": "31424:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31409:3:43", + "nodeType": "YulIdentifier", + "src": "31409:3:43" + }, + "nativeSrc": "31409:18:43", + "nodeType": "YulFunctionCall", + "src": "31409:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "31356:43:43", + "nodeType": "YulIdentifier", + "src": "31356:43:43" + }, + "nativeSrc": "31356:72:43", + "nodeType": "YulFunctionCall", + "src": "31356:72:43" + }, + "nativeSrc": "31356:72:43", + "nodeType": "YulExpressionStatement", + "src": "31356:72:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31449:9:43", + "nodeType": "YulIdentifier", + "src": "31449:9:43" + }, + { + "kind": "number", + "nativeSrc": "31460:2:43", + "nodeType": "YulLiteral", + "src": "31460:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31445:3:43", + "nodeType": "YulIdentifier", + "src": "31445:3:43" + }, + "nativeSrc": "31445:18:43", + "nodeType": "YulFunctionCall", + "src": "31445:18:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "31469:4:43", + "nodeType": "YulIdentifier", + "src": "31469:4:43" + }, + { + "name": "headStart", + "nativeSrc": "31475:9:43", + "nodeType": "YulIdentifier", + "src": "31475:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31465:3:43", + "nodeType": "YulIdentifier", + "src": "31465:3:43" + }, + "nativeSrc": "31465:20:43", + "nodeType": "YulFunctionCall", + "src": "31465:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31438:6:43", + "nodeType": "YulIdentifier", + "src": "31438:6:43" + }, + "nativeSrc": "31438:48:43", + "nodeType": "YulFunctionCall", + "src": "31438:48:43" + }, + "nativeSrc": "31438:48:43", + "nodeType": "YulExpressionStatement", + "src": "31438:48:43" + }, + { + "nativeSrc": "31495:126:43", + "nodeType": "YulAssignment", + "src": "31495:126:43", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "31599:6:43", + "nodeType": "YulIdentifier", + "src": "31599:6:43" + }, + { + "name": "value3", + "nativeSrc": "31607:6:43", + "nodeType": "YulIdentifier", + "src": "31607:6:43" + }, + { + "name": "tail", + "nativeSrc": "31616:4:43", + "nodeType": "YulIdentifier", + "src": "31616:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "31503:95:43", + "nodeType": "YulIdentifier", + "src": "31503:95:43" + }, + "nativeSrc": "31503:118:43", + "nodeType": "YulFunctionCall", + "src": "31503:118:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31495:4:43", + "nodeType": "YulIdentifier", + "src": "31495:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_calldata_ptr__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "31015:613:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "31177:9:43", + "nodeType": "YulTypedName", + "src": "31177:9:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "31189:6:43", + "nodeType": "YulTypedName", + "src": "31189:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "31197:6:43", + "nodeType": "YulTypedName", + "src": "31197:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "31205:6:43", + "nodeType": "YulTypedName", + "src": "31205:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "31213:6:43", + "nodeType": "YulTypedName", + "src": "31213:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "31224:4:43", + "nodeType": "YulTypedName", + "src": "31224:4:43", + "type": "" + } + ], + "src": "31015:613:43" + }, + { + "body": { + "nativeSrc": "31740:65:43", + "nodeType": "YulBlock", + "src": "31740:65:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "31762:6:43", + "nodeType": "YulIdentifier", + "src": "31762:6:43" + }, + { + "kind": "number", + "nativeSrc": "31770:1:43", + "nodeType": "YulLiteral", + "src": "31770:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31758:3:43", + "nodeType": "YulIdentifier", + "src": "31758:3:43" + }, + "nativeSrc": "31758:14:43", + "nodeType": "YulFunctionCall", + "src": "31758:14:43" + }, + { + "hexValue": "41697264726f7020616c7265616479206164646564", + "kind": "string", + "nativeSrc": "31774:23:43", + "nodeType": "YulLiteral", + "src": "31774:23:43", + "type": "", + "value": "Airdrop already added" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31751:6:43", + "nodeType": "YulIdentifier", + "src": "31751:6:43" + }, + "nativeSrc": "31751:47:43", + "nodeType": "YulFunctionCall", + "src": "31751:47:43" + }, + "nativeSrc": "31751:47:43", + "nodeType": "YulExpressionStatement", + "src": "31751:47:43" + } + ] + }, + "name": "store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "nativeSrc": "31634:171:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "31732:6:43", + "nodeType": "YulTypedName", + "src": "31732:6:43", + "type": "" + } + ], + "src": "31634:171:43" + }, + { + "body": { + "nativeSrc": "31957:220:43", + "nodeType": "YulBlock", + "src": "31957:220:43", + "statements": [ + { + "nativeSrc": "31967:74:43", + "nodeType": "YulAssignment", + "src": "31967:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "32033:3:43", + "nodeType": "YulIdentifier", + "src": "32033:3:43" + }, + { + "kind": "number", + "nativeSrc": "32038:2:43", + "nodeType": "YulLiteral", + "src": "32038:2:43", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "31974:58:43", + "nodeType": "YulIdentifier", + "src": "31974:58:43" + }, + "nativeSrc": "31974:67:43", + "nodeType": "YulFunctionCall", + "src": "31974:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "31967:3:43", + "nodeType": "YulIdentifier", + "src": "31967:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "32139:3:43", + "nodeType": "YulIdentifier", + "src": "32139:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54", + "nativeSrc": "32050:88:43", + "nodeType": "YulIdentifier", + "src": "32050:88:43" + }, + "nativeSrc": "32050:93:43", + "nodeType": "YulFunctionCall", + "src": "32050:93:43" + }, + "nativeSrc": "32050:93:43", + "nodeType": "YulExpressionStatement", + "src": "32050:93:43" + }, + { + "nativeSrc": "32152:19:43", + "nodeType": "YulAssignment", + "src": "32152:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "32163:3:43", + "nodeType": "YulIdentifier", + "src": "32163:3:43" + }, + { + "kind": "number", + "nativeSrc": "32168:2:43", + "nodeType": "YulLiteral", + "src": "32168:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32159:3:43", + "nodeType": "YulIdentifier", + "src": "32159:3:43" + }, + "nativeSrc": "32159:12:43", + "nodeType": "YulFunctionCall", + "src": "32159:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "32152:3:43", + "nodeType": "YulIdentifier", + "src": "32152:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack", + "nativeSrc": "31811:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "31945:3:43", + "nodeType": "YulTypedName", + "src": "31945:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "31953:3:43", + "nodeType": "YulTypedName", + "src": "31953:3:43", + "type": "" + } + ], + "src": "31811:366:43" + }, + { + "body": { + "nativeSrc": "32354:248:43", + "nodeType": "YulBlock", + "src": "32354:248:43", + "statements": [ + { + "nativeSrc": "32364:26:43", + "nodeType": "YulAssignment", + "src": "32364:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32376:9:43", + "nodeType": "YulIdentifier", + "src": "32376:9:43" + }, + { + "kind": "number", + "nativeSrc": "32387:2:43", + "nodeType": "YulLiteral", + "src": "32387:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32372:3:43", + "nodeType": "YulIdentifier", + "src": "32372:3:43" + }, + "nativeSrc": "32372:18:43", + "nodeType": "YulFunctionCall", + "src": "32372:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32364:4:43", + "nodeType": "YulIdentifier", + "src": "32364:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32411:9:43", + "nodeType": "YulIdentifier", + "src": "32411:9:43" + }, + { + "kind": "number", + "nativeSrc": "32422:1:43", + "nodeType": "YulLiteral", + "src": "32422:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32407:3:43", + "nodeType": "YulIdentifier", + "src": "32407:3:43" + }, + "nativeSrc": "32407:17:43", + "nodeType": "YulFunctionCall", + "src": "32407:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "32430:4:43", + "nodeType": "YulIdentifier", + "src": "32430:4:43" + }, + { + "name": "headStart", + "nativeSrc": "32436:9:43", + "nodeType": "YulIdentifier", + "src": "32436:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "32426:3:43", + "nodeType": "YulIdentifier", + "src": "32426:3:43" + }, + "nativeSrc": "32426:20:43", + "nodeType": "YulFunctionCall", + "src": "32426:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "32400:6:43", + "nodeType": "YulIdentifier", + "src": "32400:6:43" + }, + "nativeSrc": "32400:47:43", + "nodeType": "YulFunctionCall", + "src": "32400:47:43" + }, + "nativeSrc": "32400:47:43", + "nodeType": "YulExpressionStatement", + "src": "32400:47:43" + }, + { + "nativeSrc": "32456:139:43", + "nodeType": "YulAssignment", + "src": "32456:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "32590:4:43", + "nodeType": "YulIdentifier", + "src": "32590:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack", + "nativeSrc": "32464:124:43", + "nodeType": "YulIdentifier", + "src": "32464:124:43" + }, + "nativeSrc": "32464:131:43", + "nodeType": "YulFunctionCall", + "src": "32464:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32456:4:43", + "nodeType": "YulIdentifier", + "src": "32456:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "32183:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "32334:9:43", + "nodeType": "YulTypedName", + "src": "32334:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "32349:4:43", + "nodeType": "YulTypedName", + "src": "32349:4:43", + "type": "" + } + ], + "src": "32183:419:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(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 function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n abi_encode_t_address_to_t_address(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_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_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0, tail)\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(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$11645(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$11645(value)\n }\n\n function convert_t_enum$_AirdropType_$11645_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$11645_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(memPtr) {\n\n mstore(add(memPtr, 0), \"Address not allowed to call this\")\n\n mstore(add(memPtr, 32), \" method\")\n\n }\n\n function abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__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_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n revert(0, 0)\n }\n\n function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n revert(0, 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function validator_revert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AirdropType_$11645_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_enum$_AirdropType_$11645(value)\n }\n\n // struct AirdropInfo\n function abi_decode_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory(headStart, end) -> value {\n if slt(sub(end, headStart), 0x0100) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n value := allocate_memory(0x0100)\n\n {\n // airdropName\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n mstore(add(value, 0x00), abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // airdropAddress\n\n let offset := 32\n\n mstore(add(value, 0x20), abi_decode_t_address_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // totalAirdropAmount\n\n let offset := 64\n\n mstore(add(value, 0x40), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // airdropAmountLeft\n\n let offset := 96\n\n mstore(add(value, 0x60), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // claimAmount\n\n let offset := 128\n\n mstore(add(value, 0x80), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // expirationDate\n\n let offset := 160\n\n mstore(add(value, 0xa0), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // airdropType\n\n let offset := 192\n\n mstore(add(value, 0xc0), abi_decode_t_enum$_AirdropType_$11645_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // uri\n\n let offset := mload(add(headStart, 224))\n if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n mstore(add(value, 0xe0), abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), end))\n\n }\n\n }\n\n function abi_decode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_AirdropInfo_$11663_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n }\n\n function store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6(memPtr) {\n\n mstore(add(memPtr, 0), \"Error, wrong mode selected\")\n\n }\n\n function abi_encode_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6__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_20902ac1825ecbc73bffc616421d6d4be4f27449d6b8659a510c2d3922b135d6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() {\n revert(0, 0)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n\n }\n\n // bytes32[] -> bytes32[]\n function abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length)\n\n if gt(length, 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() }\n length := mul(length, 0x20)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_calldata_ptr__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart , value3, 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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_calldata_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value2, value3, tail)\n\n }\n\n function store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already added\")\n\n }\n\n function abi_encode_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54__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_e32eeafa475859901494dd1d8c1686da2cd3b28aebd1052c65bf06aa6e53cc54_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106101425760003560e01c8063989a9863116100b8578063dde070e81161007c578063dde070e8146103a9578063ead7778a146103d9578063f77bc88b146103f5578063f89f2a2c14610425578063f8b2cb4f14610455578063fabed4121461048557610142565b8063989a9863146102e1578063a1654379146102fd578063a9b8f0181461032d578063b17acd1a1461035d578063c012a68f1461038d57610142565b80633ad14ed61161010a5780633ad14ed61461020f57806359f47add1461022b5780636b58222e1461024957806370480275146102795780637f94f65d1461029557806389266f60146102b157610142565b806307b1d553146101475780630cb27628146101775780631785f53c1461019357806324d7806c146101af5780632522f8da146101df575b600080fd5b610161600480360381019061015c9190611a03565b6104a1565b60405161016e9190611aa9565b60405180910390f35b610191600480360381019061018c9190611b8c565b61059f565b005b6101ad60048036038101906101a89190611be8565b61069f565b005b6101c960048036038101906101c49190611be8565b610784565b6040516101d69190611c30565b60405180910390f35b6101f960048036038101906101f49190611be8565b6107d9565b6040516102069190611c5a565b60405180910390f35b61022960048036038101906102249190611c75565b610856565b005b610233610956565b6040516102409190611d73565b60405180910390f35b610263600480360381019061025e9190611be8565b6109e4565b6040516102709190611f51565b60405180910390f35b610293600480360381019061028e9190611be8565b610a6d565b005b6102af60048036038101906102aa9190611fa9565b610b52565b005b6102cb60048036038101906102c69190611c75565b610c52565b6040516102d89190611c30565b60405180910390f35b6102fb60048036038101906102f69190611c75565b610cdb565b005b61031760048036038101906103129190611c75565b610ddb565b6040516103249190611c30565b60405180910390f35b61034760048036038101906103429190611be8565b610e64565b6040516103549190611c5a565b60405180910390f35b61037760048036038101906103729190611fe9565b610ee1565b6040516103849190611aa9565b60405180910390f35b6103a760048036038101906103a29190611be8565b611054565b005b6103c360048036038101906103be9190611be8565b6112b9565b6040516103d09190611c5a565b60405180910390f35b6103f360048036038101906103ee9190611b8c565b611336565b005b61040f600480360381019061040a9190611be8565b611436565b60405161041c9190611c30565b60405180910390f35b61043f600480360381019061043a9190611be8565b6114b3565b60405161044c9190611c5a565b60405180910390f35b61046f600480360381019061046a9190611be8565b611530565b60405161047c9190611c5a565b60405180910390f35b61049f600480360381019061049a9190612102565b6115ad565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663d171b51989898989896040518663ffffffff1660e01b815260040161050c9594939291906121d4565b6020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190612243565b905061055a8161162b565b7fe0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257816040516105899190611aa9565b60405180910390a1809250505095945050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661062a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610621906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9f7d0b2836040518263ffffffff1660e01b81526004016106689190611d73565b600060405180830381600087803b15801561068257600080fd5b505af1158015610696573d6000803e3d6000fd5b50505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661072a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610721906122e2565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff16635edf7d8b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084e9190612317565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d8906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663b7c58d7a836040518263ffffffff1660e01b815260040161091f9190611aa9565b600060405180830381600087803b15801561093957600080fd5b505af115801561094d573d6000803e3d6000fd5b50505050505050565b606060038054806020026020016040519081016040528092919081815260200182805480156109da57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610990575b5050505050905090565b6109ec6117a8565b60008290508073ffffffffffffffffffffffffffffffffffffffff166332f088736040518163ffffffff1660e01b8152600401600060405180830381865afa158015610a3c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610a6591906124e5565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef906122e2565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd4906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663dab5f340836040518263ffffffff1660e01b8152600401610c1b919061253d565b600060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff166373b2e80e846040518263ffffffff1660e01b8152600401610c919190611aa9565b602060405180830381865afa158015610cae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd29190612584565b91505092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5d906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166308af4d88836040518263ffffffff1660e01b8152600401610da49190611aa9565b600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff1663babcc539846040518263ffffffff1660e01b8152600401610e1a9190611aa9565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190612584565b91505092915050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff1663cd61a6096040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed99190612317565b915050919050565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630920be428b8b8b8b8b8b8b6040518863ffffffff1660e01b8152600401610f5097969594939291906125b1565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190612243565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb90612673565b60405180910390fd5b61100d8161162b565b7f3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d8160405161103c9190611aa9565b60405180910390a18092505050979650505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d6906122e2565b60405180910390fd5b6000805b600380549050811080156110f5575081155b15611276578273ffffffffffffffffffffffffffffffffffffffff166003828154811061112557611124612693565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126357600191506003600160038054905061118391906126f1565b8154811061119457611193612693565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600382815481106111d3576111d2612693565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600380548061122d5761122c612725565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b808061126e90612754565b9150506110e3565b5080156112b5577fa075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32826040516112ac9190611aa9565b60405180910390a15b5050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166371127ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e9190612317565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166113c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b8906122e2565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16633863b1f5836040518263ffffffff1660e01b81526004016113ff9190611d73565b600060405180830381600087803b15801561141957600080fd5b505af115801561142d573d6000803e3d6000fd5b50505050505050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166390e64d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ab9190612584565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166343f367c86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115289190612317565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190612317565b915050919050565b60008590508073ffffffffffffffffffffffffffffffffffffffff16633d13f874868686866040518563ffffffff1660e01b81526004016115f19493929190612817565b600060405180830381600087803b15801561160b57600080fd5b505af115801561161f573d6000803e3d6000fd5b50505050505050505050565b6000805b60038054905081108015611641575081155b156116c8578273ffffffffffffffffffffffffffffffffffffffff166003828154811061167157611670612693565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614915080806116c090612754565b91505061162f565b50801561170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906128a3565b60405180910390fd5b6003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b648260405161179c9190611aa9565b60405180910390a15050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000600281111561180857611807611e23565b5b8152602001606081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61187c82611833565b810181811067ffffffffffffffff8211171561189b5761189a611844565b5b80604052505050565b60006118ae611815565b90506118ba8282611873565b919050565b600067ffffffffffffffff8211156118da576118d9611844565b5b6118e382611833565b9050602081019050919050565b82818337600083830152505050565b600061191261190d846118bf565b6118a4565b90508281526020810184848401111561192e5761192d61182e565b5b6119398482856118f0565b509392505050565b600082601f83011261195657611955611829565b5b81356119668482602086016118ff565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061199a8261196f565b9050919050565b6119aa8161198f565b81146119b557600080fd5b50565b6000813590506119c7816119a1565b92915050565b6000819050919050565b6119e0816119cd565b81146119eb57600080fd5b50565b6000813590506119fd816119d7565b92915050565b600080600080600060a08688031215611a1f57611a1e61181f565b5b600086013567ffffffffffffffff811115611a3d57611a3c611824565b5b611a4988828901611941565b9550506020611a5a888289016119b8565b9450506040611a6b888289016119ee565b9350506060611a7c888289016119ee565b9250506080611a8d888289016119ee565b9150509295509295909350565b611aa38161198f565b82525050565b6000602082019050611abe6000830184611a9a565b92915050565b600067ffffffffffffffff821115611adf57611ade611844565b5b602082029050602081019050919050565b600080fd5b6000611b08611b0384611ac4565b6118a4565b90508083825260208201905060208402830185811115611b2b57611b2a611af0565b5b835b81811015611b545780611b4088826119b8565b845260208401935050602081019050611b2d565b5050509392505050565b600082601f830112611b7357611b72611829565b5b8135611b83848260208601611af5565b91505092915050565b60008060408385031215611ba357611ba261181f565b5b6000611bb1858286016119b8565b925050602083013567ffffffffffffffff811115611bd257611bd1611824565b5b611bde85828601611b5e565b9150509250929050565b600060208284031215611bfe57611bfd61181f565b5b6000611c0c848285016119b8565b91505092915050565b60008115159050919050565b611c2a81611c15565b82525050565b6000602082019050611c456000830184611c21565b92915050565b611c54816119cd565b82525050565b6000602082019050611c6f6000830184611c4b565b92915050565b60008060408385031215611c8c57611c8b61181f565b5b6000611c9a858286016119b8565b9250506020611cab858286016119b8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611cea8161198f565b82525050565b6000611cfc8383611ce1565b60208301905092915050565b6000602082019050919050565b6000611d2082611cb5565b611d2a8185611cc0565b9350611d3583611cd1565b8060005b83811015611d66578151611d4d8882611cf0565b9750611d5883611d08565b925050600181019050611d39565b5085935050505092915050565b60006020820190508181036000830152611d8d8184611d15565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611dcf578082015181840152602081019050611db4565b60008484015250505050565b6000611de682611d95565b611df08185611da0565b9350611e00818560208601611db1565b611e0981611833565b840191505092915050565b611e1d816119cd565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110611e6357611e62611e23565b5b50565b6000819050611e7482611e52565b919050565b6000611e8482611e66565b9050919050565b611e9481611e79565b82525050565b6000610100830160008301518482036000860152611eb88282611ddb565b9150506020830151611ecd6020860182611ce1565b506040830151611ee06040860182611e14565b506060830151611ef36060860182611e14565b506080830151611f066080860182611e14565b5060a0830151611f1960a0860182611e14565b5060c0830151611f2c60c0860182611e8b565b5060e083015184820360e0860152611f448282611ddb565b9150508091505092915050565b60006020820190508181036000830152611f6b8184611e9a565b905092915050565b6000819050919050565b611f8681611f73565b8114611f9157600080fd5b50565b600081359050611fa381611f7d565b92915050565b60008060408385031215611fc057611fbf61181f565b5b6000611fce858286016119b8565b9250506020611fdf85828601611f94565b9150509250929050565b600080600080600080600060e0888a0312156120085761200761181f565b5b600088013567ffffffffffffffff81111561202657612025611824565b5b6120328a828b01611941565b97505060206120438a828b016119b8565b96505060406120548a828b016119ee565b95505060606120658a828b016119ee565b94505060806120768a828b016119ee565b93505060a06120878a828b016119ee565b92505060c06120988a828b016119ee565b91505092959891949750929550565b600080fd5b60008083601f8401126120c2576120c1611829565b5b8235905067ffffffffffffffff8111156120df576120de6120a7565b5b6020830191508360208202830111156120fb576120fa611af0565b5b9250929050565b60008060008060006080868803121561211e5761211d61181f565b5b600061212c888289016119b8565b955050602061213d888289016119b8565b945050604061214e888289016119ee565b935050606086013567ffffffffffffffff81111561216f5761216e611824565b5b61217b888289016120ac565b92509250509295509295909350565b600082825260208201905092915050565b60006121a682611d95565b6121b0818561218a565b93506121c0818560208601611db1565b6121c981611833565b840191505092915050565b600060a08201905081810360008301526121ee818861219b565b90506121fd6020830187611a9a565b61220a6040830186611c4b565b6122176060830185611c4b565b6122246080830184611c4b565b9695505050505050565b60008151905061223d816119a1565b92915050565b6000602082840312156122595761225861181f565b5b60006122678482850161222e565b91505092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b60006122cc60278361218a565b91506122d782612270565b604082019050919050565b600060208201905081810360008301526122fb816122bf565b9050919050565b600081519050612311816119d7565b92915050565b60006020828403121561232d5761232c61181f565b5b600061233b84828501612302565b91505092915050565b600080fd5b600080fd5b600061236161235c846118bf565b6118a4565b90508281526020810184848401111561237d5761237c61182e565b5b612388848285611db1565b509392505050565b600082601f8301126123a5576123a4611829565b5b81516123b584826020860161234e565b91505092915050565b600381106123cb57600080fd5b50565b6000815190506123dd816123be565b92915050565b600061010082840312156123fa576123f9612344565b5b6124056101006118a4565b9050600082015167ffffffffffffffff81111561242557612424612349565b5b61243184828501612390565b60008301525060206124458482850161222e565b602083015250604061245984828501612302565b604083015250606061246d84828501612302565b606083015250608061248184828501612302565b60808301525060a061249584828501612302565b60a08301525060c06124a9848285016123ce565b60c08301525060e082015167ffffffffffffffff8111156124cd576124cc612349565b5b6124d984828501612390565b60e08301525092915050565b6000602082840312156124fb576124fa61181f565b5b600082015167ffffffffffffffff81111561251957612518611824565b5b612525848285016123e3565b91505092915050565b61253781611f73565b82525050565b6000602082019050612552600083018461252e565b92915050565b61256181611c15565b811461256c57600080fd5b50565b60008151905061257e81612558565b92915050565b60006020828403121561259a5761259961181f565b5b60006125a88482850161256f565b91505092915050565b600060e08201905081810360008301526125cb818a61219b565b90506125da6020830189611a9a565b6125e76040830188611c4b565b6125f46060830187611c4b565b6126016080830186611c4b565b61260e60a0830185611c4b565b61261b60c0830184611c4b565b98975050505050505050565b7f4572726f722c2077726f6e67206d6f64652073656c6563746564000000000000600082015250565b600061265d601a8361218a565b915061266882612627565b602082019050919050565b6000602082019050818103600083015261268c81612650565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126fc826119cd565b9150612707836119cd565b925082820390508181111561271f5761271e6126c2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061275f826119cd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612791576127906126c2565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006127c7838561279c565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156127fa576127f96127ad565b5b60208302925061280b8385846127b2565b82840190509392505050565b600060608201905061282c6000830187611a9a565b6128396020830186611c4b565b818103604083015261284c8184866127bb565b905095945050505050565b7f41697264726f7020616c72656164792061646465640000000000000000000000600082015250565b600061288d60158361218a565b915061289882612857565b602082019050919050565b600060208201905081810360008301526128bc81612880565b905091905056fea2646970667358221220f360e45cd8fa6f092b5b1297ab713d1852c69843819692ccd7e59067b992b80064736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x989A9863 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDDE070E8 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xDDE070E8 EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xEAD7778A EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0xF77BC88B EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0xF89F2A2C EQ PUSH2 0x425 JUMPI DUP1 PUSH4 0xF8B2CB4F EQ PUSH2 0x455 JUMPI DUP1 PUSH4 0xFABED412 EQ PUSH2 0x485 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x989A9863 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xA1654379 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0xA9B8F018 EQ PUSH2 0x32D JUMPI DUP1 PUSH4 0xB17ACD1A EQ PUSH2 0x35D JUMPI DUP1 PUSH4 0xC012A68F EQ PUSH2 0x38D JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x3AD14ED6 GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x3AD14ED6 EQ PUSH2 0x20F JUMPI DUP1 PUSH4 0x59F47ADD EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x6B58222E EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x7F94F65D EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x89266F60 EQ PUSH2 0x2B1 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x7B1D553 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xCB27628 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x1785F53C EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x2522F8DA EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x1A03 JUMP JUMPDEST PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x1B8C JUMP JUMPDEST PUSH2 0x59F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A8 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x69F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x784 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x7D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x206 SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x229 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x224 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0x856 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x233 PUSH2 0x956 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x9E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x1F51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x293 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0xA6D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2AA SWAP2 SWAP1 PUSH2 0x1FA9 JUMP JUMPDEST PUSH2 0xB52 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0xC52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0xCDB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x317 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x312 SWAP2 SWAP1 PUSH2 0x1C75 JUMP JUMPDEST PUSH2 0xDDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x347 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0xE64 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x354 SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x377 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x1FE9 JUMP JUMPDEST PUSH2 0xEE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x384 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3A2 SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x1054 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x3C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3BE SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x12B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D0 SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x1B8C JUMP JUMPDEST PUSH2 0x1336 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x40F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x40A SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x1436 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x41C SWAP2 SWAP1 PUSH2 0x1C30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43A SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x14B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44C SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x46F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46A SWAP2 SWAP1 PUSH2 0x1BE8 JUMP JUMPDEST PUSH2 0x1530 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x1C5A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x49F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x49A SWAP2 SWAP1 PUSH2 0x2102 JUMP JUMPDEST PUSH2 0x15AD JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD171B519 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x50C SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21D4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x52B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x54F SWAP2 SWAP1 PUSH2 0x2243 JUMP JUMPDEST SWAP1 POP PUSH2 0x55A DUP2 PUSH2 0x162B JUMP JUMPDEST PUSH32 0xE0895CE248F348E6C4CF31166567DE65AAEFFED89303CF6709201E538B209257 DUP2 PUSH1 0x40 MLOAD PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x62A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x621 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9F7D0B2 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x668 SWAP2 SWAP1 PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x682 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x696 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x72A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x721 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5EDF7D8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x82A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x84E SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x8E1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8D8 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB7C58D7A DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x939 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x94D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x9DA JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x990 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x9EC PUSH2 0x17A8 JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x32F08873 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA65 SWAP2 SWAP1 PUSH2 0x24E5 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xAF8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAEF SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xBDD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD4 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xDAB5F340 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC1B SWAP2 SWAP1 PUSH2 0x253D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC49 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x73B2E80E DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC91 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCD2 SWAP2 SWAP1 PUSH2 0x2584 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xD66 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD5D SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8AF4D88 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDA4 SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xDD2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xBABCC539 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE1A SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE37 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE5B SWAP2 SWAP1 PUSH2 0x2584 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xCD61A609 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEB5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xED9 SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x920BE42 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF50 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25B1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF6F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF93 SWAP2 SWAP1 PUSH2 0x2243 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1004 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFFB SWAP1 PUSH2 0x2673 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x100D DUP2 PUSH2 0x162B JUMP JUMPDEST PUSH32 0x3253658F687C8CB74D577A64B270AF597E6BAE60C74179602AF4E8CA7225362D DUP2 PUSH1 0x40 MLOAD PUSH2 0x103C SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP3 POP POP POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x10DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D6 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x10F5 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x1276 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1125 JUMPI PUSH2 0x1124 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1263 JUMPI PUSH1 0x1 SWAP2 POP PUSH1 0x3 PUSH1 0x1 PUSH1 0x3 DUP1 SLOAD SWAP1 POP PUSH2 0x1183 SWAP2 SWAP1 PUSH2 0x26F1 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1194 JUMPI PUSH2 0x1193 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x11D3 JUMPI PUSH2 0x11D2 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 DUP1 SLOAD DUP1 PUSH2 0x122D JUMPI PUSH2 0x122C PUSH2 0x2725 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE JUMPDEST DUP1 DUP1 PUSH2 0x126E SWAP1 PUSH2 0x2754 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E3 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x12B5 JUMPI PUSH32 0xA075707015B6368EEE802922E19A51528F4B98C88E1082B65D4805BF47F8CD32 DUP3 PUSH1 0x40 MLOAD PUSH2 0x12AC SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x71127ED2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x130A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x132E SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x13C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13B8 SWAP1 PUSH2 0x22E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3863B1F5 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13FF SWAP2 SWAP1 PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x142D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x90E64D13 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1487 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14AB SWAP2 SWAP1 PUSH2 0x2584 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x43F367C8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1504 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1528 SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1581 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15A5 SWAP2 SWAP1 PUSH2 0x2317 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP6 SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3D13F874 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15F1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2817 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x160B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x161F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x3 DUP1 SLOAD SWAP1 POP DUP2 LT DUP1 ISZERO PUSH2 0x1641 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x16C8 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1671 JUMPI PUSH2 0x1670 PUSH2 0x2693 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP DUP1 DUP1 PUSH2 0x16C0 SWAP1 PUSH2 0x2754 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x162F JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x170A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1701 SWAP1 PUSH2 0x28A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 DUP3 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8C716DE2EEB0D456A3F3012D8F1EF9FBE14D94374E94CA90F916AADFB8C04B64 DUP3 PUSH1 0x40 MLOAD PUSH2 0x179C SWAP2 SWAP1 PUSH2 0x1AA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1808 JUMPI PUSH2 0x1807 PUSH2 0x1E23 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x187C DUP3 PUSH2 0x1833 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x189B JUMPI PUSH2 0x189A PUSH2 0x1844 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18AE PUSH2 0x1815 JUMP JUMPDEST SWAP1 POP PUSH2 0x18BA DUP3 DUP3 PUSH2 0x1873 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x18DA JUMPI PUSH2 0x18D9 PUSH2 0x1844 JUMP JUMPDEST JUMPDEST PUSH2 0x18E3 DUP3 PUSH2 0x1833 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1912 PUSH2 0x190D DUP5 PUSH2 0x18BF JUMP JUMPDEST PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x192E JUMPI PUSH2 0x192D PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH2 0x1939 DUP5 DUP3 DUP6 PUSH2 0x18F0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1956 JUMPI PUSH2 0x1955 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1966 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x18FF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x199A DUP3 PUSH2 0x196F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19AA DUP2 PUSH2 0x198F JUMP JUMPDEST DUP2 EQ PUSH2 0x19B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x19C7 DUP2 PUSH2 0x19A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19E0 DUP2 PUSH2 0x19CD JUMP JUMPDEST DUP2 EQ PUSH2 0x19EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x19FD DUP2 PUSH2 0x19D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1A1F JUMPI PUSH2 0x1A1E PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A3D JUMPI PUSH2 0x1A3C PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x1A49 DUP9 DUP3 DUP10 ADD PUSH2 0x1941 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1A5A DUP9 DUP3 DUP10 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1A6B DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1A7C DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x1A8D DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x1AA3 DUP2 PUSH2 0x198F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1ABE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A9A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1ADF JUMPI PUSH2 0x1ADE PUSH2 0x1844 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B08 PUSH2 0x1B03 DUP5 PUSH2 0x1AC4 JUMP JUMPDEST PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1B2B JUMPI PUSH2 0x1B2A PUSH2 0x1AF0 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1B54 JUMPI DUP1 PUSH2 0x1B40 DUP9 DUP3 PUSH2 0x19B8 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1B2D JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B73 JUMPI PUSH2 0x1B72 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B83 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1AF5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BA3 JUMPI PUSH2 0x1BA2 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BB1 DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1BD2 JUMPI PUSH2 0x1BD1 PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x1BDE DUP6 DUP3 DUP7 ADD PUSH2 0x1B5E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BFE JUMPI PUSH2 0x1BFD PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C0C DUP5 DUP3 DUP6 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C2A DUP2 PUSH2 0x1C15 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1C45 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C21 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1C54 DUP2 PUSH2 0x19CD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1C6F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C4B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1C8C JUMPI PUSH2 0x1C8B PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C9A DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1CAB DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CEA DUP2 PUSH2 0x198F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CFC DUP4 DUP4 PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D20 DUP3 PUSH2 0x1CB5 JUMP JUMPDEST PUSH2 0x1D2A DUP2 DUP6 PUSH2 0x1CC0 JUMP JUMPDEST SWAP4 POP PUSH2 0x1D35 DUP4 PUSH2 0x1CD1 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D66 JUMPI DUP2 MLOAD PUSH2 0x1D4D DUP9 DUP3 PUSH2 0x1CF0 JUMP JUMPDEST SWAP8 POP PUSH2 0x1D58 DUP4 PUSH2 0x1D08 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1D39 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D8D DUP2 DUP5 PUSH2 0x1D15 JUMP JUMPDEST SWAP1 POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DCF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DB4 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DE6 DUP3 PUSH2 0x1D95 JUMP JUMPDEST PUSH2 0x1DF0 DUP2 DUP6 PUSH2 0x1DA0 JUMP JUMPDEST SWAP4 POP PUSH2 0x1E00 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1DB1 JUMP JUMPDEST PUSH2 0x1E09 DUP2 PUSH2 0x1833 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E1D DUP2 PUSH2 0x19CD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1E63 JUMPI PUSH2 0x1E62 PUSH2 0x1E23 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x1E74 DUP3 PUSH2 0x1E52 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E84 DUP3 PUSH2 0x1E66 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E94 DUP2 PUSH2 0x1E79 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x1EB8 DUP3 DUP3 PUSH2 0x1DDB JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1ECD PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x1CE1 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1EE0 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x1EF3 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x1F06 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1F19 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x1E14 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1F2C PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x1E8B JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x1F44 DUP3 DUP3 PUSH2 0x1DDB JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F6B DUP2 DUP5 PUSH2 0x1E9A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F86 DUP2 PUSH2 0x1F73 JUMP JUMPDEST DUP2 EQ PUSH2 0x1F91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1FA3 DUP2 PUSH2 0x1F7D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1FC0 JUMPI PUSH2 0x1FBF PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FCE DUP6 DUP3 DUP7 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1FDF DUP6 DUP3 DUP7 ADD PUSH2 0x1F94 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x2008 JUMPI PUSH2 0x2007 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2026 JUMPI PUSH2 0x2025 PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x2032 DUP11 DUP3 DUP12 ADD PUSH2 0x1941 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x2043 DUP11 DUP3 DUP12 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x2054 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH2 0x2065 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH2 0x2076 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH2 0x2087 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH2 0x2098 DUP11 DUP3 DUP12 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x20C2 JUMPI PUSH2 0x20C1 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DF JUMPI PUSH2 0x20DE PUSH2 0x20A7 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x20FB JUMPI PUSH2 0x20FA PUSH2 0x1AF0 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x211E JUMPI PUSH2 0x211D PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x212C DUP9 DUP3 DUP10 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x213D DUP9 DUP3 DUP10 ADD PUSH2 0x19B8 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x214E DUP9 DUP3 DUP10 ADD PUSH2 0x19EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x216F JUMPI PUSH2 0x216E PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x217B DUP9 DUP3 DUP10 ADD PUSH2 0x20AC JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A6 DUP3 PUSH2 0x1D95 JUMP JUMPDEST PUSH2 0x21B0 DUP2 DUP6 PUSH2 0x218A JUMP JUMPDEST SWAP4 POP PUSH2 0x21C0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1DB1 JUMP JUMPDEST PUSH2 0x21C9 DUP2 PUSH2 0x1833 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21EE DUP2 DUP9 PUSH2 0x219B JUMP JUMPDEST SWAP1 POP PUSH2 0x21FD PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x220A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x2217 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x2224 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1C4B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x223D DUP2 PUSH2 0x19A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2259 JUMPI PUSH2 0x2258 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2267 DUP5 DUP3 DUP6 ADD PUSH2 0x222E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22CC PUSH1 0x27 DUP4 PUSH2 0x218A JUMP JUMPDEST SWAP2 POP PUSH2 0x22D7 DUP3 PUSH2 0x2270 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22FB DUP2 PUSH2 0x22BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2311 DUP2 PUSH2 0x19D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x232D JUMPI PUSH2 0x232C PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x233B DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2361 PUSH2 0x235C DUP5 PUSH2 0x18BF JUMP JUMPDEST PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x237D JUMPI PUSH2 0x237C PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH2 0x2388 DUP5 DUP3 DUP6 PUSH2 0x1DB1 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23A5 JUMPI PUSH2 0x23A4 PUSH2 0x1829 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x23B5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x234E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x23CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x23DD DUP2 PUSH2 0x23BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x23FA JUMPI PUSH2 0x23F9 PUSH2 0x2344 JUMP JUMPDEST JUMPDEST PUSH2 0x2405 PUSH2 0x100 PUSH2 0x18A4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2425 JUMPI PUSH2 0x2424 PUSH2 0x2349 JUMP JUMPDEST JUMPDEST PUSH2 0x2431 DUP5 DUP3 DUP6 ADD PUSH2 0x2390 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2445 DUP5 DUP3 DUP6 ADD PUSH2 0x222E JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2459 DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x246D DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x2481 DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x2495 DUP5 DUP3 DUP6 ADD PUSH2 0x2302 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP PUSH1 0xC0 PUSH2 0x24A9 DUP5 DUP3 DUP6 ADD PUSH2 0x23CE JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH1 0xE0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24CD JUMPI PUSH2 0x24CC PUSH2 0x2349 JUMP JUMPDEST JUMPDEST PUSH2 0x24D9 DUP5 DUP3 DUP6 ADD PUSH2 0x2390 JUMP JUMPDEST PUSH1 0xE0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x24FB JUMPI PUSH2 0x24FA PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2519 JUMPI PUSH2 0x2518 PUSH2 0x1824 JUMP JUMPDEST JUMPDEST PUSH2 0x2525 DUP5 DUP3 DUP6 ADD PUSH2 0x23E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2537 DUP2 PUSH2 0x1F73 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2552 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x252E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2561 DUP2 PUSH2 0x1C15 JUMP JUMPDEST DUP2 EQ PUSH2 0x256C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x257E DUP2 PUSH2 0x2558 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x259A JUMPI PUSH2 0x2599 PUSH2 0x181F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x25A8 DUP5 DUP3 DUP6 ADD PUSH2 0x256F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25CB DUP2 DUP11 PUSH2 0x219B JUMP JUMPDEST SWAP1 POP PUSH2 0x25DA PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x25E7 PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x25F4 PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x2601 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x260E PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x1C4B JUMP JUMPDEST PUSH2 0x261B PUSH1 0xC0 DUP4 ADD DUP5 PUSH2 0x1C4B JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4572726F722C2077726F6E67206D6F64652073656C6563746564000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x265D PUSH1 0x1A DUP4 PUSH2 0x218A JUMP JUMPDEST SWAP2 POP PUSH2 0x2668 DUP3 PUSH2 0x2627 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x268C DUP2 PUSH2 0x2650 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x26FC DUP3 PUSH2 0x19CD JUMP JUMPDEST SWAP2 POP PUSH2 0x2707 DUP4 PUSH2 0x19CD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x271F JUMPI PUSH2 0x271E PUSH2 0x26C2 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x275F DUP3 PUSH2 0x19CD JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x2791 JUMPI PUSH2 0x2790 PUSH2 0x26C2 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD 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 DUP1 REVERT JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27C7 DUP4 DUP6 PUSH2 0x279C JUMP JUMPDEST SWAP4 POP PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT ISZERO PUSH2 0x27FA JUMPI PUSH2 0x27F9 PUSH2 0x27AD JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 MUL SWAP3 POP PUSH2 0x280B DUP4 DUP6 DUP5 PUSH2 0x27B2 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x282C PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x2839 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1C4B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x284C DUP2 DUP5 DUP7 PUSH2 0x27BB JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C72656164792061646465640000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x288D PUSH1 0x15 DUP4 PUSH2 0x218A JUMP JUMPDEST SWAP2 POP PUSH2 0x2898 DUP3 PUSH2 0x2857 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x28BC DUP2 PUSH2 0x2880 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURN PUSH1 0xE4 TLOAD 0xD8 STATICCALL PUSH16 0x92B5B1297AB713D1852C69843819692 0xCC 0xD7 0xE5 SWAP1 PUSH8 0xB992B80064736F6C PUSH4 0x43000818 STOP CALLER ", + "sourceMap": "121:6175:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2991:654;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6077:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;629:95:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;418:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1675:199:33;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5869:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2890:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2079:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:97:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4846:166:33;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1075:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5450:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1463:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2502:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3651:820;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5018:426;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1880:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5652:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1289:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2289:207;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2713:171;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;825:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2991:654;3208:7;3227:28;3273;;;;;;;;;;;3227:75;;3312:23;3338:13;:33;;;3385:11;3410:12;3436:18;3468:11;3493:14;3338:179;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3312:205;;3527:27;3538:15;3527:10;:27::i;:::-;3569:37;3590:15;3569:37;;;;;;:::i;:::-;;;;;;;;3623:15;3616:22;;;;2991:654;;;;;;;:::o;6077:217::-;331:7:39;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6202:16:33::1;6230:14;6202:43;;6255:7;:25;;;6281:5;6255:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6192:102;6077:217:::0;;:::o;629:95:39:-;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;712:5:::1;694:7:::0;:15:::1;702:6;694:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;629:95:::0;:::o;418:102::-;473:4;496:7;:17;504:8;496:17;;;;;;;;;;;;;;;;;;;;;;;;;489:24;;418:102;;;:::o;1675:199:33:-;1761:7;1780:16;1808:14;1780:43;;1840:7;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1833:34;;;1675:199;;;:::o;5869:202::-;331:7:39;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5982:16:33::1;6010:14;5982:43;;6035:7;:23;;;6059:4;6035:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5972:99;5869:202:::0;;:::o;2890:95::-;2934:16;2969:9;2962:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2890:95;:::o;2079:204::-;2162:18;;:::i;:::-;2192:16;2220:14;2192:43;;2252:7;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2245:31;;;2079:204;;;:::o;526:97:39:-;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;612:4:::1;591:7;:18:::0;599:9:::1;591:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;526:97:::0;:::o;4846:166:33:-;331:7:39;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4930:16:33::1;4958:14;4930:43;;4983:7;:15;;;4999:5;4983:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4920:92;4846:166:::0;;:::o;1075:208::-;1176:4;1192:16;1220:14;1192:43;;1252:7;:18;;;1271:4;1252:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1245:31;;;1075:208;;;;:::o;5450:196::-;331:7:39;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5560:16:33::1;5588:14;5560:43;;5613:7;:20;;;5634:4;5613:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5550:96;5450:196:::0;;:::o;1463:206::-;1563:4;1579:16;1607:14;1579:43;;1639:7;:17;;;1657:4;1639:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1632:30;;;1463:206;;;;:::o;2502:205::-;2591:7;2610:16;2638:14;2610:43;;2670:7;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2663:37;;;2502:205;;;:::o;3651:820::-;3917:7;3936:26;3979:30;;;;;;;;;;;3936:74;;4020:23;4046:12;:32;;;4092:11;4117:12;4143:7;4164:18;4196:11;4221:14;4249:4;4046:217;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4020:243;;4308:1;4281:29;;:15;:29;;;4273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4351:27;4362:15;4351:10;:27::i;:::-;4393:39;4416:15;4393:39;;;;;;:::i;:::-;;;;;;;;4449:15;4442:22;;;;3651:820;;;;;;;;;:::o;5018:426::-;331:7:39;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5093:11:33::1;5127:6:::0;5122:258:::1;5143:9;:16;;;;5139:1;:20;:31;;;;;5164:6;5163:7;5139:31;5122:258;;;5211:14;5195:30;;:9;5205:1;5195:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:30;;::::0;5191:179:::1;;5254:4;5245:13;;5291:9;5320:1;5301:9;:16;;;;:20;;;;:::i;:::-;5291:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5276:9;5286:1;5276:12;;;;;;;;:::i;:::-;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5340:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:179;5172:3;;;;;:::i;:::-;;;;5122:258;;;;5394:6;5390:47;;;5407:30;5422:14;5407:30;;;;;;:::i;:::-;;;;;;;;5390:47;5083:361;5018:426:::0;:::o;1880:193::-;1963:7;1982:16;2010:14;1982:43;;2042:7;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2035:31;;;1880:193;;;:::o;5652:211::-;331:7:39;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5774:16:33::1;5802:14;5774:43;;5827:7;:22;;;5850:5;5827:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5764:99;5652:211:::0;;:::o;1289:168::-;1354:4;1370:16;1398:14;1370:43;;1430:7;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1423:27;;;1289:168;;;:::o;2289:207::-;2379:7;2398:16;2426:14;2398:43;;2458:7;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2451:38;;;2289:207;;;:::o;2713:171::-;2778:7;2797:16;2825:14;2797:43;;2857:7;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2850:27;;;2713:171;;;:::o;825:244::-;975:16;1003:14;975:43;;1028:7;:13;;;1042:4;1048:6;1056:5;;1028:34;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;965:104;825:244;;;;;:::o;4477:363::-;4543:11;4577:6;4572:122;4593:9;:16;;;;4589:1;:20;:31;;;;;4614:6;4613:7;4589:31;4572:122;;;4666:17;4650:33;;:9;4660:1;4650:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:33;;;4641:42;;4622:3;;;;;:::i;:::-;;;;4572:122;;;;4712:6;4711:7;4703:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4754:9;4769:17;4754:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4802:31;4815:17;4802:31;;;;;;:::i;:::-;;;;;;;;4533:307;4477:363;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:126::-;2590:7;2630:42;2623:5;2619:54;2608:65;;2553:126;;;:::o;2685:96::-;2722:7;2751:24;2769:5;2751:24;:::i;:::-;2740:35;;2685:96;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:1091::-;3521:6;3529;3537;3545;3553;3602:3;3590:9;3581:7;3577:23;3573:33;3570:120;;;3609:79;;:::i;:::-;3570:120;3757:1;3746:9;3742:17;3729:31;3787:18;3779:6;3776:30;3773:117;;;3809:79;;:::i;:::-;3773:117;3914:63;3969:7;3960:6;3949:9;3945:22;3914:63;:::i;:::-;3904:73;;3700:287;4026:2;4052:53;4097:7;4088:6;4077:9;4073:22;4052:53;:::i;:::-;4042:63;;3997:118;4154:2;4180:53;4225:7;4216:6;4205:9;4201:22;4180:53;:::i;:::-;4170:63;;4125:118;4282:2;4308:53;4353:7;4344:6;4333:9;4329:22;4308:53;:::i;:::-;4298:63;;4253:118;4410:3;4437:53;4482:7;4473:6;4462:9;4458:22;4437:53;:::i;:::-;4427:63;;4381:119;3416:1091;;;;;;;;:::o;4513:118::-;4600:24;4618:5;4600:24;:::i;:::-;4595:3;4588:37;4513:118;;:::o;4637:222::-;4730:4;4768:2;4757:9;4753:18;4745:26;;4781:71;4849:1;4838:9;4834:17;4825:6;4781:71;:::i;:::-;4637:222;;;;:::o;4865:311::-;4942:4;5032:18;5024:6;5021:30;5018:56;;;5054:18;;:::i;:::-;5018:56;5104:4;5096:6;5092:17;5084:25;;5164:4;5158;5154:15;5146:23;;4865:311;;;:::o;5182:117::-;5291:1;5288;5281:12;5322:710;5418:5;5443:81;5459:64;5516:6;5459:64;:::i;:::-;5443:81;:::i;:::-;5434:90;;5544:5;5573:6;5566:5;5559:21;5607:4;5600:5;5596:16;5589:23;;5660:4;5652:6;5648:17;5640:6;5636:30;5689:3;5681:6;5678:15;5675:122;;;5708:79;;:::i;:::-;5675:122;5823:6;5806:220;5840:6;5835:3;5832:15;5806:220;;;5915:3;5944:37;5977:3;5965:10;5944:37;:::i;:::-;5939:3;5932:50;6011:4;6006:3;6002:14;5995:21;;5882:144;5866:4;5861:3;5857:14;5850:21;;5806:220;;;5810:21;5424:608;;5322:710;;;;;:::o;6055:370::-;6126:5;6175:3;6168:4;6160:6;6156:17;6152:27;6142:122;;6183:79;;:::i;:::-;6142:122;6300:6;6287:20;6325:94;6415:3;6407:6;6400:4;6392:6;6388:17;6325:94;:::i;:::-;6316:103;;6132:293;6055:370;;;;:::o;6431:684::-;6524:6;6532;6581:2;6569:9;6560:7;6556:23;6552:32;6549:119;;;6587:79;;:::i;:::-;6549:119;6707:1;6732:53;6777:7;6768:6;6757:9;6753:22;6732:53;:::i;:::-;6722:63;;6678:117;6862:2;6851:9;6847:18;6834:32;6893:18;6885:6;6882:30;6879:117;;;6915:79;;:::i;:::-;6879:117;7020:78;7090:7;7081:6;7070:9;7066:22;7020:78;:::i;:::-;7010:88;;6805:303;6431:684;;;;;:::o;7121:329::-;7180:6;7229:2;7217:9;7208:7;7204:23;7200:32;7197:119;;;7235:79;;:::i;:::-;7197:119;7355:1;7380:53;7425:7;7416:6;7405:9;7401:22;7380:53;:::i;:::-;7370:63;;7326:117;7121:329;;;;:::o;7456:90::-;7490:7;7533:5;7526:13;7519:21;7508:32;;7456:90;;;:::o;7552:109::-;7633:21;7648:5;7633:21;:::i;:::-;7628:3;7621:34;7552:109;;:::o;7667:210::-;7754:4;7792:2;7781:9;7777:18;7769:26;;7805:65;7867:1;7856:9;7852:17;7843:6;7805:65;:::i;:::-;7667:210;;;;:::o;7883:118::-;7970:24;7988:5;7970:24;:::i;:::-;7965:3;7958:37;7883:118;;:::o;8007:222::-;8100:4;8138:2;8127:9;8123:18;8115:26;;8151:71;8219:1;8208:9;8204:17;8195:6;8151:71;:::i;:::-;8007:222;;;;:::o;8235:474::-;8303:6;8311;8360:2;8348:9;8339:7;8335:23;8331:32;8328:119;;;8366:79;;:::i;:::-;8328:119;8486:1;8511:53;8556:7;8547:6;8536:9;8532:22;8511:53;:::i;:::-;8501:63;;8457:117;8613:2;8639:53;8684:7;8675:6;8664:9;8660:22;8639:53;:::i;:::-;8629:63;;8584:118;8235:474;;;;;:::o;8715:114::-;8782:6;8816:5;8810:12;8800:22;;8715:114;;;:::o;8835:184::-;8934:11;8968:6;8963:3;8956:19;9008:4;9003:3;8999:14;8984:29;;8835:184;;;;:::o;9025:132::-;9092:4;9115:3;9107:11;;9145:4;9140:3;9136:14;9128:22;;9025:132;;;:::o;9163:108::-;9240:24;9258:5;9240:24;:::i;:::-;9235:3;9228:37;9163:108;;:::o;9277:179::-;9346:10;9367:46;9409:3;9401:6;9367:46;:::i;:::-;9445:4;9440:3;9436:14;9422:28;;9277:179;;;;:::o;9462:113::-;9532:4;9564;9559:3;9555:14;9547:22;;9462:113;;;:::o;9611:732::-;9730:3;9759:54;9807:5;9759:54;:::i;:::-;9829:86;9908:6;9903:3;9829:86;:::i;:::-;9822:93;;9939:56;9989:5;9939:56;:::i;:::-;10018:7;10049:1;10034:284;10059:6;10056:1;10053:13;10034:284;;;10135:6;10129:13;10162:63;10221:3;10206:13;10162:63;:::i;:::-;10155:70;;10248:60;10301:6;10248:60;:::i;:::-;10238:70;;10094:224;10081:1;10078;10074:9;10069:14;;10034:284;;;10038:14;10334:3;10327:10;;9735:608;;;9611:732;;;;:::o;10349:373::-;10492:4;10530:2;10519:9;10515:18;10507:26;;10579:9;10573:4;10569:20;10565:1;10554:9;10550:17;10543:47;10607:108;10710:4;10701:6;10607:108;:::i;:::-;10599:116;;10349:373;;;;:::o;10728:99::-;10780:6;10814:5;10808:12;10798:22;;10728:99;;;:::o;10833:159::-;10907:11;10941:6;10936:3;10929:19;10981:4;10976:3;10972:14;10957:29;;10833:159;;;;:::o;10998:246::-;11079:1;11089:113;11103:6;11100:1;11097:13;11089:113;;;11188:1;11183:3;11179:11;11173:18;11169:1;11164:3;11160:11;11153:39;11125:2;11122:1;11118:10;11113:15;;11089:113;;;11236:1;11227:6;11222:3;11218:16;11211:27;11060:184;10998:246;;;:::o;11250:357::-;11328:3;11356:39;11389:5;11356:39;:::i;:::-;11411:61;11465:6;11460:3;11411:61;:::i;:::-;11404:68;;11481:65;11539:6;11534:3;11527:4;11520:5;11516:16;11481:65;:::i;:::-;11571:29;11593:6;11571:29;:::i;:::-;11566:3;11562:39;11555:46;;11332:275;11250:357;;;;:::o;11613:108::-;11690:24;11708:5;11690:24;:::i;:::-;11685:3;11678:37;11613:108;;:::o;11727:180::-;11775:77;11772:1;11765:88;11872:4;11869:1;11862:15;11896:4;11893:1;11886:15;11913:122;12003:1;11996:5;11993:12;11983:46;;12009:18;;:::i;:::-;11983:46;11913:122;:::o;12041:145::-;12095:7;12124:5;12113:16;;12130:50;12174:5;12130:50;:::i;:::-;12041:145;;;:::o;12192:::-;12257:9;12290:41;12325:5;12290:41;:::i;:::-;12277:54;;12192:145;;;:::o;12343:151::-;12435:52;12481:5;12435:52;:::i;:::-;12430:3;12423:65;12343:151;;:::o;12548:1815::-;12677:3;12713:6;12708:3;12704:16;12809:4;12802:5;12798:16;12792:23;12862:3;12856:4;12852:14;12845:4;12840:3;12836:14;12829:38;12888:73;12956:4;12942:12;12888:73;:::i;:::-;12880:81;;12730:242;13064:4;13057:5;13053:16;13047:23;13083:63;13140:4;13135:3;13131:14;13117:12;13083:63;:::i;:::-;12982:174;13252:4;13245:5;13241:16;13235:23;13271:63;13328:4;13323:3;13319:14;13305:12;13271:63;:::i;:::-;13166:178;13439:4;13432:5;13428:16;13422:23;13458:63;13515:4;13510:3;13506:14;13492:12;13458:63;:::i;:::-;13354:177;13620:4;13613:5;13609:16;13603:23;13639:63;13696:4;13691:3;13687:14;13673:12;13639:63;:::i;:::-;13541:171;13804:4;13797:5;13793:16;13787:23;13823:63;13880:4;13875:3;13871:14;13857:12;13823:63;:::i;:::-;13722:174;13985:4;13978:5;13974:16;13968:23;14004:78;14076:4;14071:3;14067:14;14053:12;14004:78;:::i;:::-;13906:186;14173:4;14166:5;14162:16;14156:23;14226:3;14220:4;14216:14;14209:4;14204:3;14200:14;14193:38;14252:73;14320:4;14306:12;14252:73;:::i;:::-;14244:81;;14102:234;14353:4;14346:11;;12682:1681;12548:1815;;;;:::o;14369:393::-;14522:4;14560:2;14549:9;14545:18;14537:26;;14609:9;14603:4;14599:20;14595:1;14584:9;14580:17;14573:47;14637:118;14750:4;14741:6;14637:118;:::i;:::-;14629:126;;14369:393;;;;:::o;14768:77::-;14805:7;14834:5;14823:16;;14768:77;;;:::o;14851:122::-;14924:24;14942:5;14924:24;:::i;:::-;14917:5;14914:35;14904:63;;14963:1;14960;14953:12;14904:63;14851:122;:::o;14979:139::-;15025:5;15063:6;15050:20;15041:29;;15079:33;15106:5;15079:33;:::i;:::-;14979:139;;;;:::o;15124:474::-;15192:6;15200;15249:2;15237:9;15228:7;15224:23;15220:32;15217:119;;;15255:79;;:::i;:::-;15217:119;15375:1;15400:53;15445:7;15436:6;15425:9;15421:22;15400:53;:::i;:::-;15390:63;;15346:117;15502:2;15528:53;15573:7;15564:6;15553:9;15549:22;15528:53;:::i;:::-;15518:63;;15473:118;15124:474;;;;;:::o;15604:1383::-;15727:6;15735;15743;15751;15759;15767;15775;15824:3;15812:9;15803:7;15799:23;15795:33;15792:120;;;15831:79;;:::i;:::-;15792:120;15979:1;15968:9;15964:17;15951:31;16009:18;16001:6;15998:30;15995:117;;;16031:79;;:::i;:::-;15995:117;16136:63;16191:7;16182:6;16171:9;16167:22;16136:63;:::i;:::-;16126:73;;15922:287;16248:2;16274:53;16319:7;16310:6;16299:9;16295:22;16274:53;:::i;:::-;16264:63;;16219:118;16376:2;16402:53;16447:7;16438:6;16427:9;16423:22;16402:53;:::i;:::-;16392:63;;16347:118;16504:2;16530:53;16575:7;16566:6;16555:9;16551:22;16530:53;:::i;:::-;16520:63;;16475:118;16632:3;16659:53;16704:7;16695:6;16684:9;16680:22;16659:53;:::i;:::-;16649:63;;16603:119;16761:3;16788:53;16833:7;16824:6;16813:9;16809:22;16788:53;:::i;:::-;16778:63;;16732:119;16890:3;16917:53;16962:7;16953:6;16942:9;16938:22;16917:53;:::i;:::-;16907:63;;16861:119;15604:1383;;;;;;;;;;:::o;16993:117::-;17102:1;17099;17092:12;17133:568;17206:8;17216:6;17266:3;17259:4;17251:6;17247:17;17243:27;17233:122;;17274:79;;:::i;:::-;17233:122;17387:6;17374:20;17364:30;;17417:18;17409:6;17406:30;17403:117;;;17439:79;;:::i;:::-;17403:117;17553:4;17545:6;17541:17;17529:29;;17607:3;17599:4;17591:6;17587:17;17577:8;17573:32;17570:41;17567:128;;;17614:79;;:::i;:::-;17567:128;17133:568;;;;;:::o;17707:995::-;17820:6;17828;17836;17844;17852;17901:3;17889:9;17880:7;17876:23;17872:33;17869:120;;;17908:79;;:::i;:::-;17869:120;18028:1;18053:53;18098:7;18089:6;18078:9;18074:22;18053:53;:::i;:::-;18043:63;;17999:117;18155:2;18181:53;18226:7;18217:6;18206:9;18202:22;18181:53;:::i;:::-;18171:63;;18126:118;18283:2;18309:53;18354:7;18345:6;18334:9;18330:22;18309:53;:::i;:::-;18299:63;;18254:118;18439:2;18428:9;18424:18;18411:32;18470:18;18462:6;18459:30;18456:117;;;18492:79;;:::i;:::-;18456:117;18605:80;18677:7;18668:6;18657:9;18653:22;18605:80;:::i;:::-;18587:98;;;;18382:313;17707:995;;;;;;;;:::o;18708:169::-;18792:11;18826:6;18821:3;18814:19;18866:4;18861:3;18857:14;18842:29;;18708:169;;;;:::o;18883:377::-;18971:3;18999:39;19032:5;18999:39;:::i;:::-;19054:71;19118:6;19113:3;19054:71;:::i;:::-;19047:78;;19134:65;19192:6;19187:3;19180:4;19173:5;19169:16;19134:65;:::i;:::-;19224:29;19246:6;19224:29;:::i;:::-;19219:3;19215:39;19208:46;;18975:285;18883:377;;;;:::o;19266:755::-;19491:4;19529:3;19518:9;19514:19;19506:27;;19579:9;19573:4;19569:20;19565:1;19554:9;19550:17;19543:47;19607:78;19680:4;19671:6;19607:78;:::i;:::-;19599:86;;19695:72;19763:2;19752:9;19748:18;19739:6;19695:72;:::i;:::-;19777;19845:2;19834:9;19830:18;19821:6;19777:72;:::i;:::-;19859;19927:2;19916:9;19912:18;19903:6;19859:72;:::i;:::-;19941:73;20009:3;19998:9;19994:19;19985:6;19941:73;:::i;:::-;19266:755;;;;;;;;:::o;20027:143::-;20084:5;20115:6;20109:13;20100:22;;20131:33;20158:5;20131:33;:::i;:::-;20027:143;;;;:::o;20176:351::-;20246:6;20295:2;20283:9;20274:7;20270:23;20266:32;20263:119;;;20301:79;;:::i;:::-;20263:119;20421:1;20446:64;20502:7;20493:6;20482:9;20478:22;20446:64;:::i;:::-;20436:74;;20392:128;20176:351;;;;:::o;20533:226::-;20673:34;20669:1;20661:6;20657:14;20650:58;20742:9;20737:2;20729:6;20725:15;20718:34;20533:226;:::o;20765:366::-;20907:3;20928:67;20992:2;20987:3;20928:67;:::i;:::-;20921:74;;21004:93;21093:3;21004:93;:::i;:::-;21122:2;21117:3;21113:12;21106:19;;20765:366;;;:::o;21137:419::-;21303:4;21341:2;21330:9;21326:18;21318:26;;21390:9;21384:4;21380:20;21376:1;21365:9;21361:17;21354:47;21418:131;21544:4;21418:131;:::i;:::-;21410:139;;21137:419;;;:::o;21562:143::-;21619:5;21650:6;21644:13;21635:22;;21666:33;21693:5;21666:33;:::i;:::-;21562:143;;;;:::o;21711:351::-;21781:6;21830:2;21818:9;21809:7;21805:23;21801:32;21798:119;;;21836:79;;:::i;:::-;21798:119;21956:1;21981:64;22037:7;22028:6;22017:9;22013:22;21981:64;:::i;:::-;21971:74;;21927:128;21711:351;;;;:::o;22068:117::-;22177:1;22174;22167:12;22191:117;22300:1;22297;22290:12;22314:434;22403:5;22428:66;22444:49;22486:6;22444:49;:::i;:::-;22428:66;:::i;:::-;22419:75;;22517:6;22510:5;22503:21;22555:4;22548:5;22544:16;22593:3;22584:6;22579:3;22575:16;22572:25;22569:112;;;22600:79;;:::i;:::-;22569:112;22690:52;22735:6;22730:3;22725;22690:52;:::i;:::-;22409:339;22314:434;;;;;:::o;22768:355::-;22835:5;22884:3;22877:4;22869:6;22865:17;22861:27;22851:122;;22892:79;;:::i;:::-;22851:122;23002:6;22996:13;23027:90;23113:3;23105:6;23098:4;23090:6;23086:17;23027:90;:::i;:::-;23018:99;;22841:282;22768:355;;;;:::o;23129:116::-;23219:1;23212:5;23209:12;23199:40;;23235:1;23232;23225:12;23199:40;23129:116;:::o;23251:177::-;23325:5;23356:6;23350:13;23341:22;;23372:50;23416:5;23372:50;:::i;:::-;23251:177;;;;:::o;23460:2062::-;23550:5;23594:6;23582:9;23577:3;23573:19;23569:32;23566:119;;;23604:79;;:::i;:::-;23566:119;23703:23;23719:6;23703:23;:::i;:::-;23694:32;;23813:1;23802:9;23798:17;23792:24;23843:18;23835:6;23832:30;23829:117;;;23865:79;;:::i;:::-;23829:117;23985:70;24051:3;24042:6;24031:9;24027:22;23985:70;:::i;:::-;23978:4;23971:5;23967:16;23960:96;23736:331;24136:2;24177:60;24233:3;24224:6;24213:9;24209:22;24177:60;:::i;:::-;24170:4;24163:5;24159:16;24152:86;24077:172;24322:2;24363:60;24419:3;24410:6;24399:9;24395:22;24363:60;:::i;:::-;24356:4;24349:5;24345:16;24338:86;24259:176;24507:2;24548:60;24604:3;24595:6;24584:9;24580:22;24548:60;:::i;:::-;24541:4;24534:5;24530:16;24523:86;24445:175;24686:3;24728:60;24784:3;24775:6;24764:9;24760:22;24728:60;:::i;:::-;24721:4;24714:5;24710:16;24703:86;24630:170;24869:3;24911:60;24967:3;24958:6;24947:9;24943:22;24911:60;:::i;:::-;24904:4;24897:5;24893:16;24886:86;24810:173;25049:3;25091:77;25164:3;25155:6;25144:9;25140:22;25091:77;:::i;:::-;25084:4;25077:5;25073:16;25066:103;24993:187;25259:3;25248:9;25244:19;25238:26;25291:18;25283:6;25280:30;25277:117;;;25313:79;;:::i;:::-;25277:117;25433:70;25499:3;25490:6;25479:9;25475:22;25433:70;:::i;:::-;25426:4;25419:5;25415:16;25408:96;25190:325;23460:2062;;;;:::o;25528:564::-;25628:6;25677:2;25665:9;25656:7;25652:23;25648:32;25645:119;;;25683:79;;:::i;:::-;25645:119;25824:1;25813:9;25809:17;25803:24;25854:18;25846:6;25843:30;25840:117;;;25876:79;;:::i;:::-;25840:117;25981:94;26067:7;26058:6;26047:9;26043:22;25981:94;:::i;:::-;25971:104;;25774:311;25528:564;;;;:::o;26098:118::-;26185:24;26203:5;26185:24;:::i;:::-;26180:3;26173:37;26098:118;;:::o;26222:222::-;26315:4;26353:2;26342:9;26338:18;26330:26;;26366:71;26434:1;26423:9;26419:17;26410:6;26366:71;:::i;:::-;26222:222;;;;:::o;26450:116::-;26520:21;26535:5;26520:21;:::i;:::-;26513:5;26510:32;26500:60;;26556:1;26553;26546:12;26500:60;26450:116;:::o;26572:137::-;26626:5;26657:6;26651:13;26642:22;;26673:30;26697:5;26673:30;:::i;:::-;26572:137;;;;:::o;26715:345::-;26782:6;26831:2;26819:9;26810:7;26806:23;26802:32;26799:119;;;26837:79;;:::i;:::-;26799:119;26957:1;26982:61;27035:7;27026:6;27015:9;27011:22;26982:61;:::i;:::-;26972:71;;26928:125;26715:345;;;;:::o;27066:977::-;27347:4;27385:3;27374:9;27370:19;27362:27;;27435:9;27429:4;27425:20;27421:1;27410:9;27406:17;27399:47;27463:78;27536:4;27527:6;27463:78;:::i;:::-;27455:86;;27551:72;27619:2;27608:9;27604:18;27595:6;27551:72;:::i;:::-;27633;27701:2;27690:9;27686:18;27677:6;27633:72;:::i;:::-;27715;27783:2;27772:9;27768:18;27759:6;27715:72;:::i;:::-;27797:73;27865:3;27854:9;27850:19;27841:6;27797:73;:::i;:::-;27880;27948:3;27937:9;27933:19;27924:6;27880:73;:::i;:::-;27963;28031:3;28020:9;28016:19;28007:6;27963:73;:::i;:::-;27066:977;;;;;;;;;;:::o;28049:176::-;28189:28;28185:1;28177:6;28173:14;28166:52;28049:176;:::o;28231:366::-;28373:3;28394:67;28458:2;28453:3;28394:67;:::i;:::-;28387:74;;28470:93;28559:3;28470:93;:::i;:::-;28588:2;28583:3;28579:12;28572:19;;28231:366;;;:::o;28603:419::-;28769:4;28807:2;28796:9;28792:18;28784:26;;28856:9;28850:4;28846:20;28842:1;28831:9;28827:17;28820:47;28884:131;29010:4;28884:131;:::i;:::-;28876:139;;28603:419;;;:::o;29028:180::-;29076:77;29073:1;29066:88;29173:4;29170:1;29163:15;29197:4;29194:1;29187:15;29214:180;29262:77;29259:1;29252:88;29359:4;29356:1;29349:15;29383:4;29380:1;29373:15;29400:194;29440:4;29460:20;29478:1;29460:20;:::i;:::-;29455:25;;29494:20;29512:1;29494:20;:::i;:::-;29489:25;;29538:1;29535;29531:9;29523:17;;29562:1;29556:4;29553:11;29550:37;;;29567:18;;:::i;:::-;29550:37;29400:194;;;;:::o;29600:180::-;29648:77;29645:1;29638:88;29745:4;29742:1;29735:15;29769:4;29766:1;29759:15;29786:233;29825:3;29848:24;29866:5;29848:24;:::i;:::-;29839:33;;29894:66;29887:5;29884:77;29881:103;;29964:18;;:::i;:::-;29881:103;30011:1;30004:5;30000:13;29993:20;;29786:233;;;:::o;30025:184::-;30124:11;30158:6;30153:3;30146:19;30198:4;30193:3;30189:14;30174:29;;30025:184;;;;:::o;30215:117::-;30324:1;30321;30314:12;30338:98;30422:6;30417:3;30412;30399:30;30338:98;;;:::o;30472:537::-;30600:3;30621:86;30700:6;30695:3;30621:86;:::i;:::-;30614:93;;30731:66;30723:6;30720:78;30717:165;;;30801:79;;:::i;:::-;30717:165;30913:4;30905:6;30901:17;30891:27;;30928:43;30964:6;30959:3;30952:5;30928:43;:::i;:::-;30996:6;30991:3;30987:16;30980:23;;30472:537;;;;;:::o;31015:613::-;31224:4;31262:2;31251:9;31247:18;31239:26;;31275:71;31343:1;31332:9;31328:17;31319:6;31275:71;:::i;:::-;31356:72;31424:2;31413:9;31409:18;31400:6;31356:72;:::i;:::-;31475:9;31469:4;31465:20;31460:2;31449:9;31445:18;31438:48;31503:118;31616:4;31607:6;31599;31503:118;:::i;:::-;31495:126;;31015:613;;;;;;;:::o;31634:171::-;31774:23;31770:1;31762:6;31758:14;31751:47;31634:171;:::o;31811:366::-;31953:3;31974:67;32038:2;32033:3;31974:67;:::i;:::-;31967:74;;32050:93;32139:3;32050:93;:::i;:::-;32168:2;32163:3;32159:12;32152:19;;31811:366;;;:::o;32183:419::-;32349:4;32387:2;32376:9;32372:18;32364:26;;32436:9;32430:4;32426:20;32422:1;32411:9;32407:17;32400:47;32464:131;32590:4;32464:131;:::i;:::-;32456:139;;32183:419;;;:::o" + }, + "methodIdentifiers": { + "addAdmin(address)": "70480275", + "allowAddress(address,address)": "989a9863", + "allowAddresses(address,address[])": "ead7778a", + "claim(address,address,uint256,bytes32[])": "fabed412", + "deployAndAddAirdropERC1155(string,address,uint256,uint256,uint256,uint256,uint256)": "b17acd1a", + "deployAndAddAirdropERC20(string,address,uint256,uint256,uint256)": "07b1d553", + "disallowAddress(address,address)": "3ad14ed6", + "disallowAddresses(address,address[])": "0cb27628", + "getAirdropAmountLeft(address)": "a9b8f018", + "getAirdropInfo(address)": "6b58222e", + "getAirdrops()": "59f47add", + "getBalance(address)": "f8b2cb4f", + "getClaimAmount(address)": "dde070e8", + "getExpirationDate(address)": "2522f8da", + "getTotalAirdropAmount(address)": "f89f2a2c", + "hasClaimed(address,address)": "89266f60", + "hasExpired(address)": "f77bc88b", + "isAdmin(address)": "24d7806c", + "isAllowed(address,address)": "a1654379", + "removeAdmin(address)": "1785f53c", + "removeAirdrop(address)": "c012a68f", + "setRoot(address,bytes32)": "7f94f65d" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialAdmins\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"airdropDeployerERC20Address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"airdropDeployerERC1155Address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropERC1155Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropERC20Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"AirdropRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAdmin\",\"type\":\"address\"}],\"name\":\"addAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"allowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"}],\"name\":\"allowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mode\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdropERC1155\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdropERC20\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"disallowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"}],\"name\":\"disallowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdrops\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"}],\"name\":\"removeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"}],\"name\":\"removeAirdrop\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AirdropManager.sol\":\"AirdropManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/AirdropManager.sol\":{\"keccak256\":\"0x3d4c788c50f7e2917f73b78a3fb11d8556376c189cfeb8f2f4576654dec86ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09f4eae66945aab073d1460574cfa6bad104b6210767faf202807ef777b6d31d\",\"dweb:/ipfs/QmYVK1tNGTFdpQufi9KbJPuWGvMMeNjSGJbVSTQkWdCVj5\"]},\"contracts/Lib/Administrable.sol\":{\"keccak256\":\"0xf5cb19fd1d0fcffcfa1f8475075e93fe4aef6c964a1f672fe378a72119b3b75d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97a66f5774463cfd9ceb4fb2148a2a079b23fe41d18974eb0b90c26c2ec617f\",\"dweb:/ipfs/QmP8sBeatf66mDQJZa4vXj3oRsxTAxnhkXNEwSxUptTrk7\"]},\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/ERC1155/CustomAirdrop1155.sol": { + "CustomAirdrop1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "allowedAddress", + "type": "address" + } + ], + "name": "AddressAllowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "disallowedAddress", + "type": "address" + } + ], + "name": "AddressDisallowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "allowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "allowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "disallowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "disallowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBalanceToClaim", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBeenTotallyClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_10283": { + "entryPoint": null, + "id": 10283, + "parameterSlots": 8, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 368, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 841, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1045, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_enum$_AirdropType_$11645_fromMemory": { + "entryPoint": 1144, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 916, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 1104, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_uint256t_enum$_AirdropType_$11645_fromMemory": { + "entryPoint": 1167, + "id": null, + "parameterSlots": 2, + "returnSlots": 8 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1399, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1416, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 712, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 564, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 743, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1556, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1445, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1867, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 999, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 967, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1068, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1828, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1702, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 2022, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 797, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1577, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1503, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1992, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 658, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 1692, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1960, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 2253, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 1456, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 611, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1742, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 584, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 589, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 579, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 574, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 594, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1593, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1947, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1800, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1606, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1752, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1019, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_enum$_AirdropType_$11645": { + "entryPoint": 1127, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 1078, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1795, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:11007:43", + "nodeType": "YulBlock", + "src": "0:11007:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "546:28:43", + "nodeType": "YulBlock", + "src": "546:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:43", + "nodeType": "YulLiteral", + "src": "563:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:43", + "nodeType": "YulLiteral", + "src": "566:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:43", + "nodeType": "YulIdentifier", + "src": "556:6:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulFunctionCall", + "src": "556:12:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulExpressionStatement", + "src": "556:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:43", + "nodeType": "YulFunctionDefinition", + "src": "457:117:43" + }, + { + "body": { + "nativeSrc": "628:54:43", + "nodeType": "YulBlock", + "src": "628:54:43", + "statements": [ + { + "nativeSrc": "638:38:43", + "nodeType": "YulAssignment", + "src": "638:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:43", + "nodeType": "YulIdentifier", + "src": "656:5:43" + }, + { + "kind": "number", + "nativeSrc": "663:2:43", + "nodeType": "YulLiteral", + "src": "663:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:43", + "nodeType": "YulIdentifier", + "src": "652:3:43" + }, + "nativeSrc": "652:14:43", + "nodeType": "YulFunctionCall", + "src": "652:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:43", + "nodeType": "YulLiteral", + "src": "672:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:43", + "nodeType": "YulIdentifier", + "src": "668:3:43" + }, + "nativeSrc": "668:7:43", + "nodeType": "YulFunctionCall", + "src": "668:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:43", + "nodeType": "YulIdentifier", + "src": "648:3:43" + }, + "nativeSrc": "648:28:43", + "nodeType": "YulFunctionCall", + "src": "648:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:43", + "nodeType": "YulIdentifier", + "src": "638:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:43", + "nodeType": "YulTypedName", + "src": "611:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:43", + "nodeType": "YulTypedName", + "src": "621:6:43", + "type": "" + } + ], + "src": "580:102:43" + }, + { + "body": { + "nativeSrc": "716:152:43", + "nodeType": "YulBlock", + "src": "716:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:43", + "nodeType": "YulLiteral", + "src": "733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:43", + "nodeType": "YulLiteral", + "src": "736:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:43", + "nodeType": "YulIdentifier", + "src": "726:6:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulFunctionCall", + "src": "726:88:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulExpressionStatement", + "src": "726:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:43", + "nodeType": "YulLiteral", + "src": "830:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:43", + "nodeType": "YulLiteral", + "src": "833:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:43", + "nodeType": "YulIdentifier", + "src": "823:6:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulFunctionCall", + "src": "823:15:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulExpressionStatement", + "src": "823:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:43", + "nodeType": "YulLiteral", + "src": "854:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:43", + "nodeType": "YulLiteral", + "src": "857:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:43", + "nodeType": "YulIdentifier", + "src": "847:6:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulFunctionCall", + "src": "847:15:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulExpressionStatement", + "src": "847:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:43", + "nodeType": "YulFunctionDefinition", + "src": "688:180:43" + }, + { + "body": { + "nativeSrc": "917:238:43", + "nodeType": "YulBlock", + "src": "917:238:43", + "statements": [ + { + "nativeSrc": "927:58:43", + "nodeType": "YulVariableDeclaration", + "src": "927:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:43", + "nodeType": "YulIdentifier", + "src": "949:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:43", + "nodeType": "YulIdentifier", + "src": "979:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:43", + "nodeType": "YulIdentifier", + "src": "957:21:43" + }, + "nativeSrc": "957:27:43", + "nodeType": "YulFunctionCall", + "src": "957:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:43", + "nodeType": "YulIdentifier", + "src": "945:3:43" + }, + "nativeSrc": "945:40:43", + "nodeType": "YulFunctionCall", + "src": "945:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:43", + "nodeType": "YulTypedName", + "src": "931:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:43", + "nodeType": "YulBlock", + "src": "1096:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:43", + "nodeType": "YulIdentifier", + "src": "1098:16:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulFunctionCall", + "src": "1098:18:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulExpressionStatement", + "src": "1098:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:43", + "nodeType": "YulIdentifier", + "src": "1039:10:43" + }, + { + "kind": "number", + "nativeSrc": "1051:18:43", + "nodeType": "YulLiteral", + "src": "1051:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:43", + "nodeType": "YulIdentifier", + "src": "1036:2:43" + }, + "nativeSrc": "1036:34:43", + "nodeType": "YulFunctionCall", + "src": "1036:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:43", + "nodeType": "YulIdentifier", + "src": "1075:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:43", + "nodeType": "YulIdentifier", + "src": "1087:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:43", + "nodeType": "YulIdentifier", + "src": "1072:2:43" + }, + "nativeSrc": "1072:22:43", + "nodeType": "YulFunctionCall", + "src": "1072:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:43", + "nodeType": "YulIdentifier", + "src": "1033:2:43" + }, + "nativeSrc": "1033:62:43", + "nodeType": "YulFunctionCall", + "src": "1033:62:43" + }, + "nativeSrc": "1030:88:43", + "nodeType": "YulIf", + "src": "1030:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:43", + "nodeType": "YulLiteral", + "src": "1134:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:43", + "nodeType": "YulIdentifier", + "src": "1138:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:43", + "nodeType": "YulIdentifier", + "src": "1127:6:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulFunctionCall", + "src": "1127:22:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulExpressionStatement", + "src": "1127:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:43", + "nodeType": "YulTypedName", + "src": "903:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:43", + "nodeType": "YulTypedName", + "src": "911:4:43", + "type": "" + } + ], + "src": "874:281:43" + }, + { + "body": { + "nativeSrc": "1202:88:43", + "nodeType": "YulBlock", + "src": "1202:88:43", + "statements": [ + { + "nativeSrc": "1212:30:43", + "nodeType": "YulAssignment", + "src": "1212:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:43", + "nodeType": "YulIdentifier", + "src": "1222:18:43" + }, + "nativeSrc": "1222:20:43", + "nodeType": "YulFunctionCall", + "src": "1222:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:43", + "nodeType": "YulIdentifier", + "src": "1271:6:43" + }, + { + "name": "size", + "nativeSrc": "1279:4:43", + "nodeType": "YulIdentifier", + "src": "1279:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:43", + "nodeType": "YulIdentifier", + "src": "1251:19:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulFunctionCall", + "src": "1251:33:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulExpressionStatement", + "src": "1251:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:43", + "nodeType": "YulTypedName", + "src": "1186:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:43", + "nodeType": "YulTypedName", + "src": "1195:6:43", + "type": "" + } + ], + "src": "1161:129:43" + }, + { + "body": { + "nativeSrc": "1363:241:43", + "nodeType": "YulBlock", + "src": "1363:241:43", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:43", + "nodeType": "YulBlock", + "src": "1468:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:43", + "nodeType": "YulIdentifier", + "src": "1470:16:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulFunctionCall", + "src": "1470:18:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulExpressionStatement", + "src": "1470:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:43", + "nodeType": "YulIdentifier", + "src": "1440:6:43" + }, + { + "kind": "number", + "nativeSrc": "1448:18:43", + "nodeType": "YulLiteral", + "src": "1448:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:43", + "nodeType": "YulIdentifier", + "src": "1437:2:43" + }, + "nativeSrc": "1437:30:43", + "nodeType": "YulFunctionCall", + "src": "1437:30:43" + }, + "nativeSrc": "1434:56:43", + "nodeType": "YulIf", + "src": "1434:56:43" + }, + { + "nativeSrc": "1500:37:43", + "nodeType": "YulAssignment", + "src": "1500:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:43", + "nodeType": "YulIdentifier", + "src": "1530:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:43", + "nodeType": "YulIdentifier", + "src": "1508:21:43" + }, + "nativeSrc": "1508:29:43", + "nodeType": "YulFunctionCall", + "src": "1508:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:43", + "nodeType": "YulIdentifier", + "src": "1500:4:43" + } + ] + }, + { + "nativeSrc": "1574:23:43", + "nodeType": "YulAssignment", + "src": "1574:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:43", + "nodeType": "YulIdentifier", + "src": "1586:4:43" + }, + { + "kind": "number", + "nativeSrc": "1592:4:43", + "nodeType": "YulLiteral", + "src": "1592:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:43", + "nodeType": "YulIdentifier", + "src": "1582:3:43" + }, + "nativeSrc": "1582:15:43", + "nodeType": "YulFunctionCall", + "src": "1582:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:43", + "nodeType": "YulIdentifier", + "src": "1574:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:43", + "nodeType": "YulTypedName", + "src": "1347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:43", + "nodeType": "YulTypedName", + "src": "1358:4:43", + "type": "" + } + ], + "src": "1296:308:43" + }, + { + "body": { + "nativeSrc": "1672:184:43", + "nodeType": "YulBlock", + "src": "1672:184:43", + "statements": [ + { + "nativeSrc": "1682:10:43", + "nodeType": "YulVariableDeclaration", + "src": "1682:10:43", + "value": { + "kind": "number", + "nativeSrc": "1691:1:43", + "nodeType": "YulLiteral", + "src": "1691:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1686:1:43", + "nodeType": "YulTypedName", + "src": "1686:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1751:63:43", + "nodeType": "YulBlock", + "src": "1751:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1776:3:43", + "nodeType": "YulIdentifier", + "src": "1776:3:43" + }, + { + "name": "i", + "nativeSrc": "1781:1:43", + "nodeType": "YulIdentifier", + "src": "1781:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:43", + "nodeType": "YulIdentifier", + "src": "1772:3:43" + }, + "nativeSrc": "1772:11:43", + "nodeType": "YulFunctionCall", + "src": "1772:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1795:3:43", + "nodeType": "YulIdentifier", + "src": "1795:3:43" + }, + { + "name": "i", + "nativeSrc": "1800:1:43", + "nodeType": "YulIdentifier", + "src": "1800:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1791:3:43", + "nodeType": "YulIdentifier", + "src": "1791:3:43" + }, + "nativeSrc": "1791:11:43", + "nodeType": "YulFunctionCall", + "src": "1791:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1785:5:43", + "nodeType": "YulIdentifier", + "src": "1785:5:43" + }, + "nativeSrc": "1785:18:43", + "nodeType": "YulFunctionCall", + "src": "1785:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1765:6:43", + "nodeType": "YulIdentifier", + "src": "1765:6:43" + }, + "nativeSrc": "1765:39:43", + "nodeType": "YulFunctionCall", + "src": "1765:39:43" + }, + "nativeSrc": "1765:39:43", + "nodeType": "YulExpressionStatement", + "src": "1765:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1712:1:43", + "nodeType": "YulIdentifier", + "src": "1712:1:43" + }, + { + "name": "length", + "nativeSrc": "1715:6:43", + "nodeType": "YulIdentifier", + "src": "1715:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1709:2:43", + "nodeType": "YulIdentifier", + "src": "1709:2:43" + }, + "nativeSrc": "1709:13:43", + "nodeType": "YulFunctionCall", + "src": "1709:13:43" + }, + "nativeSrc": "1701:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1723:19:43", + "nodeType": "YulBlock", + "src": "1723:19:43", + "statements": [ + { + "nativeSrc": "1725:15:43", + "nodeType": "YulAssignment", + "src": "1725:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1734:1:43", + "nodeType": "YulIdentifier", + "src": "1734:1:43" + }, + { + "kind": "number", + "nativeSrc": "1737:2:43", + "nodeType": "YulLiteral", + "src": "1737:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:43", + "nodeType": "YulIdentifier", + "src": "1730:3:43" + }, + "nativeSrc": "1730:10:43", + "nodeType": "YulFunctionCall", + "src": "1730:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1725:1:43", + "nodeType": "YulIdentifier", + "src": "1725:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1705:3:43", + "nodeType": "YulBlock", + "src": "1705:3:43", + "statements": [] + }, + "src": "1701:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1834:3:43", + "nodeType": "YulIdentifier", + "src": "1834:3:43" + }, + { + "name": "length", + "nativeSrc": "1839:6:43", + "nodeType": "YulIdentifier", + "src": "1839:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1830:3:43", + "nodeType": "YulIdentifier", + "src": "1830:3:43" + }, + "nativeSrc": "1830:16:43", + "nodeType": "YulFunctionCall", + "src": "1830:16:43" + }, + { + "kind": "number", + "nativeSrc": "1848:1:43", + "nodeType": "YulLiteral", + "src": "1848:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1823:6:43", + "nodeType": "YulIdentifier", + "src": "1823:6:43" + }, + "nativeSrc": "1823:27:43", + "nodeType": "YulFunctionCall", + "src": "1823:27:43" + }, + "nativeSrc": "1823:27:43", + "nodeType": "YulExpressionStatement", + "src": "1823:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:43", + "nodeType": "YulTypedName", + "src": "1654:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:43", + "nodeType": "YulTypedName", + "src": "1659:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:43", + "nodeType": "YulTypedName", + "src": "1664:6:43", + "type": "" + } + ], + "src": "1610:246:43" + }, + { + "body": { + "nativeSrc": "1957:339:43", + "nodeType": "YulBlock", + "src": "1957:339:43", + "statements": [ + { + "nativeSrc": "1967:75:43", + "nodeType": "YulAssignment", + "src": "1967:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2034:6:43", + "nodeType": "YulIdentifier", + "src": "2034:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1992:41:43", + "nodeType": "YulIdentifier", + "src": "1992:41:43" + }, + "nativeSrc": "1992:49:43", + "nodeType": "YulFunctionCall", + "src": "1992:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1976:15:43", + "nodeType": "YulIdentifier", + "src": "1976:15:43" + }, + "nativeSrc": "1976:66:43", + "nodeType": "YulFunctionCall", + "src": "1976:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1967:5:43", + "nodeType": "YulIdentifier", + "src": "1967:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2058:5:43", + "nodeType": "YulIdentifier", + "src": "2058:5:43" + }, + { + "name": "length", + "nativeSrc": "2065:6:43", + "nodeType": "YulIdentifier", + "src": "2065:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2051:6:43", + "nodeType": "YulIdentifier", + "src": "2051:6:43" + }, + "nativeSrc": "2051:21:43", + "nodeType": "YulFunctionCall", + "src": "2051:21:43" + }, + "nativeSrc": "2051:21:43", + "nodeType": "YulExpressionStatement", + "src": "2051:21:43" + }, + { + "nativeSrc": "2081:27:43", + "nodeType": "YulVariableDeclaration", + "src": "2081:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2096:5:43", + "nodeType": "YulIdentifier", + "src": "2096:5:43" + }, + { + "kind": "number", + "nativeSrc": "2103:4:43", + "nodeType": "YulLiteral", + "src": "2103:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2092:3:43", + "nodeType": "YulIdentifier", + "src": "2092:3:43" + }, + "nativeSrc": "2092:16:43", + "nodeType": "YulFunctionCall", + "src": "2092:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2085:3:43", + "nodeType": "YulTypedName", + "src": "2085:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2146:83:43", + "nodeType": "YulBlock", + "src": "2146:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2148:77:43", + "nodeType": "YulIdentifier", + "src": "2148:77:43" + }, + "nativeSrc": "2148:79:43", + "nodeType": "YulFunctionCall", + "src": "2148:79:43" + }, + "nativeSrc": "2148:79:43", + "nodeType": "YulExpressionStatement", + "src": "2148:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2127:3:43", + "nodeType": "YulIdentifier", + "src": "2127:3:43" + }, + { + "name": "length", + "nativeSrc": "2132:6:43", + "nodeType": "YulIdentifier", + "src": "2132:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2123:3:43", + "nodeType": "YulIdentifier", + "src": "2123:3:43" + }, + "nativeSrc": "2123:16:43", + "nodeType": "YulFunctionCall", + "src": "2123:16:43" + }, + { + "name": "end", + "nativeSrc": "2141:3:43", + "nodeType": "YulIdentifier", + "src": "2141:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2120:2:43", + "nodeType": "YulIdentifier", + "src": "2120:2:43" + }, + "nativeSrc": "2120:25:43", + "nodeType": "YulFunctionCall", + "src": "2120:25:43" + }, + "nativeSrc": "2117:112:43", + "nodeType": "YulIf", + "src": "2117:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2273:3:43", + "nodeType": "YulIdentifier", + "src": "2273:3:43" + }, + { + "name": "dst", + "nativeSrc": "2278:3:43", + "nodeType": "YulIdentifier", + "src": "2278:3:43" + }, + { + "name": "length", + "nativeSrc": "2283:6:43", + "nodeType": "YulIdentifier", + "src": "2283:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2238:34:43", + "nodeType": "YulIdentifier", + "src": "2238:34:43" + }, + "nativeSrc": "2238:52:43", + "nodeType": "YulFunctionCall", + "src": "2238:52:43" + }, + "nativeSrc": "2238:52:43", + "nodeType": "YulExpressionStatement", + "src": "2238:52:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1862:434:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1930:3:43", + "nodeType": "YulTypedName", + "src": "1930:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1935:6:43", + "nodeType": "YulTypedName", + "src": "1935:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1943:3:43", + "nodeType": "YulTypedName", + "src": "1943:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1951:5:43", + "nodeType": "YulTypedName", + "src": "1951:5:43", + "type": "" + } + ], + "src": "1862:434:43" + }, + { + "body": { + "nativeSrc": "2389:282:43", + "nodeType": "YulBlock", + "src": "2389:282:43", + "statements": [ + { + "body": { + "nativeSrc": "2438:83:43", + "nodeType": "YulBlock", + "src": "2438:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2440:77:43", + "nodeType": "YulIdentifier", + "src": "2440:77:43" + }, + "nativeSrc": "2440:79:43", + "nodeType": "YulFunctionCall", + "src": "2440:79:43" + }, + "nativeSrc": "2440:79:43", + "nodeType": "YulExpressionStatement", + "src": "2440:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2417:6:43", + "nodeType": "YulIdentifier", + "src": "2417:6:43" + }, + { + "kind": "number", + "nativeSrc": "2425:4:43", + "nodeType": "YulLiteral", + "src": "2425:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2413:3:43", + "nodeType": "YulIdentifier", + "src": "2413:3:43" + }, + "nativeSrc": "2413:17:43", + "nodeType": "YulFunctionCall", + "src": "2413:17:43" + }, + { + "name": "end", + "nativeSrc": "2432:3:43", + "nodeType": "YulIdentifier", + "src": "2432:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2409:3:43", + "nodeType": "YulIdentifier", + "src": "2409:3:43" + }, + "nativeSrc": "2409:27:43", + "nodeType": "YulFunctionCall", + "src": "2409:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2402:6:43", + "nodeType": "YulIdentifier", + "src": "2402:6:43" + }, + "nativeSrc": "2402:35:43", + "nodeType": "YulFunctionCall", + "src": "2402:35:43" + }, + "nativeSrc": "2399:122:43", + "nodeType": "YulIf", + "src": "2399:122:43" + }, + { + "nativeSrc": "2530:27:43", + "nodeType": "YulVariableDeclaration", + "src": "2530:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2550:6:43", + "nodeType": "YulIdentifier", + "src": "2550:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2544:5:43", + "nodeType": "YulIdentifier", + "src": "2544:5:43" + }, + "nativeSrc": "2544:13:43", + "nodeType": "YulFunctionCall", + "src": "2544:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2534:6:43", + "nodeType": "YulTypedName", + "src": "2534:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2566:99:43", + "nodeType": "YulAssignment", + "src": "2566:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2638:6:43", + "nodeType": "YulIdentifier", + "src": "2638:6:43" + }, + { + "kind": "number", + "nativeSrc": "2646:4:43", + "nodeType": "YulLiteral", + "src": "2646:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2634:3:43", + "nodeType": "YulIdentifier", + "src": "2634:3:43" + }, + "nativeSrc": "2634:17:43", + "nodeType": "YulFunctionCall", + "src": "2634:17:43" + }, + { + "name": "length", + "nativeSrc": "2653:6:43", + "nodeType": "YulIdentifier", + "src": "2653:6:43" + }, + { + "name": "end", + "nativeSrc": "2661:3:43", + "nodeType": "YulIdentifier", + "src": "2661:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2575:58:43", + "nodeType": "YulIdentifier", + "src": "2575:58:43" + }, + "nativeSrc": "2575:90:43", + "nodeType": "YulFunctionCall", + "src": "2575:90:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2566:5:43", + "nodeType": "YulIdentifier", + "src": "2566:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2316:355:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2367:6:43", + "nodeType": "YulTypedName", + "src": "2367:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2375:3:43", + "nodeType": "YulTypedName", + "src": "2375:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2383:5:43", + "nodeType": "YulTypedName", + "src": "2383:5:43", + "type": "" + } + ], + "src": "2316:355:43" + }, + { + "body": { + "nativeSrc": "2722:81:43", + "nodeType": "YulBlock", + "src": "2722:81:43", + "statements": [ + { + "nativeSrc": "2732:65:43", + "nodeType": "YulAssignment", + "src": "2732:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2747:5:43", + "nodeType": "YulIdentifier", + "src": "2747:5:43" + }, + { + "kind": "number", + "nativeSrc": "2754:42:43", + "nodeType": "YulLiteral", + "src": "2754:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2743:3:43", + "nodeType": "YulIdentifier", + "src": "2743:3:43" + }, + "nativeSrc": "2743:54:43", + "nodeType": "YulFunctionCall", + "src": "2743:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2732:7:43", + "nodeType": "YulIdentifier", + "src": "2732:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2677:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2704:5:43", + "nodeType": "YulTypedName", + "src": "2704:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2714:7:43", + "nodeType": "YulTypedName", + "src": "2714:7:43", + "type": "" + } + ], + "src": "2677:126:43" + }, + { + "body": { + "nativeSrc": "2854:51:43", + "nodeType": "YulBlock", + "src": "2854:51:43", + "statements": [ + { + "nativeSrc": "2864:35:43", + "nodeType": "YulAssignment", + "src": "2864:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2893:5:43", + "nodeType": "YulIdentifier", + "src": "2893:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2875:17:43", + "nodeType": "YulIdentifier", + "src": "2875:17:43" + }, + "nativeSrc": "2875:24:43", + "nodeType": "YulFunctionCall", + "src": "2875:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2864:7:43", + "nodeType": "YulIdentifier", + "src": "2864:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2809:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2836:5:43", + "nodeType": "YulTypedName", + "src": "2836:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2846:7:43", + "nodeType": "YulTypedName", + "src": "2846:7:43", + "type": "" + } + ], + "src": "2809:96:43" + }, + { + "body": { + "nativeSrc": "2954:79:43", + "nodeType": "YulBlock", + "src": "2954:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3011:16:43", + "nodeType": "YulBlock", + "src": "3011:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3020:1:43", + "nodeType": "YulLiteral", + "src": "3020:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3023:1:43", + "nodeType": "YulLiteral", + "src": "3023:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3013:6:43", + "nodeType": "YulIdentifier", + "src": "3013:6:43" + }, + "nativeSrc": "3013:12:43", + "nodeType": "YulFunctionCall", + "src": "3013:12:43" + }, + "nativeSrc": "3013:12:43", + "nodeType": "YulExpressionStatement", + "src": "3013:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2977:5:43", + "nodeType": "YulIdentifier", + "src": "2977:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3002:5:43", + "nodeType": "YulIdentifier", + "src": "3002:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2984:17:43", + "nodeType": "YulIdentifier", + "src": "2984:17:43" + }, + "nativeSrc": "2984:24:43", + "nodeType": "YulFunctionCall", + "src": "2984:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2974:2:43", + "nodeType": "YulIdentifier", + "src": "2974:2:43" + }, + "nativeSrc": "2974:35:43", + "nodeType": "YulFunctionCall", + "src": "2974:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2967:6:43", + "nodeType": "YulIdentifier", + "src": "2967:6:43" + }, + "nativeSrc": "2967:43:43", + "nodeType": "YulFunctionCall", + "src": "2967:43:43" + }, + "nativeSrc": "2964:63:43", + "nodeType": "YulIf", + "src": "2964:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2911:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2947:5:43", + "nodeType": "YulTypedName", + "src": "2947:5:43", + "type": "" + } + ], + "src": "2911:122:43" + }, + { + "body": { + "nativeSrc": "3102:80:43", + "nodeType": "YulBlock", + "src": "3102:80:43", + "statements": [ + { + "nativeSrc": "3112:22:43", + "nodeType": "YulAssignment", + "src": "3112:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3127:6:43", + "nodeType": "YulIdentifier", + "src": "3127:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3121:5:43", + "nodeType": "YulIdentifier", + "src": "3121:5:43" + }, + "nativeSrc": "3121:13:43", + "nodeType": "YulFunctionCall", + "src": "3121:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3112:5:43", + "nodeType": "YulIdentifier", + "src": "3112:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3170:5:43", + "nodeType": "YulIdentifier", + "src": "3170:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3143:26:43", + "nodeType": "YulIdentifier", + "src": "3143:26:43" + }, + "nativeSrc": "3143:33:43", + "nodeType": "YulFunctionCall", + "src": "3143:33:43" + }, + "nativeSrc": "3143:33:43", + "nodeType": "YulExpressionStatement", + "src": "3143:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3039:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3080:6:43", + "nodeType": "YulTypedName", + "src": "3080:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3088:3:43", + "nodeType": "YulTypedName", + "src": "3088:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3096:5:43", + "nodeType": "YulTypedName", + "src": "3096:5:43", + "type": "" + } + ], + "src": "3039:143:43" + }, + { + "body": { + "nativeSrc": "3233:32:43", + "nodeType": "YulBlock", + "src": "3233:32:43", + "statements": [ + { + "nativeSrc": "3243:16:43", + "nodeType": "YulAssignment", + "src": "3243:16:43", + "value": { + "name": "value", + "nativeSrc": "3254:5:43", + "nodeType": "YulIdentifier", + "src": "3254:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3243:7:43", + "nodeType": "YulIdentifier", + "src": "3243:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3188:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3215:5:43", + "nodeType": "YulTypedName", + "src": "3215:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3225:7:43", + "nodeType": "YulTypedName", + "src": "3225:7:43", + "type": "" + } + ], + "src": "3188:77:43" + }, + { + "body": { + "nativeSrc": "3314:79:43", + "nodeType": "YulBlock", + "src": "3314:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3371:16:43", + "nodeType": "YulBlock", + "src": "3371:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3380:1:43", + "nodeType": "YulLiteral", + "src": "3380:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3383:1:43", + "nodeType": "YulLiteral", + "src": "3383:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3373:6:43", + "nodeType": "YulIdentifier", + "src": "3373:6:43" + }, + "nativeSrc": "3373:12:43", + "nodeType": "YulFunctionCall", + "src": "3373:12:43" + }, + "nativeSrc": "3373:12:43", + "nodeType": "YulExpressionStatement", + "src": "3373:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3337:5:43", + "nodeType": "YulIdentifier", + "src": "3337:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3362:5:43", + "nodeType": "YulIdentifier", + "src": "3362:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3344:17:43", + "nodeType": "YulIdentifier", + "src": "3344:17:43" + }, + "nativeSrc": "3344:24:43", + "nodeType": "YulFunctionCall", + "src": "3344:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3334:2:43", + "nodeType": "YulIdentifier", + "src": "3334:2:43" + }, + "nativeSrc": "3334:35:43", + "nodeType": "YulFunctionCall", + "src": "3334:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3327:6:43", + "nodeType": "YulIdentifier", + "src": "3327:6:43" + }, + "nativeSrc": "3327:43:43", + "nodeType": "YulFunctionCall", + "src": "3327:43:43" + }, + "nativeSrc": "3324:63:43", + "nodeType": "YulIf", + "src": "3324:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3271:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3307:5:43", + "nodeType": "YulTypedName", + "src": "3307:5:43", + "type": "" + } + ], + "src": "3271:122:43" + }, + { + "body": { + "nativeSrc": "3462:80:43", + "nodeType": "YulBlock", + "src": "3462:80:43", + "statements": [ + { + "nativeSrc": "3472:22:43", + "nodeType": "YulAssignment", + "src": "3472:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3487:6:43", + "nodeType": "YulIdentifier", + "src": "3487:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3481:5:43", + "nodeType": "YulIdentifier", + "src": "3481:5:43" + }, + "nativeSrc": "3481:13:43", + "nodeType": "YulFunctionCall", + "src": "3481:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3472:5:43", + "nodeType": "YulIdentifier", + "src": "3472:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3530:5:43", + "nodeType": "YulIdentifier", + "src": "3530:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3503:26:43", + "nodeType": "YulIdentifier", + "src": "3503:26:43" + }, + "nativeSrc": "3503:33:43", + "nodeType": "YulFunctionCall", + "src": "3503:33:43" + }, + "nativeSrc": "3503:33:43", + "nodeType": "YulExpressionStatement", + "src": "3503:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3399:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3440:6:43", + "nodeType": "YulTypedName", + "src": "3440:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3448:3:43", + "nodeType": "YulTypedName", + "src": "3448:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3456:5:43", + "nodeType": "YulTypedName", + "src": "3456:5:43", + "type": "" + } + ], + "src": "3399:143:43" + }, + { + "body": { + "nativeSrc": "3608:56:43", + "nodeType": "YulBlock", + "src": "3608:56:43", + "statements": [ + { + "body": { + "nativeSrc": "3642:16:43", + "nodeType": "YulBlock", + "src": "3642:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3651:1:43", + "nodeType": "YulLiteral", + "src": "3651:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3654:1:43", + "nodeType": "YulLiteral", + "src": "3654:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3644:6:43", + "nodeType": "YulIdentifier", + "src": "3644:6:43" + }, + "nativeSrc": "3644:12:43", + "nodeType": "YulFunctionCall", + "src": "3644:12:43" + }, + "nativeSrc": "3644:12:43", + "nodeType": "YulExpressionStatement", + "src": "3644:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3631:5:43", + "nodeType": "YulIdentifier", + "src": "3631:5:43" + }, + { + "kind": "number", + "nativeSrc": "3638:1:43", + "nodeType": "YulLiteral", + "src": "3638:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3628:2:43", + "nodeType": "YulIdentifier", + "src": "3628:2:43" + }, + "nativeSrc": "3628:12:43", + "nodeType": "YulFunctionCall", + "src": "3628:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3621:6:43", + "nodeType": "YulIdentifier", + "src": "3621:6:43" + }, + "nativeSrc": "3621:20:43", + "nodeType": "YulFunctionCall", + "src": "3621:20:43" + }, + "nativeSrc": "3618:40:43", + "nodeType": "YulIf", + "src": "3618:40:43" + } + ] + }, + "name": "validator_revert_t_enum$_AirdropType_$11645", + "nativeSrc": "3548:116:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3601:5:43", + "nodeType": "YulTypedName", + "src": "3601:5:43", + "type": "" + } + ], + "src": "3548:116:43" + }, + { + "body": { + "nativeSrc": "3750:97:43", + "nodeType": "YulBlock", + "src": "3750:97:43", + "statements": [ + { + "nativeSrc": "3760:22:43", + "nodeType": "YulAssignment", + "src": "3760:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3775:6:43", + "nodeType": "YulIdentifier", + "src": "3775:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3769:5:43", + "nodeType": "YulIdentifier", + "src": "3769:5:43" + }, + "nativeSrc": "3769:13:43", + "nodeType": "YulFunctionCall", + "src": "3769:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3760:5:43", + "nodeType": "YulIdentifier", + "src": "3760:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3835:5:43", + "nodeType": "YulIdentifier", + "src": "3835:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_AirdropType_$11645", + "nativeSrc": "3791:43:43", + "nodeType": "YulIdentifier", + "src": "3791:43:43" + }, + "nativeSrc": "3791:50:43", + "nodeType": "YulFunctionCall", + "src": "3791:50:43" + }, + "nativeSrc": "3791:50:43", + "nodeType": "YulExpressionStatement", + "src": "3791:50:43" + } + ] + }, + "name": "abi_decode_t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "3670:177:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3728:6:43", + "nodeType": "YulTypedName", + "src": "3728:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3736:3:43", + "nodeType": "YulTypedName", + "src": "3736:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3744:5:43", + "nodeType": "YulTypedName", + "src": "3744:5:43", + "type": "" + } + ], + "src": "3670:177:43" + }, + { + "body": { + "nativeSrc": "4076:1432:43", + "nodeType": "YulBlock", + "src": "4076:1432:43", + "statements": [ + { + "body": { + "nativeSrc": "4123:83:43", + "nodeType": "YulBlock", + "src": "4123:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "4125:77:43", + "nodeType": "YulIdentifier", + "src": "4125:77:43" + }, + "nativeSrc": "4125:79:43", + "nodeType": "YulFunctionCall", + "src": "4125:79:43" + }, + "nativeSrc": "4125:79:43", + "nodeType": "YulExpressionStatement", + "src": "4125:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4097:7:43", + "nodeType": "YulIdentifier", + "src": "4097:7:43" + }, + { + "name": "headStart", + "nativeSrc": "4106:9:43", + "nodeType": "YulIdentifier", + "src": "4106:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4093:3:43", + "nodeType": "YulIdentifier", + "src": "4093:3:43" + }, + "nativeSrc": "4093:23:43", + "nodeType": "YulFunctionCall", + "src": "4093:23:43" + }, + { + "kind": "number", + "nativeSrc": "4118:3:43", + "nodeType": "YulLiteral", + "src": "4118:3:43", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4089:3:43", + "nodeType": "YulIdentifier", + "src": "4089:3:43" + }, + "nativeSrc": "4089:33:43", + "nodeType": "YulFunctionCall", + "src": "4089:33:43" + }, + "nativeSrc": "4086:120:43", + "nodeType": "YulIf", + "src": "4086:120:43" + }, + { + "nativeSrc": "4216:291:43", + "nodeType": "YulBlock", + "src": "4216:291:43", + "statements": [ + { + "nativeSrc": "4231:38:43", + "nodeType": "YulVariableDeclaration", + "src": "4231:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4255:9:43", + "nodeType": "YulIdentifier", + "src": "4255:9:43" + }, + { + "kind": "number", + "nativeSrc": "4266:1:43", + "nodeType": "YulLiteral", + "src": "4266:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4251:3:43", + "nodeType": "YulIdentifier", + "src": "4251:3:43" + }, + "nativeSrc": "4251:17:43", + "nodeType": "YulFunctionCall", + "src": "4251:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4245:5:43", + "nodeType": "YulIdentifier", + "src": "4245:5:43" + }, + "nativeSrc": "4245:24:43", + "nodeType": "YulFunctionCall", + "src": "4245:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4235:6:43", + "nodeType": "YulTypedName", + "src": "4235:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4316:83:43", + "nodeType": "YulBlock", + "src": "4316:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "4318:77:43", + "nodeType": "YulIdentifier", + "src": "4318:77:43" + }, + "nativeSrc": "4318:79:43", + "nodeType": "YulFunctionCall", + "src": "4318:79:43" + }, + "nativeSrc": "4318:79:43", + "nodeType": "YulExpressionStatement", + "src": "4318:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4288:6:43", + "nodeType": "YulIdentifier", + "src": "4288:6:43" + }, + { + "kind": "number", + "nativeSrc": "4296:18:43", + "nodeType": "YulLiteral", + "src": "4296:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4285:2:43", + "nodeType": "YulIdentifier", + "src": "4285:2:43" + }, + "nativeSrc": "4285:30:43", + "nodeType": "YulFunctionCall", + "src": "4285:30:43" + }, + "nativeSrc": "4282:117:43", + "nodeType": "YulIf", + "src": "4282:117:43" + }, + { + "nativeSrc": "4413:84:43", + "nodeType": "YulAssignment", + "src": "4413:84:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4469:9:43", + "nodeType": "YulIdentifier", + "src": "4469:9:43" + }, + { + "name": "offset", + "nativeSrc": "4480:6:43", + "nodeType": "YulIdentifier", + "src": "4480:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4465:3:43", + "nodeType": "YulIdentifier", + "src": "4465:3:43" + }, + "nativeSrc": "4465:22:43", + "nodeType": "YulFunctionCall", + "src": "4465:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4489:7:43", + "nodeType": "YulIdentifier", + "src": "4489:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "4423:41:43", + "nodeType": "YulIdentifier", + "src": "4423:41:43" + }, + "nativeSrc": "4423:74:43", + "nodeType": "YulFunctionCall", + "src": "4423:74:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4413:6:43", + "nodeType": "YulIdentifier", + "src": "4413:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4517:129:43", + "nodeType": "YulBlock", + "src": "4517:129:43", + "statements": [ + { + "nativeSrc": "4532:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4532:16:43", + "value": { + "kind": "number", + "nativeSrc": "4546:2:43", + "nodeType": "YulLiteral", + "src": "4546:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4536:6:43", + "nodeType": "YulTypedName", + "src": "4536:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4562:74:43", + "nodeType": "YulAssignment", + "src": "4562:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4608:9:43", + "nodeType": "YulIdentifier", + "src": "4608:9:43" + }, + { + "name": "offset", + "nativeSrc": "4619:6:43", + "nodeType": "YulIdentifier", + "src": "4619:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4604:3:43", + "nodeType": "YulIdentifier", + "src": "4604:3:43" + }, + "nativeSrc": "4604:22:43", + "nodeType": "YulFunctionCall", + "src": "4604:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4628:7:43", + "nodeType": "YulIdentifier", + "src": "4628:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4572:31:43", + "nodeType": "YulIdentifier", + "src": "4572:31:43" + }, + "nativeSrc": "4572:64:43", + "nodeType": "YulFunctionCall", + "src": "4572:64:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4562:6:43", + "nodeType": "YulIdentifier", + "src": "4562:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4656:129:43", + "nodeType": "YulBlock", + "src": "4656:129:43", + "statements": [ + { + "nativeSrc": "4671:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4671:16:43", + "value": { + "kind": "number", + "nativeSrc": "4685:2:43", + "nodeType": "YulLiteral", + "src": "4685:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4675:6:43", + "nodeType": "YulTypedName", + "src": "4675:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4701:74:43", + "nodeType": "YulAssignment", + "src": "4701:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4747:9:43", + "nodeType": "YulIdentifier", + "src": "4747:9:43" + }, + { + "name": "offset", + "nativeSrc": "4758:6:43", + "nodeType": "YulIdentifier", + "src": "4758:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4743:3:43", + "nodeType": "YulIdentifier", + "src": "4743:3:43" + }, + "nativeSrc": "4743:22:43", + "nodeType": "YulFunctionCall", + "src": "4743:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4767:7:43", + "nodeType": "YulIdentifier", + "src": "4767:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4711:31:43", + "nodeType": "YulIdentifier", + "src": "4711:31:43" + }, + "nativeSrc": "4711:64:43", + "nodeType": "YulFunctionCall", + "src": "4711:64:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4701:6:43", + "nodeType": "YulIdentifier", + "src": "4701:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4795:129:43", + "nodeType": "YulBlock", + "src": "4795:129:43", + "statements": [ + { + "nativeSrc": "4810:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4810:16:43", + "value": { + "kind": "number", + "nativeSrc": "4824:2:43", + "nodeType": "YulLiteral", + "src": "4824:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4814:6:43", + "nodeType": "YulTypedName", + "src": "4814:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4840:74:43", + "nodeType": "YulAssignment", + "src": "4840:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4886:9:43", + "nodeType": "YulIdentifier", + "src": "4886:9:43" + }, + { + "name": "offset", + "nativeSrc": "4897:6:43", + "nodeType": "YulIdentifier", + "src": "4897:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4882:3:43", + "nodeType": "YulIdentifier", + "src": "4882:3:43" + }, + "nativeSrc": "4882:22:43", + "nodeType": "YulFunctionCall", + "src": "4882:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4906:7:43", + "nodeType": "YulIdentifier", + "src": "4906:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4850:31:43", + "nodeType": "YulIdentifier", + "src": "4850:31:43" + }, + "nativeSrc": "4850:64:43", + "nodeType": "YulFunctionCall", + "src": "4850:64:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4840:6:43", + "nodeType": "YulIdentifier", + "src": "4840:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4934:130:43", + "nodeType": "YulBlock", + "src": "4934:130:43", + "statements": [ + { + "nativeSrc": "4949:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4949:17:43", + "value": { + "kind": "number", + "nativeSrc": "4963:3:43", + "nodeType": "YulLiteral", + "src": "4963:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4953:6:43", + "nodeType": "YulTypedName", + "src": "4953:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4980:74:43", + "nodeType": "YulAssignment", + "src": "4980:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5026:9:43", + "nodeType": "YulIdentifier", + "src": "5026:9:43" + }, + { + "name": "offset", + "nativeSrc": "5037:6:43", + "nodeType": "YulIdentifier", + "src": "5037:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5022:3:43", + "nodeType": "YulIdentifier", + "src": "5022:3:43" + }, + "nativeSrc": "5022:22:43", + "nodeType": "YulFunctionCall", + "src": "5022:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5046:7:43", + "nodeType": "YulIdentifier", + "src": "5046:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4990:31:43", + "nodeType": "YulIdentifier", + "src": "4990:31:43" + }, + "nativeSrc": "4990:64:43", + "nodeType": "YulFunctionCall", + "src": "4990:64:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4980:6:43", + "nodeType": "YulIdentifier", + "src": "4980:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "5074:130:43", + "nodeType": "YulBlock", + "src": "5074:130:43", + "statements": [ + { + "nativeSrc": "5089:17:43", + "nodeType": "YulVariableDeclaration", + "src": "5089:17:43", + "value": { + "kind": "number", + "nativeSrc": "5103:3:43", + "nodeType": "YulLiteral", + "src": "5103:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5093:6:43", + "nodeType": "YulTypedName", + "src": "5093:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5120:74:43", + "nodeType": "YulAssignment", + "src": "5120:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5166:9:43", + "nodeType": "YulIdentifier", + "src": "5166:9:43" + }, + { + "name": "offset", + "nativeSrc": "5177:6:43", + "nodeType": "YulIdentifier", + "src": "5177:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5162:3:43", + "nodeType": "YulIdentifier", + "src": "5162:3:43" + }, + "nativeSrc": "5162:22:43", + "nodeType": "YulFunctionCall", + "src": "5162:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5186:7:43", + "nodeType": "YulIdentifier", + "src": "5186:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "5130:31:43", + "nodeType": "YulIdentifier", + "src": "5130:31:43" + }, + "nativeSrc": "5130:64:43", + "nodeType": "YulFunctionCall", + "src": "5130:64:43" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "5120:6:43", + "nodeType": "YulIdentifier", + "src": "5120:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "5214:130:43", + "nodeType": "YulBlock", + "src": "5214:130:43", + "statements": [ + { + "nativeSrc": "5229:17:43", + "nodeType": "YulVariableDeclaration", + "src": "5229:17:43", + "value": { + "kind": "number", + "nativeSrc": "5243:3:43", + "nodeType": "YulLiteral", + "src": "5243:3:43", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5233:6:43", + "nodeType": "YulTypedName", + "src": "5233:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5260:74:43", + "nodeType": "YulAssignment", + "src": "5260:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5306:9:43", + "nodeType": "YulIdentifier", + "src": "5306:9:43" + }, + { + "name": "offset", + "nativeSrc": "5317:6:43", + "nodeType": "YulIdentifier", + "src": "5317:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5302:3:43", + "nodeType": "YulIdentifier", + "src": "5302:3:43" + }, + "nativeSrc": "5302:22:43", + "nodeType": "YulFunctionCall", + "src": "5302:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5326:7:43", + "nodeType": "YulIdentifier", + "src": "5326:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "5270:31:43", + "nodeType": "YulIdentifier", + "src": "5270:31:43" + }, + "nativeSrc": "5270:64:43", + "nodeType": "YulFunctionCall", + "src": "5270:64:43" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "5260:6:43", + "nodeType": "YulIdentifier", + "src": "5260:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "5354:147:43", + "nodeType": "YulBlock", + "src": "5354:147:43", + "statements": [ + { + "nativeSrc": "5369:17:43", + "nodeType": "YulVariableDeclaration", + "src": "5369:17:43", + "value": { + "kind": "number", + "nativeSrc": "5383:3:43", + "nodeType": "YulLiteral", + "src": "5383:3:43", + "type": "", + "value": "224" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5373:6:43", + "nodeType": "YulTypedName", + "src": "5373:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5400:91:43", + "nodeType": "YulAssignment", + "src": "5400:91:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5463:9:43", + "nodeType": "YulIdentifier", + "src": "5463:9:43" + }, + { + "name": "offset", + "nativeSrc": "5474:6:43", + "nodeType": "YulIdentifier", + "src": "5474:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5459:3:43", + "nodeType": "YulIdentifier", + "src": "5459:3:43" + }, + "nativeSrc": "5459:22:43", + "nodeType": "YulFunctionCall", + "src": "5459:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5483:7:43", + "nodeType": "YulIdentifier", + "src": "5483:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "5410:48:43", + "nodeType": "YulIdentifier", + "src": "5410:48:43" + }, + "nativeSrc": "5410:81:43", + "nodeType": "YulFunctionCall", + "src": "5410:81:43" + }, + "variableNames": [ + { + "name": "value7", + "nativeSrc": "5400:6:43", + "nodeType": "YulIdentifier", + "src": "5400:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_uint256t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "3853:1655:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3990:9:43", + "nodeType": "YulTypedName", + "src": "3990:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4001:7:43", + "nodeType": "YulTypedName", + "src": "4001:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4013:6:43", + "nodeType": "YulTypedName", + "src": "4013:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4021:6:43", + "nodeType": "YulTypedName", + "src": "4021:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "4029:6:43", + "nodeType": "YulTypedName", + "src": "4029:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "4037:6:43", + "nodeType": "YulTypedName", + "src": "4037:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "4045:6:43", + "nodeType": "YulTypedName", + "src": "4045:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "4053:6:43", + "nodeType": "YulTypedName", + "src": "4053:6:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "4061:6:43", + "nodeType": "YulTypedName", + "src": "4061:6:43", + "type": "" + }, + { + "name": "value7", + "nativeSrc": "4069:6:43", + "nodeType": "YulTypedName", + "src": "4069:6:43", + "type": "" + } + ], + "src": "3853:1655:43" + }, + { + "body": { + "nativeSrc": "5579:53:43", + "nodeType": "YulBlock", + "src": "5579:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5596:3:43", + "nodeType": "YulIdentifier", + "src": "5596:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5619:5:43", + "nodeType": "YulIdentifier", + "src": "5619:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5601:17:43", + "nodeType": "YulIdentifier", + "src": "5601:17:43" + }, + "nativeSrc": "5601:24:43", + "nodeType": "YulFunctionCall", + "src": "5601:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5589:6:43", + "nodeType": "YulIdentifier", + "src": "5589:6:43" + }, + "nativeSrc": "5589:37:43", + "nodeType": "YulFunctionCall", + "src": "5589:37:43" + }, + "nativeSrc": "5589:37:43", + "nodeType": "YulExpressionStatement", + "src": "5589:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5514:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5567:5:43", + "nodeType": "YulTypedName", + "src": "5567:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5574:3:43", + "nodeType": "YulTypedName", + "src": "5574:3:43", + "type": "" + } + ], + "src": "5514:118:43" + }, + { + "body": { + "nativeSrc": "5736:124:43", + "nodeType": "YulBlock", + "src": "5736:124:43", + "statements": [ + { + "nativeSrc": "5746:26:43", + "nodeType": "YulAssignment", + "src": "5746:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5758:9:43", + "nodeType": "YulIdentifier", + "src": "5758:9:43" + }, + { + "kind": "number", + "nativeSrc": "5769:2:43", + "nodeType": "YulLiteral", + "src": "5769:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5754:3:43", + "nodeType": "YulIdentifier", + "src": "5754:3:43" + }, + "nativeSrc": "5754:18:43", + "nodeType": "YulFunctionCall", + "src": "5754:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5746:4:43", + "nodeType": "YulIdentifier", + "src": "5746:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5826:6:43", + "nodeType": "YulIdentifier", + "src": "5826:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5839:9:43", + "nodeType": "YulIdentifier", + "src": "5839:9:43" + }, + { + "kind": "number", + "nativeSrc": "5850:1:43", + "nodeType": "YulLiteral", + "src": "5850:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5835:3:43", + "nodeType": "YulIdentifier", + "src": "5835:3:43" + }, + "nativeSrc": "5835:17:43", + "nodeType": "YulFunctionCall", + "src": "5835:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5782:43:43", + "nodeType": "YulIdentifier", + "src": "5782:43:43" + }, + "nativeSrc": "5782:71:43", + "nodeType": "YulFunctionCall", + "src": "5782:71:43" + }, + "nativeSrc": "5782:71:43", + "nodeType": "YulExpressionStatement", + "src": "5782:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "5638:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5708:9:43", + "nodeType": "YulTypedName", + "src": "5708:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5720:6:43", + "nodeType": "YulTypedName", + "src": "5720:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5731:4:43", + "nodeType": "YulTypedName", + "src": "5731:4:43", + "type": "" + } + ], + "src": "5638:222:43" + }, + { + "body": { + "nativeSrc": "5925:40:43", + "nodeType": "YulBlock", + "src": "5925:40:43", + "statements": [ + { + "nativeSrc": "5936:22:43", + "nodeType": "YulAssignment", + "src": "5936:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5952:5:43", + "nodeType": "YulIdentifier", + "src": "5952:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5946:5:43", + "nodeType": "YulIdentifier", + "src": "5946:5:43" + }, + "nativeSrc": "5946:12:43", + "nodeType": "YulFunctionCall", + "src": "5946:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5936:6:43", + "nodeType": "YulIdentifier", + "src": "5936:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5866:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5908:5:43", + "nodeType": "YulTypedName", + "src": "5908:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5918:6:43", + "nodeType": "YulTypedName", + "src": "5918:6:43", + "type": "" + } + ], + "src": "5866:99:43" + }, + { + "body": { + "nativeSrc": "5999:152:43", + "nodeType": "YulBlock", + "src": "5999:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6016:1:43", + "nodeType": "YulLiteral", + "src": "6016:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6019:77:43", + "nodeType": "YulLiteral", + "src": "6019:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6009:6:43", + "nodeType": "YulIdentifier", + "src": "6009:6:43" + }, + "nativeSrc": "6009:88:43", + "nodeType": "YulFunctionCall", + "src": "6009:88:43" + }, + "nativeSrc": "6009:88:43", + "nodeType": "YulExpressionStatement", + "src": "6009:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6113:1:43", + "nodeType": "YulLiteral", + "src": "6113:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6116:4:43", + "nodeType": "YulLiteral", + "src": "6116:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6106:6:43", + "nodeType": "YulIdentifier", + "src": "6106:6:43" + }, + "nativeSrc": "6106:15:43", + "nodeType": "YulFunctionCall", + "src": "6106:15:43" + }, + "nativeSrc": "6106:15:43", + "nodeType": "YulExpressionStatement", + "src": "6106:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6137:1:43", + "nodeType": "YulLiteral", + "src": "6137:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6140:4:43", + "nodeType": "YulLiteral", + "src": "6140:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6130:6:43", + "nodeType": "YulIdentifier", + "src": "6130:6:43" + }, + "nativeSrc": "6130:15:43", + "nodeType": "YulFunctionCall", + "src": "6130:15:43" + }, + "nativeSrc": "6130:15:43", + "nodeType": "YulExpressionStatement", + "src": "6130:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "5971:180:43", + "nodeType": "YulFunctionDefinition", + "src": "5971:180:43" + }, + { + "body": { + "nativeSrc": "6208:269:43", + "nodeType": "YulBlock", + "src": "6208:269:43", + "statements": [ + { + "nativeSrc": "6218:22:43", + "nodeType": "YulAssignment", + "src": "6218:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6232:4:43", + "nodeType": "YulIdentifier", + "src": "6232:4:43" + }, + { + "kind": "number", + "nativeSrc": "6238:1:43", + "nodeType": "YulLiteral", + "src": "6238:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6228:3:43", + "nodeType": "YulIdentifier", + "src": "6228:3:43" + }, + "nativeSrc": "6228:12:43", + "nodeType": "YulFunctionCall", + "src": "6228:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6218:6:43", + "nodeType": "YulIdentifier", + "src": "6218:6:43" + } + ] + }, + { + "nativeSrc": "6249:38:43", + "nodeType": "YulVariableDeclaration", + "src": "6249:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6279:4:43", + "nodeType": "YulIdentifier", + "src": "6279:4:43" + }, + { + "kind": "number", + "nativeSrc": "6285:1:43", + "nodeType": "YulLiteral", + "src": "6285:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6275:3:43", + "nodeType": "YulIdentifier", + "src": "6275:3:43" + }, + "nativeSrc": "6275:12:43", + "nodeType": "YulFunctionCall", + "src": "6275:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6253:18:43", + "nodeType": "YulTypedName", + "src": "6253:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6326:51:43", + "nodeType": "YulBlock", + "src": "6326:51:43", + "statements": [ + { + "nativeSrc": "6340:27:43", + "nodeType": "YulAssignment", + "src": "6340:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6354:6:43", + "nodeType": "YulIdentifier", + "src": "6354:6:43" + }, + { + "kind": "number", + "nativeSrc": "6362:4:43", + "nodeType": "YulLiteral", + "src": "6362:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6350:3:43", + "nodeType": "YulIdentifier", + "src": "6350:3:43" + }, + "nativeSrc": "6350:17:43", + "nodeType": "YulFunctionCall", + "src": "6350:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6340:6:43", + "nodeType": "YulIdentifier", + "src": "6340:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6306:18:43", + "nodeType": "YulIdentifier", + "src": "6306:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6299:6:43", + "nodeType": "YulIdentifier", + "src": "6299:6:43" + }, + "nativeSrc": "6299:26:43", + "nodeType": "YulFunctionCall", + "src": "6299:26:43" + }, + "nativeSrc": "6296:81:43", + "nodeType": "YulIf", + "src": "6296:81:43" + }, + { + "body": { + "nativeSrc": "6429:42:43", + "nodeType": "YulBlock", + "src": "6429:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "6443:16:43", + "nodeType": "YulIdentifier", + "src": "6443:16:43" + }, + "nativeSrc": "6443:18:43", + "nodeType": "YulFunctionCall", + "src": "6443:18:43" + }, + "nativeSrc": "6443:18:43", + "nodeType": "YulExpressionStatement", + "src": "6443:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6393:18:43", + "nodeType": "YulIdentifier", + "src": "6393:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6416:6:43", + "nodeType": "YulIdentifier", + "src": "6416:6:43" + }, + { + "kind": "number", + "nativeSrc": "6424:2:43", + "nodeType": "YulLiteral", + "src": "6424:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6413:2:43", + "nodeType": "YulIdentifier", + "src": "6413:2:43" + }, + "nativeSrc": "6413:14:43", + "nodeType": "YulFunctionCall", + "src": "6413:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6390:2:43", + "nodeType": "YulIdentifier", + "src": "6390:2:43" + }, + "nativeSrc": "6390:38:43", + "nodeType": "YulFunctionCall", + "src": "6390:38:43" + }, + "nativeSrc": "6387:84:43", + "nodeType": "YulIf", + "src": "6387:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "6157:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "6192:4:43", + "nodeType": "YulTypedName", + "src": "6192:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "6201:6:43", + "nodeType": "YulTypedName", + "src": "6201:6:43", + "type": "" + } + ], + "src": "6157:320:43" + }, + { + "body": { + "nativeSrc": "6537:87:43", + "nodeType": "YulBlock", + "src": "6537:87:43", + "statements": [ + { + "nativeSrc": "6547:11:43", + "nodeType": "YulAssignment", + "src": "6547:11:43", + "value": { + "name": "ptr", + "nativeSrc": "6555:3:43", + "nodeType": "YulIdentifier", + "src": "6555:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6547:4:43", + "nodeType": "YulIdentifier", + "src": "6547:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6575:1:43", + "nodeType": "YulLiteral", + "src": "6575:1:43", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "6578:3:43", + "nodeType": "YulIdentifier", + "src": "6578:3:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6568:6:43", + "nodeType": "YulIdentifier", + "src": "6568:6:43" + }, + "nativeSrc": "6568:14:43", + "nodeType": "YulFunctionCall", + "src": "6568:14:43" + }, + "nativeSrc": "6568:14:43", + "nodeType": "YulExpressionStatement", + "src": "6568:14:43" + }, + { + "nativeSrc": "6591:26:43", + "nodeType": "YulAssignment", + "src": "6591:26:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6609:1:43", + "nodeType": "YulLiteral", + "src": "6609:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6612:4:43", + "nodeType": "YulLiteral", + "src": "6612:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "6599:9:43", + "nodeType": "YulIdentifier", + "src": "6599:9:43" + }, + "nativeSrc": "6599:18:43", + "nodeType": "YulFunctionCall", + "src": "6599:18:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6591:4:43", + "nodeType": "YulIdentifier", + "src": "6591:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "6483:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "6524:3:43", + "nodeType": "YulTypedName", + "src": "6524:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "6532:4:43", + "nodeType": "YulTypedName", + "src": "6532:4:43", + "type": "" + } + ], + "src": "6483:141:43" + }, + { + "body": { + "nativeSrc": "6674:49:43", + "nodeType": "YulBlock", + "src": "6674:49:43", + "statements": [ + { + "nativeSrc": "6684:33:43", + "nodeType": "YulAssignment", + "src": "6684:33:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6702:5:43", + "nodeType": "YulIdentifier", + "src": "6702:5:43" + }, + { + "kind": "number", + "nativeSrc": "6709:2:43", + "nodeType": "YulLiteral", + "src": "6709:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6698:3:43", + "nodeType": "YulIdentifier", + "src": "6698:3:43" + }, + "nativeSrc": "6698:14:43", + "nodeType": "YulFunctionCall", + "src": "6698:14:43" + }, + { + "kind": "number", + "nativeSrc": "6714:2:43", + "nodeType": "YulLiteral", + "src": "6714:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6694:3:43", + "nodeType": "YulIdentifier", + "src": "6694:3:43" + }, + "nativeSrc": "6694:23:43", + "nodeType": "YulFunctionCall", + "src": "6694:23:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6684:6:43", + "nodeType": "YulIdentifier", + "src": "6684:6:43" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "6630:93:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6657:5:43", + "nodeType": "YulTypedName", + "src": "6657:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6667:6:43", + "nodeType": "YulTypedName", + "src": "6667:6:43", + "type": "" + } + ], + "src": "6630:93:43" + }, + { + "body": { + "nativeSrc": "6782:54:43", + "nodeType": "YulBlock", + "src": "6782:54:43", + "statements": [ + { + "nativeSrc": "6792:37:43", + "nodeType": "YulAssignment", + "src": "6792:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6817:4:43", + "nodeType": "YulIdentifier", + "src": "6817:4:43" + }, + { + "name": "value", + "nativeSrc": "6823:5:43", + "nodeType": "YulIdentifier", + "src": "6823:5:43" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6813:3:43", + "nodeType": "YulIdentifier", + "src": "6813:3:43" + }, + "nativeSrc": "6813:16:43", + "nodeType": "YulFunctionCall", + "src": "6813:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6792:8:43", + "nodeType": "YulIdentifier", + "src": "6792:8:43" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "6729:107:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6757:4:43", + "nodeType": "YulTypedName", + "src": "6757:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6763:5:43", + "nodeType": "YulTypedName", + "src": "6763:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6773:8:43", + "nodeType": "YulTypedName", + "src": "6773:8:43", + "type": "" + } + ], + "src": "6729:107:43" + }, + { + "body": { + "nativeSrc": "6918:317:43", + "nodeType": "YulBlock", + "src": "6918:317:43", + "statements": [ + { + "nativeSrc": "6928:35:43", + "nodeType": "YulVariableDeclaration", + "src": "6928:35:43", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "6949:10:43", + "nodeType": "YulIdentifier", + "src": "6949:10:43" + }, + { + "kind": "number", + "nativeSrc": "6961:1:43", + "nodeType": "YulLiteral", + "src": "6961:1:43", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6945:3:43", + "nodeType": "YulIdentifier", + "src": "6945:3:43" + }, + "nativeSrc": "6945:18:43", + "nodeType": "YulFunctionCall", + "src": "6945:18:43" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "6932:9:43", + "nodeType": "YulTypedName", + "src": "6932:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6972:109:43", + "nodeType": "YulVariableDeclaration", + "src": "6972:109:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "7003:9:43", + "nodeType": "YulIdentifier", + "src": "7003:9:43" + }, + { + "kind": "number", + "nativeSrc": "7014:66:43", + "nodeType": "YulLiteral", + "src": "7014:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6984:18:43", + "nodeType": "YulIdentifier", + "src": "6984:18:43" + }, + "nativeSrc": "6984:97:43", + "nodeType": "YulFunctionCall", + "src": "6984:97:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6976:4:43", + "nodeType": "YulTypedName", + "src": "6976:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7090:51:43", + "nodeType": "YulAssignment", + "src": "7090:51:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "7121:9:43", + "nodeType": "YulIdentifier", + "src": "7121:9:43" + }, + { + "name": "toInsert", + "nativeSrc": "7132:8:43", + "nodeType": "YulIdentifier", + "src": "7132:8:43" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "7102:18:43", + "nodeType": "YulIdentifier", + "src": "7102:18:43" + }, + "nativeSrc": "7102:39:43", + "nodeType": "YulFunctionCall", + "src": "7102:39:43" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "7090:8:43", + "nodeType": "YulIdentifier", + "src": "7090:8:43" + } + ] + }, + { + "nativeSrc": "7150:30:43", + "nodeType": "YulAssignment", + "src": "7150:30:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7163:5:43", + "nodeType": "YulIdentifier", + "src": "7163:5:43" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "7174:4:43", + "nodeType": "YulIdentifier", + "src": "7174:4:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7170:3:43", + "nodeType": "YulIdentifier", + "src": "7170:3:43" + }, + "nativeSrc": "7170:9:43", + "nodeType": "YulFunctionCall", + "src": "7170:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7159:3:43", + "nodeType": "YulIdentifier", + "src": "7159:3:43" + }, + "nativeSrc": "7159:21:43", + "nodeType": "YulFunctionCall", + "src": "7159:21:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "7150:5:43", + "nodeType": "YulIdentifier", + "src": "7150:5:43" + } + ] + }, + { + "nativeSrc": "7189:40:43", + "nodeType": "YulAssignment", + "src": "7189:40:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7202:5:43", + "nodeType": "YulIdentifier", + "src": "7202:5:43" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "7213:8:43", + "nodeType": "YulIdentifier", + "src": "7213:8:43" + }, + { + "name": "mask", + "nativeSrc": "7223:4:43", + "nodeType": "YulIdentifier", + "src": "7223:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7209:3:43", + "nodeType": "YulIdentifier", + "src": "7209:3:43" + }, + "nativeSrc": "7209:19:43", + "nodeType": "YulFunctionCall", + "src": "7209:19:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7199:2:43", + "nodeType": "YulIdentifier", + "src": "7199:2:43" + }, + "nativeSrc": "7199:30:43", + "nodeType": "YulFunctionCall", + "src": "7199:30:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "7189:6:43", + "nodeType": "YulIdentifier", + "src": "7189:6:43" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "6842:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6879:5:43", + "nodeType": "YulTypedName", + "src": "6879:5:43", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "6886:10:43", + "nodeType": "YulTypedName", + "src": "6886:10:43", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "6898:8:43", + "nodeType": "YulTypedName", + "src": "6898:8:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6911:6:43", + "nodeType": "YulTypedName", + "src": "6911:6:43", + "type": "" + } + ], + "src": "6842:393:43" + }, + { + "body": { + "nativeSrc": "7273:28:43", + "nodeType": "YulBlock", + "src": "7273:28:43", + "statements": [ + { + "nativeSrc": "7283:12:43", + "nodeType": "YulAssignment", + "src": "7283:12:43", + "value": { + "name": "value", + "nativeSrc": "7290:5:43", + "nodeType": "YulIdentifier", + "src": "7290:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7283:3:43", + "nodeType": "YulIdentifier", + "src": "7283:3:43" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "7241:60:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7259:5:43", + "nodeType": "YulTypedName", + "src": "7259:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7269:3:43", + "nodeType": "YulTypedName", + "src": "7269:3:43", + "type": "" + } + ], + "src": "7241:60:43" + }, + { + "body": { + "nativeSrc": "7367:82:43", + "nodeType": "YulBlock", + "src": "7367:82:43", + "statements": [ + { + "nativeSrc": "7377:66:43", + "nodeType": "YulAssignment", + "src": "7377:66:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7435:5:43", + "nodeType": "YulIdentifier", + "src": "7435:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7417:17:43", + "nodeType": "YulIdentifier", + "src": "7417:17:43" + }, + "nativeSrc": "7417:24:43", + "nodeType": "YulFunctionCall", + "src": "7417:24:43" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "7408:8:43", + "nodeType": "YulIdentifier", + "src": "7408:8:43" + }, + "nativeSrc": "7408:34:43", + "nodeType": "YulFunctionCall", + "src": "7408:34:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7390:17:43", + "nodeType": "YulIdentifier", + "src": "7390:17:43" + }, + "nativeSrc": "7390:53:43", + "nodeType": "YulFunctionCall", + "src": "7390:53:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7377:9:43", + "nodeType": "YulIdentifier", + "src": "7377:9:43" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7307:142:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7347:5:43", + "nodeType": "YulTypedName", + "src": "7347:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7357:9:43", + "nodeType": "YulTypedName", + "src": "7357:9:43", + "type": "" + } + ], + "src": "7307:142:43" + }, + { + "body": { + "nativeSrc": "7502:28:43", + "nodeType": "YulBlock", + "src": "7502:28:43", + "statements": [ + { + "nativeSrc": "7512:12:43", + "nodeType": "YulAssignment", + "src": "7512:12:43", + "value": { + "name": "value", + "nativeSrc": "7519:5:43", + "nodeType": "YulIdentifier", + "src": "7519:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7512:3:43", + "nodeType": "YulIdentifier", + "src": "7512:3:43" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "7455:75:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7488:5:43", + "nodeType": "YulTypedName", + "src": "7488:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7498:3:43", + "nodeType": "YulTypedName", + "src": "7498:3:43", + "type": "" + } + ], + "src": "7455:75:43" + }, + { + "body": { + "nativeSrc": "7612:193:43", + "nodeType": "YulBlock", + "src": "7612:193:43", + "statements": [ + { + "nativeSrc": "7622:63:43", + "nodeType": "YulVariableDeclaration", + "src": "7622:63:43", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "7677:7:43", + "nodeType": "YulIdentifier", + "src": "7677:7:43" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7646:30:43", + "nodeType": "YulIdentifier", + "src": "7646:30:43" + }, + "nativeSrc": "7646:39:43", + "nodeType": "YulFunctionCall", + "src": "7646:39:43" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "7626:16:43", + "nodeType": "YulTypedName", + "src": "7626:16:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7701:4:43", + "nodeType": "YulIdentifier", + "src": "7701:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7741:4:43", + "nodeType": "YulIdentifier", + "src": "7741:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7735:5:43", + "nodeType": "YulIdentifier", + "src": "7735:5:43" + }, + "nativeSrc": "7735:11:43", + "nodeType": "YulFunctionCall", + "src": "7735:11:43" + }, + { + "name": "offset", + "nativeSrc": "7748:6:43", + "nodeType": "YulIdentifier", + "src": "7748:6:43" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "7780:16:43", + "nodeType": "YulIdentifier", + "src": "7780:16:43" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "7756:23:43", + "nodeType": "YulIdentifier", + "src": "7756:23:43" + }, + "nativeSrc": "7756:41:43", + "nodeType": "YulFunctionCall", + "src": "7756:41:43" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "7707:27:43", + "nodeType": "YulIdentifier", + "src": "7707:27:43" + }, + "nativeSrc": "7707:91:43", + "nodeType": "YulFunctionCall", + "src": "7707:91:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7694:6:43", + "nodeType": "YulIdentifier", + "src": "7694:6:43" + }, + "nativeSrc": "7694:105:43", + "nodeType": "YulFunctionCall", + "src": "7694:105:43" + }, + "nativeSrc": "7694:105:43", + "nodeType": "YulExpressionStatement", + "src": "7694:105:43" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7536:269:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7589:4:43", + "nodeType": "YulTypedName", + "src": "7589:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7595:6:43", + "nodeType": "YulTypedName", + "src": "7595:6:43", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "7603:7:43", + "nodeType": "YulTypedName", + "src": "7603:7:43", + "type": "" + } + ], + "src": "7536:269:43" + }, + { + "body": { + "nativeSrc": "7860:24:43", + "nodeType": "YulBlock", + "src": "7860:24:43", + "statements": [ + { + "nativeSrc": "7870:8:43", + "nodeType": "YulAssignment", + "src": "7870:8:43", + "value": { + "kind": "number", + "nativeSrc": "7877:1:43", + "nodeType": "YulLiteral", + "src": "7877:1:43", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7870:3:43", + "nodeType": "YulIdentifier", + "src": "7870:3:43" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7811:73:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7856:3:43", + "nodeType": "YulTypedName", + "src": "7856:3:43", + "type": "" + } + ], + "src": "7811:73:43" + }, + { + "body": { + "nativeSrc": "7943:136:43", + "nodeType": "YulBlock", + "src": "7943:136:43", + "statements": [ + { + "nativeSrc": "7953:46:43", + "nodeType": "YulVariableDeclaration", + "src": "7953:46:43", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7967:30:43", + "nodeType": "YulIdentifier", + "src": "7967:30:43" + }, + "nativeSrc": "7967:32:43", + "nodeType": "YulFunctionCall", + "src": "7967:32:43" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "7957:6:43", + "nodeType": "YulTypedName", + "src": "7957:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8052:4:43", + "nodeType": "YulIdentifier", + "src": "8052:4:43" + }, + { + "name": "offset", + "nativeSrc": "8058:6:43", + "nodeType": "YulIdentifier", + "src": "8058:6:43" + }, + { + "name": "zero_0", + "nativeSrc": "8066:6:43", + "nodeType": "YulIdentifier", + "src": "8066:6:43" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "8008:43:43", + "nodeType": "YulIdentifier", + "src": "8008:43:43" + }, + "nativeSrc": "8008:65:43", + "nodeType": "YulFunctionCall", + "src": "8008:65:43" + }, + "nativeSrc": "8008:65:43", + "nodeType": "YulExpressionStatement", + "src": "8008:65:43" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7890:189:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7929:4:43", + "nodeType": "YulTypedName", + "src": "7929:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7935:6:43", + "nodeType": "YulTypedName", + "src": "7935:6:43", + "type": "" + } + ], + "src": "7890:189:43" + }, + { + "body": { + "nativeSrc": "8135:136:43", + "nodeType": "YulBlock", + "src": "8135:136:43", + "statements": [ + { + "body": { + "nativeSrc": "8202:63:43", + "nodeType": "YulBlock", + "src": "8202:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8246:5:43", + "nodeType": "YulIdentifier", + "src": "8246:5:43" + }, + { + "kind": "number", + "nativeSrc": "8253:1:43", + "nodeType": "YulLiteral", + "src": "8253:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "8216:29:43", + "nodeType": "YulIdentifier", + "src": "8216:29:43" + }, + "nativeSrc": "8216:39:43", + "nodeType": "YulFunctionCall", + "src": "8216:39:43" + }, + "nativeSrc": "8216:39:43", + "nodeType": "YulExpressionStatement", + "src": "8216:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8155:5:43", + "nodeType": "YulIdentifier", + "src": "8155:5:43" + }, + { + "name": "end", + "nativeSrc": "8162:3:43", + "nodeType": "YulIdentifier", + "src": "8162:3:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8152:2:43", + "nodeType": "YulIdentifier", + "src": "8152:2:43" + }, + "nativeSrc": "8152:14:43", + "nodeType": "YulFunctionCall", + "src": "8152:14:43" + }, + "nativeSrc": "8145:120:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8167:26:43", + "nodeType": "YulBlock", + "src": "8167:26:43", + "statements": [ + { + "nativeSrc": "8169:22:43", + "nodeType": "YulAssignment", + "src": "8169:22:43", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8182:5:43", + "nodeType": "YulIdentifier", + "src": "8182:5:43" + }, + { + "kind": "number", + "nativeSrc": "8189:1:43", + "nodeType": "YulLiteral", + "src": "8189:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8178:3:43", + "nodeType": "YulIdentifier", + "src": "8178:3:43" + }, + "nativeSrc": "8178:13:43", + "nodeType": "YulFunctionCall", + "src": "8178:13:43" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "8169:5:43", + "nodeType": "YulIdentifier", + "src": "8169:5:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "8149:2:43", + "nodeType": "YulBlock", + "src": "8149:2:43", + "statements": [] + }, + "src": "8145:120:43" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8085:186:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "8123:5:43", + "nodeType": "YulTypedName", + "src": "8123:5:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8130:3:43", + "nodeType": "YulTypedName", + "src": "8130:3:43", + "type": "" + } + ], + "src": "8085:186:43" + }, + { + "body": { + "nativeSrc": "8356:464:43", + "nodeType": "YulBlock", + "src": "8356:464:43", + "statements": [ + { + "body": { + "nativeSrc": "8382:431:43", + "nodeType": "YulBlock", + "src": "8382:431:43", + "statements": [ + { + "nativeSrc": "8396:54:43", + "nodeType": "YulVariableDeclaration", + "src": "8396:54:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8444:5:43", + "nodeType": "YulIdentifier", + "src": "8444:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "8412:31:43", + "nodeType": "YulIdentifier", + "src": "8412:31:43" + }, + "nativeSrc": "8412:38:43", + "nodeType": "YulFunctionCall", + "src": "8412:38:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "8400:8:43", + "nodeType": "YulTypedName", + "src": "8400:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8463:63:43", + "nodeType": "YulVariableDeclaration", + "src": "8463:63:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8486:8:43", + "nodeType": "YulIdentifier", + "src": "8486:8:43" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8514:10:43", + "nodeType": "YulIdentifier", + "src": "8514:10:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8496:17:43", + "nodeType": "YulIdentifier", + "src": "8496:17:43" + }, + "nativeSrc": "8496:29:43", + "nodeType": "YulFunctionCall", + "src": "8496:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8482:3:43", + "nodeType": "YulIdentifier", + "src": "8482:3:43" + }, + "nativeSrc": "8482:44:43", + "nodeType": "YulFunctionCall", + "src": "8482:44:43" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "8467:11:43", + "nodeType": "YulTypedName", + "src": "8467:11:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8683:27:43", + "nodeType": "YulBlock", + "src": "8683:27:43", + "statements": [ + { + "nativeSrc": "8685:23:43", + "nodeType": "YulAssignment", + "src": "8685:23:43", + "value": { + "name": "dataArea", + "nativeSrc": "8700:8:43", + "nodeType": "YulIdentifier", + "src": "8700:8:43" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "8685:11:43", + "nodeType": "YulIdentifier", + "src": "8685:11:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8667:10:43", + "nodeType": "YulIdentifier", + "src": "8667:10:43" + }, + { + "kind": "number", + "nativeSrc": "8679:2:43", + "nodeType": "YulLiteral", + "src": "8679:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8664:2:43", + "nodeType": "YulIdentifier", + "src": "8664:2:43" + }, + "nativeSrc": "8664:18:43", + "nodeType": "YulFunctionCall", + "src": "8664:18:43" + }, + "nativeSrc": "8661:49:43", + "nodeType": "YulIf", + "src": "8661:49:43" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "8752:11:43", + "nodeType": "YulIdentifier", + "src": "8752:11:43" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8769:8:43", + "nodeType": "YulIdentifier", + "src": "8769:8:43" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "8797:3:43", + "nodeType": "YulIdentifier", + "src": "8797:3:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8779:17:43", + "nodeType": "YulIdentifier", + "src": "8779:17:43" + }, + "nativeSrc": "8779:22:43", + "nodeType": "YulFunctionCall", + "src": "8779:22:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8765:3:43", + "nodeType": "YulIdentifier", + "src": "8765:3:43" + }, + "nativeSrc": "8765:37:43", + "nodeType": "YulFunctionCall", + "src": "8765:37:43" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8723:28:43", + "nodeType": "YulIdentifier", + "src": "8723:28:43" + }, + "nativeSrc": "8723:80:43", + "nodeType": "YulFunctionCall", + "src": "8723:80:43" + }, + "nativeSrc": "8723:80:43", + "nodeType": "YulExpressionStatement", + "src": "8723:80:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "8373:3:43", + "nodeType": "YulIdentifier", + "src": "8373:3:43" + }, + { + "kind": "number", + "nativeSrc": "8378:2:43", + "nodeType": "YulLiteral", + "src": "8378:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8370:2:43", + "nodeType": "YulIdentifier", + "src": "8370:2:43" + }, + "nativeSrc": "8370:11:43", + "nodeType": "YulFunctionCall", + "src": "8370:11:43" + }, + "nativeSrc": "8367:446:43", + "nodeType": "YulIf", + "src": "8367:446:43" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "8277:543:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "8332:5:43", + "nodeType": "YulTypedName", + "src": "8332:5:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "8339:3:43", + "nodeType": "YulTypedName", + "src": "8339:3:43", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "8344:10:43", + "nodeType": "YulTypedName", + "src": "8344:10:43", + "type": "" + } + ], + "src": "8277:543:43" + }, + { + "body": { + "nativeSrc": "8889:54:43", + "nodeType": "YulBlock", + "src": "8889:54:43", + "statements": [ + { + "nativeSrc": "8899:37:43", + "nodeType": "YulAssignment", + "src": "8899:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "8924:4:43", + "nodeType": "YulIdentifier", + "src": "8924:4:43" + }, + { + "name": "value", + "nativeSrc": "8930:5:43", + "nodeType": "YulIdentifier", + "src": "8930:5:43" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8920:3:43", + "nodeType": "YulIdentifier", + "src": "8920:3:43" + }, + "nativeSrc": "8920:16:43", + "nodeType": "YulFunctionCall", + "src": "8920:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "8899:8:43", + "nodeType": "YulIdentifier", + "src": "8899:8:43" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8826:117:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "8864:4:43", + "nodeType": "YulTypedName", + "src": "8864:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "8870:5:43", + "nodeType": "YulTypedName", + "src": "8870:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "8880:8:43", + "nodeType": "YulTypedName", + "src": "8880:8:43", + "type": "" + } + ], + "src": "8826:117:43" + }, + { + "body": { + "nativeSrc": "9000:118:43", + "nodeType": "YulBlock", + "src": "9000:118:43", + "statements": [ + { + "nativeSrc": "9010:68:43", + "nodeType": "YulVariableDeclaration", + "src": "9010:68:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9059:1:43", + "nodeType": "YulLiteral", + "src": "9059:1:43", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "9062:5:43", + "nodeType": "YulIdentifier", + "src": "9062:5:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9055:3:43", + "nodeType": "YulIdentifier", + "src": "9055:3:43" + }, + "nativeSrc": "9055:13:43", + "nodeType": "YulFunctionCall", + "src": "9055:13:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9074:1:43", + "nodeType": "YulLiteral", + "src": "9074:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9070:3:43", + "nodeType": "YulIdentifier", + "src": "9070:3:43" + }, + "nativeSrc": "9070:6:43", + "nodeType": "YulFunctionCall", + "src": "9070:6:43" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "9026:28:43", + "nodeType": "YulIdentifier", + "src": "9026:28:43" + }, + "nativeSrc": "9026:51:43", + "nodeType": "YulFunctionCall", + "src": "9026:51:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9022:3:43", + "nodeType": "YulIdentifier", + "src": "9022:3:43" + }, + "nativeSrc": "9022:56:43", + "nodeType": "YulFunctionCall", + "src": "9022:56:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "9014:4:43", + "nodeType": "YulTypedName", + "src": "9014:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9087:25:43", + "nodeType": "YulAssignment", + "src": "9087:25:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9101:4:43", + "nodeType": "YulIdentifier", + "src": "9101:4:43" + }, + { + "name": "mask", + "nativeSrc": "9107:4:43", + "nodeType": "YulIdentifier", + "src": "9107:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9097:3:43", + "nodeType": "YulIdentifier", + "src": "9097:3:43" + }, + "nativeSrc": "9097:15:43", + "nodeType": "YulFunctionCall", + "src": "9097:15:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "9087:6:43", + "nodeType": "YulIdentifier", + "src": "9087:6:43" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "8949:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8977:4:43", + "nodeType": "YulTypedName", + "src": "8977:4:43", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "8983:5:43", + "nodeType": "YulTypedName", + "src": "8983:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8993:6:43", + "nodeType": "YulTypedName", + "src": "8993:6:43", + "type": "" + } + ], + "src": "8949:169:43" + }, + { + "body": { + "nativeSrc": "9204:214:43", + "nodeType": "YulBlock", + "src": "9204:214:43", + "statements": [ + { + "nativeSrc": "9337:37:43", + "nodeType": "YulAssignment", + "src": "9337:37:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9364:4:43", + "nodeType": "YulIdentifier", + "src": "9364:4:43" + }, + { + "name": "len", + "nativeSrc": "9370:3:43", + "nodeType": "YulIdentifier", + "src": "9370:3:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "9345:18:43", + "nodeType": "YulIdentifier", + "src": "9345:18:43" + }, + "nativeSrc": "9345:29:43", + "nodeType": "YulFunctionCall", + "src": "9345:29:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9337:4:43", + "nodeType": "YulIdentifier", + "src": "9337:4:43" + } + ] + }, + { + "nativeSrc": "9383:29:43", + "nodeType": "YulAssignment", + "src": "9383:29:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9394:4:43", + "nodeType": "YulIdentifier", + "src": "9394:4:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9404:1:43", + "nodeType": "YulLiteral", + "src": "9404:1:43", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "9407:3:43", + "nodeType": "YulIdentifier", + "src": "9407:3:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9400:3:43", + "nodeType": "YulIdentifier", + "src": "9400:3:43" + }, + "nativeSrc": "9400:11:43", + "nodeType": "YulFunctionCall", + "src": "9400:11:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "9391:2:43", + "nodeType": "YulIdentifier", + "src": "9391:2:43" + }, + "nativeSrc": "9391:21:43", + "nodeType": "YulFunctionCall", + "src": "9391:21:43" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "9383:4:43", + "nodeType": "YulIdentifier", + "src": "9383:4:43" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "9123:295:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "9185:4:43", + "nodeType": "YulTypedName", + "src": "9185:4:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "9191:3:43", + "nodeType": "YulTypedName", + "src": "9191:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "9199:4:43", + "nodeType": "YulTypedName", + "src": "9199:4:43", + "type": "" + } + ], + "src": "9123:295:43" + }, + { + "body": { + "nativeSrc": "9515:1303:43", + "nodeType": "YulBlock", + "src": "9515:1303:43", + "statements": [ + { + "nativeSrc": "9526:51:43", + "nodeType": "YulVariableDeclaration", + "src": "9526:51:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "9573:3:43", + "nodeType": "YulIdentifier", + "src": "9573:3:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "9540:32:43", + "nodeType": "YulIdentifier", + "src": "9540:32:43" + }, + "nativeSrc": "9540:37:43", + "nodeType": "YulFunctionCall", + "src": "9540:37:43" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "9530:6:43", + "nodeType": "YulTypedName", + "src": "9530:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9662:22:43", + "nodeType": "YulBlock", + "src": "9662:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9664:16:43", + "nodeType": "YulIdentifier", + "src": "9664:16:43" + }, + "nativeSrc": "9664:18:43", + "nodeType": "YulFunctionCall", + "src": "9664:18:43" + }, + "nativeSrc": "9664:18:43", + "nodeType": "YulExpressionStatement", + "src": "9664:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9634:6:43", + "nodeType": "YulIdentifier", + "src": "9634:6:43" + }, + { + "kind": "number", + "nativeSrc": "9642:18:43", + "nodeType": "YulLiteral", + "src": "9642:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9631:2:43", + "nodeType": "YulIdentifier", + "src": "9631:2:43" + }, + "nativeSrc": "9631:30:43", + "nodeType": "YulFunctionCall", + "src": "9631:30:43" + }, + "nativeSrc": "9628:56:43", + "nodeType": "YulIf", + "src": "9628:56:43" + }, + { + "nativeSrc": "9694:52:43", + "nodeType": "YulVariableDeclaration", + "src": "9694:52:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9740:4:43", + "nodeType": "YulIdentifier", + "src": "9740:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "9734:5:43", + "nodeType": "YulIdentifier", + "src": "9734:5:43" + }, + "nativeSrc": "9734:11:43", + "nodeType": "YulFunctionCall", + "src": "9734:11:43" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "9708:25:43", + "nodeType": "YulIdentifier", + "src": "9708:25:43" + }, + "nativeSrc": "9708:38:43", + "nodeType": "YulFunctionCall", + "src": "9708:38:43" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "9698:6:43", + "nodeType": "YulTypedName", + "src": "9698:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9839:4:43", + "nodeType": "YulIdentifier", + "src": "9839:4:43" + }, + { + "name": "oldLen", + "nativeSrc": "9845:6:43", + "nodeType": "YulIdentifier", + "src": "9845:6:43" + }, + { + "name": "newLen", + "nativeSrc": "9853:6:43", + "nodeType": "YulIdentifier", + "src": "9853:6:43" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "9793:45:43", + "nodeType": "YulIdentifier", + "src": "9793:45:43" + }, + "nativeSrc": "9793:67:43", + "nodeType": "YulFunctionCall", + "src": "9793:67:43" + }, + "nativeSrc": "9793:67:43", + "nodeType": "YulExpressionStatement", + "src": "9793:67:43" + }, + { + "nativeSrc": "9870:18:43", + "nodeType": "YulVariableDeclaration", + "src": "9870:18:43", + "value": { + "kind": "number", + "nativeSrc": "9887:1:43", + "nodeType": "YulLiteral", + "src": "9887:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "9874:9:43", + "nodeType": "YulTypedName", + "src": "9874:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9898:17:43", + "nodeType": "YulAssignment", + "src": "9898:17:43", + "value": { + "kind": "number", + "nativeSrc": "9911:4:43", + "nodeType": "YulLiteral", + "src": "9911:4:43", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9898:9:43", + "nodeType": "YulIdentifier", + "src": "9898:9:43" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "9962:611:43", + "nodeType": "YulBlock", + "src": "9962:611:43", + "statements": [ + { + "nativeSrc": "9976:37:43", + "nodeType": "YulVariableDeclaration", + "src": "9976:37:43", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9995:6:43", + "nodeType": "YulIdentifier", + "src": "9995:6:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10007:4:43", + "nodeType": "YulLiteral", + "src": "10007:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "10003:3:43", + "nodeType": "YulIdentifier", + "src": "10003:3:43" + }, + "nativeSrc": "10003:9:43", + "nodeType": "YulFunctionCall", + "src": "10003:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9991:3:43", + "nodeType": "YulIdentifier", + "src": "9991:3:43" + }, + "nativeSrc": "9991:22:43", + "nodeType": "YulFunctionCall", + "src": "9991:22:43" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "9980:7:43", + "nodeType": "YulTypedName", + "src": "9980:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10027:51:43", + "nodeType": "YulVariableDeclaration", + "src": "10027:51:43", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10073:4:43", + "nodeType": "YulIdentifier", + "src": "10073:4:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "10041:31:43", + "nodeType": "YulIdentifier", + "src": "10041:31:43" + }, + "nativeSrc": "10041:37:43", + "nodeType": "YulFunctionCall", + "src": "10041:37:43" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "10031:6:43", + "nodeType": "YulTypedName", + "src": "10031:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10091:10:43", + "nodeType": "YulVariableDeclaration", + "src": "10091:10:43", + "value": { + "kind": "number", + "nativeSrc": "10100:1:43", + "nodeType": "YulLiteral", + "src": "10100:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "10095:1:43", + "nodeType": "YulTypedName", + "src": "10095:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10159:163:43", + "nodeType": "YulBlock", + "src": "10159:163:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10184:6:43", + "nodeType": "YulIdentifier", + "src": "10184:6:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10202:3:43", + "nodeType": "YulIdentifier", + "src": "10202:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10207:9:43", + "nodeType": "YulIdentifier", + "src": "10207:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10198:3:43", + "nodeType": "YulIdentifier", + "src": "10198:3:43" + }, + "nativeSrc": "10198:19:43", + "nodeType": "YulFunctionCall", + "src": "10198:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10192:5:43", + "nodeType": "YulIdentifier", + "src": "10192:5:43" + }, + "nativeSrc": "10192:26:43", + "nodeType": "YulFunctionCall", + "src": "10192:26:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10177:6:43", + "nodeType": "YulIdentifier", + "src": "10177:6:43" + }, + "nativeSrc": "10177:42:43", + "nodeType": "YulFunctionCall", + "src": "10177:42:43" + }, + "nativeSrc": "10177:42:43", + "nodeType": "YulExpressionStatement", + "src": "10177:42:43" + }, + { + "nativeSrc": "10236:24:43", + "nodeType": "YulAssignment", + "src": "10236:24:43", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10250:6:43", + "nodeType": "YulIdentifier", + "src": "10250:6:43" + }, + { + "kind": "number", + "nativeSrc": "10258:1:43", + "nodeType": "YulLiteral", + "src": "10258:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10246:3:43", + "nodeType": "YulIdentifier", + "src": "10246:3:43" + }, + "nativeSrc": "10246:14:43", + "nodeType": "YulFunctionCall", + "src": "10246:14:43" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "10236:6:43", + "nodeType": "YulIdentifier", + "src": "10236:6:43" + } + ] + }, + { + "nativeSrc": "10277:31:43", + "nodeType": "YulAssignment", + "src": "10277:31:43", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "10294:9:43", + "nodeType": "YulIdentifier", + "src": "10294:9:43" + }, + { + "kind": "number", + "nativeSrc": "10305:2:43", + "nodeType": "YulLiteral", + "src": "10305:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10290:3:43", + "nodeType": "YulIdentifier", + "src": "10290:3:43" + }, + "nativeSrc": "10290:18:43", + "nodeType": "YulFunctionCall", + "src": "10290:18:43" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "10277:9:43", + "nodeType": "YulIdentifier", + "src": "10277:9:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10125:1:43", + "nodeType": "YulIdentifier", + "src": "10125:1:43" + }, + { + "name": "loopEnd", + "nativeSrc": "10128:7:43", + "nodeType": "YulIdentifier", + "src": "10128:7:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10122:2:43", + "nodeType": "YulIdentifier", + "src": "10122:2:43" + }, + "nativeSrc": "10122:14:43", + "nodeType": "YulFunctionCall", + "src": "10122:14:43" + }, + "nativeSrc": "10114:208:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "10137:21:43", + "nodeType": "YulBlock", + "src": "10137:21:43", + "statements": [ + { + "nativeSrc": "10139:17:43", + "nodeType": "YulAssignment", + "src": "10139:17:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "10148:1:43", + "nodeType": "YulIdentifier", + "src": "10148:1:43" + }, + { + "kind": "number", + "nativeSrc": "10151:4:43", + "nodeType": "YulLiteral", + "src": "10151:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10144:3:43", + "nodeType": "YulIdentifier", + "src": "10144:3:43" + }, + "nativeSrc": "10144:12:43", + "nodeType": "YulFunctionCall", + "src": "10144:12:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "10139:1:43", + "nodeType": "YulIdentifier", + "src": "10139:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "10118:3:43", + "nodeType": "YulBlock", + "src": "10118:3:43", + "statements": [] + }, + "src": "10114:208:43" + }, + { + "body": { + "nativeSrc": "10358:156:43", + "nodeType": "YulBlock", + "src": "10358:156:43", + "statements": [ + { + "nativeSrc": "10376:43:43", + "nodeType": "YulVariableDeclaration", + "src": "10376:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10403:3:43", + "nodeType": "YulIdentifier", + "src": "10403:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10408:9:43", + "nodeType": "YulIdentifier", + "src": "10408:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10399:3:43", + "nodeType": "YulIdentifier", + "src": "10399:3:43" + }, + "nativeSrc": "10399:19:43", + "nodeType": "YulFunctionCall", + "src": "10399:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10393:5:43", + "nodeType": "YulIdentifier", + "src": "10393:5:43" + }, + "nativeSrc": "10393:26:43", + "nodeType": "YulFunctionCall", + "src": "10393:26:43" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "10380:9:43", + "nodeType": "YulTypedName", + "src": "10380:9:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10443:6:43", + "nodeType": "YulIdentifier", + "src": "10443:6:43" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "10470:9:43", + "nodeType": "YulIdentifier", + "src": "10470:9:43" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10485:6:43", + "nodeType": "YulIdentifier", + "src": "10485:6:43" + }, + { + "kind": "number", + "nativeSrc": "10493:4:43", + "nodeType": "YulLiteral", + "src": "10493:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10481:3:43", + "nodeType": "YulIdentifier", + "src": "10481:3:43" + }, + "nativeSrc": "10481:17:43", + "nodeType": "YulFunctionCall", + "src": "10481:17:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "10451:18:43", + "nodeType": "YulIdentifier", + "src": "10451:18:43" + }, + "nativeSrc": "10451:48:43", + "nodeType": "YulFunctionCall", + "src": "10451:48:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10436:6:43", + "nodeType": "YulIdentifier", + "src": "10436:6:43" + }, + "nativeSrc": "10436:64:43", + "nodeType": "YulFunctionCall", + "src": "10436:64:43" + }, + "nativeSrc": "10436:64:43", + "nodeType": "YulExpressionStatement", + "src": "10436:64:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "10341:7:43", + "nodeType": "YulIdentifier", + "src": "10341:7:43" + }, + { + "name": "newLen", + "nativeSrc": "10350:6:43", + "nodeType": "YulIdentifier", + "src": "10350:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10338:2:43", + "nodeType": "YulIdentifier", + "src": "10338:2:43" + }, + "nativeSrc": "10338:19:43", + "nodeType": "YulFunctionCall", + "src": "10338:19:43" + }, + "nativeSrc": "10335:179:43", + "nodeType": "YulIf", + "src": "10335:179:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10534:4:43", + "nodeType": "YulIdentifier", + "src": "10534:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10548:6:43", + "nodeType": "YulIdentifier", + "src": "10548:6:43" + }, + { + "kind": "number", + "nativeSrc": "10556:1:43", + "nodeType": "YulLiteral", + "src": "10556:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10544:3:43", + "nodeType": "YulIdentifier", + "src": "10544:3:43" + }, + "nativeSrc": "10544:14:43", + "nodeType": "YulFunctionCall", + "src": "10544:14:43" + }, + { + "kind": "number", + "nativeSrc": "10560:1:43", + "nodeType": "YulLiteral", + "src": "10560:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10540:3:43", + "nodeType": "YulIdentifier", + "src": "10540:3:43" + }, + "nativeSrc": "10540:22:43", + "nodeType": "YulFunctionCall", + "src": "10540:22:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10527:6:43", + "nodeType": "YulIdentifier", + "src": "10527:6:43" + }, + "nativeSrc": "10527:36:43", + "nodeType": "YulFunctionCall", + "src": "10527:36:43" + }, + "nativeSrc": "10527:36:43", + "nodeType": "YulExpressionStatement", + "src": "10527:36:43" + } + ] + }, + "nativeSrc": "9955:618:43", + "nodeType": "YulCase", + "src": "9955:618:43", + "value": { + "kind": "number", + "nativeSrc": "9960:1:43", + "nodeType": "YulLiteral", + "src": "9960:1:43", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "10590:222:43", + "nodeType": "YulBlock", + "src": "10590:222:43", + "statements": [ + { + "nativeSrc": "10604:14:43", + "nodeType": "YulVariableDeclaration", + "src": "10604:14:43", + "value": { + "kind": "number", + "nativeSrc": "10617:1:43", + "nodeType": "YulLiteral", + "src": "10617:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "10608:5:43", + "nodeType": "YulTypedName", + "src": "10608:5:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10641:67:43", + "nodeType": "YulBlock", + "src": "10641:67:43", + "statements": [ + { + "nativeSrc": "10659:35:43", + "nodeType": "YulAssignment", + "src": "10659:35:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10678:3:43", + "nodeType": "YulIdentifier", + "src": "10678:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10683:9:43", + "nodeType": "YulIdentifier", + "src": "10683:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10674:3:43", + "nodeType": "YulIdentifier", + "src": "10674:3:43" + }, + "nativeSrc": "10674:19:43", + "nodeType": "YulFunctionCall", + "src": "10674:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10668:5:43", + "nodeType": "YulIdentifier", + "src": "10668:5:43" + }, + "nativeSrc": "10668:26:43", + "nodeType": "YulFunctionCall", + "src": "10668:26:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10659:5:43", + "nodeType": "YulIdentifier", + "src": "10659:5:43" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "10634:6:43", + "nodeType": "YulIdentifier", + "src": "10634:6:43" + }, + "nativeSrc": "10631:77:43", + "nodeType": "YulIf", + "src": "10631:77:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10728:4:43", + "nodeType": "YulIdentifier", + "src": "10728:4:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10787:5:43", + "nodeType": "YulIdentifier", + "src": "10787:5:43" + }, + { + "name": "newLen", + "nativeSrc": "10794:6:43", + "nodeType": "YulIdentifier", + "src": "10794:6:43" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "10734:52:43", + "nodeType": "YulIdentifier", + "src": "10734:52:43" + }, + "nativeSrc": "10734:67:43", + "nodeType": "YulFunctionCall", + "src": "10734:67:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10721:6:43", + "nodeType": "YulIdentifier", + "src": "10721:6:43" + }, + "nativeSrc": "10721:81:43", + "nodeType": "YulFunctionCall", + "src": "10721:81:43" + }, + "nativeSrc": "10721:81:43", + "nodeType": "YulExpressionStatement", + "src": "10721:81:43" + } + ] + }, + "nativeSrc": "10582:230:43", + "nodeType": "YulCase", + "src": "10582:230:43", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9935:6:43", + "nodeType": "YulIdentifier", + "src": "9935:6:43" + }, + { + "kind": "number", + "nativeSrc": "9943:2:43", + "nodeType": "YulLiteral", + "src": "9943:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9932:2:43", + "nodeType": "YulIdentifier", + "src": "9932:2:43" + }, + "nativeSrc": "9932:14:43", + "nodeType": "YulFunctionCall", + "src": "9932:14:43" + }, + "nativeSrc": "9925:887:43", + "nodeType": "YulSwitch", + "src": "9925:887:43" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "9423:1395:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "9504:4:43", + "nodeType": "YulTypedName", + "src": "9504:4:43", + "type": "" + }, + { + "name": "src", + "nativeSrc": "9510:3:43", + "nodeType": "YulTypedName", + "src": "9510:3:43", + "type": "" + } + ], + "src": "9423:1395:43" + }, + { + "body": { + "nativeSrc": "10852:152:43", + "nodeType": "YulBlock", + "src": "10852:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10869:1:43", + "nodeType": "YulLiteral", + "src": "10869:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10872:77:43", + "nodeType": "YulLiteral", + "src": "10872:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10862:6:43", + "nodeType": "YulIdentifier", + "src": "10862:6:43" + }, + "nativeSrc": "10862:88:43", + "nodeType": "YulFunctionCall", + "src": "10862:88:43" + }, + "nativeSrc": "10862:88:43", + "nodeType": "YulExpressionStatement", + "src": "10862:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10966:1:43", + "nodeType": "YulLiteral", + "src": "10966:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10969:4:43", + "nodeType": "YulLiteral", + "src": "10969:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10959:6:43", + "nodeType": "YulIdentifier", + "src": "10959:6:43" + }, + "nativeSrc": "10959:15:43", + "nodeType": "YulFunctionCall", + "src": "10959:15:43" + }, + "nativeSrc": "10959:15:43", + "nodeType": "YulExpressionStatement", + "src": "10959:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10990:1:43", + "nodeType": "YulLiteral", + "src": "10990:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10993:4:43", + "nodeType": "YulLiteral", + "src": "10993:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10983:6:43", + "nodeType": "YulIdentifier", + "src": "10983:6:43" + }, + "nativeSrc": "10983:15:43", + "nodeType": "YulFunctionCall", + "src": "10983:15:43" + }, + "nativeSrc": "10983:15:43", + "nodeType": "YulExpressionStatement", + "src": "10983:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "10824:180:43", + "nodeType": "YulFunctionDefinition", + "src": "10824:180:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function validator_revert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AirdropType_$11645_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_uint256t_enum$_AirdropType_$11645_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7 {\n if slt(sub(dataEnd, headStart), 256) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 224\n\n value7 := abi_decode_t_enum$_AirdropType_$11645_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea2646970667358221220bd72319c10e3d3381b43e2670c4375cf0a3350cc3750c43744074c5d6087841164736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2580 CODESIZE SUB DUP1 PUSH3 0x2580 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x48F JUMP JUMPDEST DUP7 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x170 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP8 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7E6 JUMP JUMPDEST POP DUP5 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x8CD JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP PUSH3 0x8FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x29D DUP3 PUSH3 0x252 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BF JUMPI PUSH3 0x2BE PUSH3 0x263 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D4 PUSH3 0x234 JUMP JUMPDEST SWAP1 POP PUSH3 0x2E2 DUP3 DUP3 PUSH3 0x292 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x305 JUMPI PUSH3 0x304 PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x310 DUP3 PUSH3 0x252 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x33D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x320 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x360 PUSH3 0x35A DUP5 PUSH3 0x2E7 JUMP JUMPDEST PUSH3 0x2C8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x24D JUMP JUMPDEST JUMPDEST PUSH3 0x38C DUP5 DUP3 DUP6 PUSH3 0x31D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3AC JUMPI PUSH3 0x3AB PUSH3 0x248 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3BE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x349 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3F4 DUP3 PUSH3 0x3C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x406 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP2 EQ PUSH3 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x426 DUP2 PUSH3 0x3FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x441 DUP2 PUSH3 0x42C JUMP JUMPDEST DUP2 EQ PUSH3 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x461 DUP2 PUSH3 0x436 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x475 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x489 DUP2 PUSH3 0x467 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH3 0x4B2 PUSH3 0x23E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP10 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4D4 JUMPI PUSH3 0x4D3 PUSH3 0x243 JUMP JUMPDEST JUMPDEST PUSH3 0x4E2 DUP12 DUP3 DUP13 ADD PUSH3 0x394 JUMP JUMPDEST SWAP9 POP POP PUSH1 0x20 PUSH3 0x4F5 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x40 PUSH3 0x508 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x60 PUSH3 0x51B DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x80 PUSH3 0x52E DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP5 POP POP PUSH1 0xA0 PUSH3 0x541 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xC0 PUSH3 0x554 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 PUSH3 0x567 DUP12 DUP3 DUP13 ADD PUSH3 0x478 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH3 0x582 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x59F PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x60E JUMPI PUSH3 0x60D PUSH3 0x5B0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x678 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x639 JUMP JUMPDEST PUSH3 0x684 DUP7 DUP4 PUSH3 0x639 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6C7 PUSH3 0x6C1 PUSH3 0x6BB DUP5 PUSH3 0x42C JUMP JUMPDEST PUSH3 0x69C JUMP JUMPDEST PUSH3 0x42C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6E3 DUP4 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6FB PUSH3 0x6F2 DUP3 PUSH3 0x6CE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x646 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x712 PUSH3 0x703 JUMP JUMPDEST PUSH3 0x71F DUP2 DUP5 DUP5 PUSH3 0x6D8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x747 JUMPI PUSH3 0x73B PUSH1 0x0 DUP3 PUSH3 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x725 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x796 JUMPI PUSH3 0x760 DUP2 PUSH3 0x614 JUMP JUMPDEST PUSH3 0x76B DUP5 PUSH3 0x629 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x77B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x793 PUSH3 0x78A DUP6 PUSH3 0x629 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x724 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7BB PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x79B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7D6 DUP4 DUP4 PUSH3 0x7A8 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7F1 DUP3 PUSH3 0x5A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x80D JUMPI PUSH3 0x80C PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x819 DUP3 SLOAD PUSH3 0x5DF JUMP JUMPDEST PUSH3 0x826 DUP3 DUP3 DUP6 PUSH3 0x74B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x85E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x849 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x855 DUP6 DUP3 PUSH3 0x7C8 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8C5 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x86E DUP7 PUSH3 0x614 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x898 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x871 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x8B8 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x8B4 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x7A8 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1C74 DUP1 PUSH3 0x90C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD PUSH19 0x319C10E3D3381B43E2670C4375CF0A3350CC37 POP 0xC4 CALLDATACOPY PREVRANDAO SMOD 0x4C TSTORE PUSH1 0x87 DUP5 GT PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "141:4472:34:-:0;;;679:623;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;955:12;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;1005:12:34::1;979:14;;:39;;;;;;;;;;;;;;;;;;1043:11;1028:12;:26;;;;;;:::i;:::-;;1075:7;1064:8;:18;;;;1114;1092:19;:40;;;;1163:18;1142;:39;;;;1206:11;1191:12;:26;;;;1245:14;1227:15;:32;;;;1284:11;1269:12;;:26;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;679:623:::0;;;;;;;;141:4472;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:126::-;2714:7;2754:42;2747:5;2743:54;2732:65;;2677:126;;;:::o;2809:96::-;2846:7;2875:24;2893:5;2875:24;:::i;:::-;2864:35;;2809:96;;;:::o;2911:122::-;2984:24;3002:5;2984:24;:::i;:::-;2977:5;2974:35;2964:63;;3023:1;3020;3013:12;2964:63;2911:122;:::o;3039:143::-;3096:5;3127:6;3121:13;3112:22;;3143:33;3170:5;3143:33;:::i;:::-;3039:143;;;;:::o;3188:77::-;3225:7;3254:5;3243:16;;3188:77;;;:::o;3271:122::-;3344:24;3362:5;3344:24;:::i;:::-;3337:5;3334:35;3324:63;;3383:1;3380;3373:12;3324:63;3271:122;:::o;3399:143::-;3456:5;3487:6;3481:13;3472:22;;3503:33;3530:5;3503:33;:::i;:::-;3399:143;;;;:::o;3548:116::-;3638:1;3631:5;3628:12;3618:40;;3654:1;3651;3644:12;3618:40;3548:116;:::o;3670:177::-;3744:5;3775:6;3769:13;3760:22;;3791:50;3835:5;3791:50;:::i;:::-;3670:177;;;;:::o;3853:1655::-;4013:6;4021;4029;4037;4045;4053;4061;4069;4118:3;4106:9;4097:7;4093:23;4089:33;4086:120;;;4125:79;;:::i;:::-;4086:120;4266:1;4255:9;4251:17;4245:24;4296:18;4288:6;4285:30;4282:117;;;4318:79;;:::i;:::-;4282:117;4423:74;4489:7;4480:6;4469:9;4465:22;4423:74;:::i;:::-;4413:84;;4216:291;4546:2;4572:64;4628:7;4619:6;4608:9;4604:22;4572:64;:::i;:::-;4562:74;;4517:129;4685:2;4711:64;4767:7;4758:6;4747:9;4743:22;4711:64;:::i;:::-;4701:74;;4656:129;4824:2;4850:64;4906:7;4897:6;4886:9;4882:22;4850:64;:::i;:::-;4840:74;;4795:129;4963:3;4990:64;5046:7;5037:6;5026:9;5022:22;4990:64;:::i;:::-;4980:74;;4934:130;5103:3;5130:64;5186:7;5177:6;5166:9;5162:22;5130:64;:::i;:::-;5120:74;;5074:130;5243:3;5270:64;5326:7;5317:6;5306:9;5302:22;5270:64;:::i;:::-;5260:74;;5214:130;5383:3;5410:81;5483:7;5474:6;5463:9;5459:22;5410:81;:::i;:::-;5400:91;;5354:147;3853:1655;;;;;;;;;;;:::o;5514:118::-;5601:24;5619:5;5601:24;:::i;:::-;5596:3;5589:37;5514:118;;:::o;5638:222::-;5731:4;5769:2;5758:9;5754:18;5746:26;;5782:71;5850:1;5839:9;5835:17;5826:6;5782:71;:::i;:::-;5638:222;;;;:::o;5866:99::-;5918:6;5952:5;5946:12;5936:22;;5866:99;;;:::o;5971:180::-;6019:77;6016:1;6009:88;6116:4;6113:1;6106:15;6140:4;6137:1;6130:15;6157:320;6201:6;6238:1;6232:4;6228:12;6218:22;;6285:1;6279:4;6275:12;6306:18;6296:81;;6362:4;6354:6;6350:17;6340:27;;6296:81;6424:2;6416:6;6413:14;6393:18;6390:38;6387:84;;6443:18;;:::i;:::-;6387:84;6208:269;6157:320;;;:::o;6483:141::-;6532:4;6555:3;6547:11;;6578:3;6575:1;6568:14;6612:4;6609:1;6599:18;6591:26;;6483:141;;;:::o;6630:93::-;6667:6;6714:2;6709;6702:5;6698:14;6694:23;6684:33;;6630:93;;;:::o;6729:107::-;6773:8;6823:5;6817:4;6813:16;6792:37;;6729:107;;;;:::o;6842:393::-;6911:6;6961:1;6949:10;6945:18;6984:97;7014:66;7003:9;6984:97;:::i;:::-;7102:39;7132:8;7121:9;7102:39;:::i;:::-;7090:51;;7174:4;7170:9;7163:5;7159:21;7150:30;;7223:4;7213:8;7209:19;7202:5;7199:30;7189:40;;6918:317;;6842:393;;;;;:::o;7241:60::-;7269:3;7290:5;7283:12;;7241:60;;;:::o;7307:142::-;7357:9;7390:53;7408:34;7417:24;7435:5;7417:24;:::i;:::-;7408:34;:::i;:::-;7390:53;:::i;:::-;7377:66;;7307:142;;;:::o;7455:75::-;7498:3;7519:5;7512:12;;7455:75;;;:::o;7536:269::-;7646:39;7677:7;7646:39;:::i;:::-;7707:91;7756:41;7780:16;7756:41;:::i;:::-;7748:6;7741:4;7735:11;7707:91;:::i;:::-;7701:4;7694:105;7612:193;7536:269;;;:::o;7811:73::-;7856:3;7811:73;:::o;7890:189::-;7967:32;;:::i;:::-;8008:65;8066:6;8058;8052:4;8008:65;:::i;:::-;7943:136;7890:189;;:::o;8085:186::-;8145:120;8162:3;8155:5;8152:14;8145:120;;;8216:39;8253:1;8246:5;8216:39;:::i;:::-;8189:1;8182:5;8178:13;8169:22;;8145:120;;;8085:186;;:::o;8277:543::-;8378:2;8373:3;8370:11;8367:446;;;8412:38;8444:5;8412:38;:::i;:::-;8496:29;8514:10;8496:29;:::i;:::-;8486:8;8482:44;8679:2;8667:10;8664:18;8661:49;;;8700:8;8685:23;;8661:49;8723:80;8779:22;8797:3;8779:22;:::i;:::-;8769:8;8765:37;8752:11;8723:80;:::i;:::-;8382:431;;8367:446;8277:543;;;:::o;8826:117::-;8880:8;8930:5;8924:4;8920:16;8899:37;;8826:117;;;;:::o;8949:169::-;8993:6;9026:51;9074:1;9070:6;9062:5;9059:1;9055:13;9026:51;:::i;:::-;9022:56;9107:4;9101;9097:15;9087:25;;9000:118;8949:169;;;;:::o;9123:295::-;9199:4;9345:29;9370:3;9364:4;9345:29;:::i;:::-;9337:37;;9407:3;9404:1;9400:11;9394:4;9391:21;9383:29;;9123:295;;;;:::o;9423:1395::-;9540:37;9573:3;9540:37;:::i;:::-;9642:18;9634:6;9631:30;9628:56;;;9664:18;;:::i;:::-;9628:56;9708:38;9740:4;9734:11;9708:38;:::i;:::-;9793:67;9853:6;9845;9839:4;9793:67;:::i;:::-;9887:1;9911:4;9898:17;;9943:2;9935:6;9932:14;9960:1;9955:618;;;;10617:1;10634:6;10631:77;;;10683:9;10678:3;10674:19;10668:26;10659:35;;10631:77;10734:67;10794:6;10787:5;10734:67;:::i;:::-;10728:4;10721:81;10590:222;9925:887;;9955:618;10007:4;10003:9;9995:6;9991:22;10041:37;10073:4;10041:37;:::i;:::-;10100:1;10114:208;10128:7;10125:1;10122:14;10114:208;;;10207:9;10202:3;10198:19;10192:26;10184:6;10177:42;10258:1;10250:6;10246:14;10236:24;;10305:2;10294:9;10290:18;10277:31;;10151:4;10148:1;10144:12;10139:17;;10114:208;;;10350:6;10341:7;10338:19;10335:179;;;10408:9;10403:3;10399:19;10393:26;10451:48;10493:4;10485:6;10481:17;10470:9;10451:48;:::i;:::-;10443:6;10436:64;10358:156;10335:179;10560:1;10556;10548:6;10544:14;10540:22;10534:4;10527:36;9962:611;;;9925:887;;9515:1303;;;9423:1395;;:::o;10824:180::-;10872:77;10869:1;10862:88;10969:4;10966:1;10959:15;10993:4;10990:1;10983:15;141:4472:34;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_checkOwner_84": { + "entryPoint": 3603, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_msgSender_3338": { + "entryPoint": 3934, + "id": 3338, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 3738, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@allowAddress_10448": { + "entryPoint": 1139, + "id": 10448, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@allowAddresses_10483": { + "entryPoint": 1746, + "id": 10483, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@claim_10359": { + "entryPoint": 1978, + "id": 10359, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@disallowAddress_10536": { + "entryPoint": 3173, + "id": 10536, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@disallowAddresses_10518": { + "entryPoint": 2941, + "id": 10518, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@getAirdropAmountLeft_10580": { + "entryPoint": 3413, + "id": 10580, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getAirdropInfo_10380": { + "entryPoint": 1459, + "id": 10380, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_10595": { + "entryPoint": 1293, + "id": 10595, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getClaimAmount_10564": { + "entryPoint": 2758, + "id": 10564, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getExpirationDate_10556": { + "entryPoint": 2748, + "id": 10556, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_10572": { + "entryPoint": 2677, + "id": 10572, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getUri_10626": { + "entryPoint": 2687, + "id": 10626, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBalanceToClaim_10397": { + "entryPoint": 968, + "id": 10397, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBeenTotallyClaimed_10407": { + "entryPoint": 2927, + "id": 10407, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasClaimed_10419": { + "entryPoint": 2788, + "id": 10419, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasExpired_10430": { + "entryPoint": 2915, + "id": 10430, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@isAllowed_10548": { + "entryPoint": 3327, + "id": 10548, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@onERC1155Received_10618": { + "entryPoint": 3423, + "id": 10618, + "parameterSlots": 5, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 2874, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 2768, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_126": { + "entryPoint": 3469, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 5003, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 5697, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 4198, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 5108, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 5276, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 5763, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 5250, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 6087, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 4219, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr": { + "entryPoint": 5809, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 5362, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 5154, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 6108, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 4460, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 5586, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 4063, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes4_to_t_bytes4_fromStack": { + "entryPoint": 6004, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 4594, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 4403, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5495, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6375, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6629, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6775, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6483, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 7008, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6921, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack": { + "entryPoint": 4609, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 4475, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 4274, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 5601, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 7043, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 6046, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 4078, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed": { + "entryPoint": 6019, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5552, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6410, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6664, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6810, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6518, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6956, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed": { + "entryPoint": 4792, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 4289, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 4927, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 4105, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 4954, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 5633, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 4316, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 6988, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 4327, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 5478, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 7178, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 4157, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 4051, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 5960, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$11645": { + "entryPoint": 4557, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 4125, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 4264, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 4576, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 5682, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 4344, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 6200, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4878, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x11": { + "entryPoint": 7131, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 4490, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 6153, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 6249, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 4831, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 5271, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 4826, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 4998, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 5628, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 4120, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 4115, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 4386, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e": { + "entryPoint": 6296, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e": { + "entryPoint": 6550, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3": { + "entryPoint": 6696, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a": { + "entryPoint": 6442, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470": { + "entryPoint": 7005, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880": { + "entryPoint": 6842, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$11645": { + "entryPoint": 4537, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 4175, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 5227, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:23738:43", + "nodeType": "YulBlock", + "src": "0:23738:43", + "statements": [ + { + "body": { + "nativeSrc": "49:48:43", + "nodeType": "YulBlock", + "src": "49:48:43", + "statements": [ + { + "nativeSrc": "59:32:43", + "nodeType": "YulAssignment", + "src": "59:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "84:5:43", + "nodeType": "YulIdentifier", + "src": "84:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "77:6:43", + "nodeType": "YulIdentifier", + "src": "77:6:43" + }, + "nativeSrc": "77:13:43", + "nodeType": "YulFunctionCall", + "src": "77:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "70:6:43", + "nodeType": "YulIdentifier", + "src": "70:6:43" + }, + "nativeSrc": "70:21:43", + "nodeType": "YulFunctionCall", + "src": "70:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "59:7:43", + "nodeType": "YulIdentifier", + "src": "59:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "7:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "31:5:43", + "nodeType": "YulTypedName", + "src": "31:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "41:7:43", + "nodeType": "YulTypedName", + "src": "41:7:43", + "type": "" + } + ], + "src": "7:90:43" + }, + { + "body": { + "nativeSrc": "162:50:43", + "nodeType": "YulBlock", + "src": "162:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "179:3:43", + "nodeType": "YulIdentifier", + "src": "179:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "199:5:43", + "nodeType": "YulIdentifier", + "src": "199:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "184:14:43", + "nodeType": "YulIdentifier", + "src": "184:14:43" + }, + "nativeSrc": "184:21:43", + "nodeType": "YulFunctionCall", + "src": "184:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "172:6:43", + "nodeType": "YulIdentifier", + "src": "172:6:43" + }, + "nativeSrc": "172:34:43", + "nodeType": "YulFunctionCall", + "src": "172:34:43" + }, + "nativeSrc": "172:34:43", + "nodeType": "YulExpressionStatement", + "src": "172:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "103:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "150:5:43", + "nodeType": "YulTypedName", + "src": "150:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "157:3:43", + "nodeType": "YulTypedName", + "src": "157:3:43", + "type": "" + } + ], + "src": "103:109:43" + }, + { + "body": { + "nativeSrc": "310:118:43", + "nodeType": "YulBlock", + "src": "310:118:43", + "statements": [ + { + "nativeSrc": "320:26:43", + "nodeType": "YulAssignment", + "src": "320:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "332:9:43", + "nodeType": "YulIdentifier", + "src": "332:9:43" + }, + { + "kind": "number", + "nativeSrc": "343:2:43", + "nodeType": "YulLiteral", + "src": "343:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "328:3:43", + "nodeType": "YulIdentifier", + "src": "328:3:43" + }, + "nativeSrc": "328:18:43", + "nodeType": "YulFunctionCall", + "src": "328:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "320:4:43", + "nodeType": "YulIdentifier", + "src": "320:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "394:6:43", + "nodeType": "YulIdentifier", + "src": "394:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "407:9:43", + "nodeType": "YulIdentifier", + "src": "407:9:43" + }, + { + "kind": "number", + "nativeSrc": "418:1:43", + "nodeType": "YulLiteral", + "src": "418:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "403:3:43", + "nodeType": "YulIdentifier", + "src": "403:3:43" + }, + "nativeSrc": "403:17:43", + "nodeType": "YulFunctionCall", + "src": "403:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "356:37:43", + "nodeType": "YulIdentifier", + "src": "356:37:43" + }, + "nativeSrc": "356:65:43", + "nodeType": "YulFunctionCall", + "src": "356:65:43" + }, + "nativeSrc": "356:65:43", + "nodeType": "YulExpressionStatement", + "src": "356:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "218:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "282:9:43", + "nodeType": "YulTypedName", + "src": "282:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "294:6:43", + "nodeType": "YulTypedName", + "src": "294:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "305:4:43", + "nodeType": "YulTypedName", + "src": "305:4:43", + "type": "" + } + ], + "src": "218:210:43" + }, + { + "body": { + "nativeSrc": "474:35:43", + "nodeType": "YulBlock", + "src": "474:35:43", + "statements": [ + { + "nativeSrc": "484:19:43", + "nodeType": "YulAssignment", + "src": "484:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "500:2:43", + "nodeType": "YulLiteral", + "src": "500:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "494:5:43", + "nodeType": "YulIdentifier", + "src": "494:5:43" + }, + "nativeSrc": "494:9:43", + "nodeType": "YulFunctionCall", + "src": "494:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "484:6:43", + "nodeType": "YulIdentifier", + "src": "484:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "434:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "467:6:43", + "nodeType": "YulTypedName", + "src": "467:6:43", + "type": "" + } + ], + "src": "434:75:43" + }, + { + "body": { + "nativeSrc": "604:28:43", + "nodeType": "YulBlock", + "src": "604:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "621:1:43", + "nodeType": "YulLiteral", + "src": "621:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "624:1:43", + "nodeType": "YulLiteral", + "src": "624:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "614:6:43", + "nodeType": "YulIdentifier", + "src": "614:6:43" + }, + "nativeSrc": "614:12:43", + "nodeType": "YulFunctionCall", + "src": "614:12:43" + }, + "nativeSrc": "614:12:43", + "nodeType": "YulExpressionStatement", + "src": "614:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "515:117:43", + "nodeType": "YulFunctionDefinition", + "src": "515:117:43" + }, + { + "body": { + "nativeSrc": "727:28:43", + "nodeType": "YulBlock", + "src": "727:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "744:1:43", + "nodeType": "YulLiteral", + "src": "744:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "747:1:43", + "nodeType": "YulLiteral", + "src": "747:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "737:6:43", + "nodeType": "YulIdentifier", + "src": "737:6:43" + }, + "nativeSrc": "737:12:43", + "nodeType": "YulFunctionCall", + "src": "737:12:43" + }, + "nativeSrc": "737:12:43", + "nodeType": "YulExpressionStatement", + "src": "737:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "638:117:43", + "nodeType": "YulFunctionDefinition", + "src": "638:117:43" + }, + { + "body": { + "nativeSrc": "806:81:43", + "nodeType": "YulBlock", + "src": "806:81:43", + "statements": [ + { + "nativeSrc": "816:65:43", + "nodeType": "YulAssignment", + "src": "816:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "831:5:43", + "nodeType": "YulIdentifier", + "src": "831:5:43" + }, + { + "kind": "number", + "nativeSrc": "838:42:43", + "nodeType": "YulLiteral", + "src": "838:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "827:3:43", + "nodeType": "YulIdentifier", + "src": "827:3:43" + }, + "nativeSrc": "827:54:43", + "nodeType": "YulFunctionCall", + "src": "827:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "816:7:43", + "nodeType": "YulIdentifier", + "src": "816:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "761:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "788:5:43", + "nodeType": "YulTypedName", + "src": "788:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "798:7:43", + "nodeType": "YulTypedName", + "src": "798:7:43", + "type": "" + } + ], + "src": "761:126:43" + }, + { + "body": { + "nativeSrc": "938:51:43", + "nodeType": "YulBlock", + "src": "938:51:43", + "statements": [ + { + "nativeSrc": "948:35:43", + "nodeType": "YulAssignment", + "src": "948:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "977:5:43", + "nodeType": "YulIdentifier", + "src": "977:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "959:17:43", + "nodeType": "YulIdentifier", + "src": "959:17:43" + }, + "nativeSrc": "959:24:43", + "nodeType": "YulFunctionCall", + "src": "959:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "948:7:43", + "nodeType": "YulIdentifier", + "src": "948:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "893:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "920:5:43", + "nodeType": "YulTypedName", + "src": "920:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "930:7:43", + "nodeType": "YulTypedName", + "src": "930:7:43", + "type": "" + } + ], + "src": "893:96:43" + }, + { + "body": { + "nativeSrc": "1038:79:43", + "nodeType": "YulBlock", + "src": "1038:79:43", + "statements": [ + { + "body": { + "nativeSrc": "1095:16:43", + "nodeType": "YulBlock", + "src": "1095:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1104:1:43", + "nodeType": "YulLiteral", + "src": "1104:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1107:1:43", + "nodeType": "YulLiteral", + "src": "1107:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1097:6:43", + "nodeType": "YulIdentifier", + "src": "1097:6:43" + }, + "nativeSrc": "1097:12:43", + "nodeType": "YulFunctionCall", + "src": "1097:12:43" + }, + "nativeSrc": "1097:12:43", + "nodeType": "YulExpressionStatement", + "src": "1097:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1061:5:43", + "nodeType": "YulIdentifier", + "src": "1061:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1086:5:43", + "nodeType": "YulIdentifier", + "src": "1086:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1068:17:43", + "nodeType": "YulIdentifier", + "src": "1068:17:43" + }, + "nativeSrc": "1068:24:43", + "nodeType": "YulFunctionCall", + "src": "1068:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1058:2:43", + "nodeType": "YulIdentifier", + "src": "1058:2:43" + }, + "nativeSrc": "1058:35:43", + "nodeType": "YulFunctionCall", + "src": "1058:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1051:6:43", + "nodeType": "YulIdentifier", + "src": "1051:6:43" + }, + "nativeSrc": "1051:43:43", + "nodeType": "YulFunctionCall", + "src": "1051:43:43" + }, + "nativeSrc": "1048:63:43", + "nodeType": "YulIf", + "src": "1048:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "995:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1031:5:43", + "nodeType": "YulTypedName", + "src": "1031:5:43", + "type": "" + } + ], + "src": "995:122:43" + }, + { + "body": { + "nativeSrc": "1175:87:43", + "nodeType": "YulBlock", + "src": "1175:87:43", + "statements": [ + { + "nativeSrc": "1185:29:43", + "nodeType": "YulAssignment", + "src": "1185:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1207:6:43", + "nodeType": "YulIdentifier", + "src": "1207:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1194:12:43", + "nodeType": "YulIdentifier", + "src": "1194:12:43" + }, + "nativeSrc": "1194:20:43", + "nodeType": "YulFunctionCall", + "src": "1194:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1185:5:43", + "nodeType": "YulIdentifier", + "src": "1185:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1250:5:43", + "nodeType": "YulIdentifier", + "src": "1250:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "1223:26:43", + "nodeType": "YulIdentifier", + "src": "1223:26:43" + }, + "nativeSrc": "1223:33:43", + "nodeType": "YulFunctionCall", + "src": "1223:33:43" + }, + "nativeSrc": "1223:33:43", + "nodeType": "YulExpressionStatement", + "src": "1223:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "1123:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1153:6:43", + "nodeType": "YulTypedName", + "src": "1153:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1161:3:43", + "nodeType": "YulTypedName", + "src": "1161:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1169:5:43", + "nodeType": "YulTypedName", + "src": "1169:5:43", + "type": "" + } + ], + "src": "1123:139:43" + }, + { + "body": { + "nativeSrc": "1334:263:43", + "nodeType": "YulBlock", + "src": "1334:263:43", + "statements": [ + { + "body": { + "nativeSrc": "1380:83:43", + "nodeType": "YulBlock", + "src": "1380:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1382:77:43", + "nodeType": "YulIdentifier", + "src": "1382:77:43" + }, + "nativeSrc": "1382:79:43", + "nodeType": "YulFunctionCall", + "src": "1382:79:43" + }, + "nativeSrc": "1382:79:43", + "nodeType": "YulExpressionStatement", + "src": "1382:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1355:7:43", + "nodeType": "YulIdentifier", + "src": "1355:7:43" + }, + { + "name": "headStart", + "nativeSrc": "1364:9:43", + "nodeType": "YulIdentifier", + "src": "1364:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1351:3:43", + "nodeType": "YulIdentifier", + "src": "1351:3:43" + }, + "nativeSrc": "1351:23:43", + "nodeType": "YulFunctionCall", + "src": "1351:23:43" + }, + { + "kind": "number", + "nativeSrc": "1376:2:43", + "nodeType": "YulLiteral", + "src": "1376:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1347:3:43", + "nodeType": "YulIdentifier", + "src": "1347:3:43" + }, + "nativeSrc": "1347:32:43", + "nodeType": "YulFunctionCall", + "src": "1347:32:43" + }, + "nativeSrc": "1344:119:43", + "nodeType": "YulIf", + "src": "1344:119:43" + }, + { + "nativeSrc": "1473:117:43", + "nodeType": "YulBlock", + "src": "1473:117:43", + "statements": [ + { + "nativeSrc": "1488:15:43", + "nodeType": "YulVariableDeclaration", + "src": "1488:15:43", + "value": { + "kind": "number", + "nativeSrc": "1502:1:43", + "nodeType": "YulLiteral", + "src": "1502:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1492:6:43", + "nodeType": "YulTypedName", + "src": "1492:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1517:63:43", + "nodeType": "YulAssignment", + "src": "1517:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1552:9:43", + "nodeType": "YulIdentifier", + "src": "1552:9:43" + }, + { + "name": "offset", + "nativeSrc": "1563:6:43", + "nodeType": "YulIdentifier", + "src": "1563:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1548:3:43", + "nodeType": "YulIdentifier", + "src": "1548:3:43" + }, + "nativeSrc": "1548:22:43", + "nodeType": "YulFunctionCall", + "src": "1548:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "1572:7:43", + "nodeType": "YulIdentifier", + "src": "1572:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "1527:20:43", + "nodeType": "YulIdentifier", + "src": "1527:20:43" + }, + "nativeSrc": "1527:53:43", + "nodeType": "YulFunctionCall", + "src": "1527:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1517:6:43", + "nodeType": "YulIdentifier", + "src": "1517:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "1268:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1304:9:43", + "nodeType": "YulTypedName", + "src": "1304:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1315:7:43", + "nodeType": "YulTypedName", + "src": "1315:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1327:6:43", + "nodeType": "YulTypedName", + "src": "1327:6:43", + "type": "" + } + ], + "src": "1268:329:43" + }, + { + "body": { + "nativeSrc": "1648:32:43", + "nodeType": "YulBlock", + "src": "1648:32:43", + "statements": [ + { + "nativeSrc": "1658:16:43", + "nodeType": "YulAssignment", + "src": "1658:16:43", + "value": { + "name": "value", + "nativeSrc": "1669:5:43", + "nodeType": "YulIdentifier", + "src": "1669:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1658:7:43", + "nodeType": "YulIdentifier", + "src": "1658:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "1603:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1630:5:43", + "nodeType": "YulTypedName", + "src": "1630:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1640:7:43", + "nodeType": "YulTypedName", + "src": "1640:7:43", + "type": "" + } + ], + "src": "1603:77:43" + }, + { + "body": { + "nativeSrc": "1751:53:43", + "nodeType": "YulBlock", + "src": "1751:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1768:3:43", + "nodeType": "YulIdentifier", + "src": "1768:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1791:5:43", + "nodeType": "YulIdentifier", + "src": "1791:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1773:17:43", + "nodeType": "YulIdentifier", + "src": "1773:17:43" + }, + "nativeSrc": "1773:24:43", + "nodeType": "YulFunctionCall", + "src": "1773:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1761:6:43", + "nodeType": "YulIdentifier", + "src": "1761:6:43" + }, + "nativeSrc": "1761:37:43", + "nodeType": "YulFunctionCall", + "src": "1761:37:43" + }, + "nativeSrc": "1761:37:43", + "nodeType": "YulExpressionStatement", + "src": "1761:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "1686:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1739:5:43", + "nodeType": "YulTypedName", + "src": "1739:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1746:3:43", + "nodeType": "YulTypedName", + "src": "1746:3:43", + "type": "" + } + ], + "src": "1686:118:43" + }, + { + "body": { + "nativeSrc": "1908:124:43", + "nodeType": "YulBlock", + "src": "1908:124:43", + "statements": [ + { + "nativeSrc": "1918:26:43", + "nodeType": "YulAssignment", + "src": "1918:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1930:9:43", + "nodeType": "YulIdentifier", + "src": "1930:9:43" + }, + { + "kind": "number", + "nativeSrc": "1941:2:43", + "nodeType": "YulLiteral", + "src": "1941:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1926:3:43", + "nodeType": "YulIdentifier", + "src": "1926:3:43" + }, + "nativeSrc": "1926:18:43", + "nodeType": "YulFunctionCall", + "src": "1926:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1918:4:43", + "nodeType": "YulIdentifier", + "src": "1918:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1998:6:43", + "nodeType": "YulIdentifier", + "src": "1998:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2011:9:43", + "nodeType": "YulIdentifier", + "src": "2011:9:43" + }, + { + "kind": "number", + "nativeSrc": "2022:1:43", + "nodeType": "YulLiteral", + "src": "2022:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2007:3:43", + "nodeType": "YulIdentifier", + "src": "2007:3:43" + }, + "nativeSrc": "2007:17:43", + "nodeType": "YulFunctionCall", + "src": "2007:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "1954:43:43", + "nodeType": "YulIdentifier", + "src": "1954:43:43" + }, + "nativeSrc": "1954:71:43", + "nodeType": "YulFunctionCall", + "src": "1954:71:43" + }, + "nativeSrc": "1954:71:43", + "nodeType": "YulExpressionStatement", + "src": "1954:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "1810:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1880:9:43", + "nodeType": "YulTypedName", + "src": "1880:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1892:6:43", + "nodeType": "YulTypedName", + "src": "1892:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1903:4:43", + "nodeType": "YulTypedName", + "src": "1903:4:43", + "type": "" + } + ], + "src": "1810:222:43" + }, + { + "body": { + "nativeSrc": "2097:40:43", + "nodeType": "YulBlock", + "src": "2097:40:43", + "statements": [ + { + "nativeSrc": "2108:22:43", + "nodeType": "YulAssignment", + "src": "2108:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2124:5:43", + "nodeType": "YulIdentifier", + "src": "2124:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2118:5:43", + "nodeType": "YulIdentifier", + "src": "2118:5:43" + }, + "nativeSrc": "2118:12:43", + "nodeType": "YulFunctionCall", + "src": "2118:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2108:6:43", + "nodeType": "YulIdentifier", + "src": "2108:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "2038:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2080:5:43", + "nodeType": "YulTypedName", + "src": "2080:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "2090:6:43", + "nodeType": "YulTypedName", + "src": "2090:6:43", + "type": "" + } + ], + "src": "2038:99:43" + }, + { + "body": { + "nativeSrc": "2229:73:43", + "nodeType": "YulBlock", + "src": "2229:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2246:3:43", + "nodeType": "YulIdentifier", + "src": "2246:3:43" + }, + { + "name": "length", + "nativeSrc": "2251:6:43", + "nodeType": "YulIdentifier", + "src": "2251:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2239:6:43", + "nodeType": "YulIdentifier", + "src": "2239:6:43" + }, + "nativeSrc": "2239:19:43", + "nodeType": "YulFunctionCall", + "src": "2239:19:43" + }, + "nativeSrc": "2239:19:43", + "nodeType": "YulExpressionStatement", + "src": "2239:19:43" + }, + { + "nativeSrc": "2267:29:43", + "nodeType": "YulAssignment", + "src": "2267:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2286:3:43", + "nodeType": "YulIdentifier", + "src": "2286:3:43" + }, + { + "kind": "number", + "nativeSrc": "2291:4:43", + "nodeType": "YulLiteral", + "src": "2291:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2282:3:43", + "nodeType": "YulIdentifier", + "src": "2282:3:43" + }, + "nativeSrc": "2282:14:43", + "nodeType": "YulFunctionCall", + "src": "2282:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "2267:11:43", + "nodeType": "YulIdentifier", + "src": "2267:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "2143:159:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2201:3:43", + "nodeType": "YulTypedName", + "src": "2201:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2206:6:43", + "nodeType": "YulTypedName", + "src": "2206:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "2217:11:43", + "nodeType": "YulTypedName", + "src": "2217:11:43", + "type": "" + } + ], + "src": "2143:159:43" + }, + { + "body": { + "nativeSrc": "2370:184:43", + "nodeType": "YulBlock", + "src": "2370:184:43", + "statements": [ + { + "nativeSrc": "2380:10:43", + "nodeType": "YulVariableDeclaration", + "src": "2380:10:43", + "value": { + "kind": "number", + "nativeSrc": "2389:1:43", + "nodeType": "YulLiteral", + "src": "2389:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "2384:1:43", + "nodeType": "YulTypedName", + "src": "2384:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2449:63:43", + "nodeType": "YulBlock", + "src": "2449:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2474:3:43", + "nodeType": "YulIdentifier", + "src": "2474:3:43" + }, + { + "name": "i", + "nativeSrc": "2479:1:43", + "nodeType": "YulIdentifier", + "src": "2479:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2470:3:43", + "nodeType": "YulIdentifier", + "src": "2470:3:43" + }, + "nativeSrc": "2470:11:43", + "nodeType": "YulFunctionCall", + "src": "2470:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2493:3:43", + "nodeType": "YulIdentifier", + "src": "2493:3:43" + }, + { + "name": "i", + "nativeSrc": "2498:1:43", + "nodeType": "YulIdentifier", + "src": "2498:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2489:3:43", + "nodeType": "YulIdentifier", + "src": "2489:3:43" + }, + "nativeSrc": "2489:11:43", + "nodeType": "YulFunctionCall", + "src": "2489:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2483:5:43", + "nodeType": "YulIdentifier", + "src": "2483:5:43" + }, + "nativeSrc": "2483:18:43", + "nodeType": "YulFunctionCall", + "src": "2483:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2463:6:43", + "nodeType": "YulIdentifier", + "src": "2463:6:43" + }, + "nativeSrc": "2463:39:43", + "nodeType": "YulFunctionCall", + "src": "2463:39:43" + }, + "nativeSrc": "2463:39:43", + "nodeType": "YulExpressionStatement", + "src": "2463:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "2410:1:43", + "nodeType": "YulIdentifier", + "src": "2410:1:43" + }, + { + "name": "length", + "nativeSrc": "2413:6:43", + "nodeType": "YulIdentifier", + "src": "2413:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2407:2:43", + "nodeType": "YulIdentifier", + "src": "2407:2:43" + }, + "nativeSrc": "2407:13:43", + "nodeType": "YulFunctionCall", + "src": "2407:13:43" + }, + "nativeSrc": "2399:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2421:19:43", + "nodeType": "YulBlock", + "src": "2421:19:43", + "statements": [ + { + "nativeSrc": "2423:15:43", + "nodeType": "YulAssignment", + "src": "2423:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "2432:1:43", + "nodeType": "YulIdentifier", + "src": "2432:1:43" + }, + { + "kind": "number", + "nativeSrc": "2435:2:43", + "nodeType": "YulLiteral", + "src": "2435:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2428:3:43", + "nodeType": "YulIdentifier", + "src": "2428:3:43" + }, + "nativeSrc": "2428:10:43", + "nodeType": "YulFunctionCall", + "src": "2428:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "2423:1:43", + "nodeType": "YulIdentifier", + "src": "2423:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2403:3:43", + "nodeType": "YulBlock", + "src": "2403:3:43", + "statements": [] + }, + "src": "2399:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2532:3:43", + "nodeType": "YulIdentifier", + "src": "2532:3:43" + }, + { + "name": "length", + "nativeSrc": "2537:6:43", + "nodeType": "YulIdentifier", + "src": "2537:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2528:3:43", + "nodeType": "YulIdentifier", + "src": "2528:3:43" + }, + "nativeSrc": "2528:16:43", + "nodeType": "YulFunctionCall", + "src": "2528:16:43" + }, + { + "kind": "number", + "nativeSrc": "2546:1:43", + "nodeType": "YulLiteral", + "src": "2546:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2521:6:43", + "nodeType": "YulIdentifier", + "src": "2521:6:43" + }, + "nativeSrc": "2521:27:43", + "nodeType": "YulFunctionCall", + "src": "2521:27:43" + }, + "nativeSrc": "2521:27:43", + "nodeType": "YulExpressionStatement", + "src": "2521:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2308:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "2352:3:43", + "nodeType": "YulTypedName", + "src": "2352:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "2357:3:43", + "nodeType": "YulTypedName", + "src": "2357:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2362:6:43", + "nodeType": "YulTypedName", + "src": "2362:6:43", + "type": "" + } + ], + "src": "2308:246:43" + }, + { + "body": { + "nativeSrc": "2608:54:43", + "nodeType": "YulBlock", + "src": "2608:54:43", + "statements": [ + { + "nativeSrc": "2618:38:43", + "nodeType": "YulAssignment", + "src": "2618:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2636:5:43", + "nodeType": "YulIdentifier", + "src": "2636:5:43" + }, + { + "kind": "number", + "nativeSrc": "2643:2:43", + "nodeType": "YulLiteral", + "src": "2643:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2632:3:43", + "nodeType": "YulIdentifier", + "src": "2632:3:43" + }, + "nativeSrc": "2632:14:43", + "nodeType": "YulFunctionCall", + "src": "2632:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2652:2:43", + "nodeType": "YulLiteral", + "src": "2652:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2648:3:43", + "nodeType": "YulIdentifier", + "src": "2648:3:43" + }, + "nativeSrc": "2648:7:43", + "nodeType": "YulFunctionCall", + "src": "2648:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2628:3:43", + "nodeType": "YulIdentifier", + "src": "2628:3:43" + }, + "nativeSrc": "2628:28:43", + "nodeType": "YulFunctionCall", + "src": "2628:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2618:6:43", + "nodeType": "YulIdentifier", + "src": "2618:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "2560:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2591:5:43", + "nodeType": "YulTypedName", + "src": "2591:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "2601:6:43", + "nodeType": "YulTypedName", + "src": "2601:6:43", + "type": "" + } + ], + "src": "2560:102:43" + }, + { + "body": { + "nativeSrc": "2750:275:43", + "nodeType": "YulBlock", + "src": "2750:275:43", + "statements": [ + { + "nativeSrc": "2760:53:43", + "nodeType": "YulVariableDeclaration", + "src": "2760:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2807:5:43", + "nodeType": "YulIdentifier", + "src": "2807:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "2774:32:43", + "nodeType": "YulIdentifier", + "src": "2774:32:43" + }, + "nativeSrc": "2774:39:43", + "nodeType": "YulFunctionCall", + "src": "2774:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2764:6:43", + "nodeType": "YulTypedName", + "src": "2764:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2822:68:43", + "nodeType": "YulAssignment", + "src": "2822:68:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2878:3:43", + "nodeType": "YulIdentifier", + "src": "2878:3:43" + }, + { + "name": "length", + "nativeSrc": "2883:6:43", + "nodeType": "YulIdentifier", + "src": "2883:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "2829:48:43", + "nodeType": "YulIdentifier", + "src": "2829:48:43" + }, + "nativeSrc": "2829:61:43", + "nodeType": "YulFunctionCall", + "src": "2829:61:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2822:3:43", + "nodeType": "YulIdentifier", + "src": "2822:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2938:5:43", + "nodeType": "YulIdentifier", + "src": "2938:5:43" + }, + { + "kind": "number", + "nativeSrc": "2945:4:43", + "nodeType": "YulLiteral", + "src": "2945:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2934:3:43", + "nodeType": "YulIdentifier", + "src": "2934:3:43" + }, + "nativeSrc": "2934:16:43", + "nodeType": "YulFunctionCall", + "src": "2934:16:43" + }, + { + "name": "pos", + "nativeSrc": "2952:3:43", + "nodeType": "YulIdentifier", + "src": "2952:3:43" + }, + { + "name": "length", + "nativeSrc": "2957:6:43", + "nodeType": "YulIdentifier", + "src": "2957:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2899:34:43", + "nodeType": "YulIdentifier", + "src": "2899:34:43" + }, + "nativeSrc": "2899:65:43", + "nodeType": "YulFunctionCall", + "src": "2899:65:43" + }, + "nativeSrc": "2899:65:43", + "nodeType": "YulExpressionStatement", + "src": "2899:65:43" + }, + { + "nativeSrc": "2973:46:43", + "nodeType": "YulAssignment", + "src": "2973:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2984:3:43", + "nodeType": "YulIdentifier", + "src": "2984:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3011:6:43", + "nodeType": "YulIdentifier", + "src": "3011:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2989:21:43", + "nodeType": "YulIdentifier", + "src": "2989:21:43" + }, + "nativeSrc": "2989:29:43", + "nodeType": "YulFunctionCall", + "src": "2989:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2980:3:43", + "nodeType": "YulIdentifier", + "src": "2980:3:43" + }, + "nativeSrc": "2980:39:43", + "nodeType": "YulFunctionCall", + "src": "2980:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2973:3:43", + "nodeType": "YulIdentifier", + "src": "2973:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "2668:357:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2731:5:43", + "nodeType": "YulTypedName", + "src": "2731:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2738:3:43", + "nodeType": "YulTypedName", + "src": "2738:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2746:3:43", + "nodeType": "YulTypedName", + "src": "2746:3:43", + "type": "" + } + ], + "src": "2668:357:43" + }, + { + "body": { + "nativeSrc": "3086:53:43", + "nodeType": "YulBlock", + "src": "3086:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3103:3:43", + "nodeType": "YulIdentifier", + "src": "3103:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3126:5:43", + "nodeType": "YulIdentifier", + "src": "3126:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "3108:17:43", + "nodeType": "YulIdentifier", + "src": "3108:17:43" + }, + "nativeSrc": "3108:24:43", + "nodeType": "YulFunctionCall", + "src": "3108:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3096:6:43", + "nodeType": "YulIdentifier", + "src": "3096:6:43" + }, + "nativeSrc": "3096:37:43", + "nodeType": "YulFunctionCall", + "src": "3096:37:43" + }, + "nativeSrc": "3096:37:43", + "nodeType": "YulExpressionStatement", + "src": "3096:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "3031:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3074:5:43", + "nodeType": "YulTypedName", + "src": "3074:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3081:3:43", + "nodeType": "YulTypedName", + "src": "3081:3:43", + "type": "" + } + ], + "src": "3031:108:43" + }, + { + "body": { + "nativeSrc": "3200:53:43", + "nodeType": "YulBlock", + "src": "3200:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3217:3:43", + "nodeType": "YulIdentifier", + "src": "3217:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3240:5:43", + "nodeType": "YulIdentifier", + "src": "3240:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3222:17:43", + "nodeType": "YulIdentifier", + "src": "3222:17:43" + }, + "nativeSrc": "3222:24:43", + "nodeType": "YulFunctionCall", + "src": "3222:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3210:6:43", + "nodeType": "YulIdentifier", + "src": "3210:6:43" + }, + "nativeSrc": "3210:37:43", + "nodeType": "YulFunctionCall", + "src": "3210:37:43" + }, + "nativeSrc": "3210:37:43", + "nodeType": "YulExpressionStatement", + "src": "3210:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3145:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3188:5:43", + "nodeType": "YulTypedName", + "src": "3188:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3195:3:43", + "nodeType": "YulTypedName", + "src": "3195:3:43", + "type": "" + } + ], + "src": "3145:108:43" + }, + { + "body": { + "nativeSrc": "3287:152:43", + "nodeType": "YulBlock", + "src": "3287:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3304:1:43", + "nodeType": "YulLiteral", + "src": "3304:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3307:77:43", + "nodeType": "YulLiteral", + "src": "3307:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3297:6:43", + "nodeType": "YulIdentifier", + "src": "3297:6:43" + }, + "nativeSrc": "3297:88:43", + "nodeType": "YulFunctionCall", + "src": "3297:88:43" + }, + "nativeSrc": "3297:88:43", + "nodeType": "YulExpressionStatement", + "src": "3297:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3401:1:43", + "nodeType": "YulLiteral", + "src": "3401:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3404:4:43", + "nodeType": "YulLiteral", + "src": "3404:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3394:6:43", + "nodeType": "YulIdentifier", + "src": "3394:6:43" + }, + "nativeSrc": "3394:15:43", + "nodeType": "YulFunctionCall", + "src": "3394:15:43" + }, + "nativeSrc": "3394:15:43", + "nodeType": "YulExpressionStatement", + "src": "3394:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3425:1:43", + "nodeType": "YulLiteral", + "src": "3425:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3428:4:43", + "nodeType": "YulLiteral", + "src": "3428:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3418:6:43", + "nodeType": "YulIdentifier", + "src": "3418:6:43" + }, + "nativeSrc": "3418:15:43", + "nodeType": "YulFunctionCall", + "src": "3418:15:43" + }, + "nativeSrc": "3418:15:43", + "nodeType": "YulExpressionStatement", + "src": "3418:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "3259:180:43", + "nodeType": "YulFunctionDefinition", + "src": "3259:180:43" + }, + { + "body": { + "nativeSrc": "3505:62:43", + "nodeType": "YulBlock", + "src": "3505:62:43", + "statements": [ + { + "body": { + "nativeSrc": "3539:22:43", + "nodeType": "YulBlock", + "src": "3539:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "3541:16:43", + "nodeType": "YulIdentifier", + "src": "3541:16:43" + }, + "nativeSrc": "3541:18:43", + "nodeType": "YulFunctionCall", + "src": "3541:18:43" + }, + "nativeSrc": "3541:18:43", + "nodeType": "YulExpressionStatement", + "src": "3541:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3528:5:43", + "nodeType": "YulIdentifier", + "src": "3528:5:43" + }, + { + "kind": "number", + "nativeSrc": "3535:1:43", + "nodeType": "YulLiteral", + "src": "3535:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3525:2:43", + "nodeType": "YulIdentifier", + "src": "3525:2:43" + }, + "nativeSrc": "3525:12:43", + "nodeType": "YulFunctionCall", + "src": "3525:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3518:6:43", + "nodeType": "YulIdentifier", + "src": "3518:6:43" + }, + "nativeSrc": "3518:20:43", + "nodeType": "YulFunctionCall", + "src": "3518:20:43" + }, + "nativeSrc": "3515:46:43", + "nodeType": "YulIf", + "src": "3515:46:43" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "3445:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3498:5:43", + "nodeType": "YulTypedName", + "src": "3498:5:43", + "type": "" + } + ], + "src": "3445:122:43" + }, + { + "body": { + "nativeSrc": "3635:83:43", + "nodeType": "YulBlock", + "src": "3635:83:43", + "statements": [ + { + "nativeSrc": "3645:16:43", + "nodeType": "YulAssignment", + "src": "3645:16:43", + "value": { + "name": "value", + "nativeSrc": "3656:5:43", + "nodeType": "YulIdentifier", + "src": "3656:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3645:7:43", + "nodeType": "YulIdentifier", + "src": "3645:7:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3706:5:43", + "nodeType": "YulIdentifier", + "src": "3706:5:43" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "3662:43:43", + "nodeType": "YulIdentifier", + "src": "3662:43:43" + }, + "nativeSrc": "3662:50:43", + "nodeType": "YulFunctionCall", + "src": "3662:50:43" + }, + "nativeSrc": "3662:50:43", + "nodeType": "YulExpressionStatement", + "src": "3662:50:43" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "3573:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3617:5:43", + "nodeType": "YulTypedName", + "src": "3617:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3627:7:43", + "nodeType": "YulTypedName", + "src": "3627:7:43", + "type": "" + } + ], + "src": "3573:145:43" + }, + { + "body": { + "nativeSrc": "3799:70:43", + "nodeType": "YulBlock", + "src": "3799:70:43", + "statements": [ + { + "nativeSrc": "3809:54:43", + "nodeType": "YulAssignment", + "src": "3809:54:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3857:5:43", + "nodeType": "YulIdentifier", + "src": "3857:5:43" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "3822:34:43", + "nodeType": "YulIdentifier", + "src": "3822:34:43" + }, + "nativeSrc": "3822:41:43", + "nodeType": "YulFunctionCall", + "src": "3822:41:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "3809:9:43", + "nodeType": "YulIdentifier", + "src": "3809:9:43" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "3724:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3779:5:43", + "nodeType": "YulTypedName", + "src": "3779:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "3789:9:43", + "nodeType": "YulTypedName", + "src": "3789:9:43", + "type": "" + } + ], + "src": "3724:145:43" + }, + { + "body": { + "nativeSrc": "3945:81:43", + "nodeType": "YulBlock", + "src": "3945:81:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3962:3:43", + "nodeType": "YulIdentifier", + "src": "3962:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4013:5:43", + "nodeType": "YulIdentifier", + "src": "4013:5:43" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "3967:45:43", + "nodeType": "YulIdentifier", + "src": "3967:45:43" + }, + "nativeSrc": "3967:52:43", + "nodeType": "YulFunctionCall", + "src": "3967:52:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3955:6:43", + "nodeType": "YulIdentifier", + "src": "3955:6:43" + }, + "nativeSrc": "3955:65:43", + "nodeType": "YulFunctionCall", + "src": "3955:65:43" + }, + "nativeSrc": "3955:65:43", + "nodeType": "YulExpressionStatement", + "src": "3955:65:43" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "3875:151:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3933:5:43", + "nodeType": "YulTypedName", + "src": "3933:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3940:3:43", + "nodeType": "YulTypedName", + "src": "3940:3:43", + "type": "" + } + ], + "src": "3875:151:43" + }, + { + "body": { + "nativeSrc": "4214:1681:43", + "nodeType": "YulBlock", + "src": "4214:1681:43", + "statements": [ + { + "nativeSrc": "4224:28:43", + "nodeType": "YulVariableDeclaration", + "src": "4224:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4240:3:43", + "nodeType": "YulIdentifier", + "src": "4240:3:43" + }, + { + "kind": "number", + "nativeSrc": "4245:6:43", + "nodeType": "YulLiteral", + "src": "4245:6:43", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4236:3:43", + "nodeType": "YulIdentifier", + "src": "4236:3:43" + }, + "nativeSrc": "4236:16:43", + "nodeType": "YulFunctionCall", + "src": "4236:16:43" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "4228:4:43", + "nodeType": "YulTypedName", + "src": "4228:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4262:242:43", + "nodeType": "YulBlock", + "src": "4262:242:43", + "statements": [ + { + "nativeSrc": "4304:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4304:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4334:5:43", + "nodeType": "YulIdentifier", + "src": "4334:5:43" + }, + { + "kind": "number", + "nativeSrc": "4341:4:43", + "nodeType": "YulLiteral", + "src": "4341:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4330:3:43", + "nodeType": "YulIdentifier", + "src": "4330:3:43" + }, + "nativeSrc": "4330:16:43", + "nodeType": "YulFunctionCall", + "src": "4330:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4324:5:43", + "nodeType": "YulIdentifier", + "src": "4324:5:43" + }, + "nativeSrc": "4324:23:43", + "nodeType": "YulFunctionCall", + "src": "4324:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4308:12:43", + "nodeType": "YulTypedName", + "src": "4308:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4372:3:43", + "nodeType": "YulIdentifier", + "src": "4372:3:43" + }, + { + "kind": "number", + "nativeSrc": "4377:4:43", + "nodeType": "YulLiteral", + "src": "4377:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4368:3:43", + "nodeType": "YulIdentifier", + "src": "4368:3:43" + }, + "nativeSrc": "4368:14:43", + "nodeType": "YulFunctionCall", + "src": "4368:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4388:4:43", + "nodeType": "YulIdentifier", + "src": "4388:4:43" + }, + { + "name": "pos", + "nativeSrc": "4394:3:43", + "nodeType": "YulIdentifier", + "src": "4394:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4384:3:43", + "nodeType": "YulIdentifier", + "src": "4384:3:43" + }, + "nativeSrc": "4384:14:43", + "nodeType": "YulFunctionCall", + "src": "4384:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4361:6:43", + "nodeType": "YulIdentifier", + "src": "4361:6:43" + }, + "nativeSrc": "4361:38:43", + "nodeType": "YulFunctionCall", + "src": "4361:38:43" + }, + "nativeSrc": "4361:38:43", + "nodeType": "YulExpressionStatement", + "src": "4361:38:43" + }, + { + "nativeSrc": "4412:81:43", + "nodeType": "YulAssignment", + "src": "4412:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4474:12:43", + "nodeType": "YulIdentifier", + "src": "4474:12:43" + }, + { + "name": "tail", + "nativeSrc": "4488:4:43", + "nodeType": "YulIdentifier", + "src": "4488:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "4420:53:43", + "nodeType": "YulIdentifier", + "src": "4420:53:43" + }, + "nativeSrc": "4420:73:43", + "nodeType": "YulFunctionCall", + "src": "4420:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4412:4:43", + "nodeType": "YulIdentifier", + "src": "4412:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "4514:174:43", + "nodeType": "YulBlock", + "src": "4514:174:43", + "statements": [ + { + "nativeSrc": "4559:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4559:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4589:5:43", + "nodeType": "YulIdentifier", + "src": "4589:5:43" + }, + { + "kind": "number", + "nativeSrc": "4596:4:43", + "nodeType": "YulLiteral", + "src": "4596:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4585:3:43", + "nodeType": "YulIdentifier", + "src": "4585:3:43" + }, + "nativeSrc": "4585:16:43", + "nodeType": "YulFunctionCall", + "src": "4585:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4579:5:43", + "nodeType": "YulIdentifier", + "src": "4579:5:43" + }, + "nativeSrc": "4579:23:43", + "nodeType": "YulFunctionCall", + "src": "4579:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4563:12:43", + "nodeType": "YulTypedName", + "src": "4563:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4649:12:43", + "nodeType": "YulIdentifier", + "src": "4649:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4667:3:43", + "nodeType": "YulIdentifier", + "src": "4667:3:43" + }, + { + "kind": "number", + "nativeSrc": "4672:4:43", + "nodeType": "YulLiteral", + "src": "4672:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4663:3:43", + "nodeType": "YulIdentifier", + "src": "4663:3:43" + }, + "nativeSrc": "4663:14:43", + "nodeType": "YulFunctionCall", + "src": "4663:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "4615:33:43", + "nodeType": "YulIdentifier", + "src": "4615:33:43" + }, + "nativeSrc": "4615:63:43", + "nodeType": "YulFunctionCall", + "src": "4615:63:43" + }, + "nativeSrc": "4615:63:43", + "nodeType": "YulExpressionStatement", + "src": "4615:63:43" + } + ] + }, + { + "nativeSrc": "4698:178:43", + "nodeType": "YulBlock", + "src": "4698:178:43", + "statements": [ + { + "nativeSrc": "4747:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4747:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4777:5:43", + "nodeType": "YulIdentifier", + "src": "4777:5:43" + }, + { + "kind": "number", + "nativeSrc": "4784:4:43", + "nodeType": "YulLiteral", + "src": "4784:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4773:3:43", + "nodeType": "YulIdentifier", + "src": "4773:3:43" + }, + "nativeSrc": "4773:16:43", + "nodeType": "YulFunctionCall", + "src": "4773:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4767:5:43", + "nodeType": "YulIdentifier", + "src": "4767:5:43" + }, + "nativeSrc": "4767:23:43", + "nodeType": "YulFunctionCall", + "src": "4767:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4751:12:43", + "nodeType": "YulTypedName", + "src": "4751:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4837:12:43", + "nodeType": "YulIdentifier", + "src": "4837:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4855:3:43", + "nodeType": "YulIdentifier", + "src": "4855:3:43" + }, + { + "kind": "number", + "nativeSrc": "4860:4:43", + "nodeType": "YulLiteral", + "src": "4860:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4851:3:43", + "nodeType": "YulIdentifier", + "src": "4851:3:43" + }, + "nativeSrc": "4851:14:43", + "nodeType": "YulFunctionCall", + "src": "4851:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4803:33:43", + "nodeType": "YulIdentifier", + "src": "4803:33:43" + }, + "nativeSrc": "4803:63:43", + "nodeType": "YulFunctionCall", + "src": "4803:63:43" + }, + "nativeSrc": "4803:63:43", + "nodeType": "YulExpressionStatement", + "src": "4803:63:43" + } + ] + }, + { + "nativeSrc": "4886:177:43", + "nodeType": "YulBlock", + "src": "4886:177:43", + "statements": [ + { + "nativeSrc": "4934:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4934:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4964:5:43", + "nodeType": "YulIdentifier", + "src": "4964:5:43" + }, + { + "kind": "number", + "nativeSrc": "4971:4:43", + "nodeType": "YulLiteral", + "src": "4971:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4960:3:43", + "nodeType": "YulIdentifier", + "src": "4960:3:43" + }, + "nativeSrc": "4960:16:43", + "nodeType": "YulFunctionCall", + "src": "4960:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4954:5:43", + "nodeType": "YulIdentifier", + "src": "4954:5:43" + }, + "nativeSrc": "4954:23:43", + "nodeType": "YulFunctionCall", + "src": "4954:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4938:12:43", + "nodeType": "YulTypedName", + "src": "4938:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5024:12:43", + "nodeType": "YulIdentifier", + "src": "5024:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5042:3:43", + "nodeType": "YulIdentifier", + "src": "5042:3:43" + }, + { + "kind": "number", + "nativeSrc": "5047:4:43", + "nodeType": "YulLiteral", + "src": "5047:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5038:3:43", + "nodeType": "YulIdentifier", + "src": "5038:3:43" + }, + "nativeSrc": "5038:14:43", + "nodeType": "YulFunctionCall", + "src": "5038:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4990:33:43", + "nodeType": "YulIdentifier", + "src": "4990:33:43" + }, + "nativeSrc": "4990:63:43", + "nodeType": "YulFunctionCall", + "src": "4990:63:43" + }, + "nativeSrc": "4990:63:43", + "nodeType": "YulExpressionStatement", + "src": "4990:63:43" + } + ] + }, + { + "nativeSrc": "5073:171:43", + "nodeType": "YulBlock", + "src": "5073:171:43", + "statements": [ + { + "nativeSrc": "5115:43:43", + "nodeType": "YulVariableDeclaration", + "src": "5115:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5145:5:43", + "nodeType": "YulIdentifier", + "src": "5145:5:43" + }, + { + "kind": "number", + "nativeSrc": "5152:4:43", + "nodeType": "YulLiteral", + "src": "5152:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5141:3:43", + "nodeType": "YulIdentifier", + "src": "5141:3:43" + }, + "nativeSrc": "5141:16:43", + "nodeType": "YulFunctionCall", + "src": "5141:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5135:5:43", + "nodeType": "YulIdentifier", + "src": "5135:5:43" + }, + "nativeSrc": "5135:23:43", + "nodeType": "YulFunctionCall", + "src": "5135:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5119:12:43", + "nodeType": "YulTypedName", + "src": "5119:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5205:12:43", + "nodeType": "YulIdentifier", + "src": "5205:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5223:3:43", + "nodeType": "YulIdentifier", + "src": "5223:3:43" + }, + { + "kind": "number", + "nativeSrc": "5228:4:43", + "nodeType": "YulLiteral", + "src": "5228:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5219:3:43", + "nodeType": "YulIdentifier", + "src": "5219:3:43" + }, + "nativeSrc": "5219:14:43", + "nodeType": "YulFunctionCall", + "src": "5219:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "5171:33:43", + "nodeType": "YulIdentifier", + "src": "5171:33:43" + }, + "nativeSrc": "5171:63:43", + "nodeType": "YulFunctionCall", + "src": "5171:63:43" + }, + "nativeSrc": "5171:63:43", + "nodeType": "YulExpressionStatement", + "src": "5171:63:43" + } + ] + }, + { + "nativeSrc": "5254:174:43", + "nodeType": "YulBlock", + "src": "5254:174:43", + "statements": [ + { + "nativeSrc": "5299:43:43", + "nodeType": "YulVariableDeclaration", + "src": "5299:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5329:5:43", + "nodeType": "YulIdentifier", + "src": "5329:5:43" + }, + { + "kind": "number", + "nativeSrc": "5336:4:43", + "nodeType": "YulLiteral", + "src": "5336:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5325:3:43", + "nodeType": "YulIdentifier", + "src": "5325:3:43" + }, + "nativeSrc": "5325:16:43", + "nodeType": "YulFunctionCall", + "src": "5325:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5319:5:43", + "nodeType": "YulIdentifier", + "src": "5319:5:43" + }, + "nativeSrc": "5319:23:43", + "nodeType": "YulFunctionCall", + "src": "5319:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5303:12:43", + "nodeType": "YulTypedName", + "src": "5303:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5389:12:43", + "nodeType": "YulIdentifier", + "src": "5389:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5407:3:43", + "nodeType": "YulIdentifier", + "src": "5407:3:43" + }, + { + "kind": "number", + "nativeSrc": "5412:4:43", + "nodeType": "YulLiteral", + "src": "5412:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5403:3:43", + "nodeType": "YulIdentifier", + "src": "5403:3:43" + }, + "nativeSrc": "5403:14:43", + "nodeType": "YulFunctionCall", + "src": "5403:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "5355:33:43", + "nodeType": "YulIdentifier", + "src": "5355:33:43" + }, + "nativeSrc": "5355:63:43", + "nodeType": "YulFunctionCall", + "src": "5355:63:43" + }, + "nativeSrc": "5355:63:43", + "nodeType": "YulExpressionStatement", + "src": "5355:63:43" + } + ] + }, + { + "nativeSrc": "5438:186:43", + "nodeType": "YulBlock", + "src": "5438:186:43", + "statements": [ + { + "nativeSrc": "5480:43:43", + "nodeType": "YulVariableDeclaration", + "src": "5480:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5510:5:43", + "nodeType": "YulIdentifier", + "src": "5510:5:43" + }, + { + "kind": "number", + "nativeSrc": "5517:4:43", + "nodeType": "YulLiteral", + "src": "5517:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5506:3:43", + "nodeType": "YulIdentifier", + "src": "5506:3:43" + }, + "nativeSrc": "5506:16:43", + "nodeType": "YulFunctionCall", + "src": "5506:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5500:5:43", + "nodeType": "YulIdentifier", + "src": "5500:5:43" + }, + "nativeSrc": "5500:23:43", + "nodeType": "YulFunctionCall", + "src": "5500:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5484:12:43", + "nodeType": "YulTypedName", + "src": "5484:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5585:12:43", + "nodeType": "YulIdentifier", + "src": "5585:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5603:3:43", + "nodeType": "YulIdentifier", + "src": "5603:3:43" + }, + { + "kind": "number", + "nativeSrc": "5608:4:43", + "nodeType": "YulLiteral", + "src": "5608:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5599:3:43", + "nodeType": "YulIdentifier", + "src": "5599:3:43" + }, + "nativeSrc": "5599:14:43", + "nodeType": "YulFunctionCall", + "src": "5599:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "5536:48:43", + "nodeType": "YulIdentifier", + "src": "5536:48:43" + }, + "nativeSrc": "5536:78:43", + "nodeType": "YulFunctionCall", + "src": "5536:78:43" + }, + "nativeSrc": "5536:78:43", + "nodeType": "YulExpressionStatement", + "src": "5536:78:43" + } + ] + }, + { + "nativeSrc": "5634:234:43", + "nodeType": "YulBlock", + "src": "5634:234:43", + "statements": [ + { + "nativeSrc": "5668:43:43", + "nodeType": "YulVariableDeclaration", + "src": "5668:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5698:5:43", + "nodeType": "YulIdentifier", + "src": "5698:5:43" + }, + { + "kind": "number", + "nativeSrc": "5705:4:43", + "nodeType": "YulLiteral", + "src": "5705:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5694:3:43", + "nodeType": "YulIdentifier", + "src": "5694:3:43" + }, + "nativeSrc": "5694:16:43", + "nodeType": "YulFunctionCall", + "src": "5694:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5688:5:43", + "nodeType": "YulIdentifier", + "src": "5688:5:43" + }, + "nativeSrc": "5688:23:43", + "nodeType": "YulFunctionCall", + "src": "5688:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "5672:12:43", + "nodeType": "YulTypedName", + "src": "5672:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5736:3:43", + "nodeType": "YulIdentifier", + "src": "5736:3:43" + }, + { + "kind": "number", + "nativeSrc": "5741:4:43", + "nodeType": "YulLiteral", + "src": "5741:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5732:3:43", + "nodeType": "YulIdentifier", + "src": "5732:3:43" + }, + "nativeSrc": "5732:14:43", + "nodeType": "YulFunctionCall", + "src": "5732:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5752:4:43", + "nodeType": "YulIdentifier", + "src": "5752:4:43" + }, + { + "name": "pos", + "nativeSrc": "5758:3:43", + "nodeType": "YulIdentifier", + "src": "5758:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5748:3:43", + "nodeType": "YulIdentifier", + "src": "5748:3:43" + }, + "nativeSrc": "5748:14:43", + "nodeType": "YulFunctionCall", + "src": "5748:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5725:6:43", + "nodeType": "YulIdentifier", + "src": "5725:6:43" + }, + "nativeSrc": "5725:38:43", + "nodeType": "YulFunctionCall", + "src": "5725:38:43" + }, + "nativeSrc": "5725:38:43", + "nodeType": "YulExpressionStatement", + "src": "5725:38:43" + }, + { + "nativeSrc": "5776:81:43", + "nodeType": "YulAssignment", + "src": "5776:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "5838:12:43", + "nodeType": "YulIdentifier", + "src": "5838:12:43" + }, + { + "name": "tail", + "nativeSrc": "5852:4:43", + "nodeType": "YulIdentifier", + "src": "5852:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "5784:53:43", + "nodeType": "YulIdentifier", + "src": "5784:53:43" + }, + "nativeSrc": "5784:73:43", + "nodeType": "YulFunctionCall", + "src": "5784:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5776:4:43", + "nodeType": "YulIdentifier", + "src": "5776:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "5878:11:43", + "nodeType": "YulAssignment", + "src": "5878:11:43", + "value": { + "name": "tail", + "nativeSrc": "5885:4:43", + "nodeType": "YulIdentifier", + "src": "5885:4:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "5878:3:43", + "nodeType": "YulIdentifier", + "src": "5878:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "4080:1815:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4193:5:43", + "nodeType": "YulTypedName", + "src": "4193:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4200:3:43", + "nodeType": "YulTypedName", + "src": "4200:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "4209:3:43", + "nodeType": "YulTypedName", + "src": "4209:3:43", + "type": "" + } + ], + "src": "4080:1815:43" + }, + { + "body": { + "nativeSrc": "6059:235:43", + "nodeType": "YulBlock", + "src": "6059:235:43", + "statements": [ + { + "nativeSrc": "6069:26:43", + "nodeType": "YulAssignment", + "src": "6069:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6081:9:43", + "nodeType": "YulIdentifier", + "src": "6081:9:43" + }, + { + "kind": "number", + "nativeSrc": "6092:2:43", + "nodeType": "YulLiteral", + "src": "6092:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6077:3:43", + "nodeType": "YulIdentifier", + "src": "6077:3:43" + }, + "nativeSrc": "6077:18:43", + "nodeType": "YulFunctionCall", + "src": "6077:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6069:4:43", + "nodeType": "YulIdentifier", + "src": "6069:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6116:9:43", + "nodeType": "YulIdentifier", + "src": "6116:9:43" + }, + { + "kind": "number", + "nativeSrc": "6127:1:43", + "nodeType": "YulLiteral", + "src": "6127:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6112:3:43", + "nodeType": "YulIdentifier", + "src": "6112:3:43" + }, + "nativeSrc": "6112:17:43", + "nodeType": "YulFunctionCall", + "src": "6112:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6135:4:43", + "nodeType": "YulIdentifier", + "src": "6135:4:43" + }, + { + "name": "headStart", + "nativeSrc": "6141:9:43", + "nodeType": "YulIdentifier", + "src": "6141:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6131:3:43", + "nodeType": "YulIdentifier", + "src": "6131:3:43" + }, + "nativeSrc": "6131:20:43", + "nodeType": "YulFunctionCall", + "src": "6131:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6105:6:43", + "nodeType": "YulIdentifier", + "src": "6105:6:43" + }, + "nativeSrc": "6105:47:43", + "nodeType": "YulFunctionCall", + "src": "6105:47:43" + }, + "nativeSrc": "6105:47:43", + "nodeType": "YulExpressionStatement", + "src": "6105:47:43" + }, + { + "nativeSrc": "6161:126:43", + "nodeType": "YulAssignment", + "src": "6161:126:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6273:6:43", + "nodeType": "YulIdentifier", + "src": "6273:6:43" + }, + { + "name": "tail", + "nativeSrc": "6282:4:43", + "nodeType": "YulIdentifier", + "src": "6282:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "6169:103:43", + "nodeType": "YulIdentifier", + "src": "6169:103:43" + }, + "nativeSrc": "6169:118:43", + "nodeType": "YulFunctionCall", + "src": "6169:118:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6161:4:43", + "nodeType": "YulIdentifier", + "src": "6161:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed", + "nativeSrc": "5901:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6031:9:43", + "nodeType": "YulTypedName", + "src": "6031:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6043:6:43", + "nodeType": "YulTypedName", + "src": "6043:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6054:4:43", + "nodeType": "YulTypedName", + "src": "6054:4:43", + "type": "" + } + ], + "src": "5901:393:43" + }, + { + "body": { + "nativeSrc": "6389:28:43", + "nodeType": "YulBlock", + "src": "6389:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6406:1:43", + "nodeType": "YulLiteral", + "src": "6406:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6409:1:43", + "nodeType": "YulLiteral", + "src": "6409:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6399:6:43", + "nodeType": "YulIdentifier", + "src": "6399:6:43" + }, + "nativeSrc": "6399:12:43", + "nodeType": "YulFunctionCall", + "src": "6399:12:43" + }, + "nativeSrc": "6399:12:43", + "nodeType": "YulExpressionStatement", + "src": "6399:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6300:117:43", + "nodeType": "YulFunctionDefinition", + "src": "6300:117:43" + }, + { + "body": { + "nativeSrc": "6451:152:43", + "nodeType": "YulBlock", + "src": "6451:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6468:1:43", + "nodeType": "YulLiteral", + "src": "6468:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6471:77:43", + "nodeType": "YulLiteral", + "src": "6471:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6461:6:43", + "nodeType": "YulIdentifier", + "src": "6461:6:43" + }, + "nativeSrc": "6461:88:43", + "nodeType": "YulFunctionCall", + "src": "6461:88:43" + }, + "nativeSrc": "6461:88:43", + "nodeType": "YulExpressionStatement", + "src": "6461:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6565:1:43", + "nodeType": "YulLiteral", + "src": "6565:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6568:4:43", + "nodeType": "YulLiteral", + "src": "6568:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6558:6:43", + "nodeType": "YulIdentifier", + "src": "6558:6:43" + }, + "nativeSrc": "6558:15:43", + "nodeType": "YulFunctionCall", + "src": "6558:15:43" + }, + "nativeSrc": "6558:15:43", + "nodeType": "YulExpressionStatement", + "src": "6558:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6589:1:43", + "nodeType": "YulLiteral", + "src": "6589:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6592:4:43", + "nodeType": "YulLiteral", + "src": "6592:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6582:6:43", + "nodeType": "YulIdentifier", + "src": "6582:6:43" + }, + "nativeSrc": "6582:15:43", + "nodeType": "YulFunctionCall", + "src": "6582:15:43" + }, + "nativeSrc": "6582:15:43", + "nodeType": "YulExpressionStatement", + "src": "6582:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "6423:180:43", + "nodeType": "YulFunctionDefinition", + "src": "6423:180:43" + }, + { + "body": { + "nativeSrc": "6652:238:43", + "nodeType": "YulBlock", + "src": "6652:238:43", + "statements": [ + { + "nativeSrc": "6662:58:43", + "nodeType": "YulVariableDeclaration", + "src": "6662:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6684:6:43", + "nodeType": "YulIdentifier", + "src": "6684:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "6714:4:43", + "nodeType": "YulIdentifier", + "src": "6714:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "6692:21:43", + "nodeType": "YulIdentifier", + "src": "6692:21:43" + }, + "nativeSrc": "6692:27:43", + "nodeType": "YulFunctionCall", + "src": "6692:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6680:3:43", + "nodeType": "YulIdentifier", + "src": "6680:3:43" + }, + "nativeSrc": "6680:40:43", + "nodeType": "YulFunctionCall", + "src": "6680:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "6666:10:43", + "nodeType": "YulTypedName", + "src": "6666:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6831:22:43", + "nodeType": "YulBlock", + "src": "6831:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "6833:16:43", + "nodeType": "YulIdentifier", + "src": "6833:16:43" + }, + "nativeSrc": "6833:18:43", + "nodeType": "YulFunctionCall", + "src": "6833:18:43" + }, + "nativeSrc": "6833:18:43", + "nodeType": "YulExpressionStatement", + "src": "6833:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "6774:10:43", + "nodeType": "YulIdentifier", + "src": "6774:10:43" + }, + { + "kind": "number", + "nativeSrc": "6786:18:43", + "nodeType": "YulLiteral", + "src": "6786:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6771:2:43", + "nodeType": "YulIdentifier", + "src": "6771:2:43" + }, + "nativeSrc": "6771:34:43", + "nodeType": "YulFunctionCall", + "src": "6771:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "6810:10:43", + "nodeType": "YulIdentifier", + "src": "6810:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "6822:6:43", + "nodeType": "YulIdentifier", + "src": "6822:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6807:2:43", + "nodeType": "YulIdentifier", + "src": "6807:2:43" + }, + "nativeSrc": "6807:22:43", + "nodeType": "YulFunctionCall", + "src": "6807:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "6768:2:43", + "nodeType": "YulIdentifier", + "src": "6768:2:43" + }, + "nativeSrc": "6768:62:43", + "nodeType": "YulFunctionCall", + "src": "6768:62:43" + }, + "nativeSrc": "6765:88:43", + "nodeType": "YulIf", + "src": "6765:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6869:2:43", + "nodeType": "YulLiteral", + "src": "6869:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "6873:10:43", + "nodeType": "YulIdentifier", + "src": "6873:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6862:6:43", + "nodeType": "YulIdentifier", + "src": "6862:6:43" + }, + "nativeSrc": "6862:22:43", + "nodeType": "YulFunctionCall", + "src": "6862:22:43" + }, + "nativeSrc": "6862:22:43", + "nodeType": "YulExpressionStatement", + "src": "6862:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "6609:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "6638:6:43", + "nodeType": "YulTypedName", + "src": "6638:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "6646:4:43", + "nodeType": "YulTypedName", + "src": "6646:4:43", + "type": "" + } + ], + "src": "6609:281:43" + }, + { + "body": { + "nativeSrc": "6937:88:43", + "nodeType": "YulBlock", + "src": "6937:88:43", + "statements": [ + { + "nativeSrc": "6947:30:43", + "nodeType": "YulAssignment", + "src": "6947:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "6957:18:43", + "nodeType": "YulIdentifier", + "src": "6957:18:43" + }, + "nativeSrc": "6957:20:43", + "nodeType": "YulFunctionCall", + "src": "6957:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "6947:6:43", + "nodeType": "YulIdentifier", + "src": "6947:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "7006:6:43", + "nodeType": "YulIdentifier", + "src": "7006:6:43" + }, + { + "name": "size", + "nativeSrc": "7014:4:43", + "nodeType": "YulIdentifier", + "src": "7014:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "6986:19:43", + "nodeType": "YulIdentifier", + "src": "6986:19:43" + }, + "nativeSrc": "6986:33:43", + "nodeType": "YulFunctionCall", + "src": "6986:33:43" + }, + "nativeSrc": "6986:33:43", + "nodeType": "YulExpressionStatement", + "src": "6986:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "6896:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "6921:4:43", + "nodeType": "YulTypedName", + "src": "6921:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "6930:6:43", + "nodeType": "YulTypedName", + "src": "6930:6:43", + "type": "" + } + ], + "src": "6896:129:43" + }, + { + "body": { + "nativeSrc": "7113:229:43", + "nodeType": "YulBlock", + "src": "7113:229:43", + "statements": [ + { + "body": { + "nativeSrc": "7218:22:43", + "nodeType": "YulBlock", + "src": "7218:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7220:16:43", + "nodeType": "YulIdentifier", + "src": "7220:16:43" + }, + "nativeSrc": "7220:18:43", + "nodeType": "YulFunctionCall", + "src": "7220:18:43" + }, + "nativeSrc": "7220:18:43", + "nodeType": "YulExpressionStatement", + "src": "7220:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7190:6:43", + "nodeType": "YulIdentifier", + "src": "7190:6:43" + }, + { + "kind": "number", + "nativeSrc": "7198:18:43", + "nodeType": "YulLiteral", + "src": "7198:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7187:2:43", + "nodeType": "YulIdentifier", + "src": "7187:2:43" + }, + "nativeSrc": "7187:30:43", + "nodeType": "YulFunctionCall", + "src": "7187:30:43" + }, + "nativeSrc": "7184:56:43", + "nodeType": "YulIf", + "src": "7184:56:43" + }, + { + "nativeSrc": "7250:25:43", + "nodeType": "YulAssignment", + "src": "7250:25:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7262:6:43", + "nodeType": "YulIdentifier", + "src": "7262:6:43" + }, + { + "kind": "number", + "nativeSrc": "7270:4:43", + "nodeType": "YulLiteral", + "src": "7270:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7258:3:43", + "nodeType": "YulIdentifier", + "src": "7258:3:43" + }, + "nativeSrc": "7258:17:43", + "nodeType": "YulFunctionCall", + "src": "7258:17:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7250:4:43", + "nodeType": "YulIdentifier", + "src": "7250:4:43" + } + ] + }, + { + "nativeSrc": "7312:23:43", + "nodeType": "YulAssignment", + "src": "7312:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "7324:4:43", + "nodeType": "YulIdentifier", + "src": "7324:4:43" + }, + { + "kind": "number", + "nativeSrc": "7330:4:43", + "nodeType": "YulLiteral", + "src": "7330:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7320:3:43", + "nodeType": "YulIdentifier", + "src": "7320:3:43" + }, + "nativeSrc": "7320:15:43", + "nodeType": "YulFunctionCall", + "src": "7320:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7312:4:43", + "nodeType": "YulIdentifier", + "src": "7312:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7031:311:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "7097:6:43", + "nodeType": "YulTypedName", + "src": "7097:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "7108:4:43", + "nodeType": "YulTypedName", + "src": "7108:4:43", + "type": "" + } + ], + "src": "7031:311:43" + }, + { + "body": { + "nativeSrc": "7437:28:43", + "nodeType": "YulBlock", + "src": "7437:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7454:1:43", + "nodeType": "YulLiteral", + "src": "7454:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7457:1:43", + "nodeType": "YulLiteral", + "src": "7457:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7447:6:43", + "nodeType": "YulIdentifier", + "src": "7447:6:43" + }, + "nativeSrc": "7447:12:43", + "nodeType": "YulFunctionCall", + "src": "7447:12:43" + }, + "nativeSrc": "7447:12:43", + "nodeType": "YulExpressionStatement", + "src": "7447:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7348:117:43", + "nodeType": "YulFunctionDefinition", + "src": "7348:117:43" + }, + { + "body": { + "nativeSrc": "7590:608:43", + "nodeType": "YulBlock", + "src": "7590:608:43", + "statements": [ + { + "nativeSrc": "7600:90:43", + "nodeType": "YulAssignment", + "src": "7600:90:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7682:6:43", + "nodeType": "YulIdentifier", + "src": "7682:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7625:56:43", + "nodeType": "YulIdentifier", + "src": "7625:56:43" + }, + "nativeSrc": "7625:64:43", + "nodeType": "YulFunctionCall", + "src": "7625:64:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "7609:15:43", + "nodeType": "YulIdentifier", + "src": "7609:15:43" + }, + "nativeSrc": "7609:81:43", + "nodeType": "YulFunctionCall", + "src": "7609:81:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "7600:5:43", + "nodeType": "YulIdentifier", + "src": "7600:5:43" + } + ] + }, + { + "nativeSrc": "7699:16:43", + "nodeType": "YulVariableDeclaration", + "src": "7699:16:43", + "value": { + "name": "array", + "nativeSrc": "7710:5:43", + "nodeType": "YulIdentifier", + "src": "7710:5:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "7703:3:43", + "nodeType": "YulTypedName", + "src": "7703:3:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "7732:5:43", + "nodeType": "YulIdentifier", + "src": "7732:5:43" + }, + { + "name": "length", + "nativeSrc": "7739:6:43", + "nodeType": "YulIdentifier", + "src": "7739:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7725:6:43", + "nodeType": "YulIdentifier", + "src": "7725:6:43" + }, + "nativeSrc": "7725:21:43", + "nodeType": "YulFunctionCall", + "src": "7725:21:43" + }, + "nativeSrc": "7725:21:43", + "nodeType": "YulExpressionStatement", + "src": "7725:21:43" + }, + { + "nativeSrc": "7755:23:43", + "nodeType": "YulAssignment", + "src": "7755:23:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "7766:5:43", + "nodeType": "YulIdentifier", + "src": "7766:5:43" + }, + { + "kind": "number", + "nativeSrc": "7773:4:43", + "nodeType": "YulLiteral", + "src": "7773:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7762:3:43", + "nodeType": "YulIdentifier", + "src": "7762:3:43" + }, + "nativeSrc": "7762:16:43", + "nodeType": "YulFunctionCall", + "src": "7762:16:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "7755:3:43", + "nodeType": "YulIdentifier", + "src": "7755:3:43" + } + ] + }, + { + "nativeSrc": "7788:44:43", + "nodeType": "YulVariableDeclaration", + "src": "7788:44:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7806:6:43", + "nodeType": "YulIdentifier", + "src": "7806:6:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7818:6:43", + "nodeType": "YulIdentifier", + "src": "7818:6:43" + }, + { + "kind": "number", + "nativeSrc": "7826:4:43", + "nodeType": "YulLiteral", + "src": "7826:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7814:3:43", + "nodeType": "YulIdentifier", + "src": "7814:3:43" + }, + "nativeSrc": "7814:17:43", + "nodeType": "YulFunctionCall", + "src": "7814:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7802:3:43", + "nodeType": "YulIdentifier", + "src": "7802:3:43" + }, + "nativeSrc": "7802:30:43", + "nodeType": "YulFunctionCall", + "src": "7802:30:43" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "7792:6:43", + "nodeType": "YulTypedName", + "src": "7792:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7860:103:43", + "nodeType": "YulBlock", + "src": "7860:103:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7874:77:43", + "nodeType": "YulIdentifier", + "src": "7874:77:43" + }, + "nativeSrc": "7874:79:43", + "nodeType": "YulFunctionCall", + "src": "7874:79:43" + }, + "nativeSrc": "7874:79:43", + "nodeType": "YulExpressionStatement", + "src": "7874:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "7847:6:43", + "nodeType": "YulIdentifier", + "src": "7847:6:43" + }, + { + "name": "end", + "nativeSrc": "7855:3:43", + "nodeType": "YulIdentifier", + "src": "7855:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7844:2:43", + "nodeType": "YulIdentifier", + "src": "7844:2:43" + }, + "nativeSrc": "7844:15:43", + "nodeType": "YulFunctionCall", + "src": "7844:15:43" + }, + "nativeSrc": "7841:122:43", + "nodeType": "YulIf", + "src": "7841:122:43" + }, + { + "body": { + "nativeSrc": "8048:144:43", + "nodeType": "YulBlock", + "src": "8048:144:43", + "statements": [ + { + "nativeSrc": "8063:21:43", + "nodeType": "YulVariableDeclaration", + "src": "8063:21:43", + "value": { + "name": "src", + "nativeSrc": "8081:3:43", + "nodeType": "YulIdentifier", + "src": "8081:3:43" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "8067:10:43", + "nodeType": "YulTypedName", + "src": "8067:10:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8105:3:43", + "nodeType": "YulIdentifier", + "src": "8105:3:43" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "8131:10:43", + "nodeType": "YulIdentifier", + "src": "8131:10:43" + }, + { + "name": "end", + "nativeSrc": "8143:3:43", + "nodeType": "YulIdentifier", + "src": "8143:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8110:20:43", + "nodeType": "YulIdentifier", + "src": "8110:20:43" + }, + "nativeSrc": "8110:37:43", + "nodeType": "YulFunctionCall", + "src": "8110:37:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8098:6:43", + "nodeType": "YulIdentifier", + "src": "8098:6:43" + }, + "nativeSrc": "8098:50:43", + "nodeType": "YulFunctionCall", + "src": "8098:50:43" + }, + "nativeSrc": "8098:50:43", + "nodeType": "YulExpressionStatement", + "src": "8098:50:43" + }, + { + "nativeSrc": "8161:21:43", + "nodeType": "YulAssignment", + "src": "8161:21:43", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8172:3:43", + "nodeType": "YulIdentifier", + "src": "8172:3:43" + }, + { + "kind": "number", + "nativeSrc": "8177:4:43", + "nodeType": "YulLiteral", + "src": "8177:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8168:3:43", + "nodeType": "YulIdentifier", + "src": "8168:3:43" + }, + "nativeSrc": "8168:14:43", + "nodeType": "YulFunctionCall", + "src": "8168:14:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "8161:3:43", + "nodeType": "YulIdentifier", + "src": "8161:3:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8001:3:43", + "nodeType": "YulIdentifier", + "src": "8001:3:43" + }, + { + "name": "srcEnd", + "nativeSrc": "8006:6:43", + "nodeType": "YulIdentifier", + "src": "8006:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7998:2:43", + "nodeType": "YulIdentifier", + "src": "7998:2:43" + }, + "nativeSrc": "7998:15:43", + "nodeType": "YulFunctionCall", + "src": "7998:15:43" + }, + "nativeSrc": "7972:220:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8014:25:43", + "nodeType": "YulBlock", + "src": "8014:25:43", + "statements": [ + { + "nativeSrc": "8016:21:43", + "nodeType": "YulAssignment", + "src": "8016:21:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8027:3:43", + "nodeType": "YulIdentifier", + "src": "8027:3:43" + }, + { + "kind": "number", + "nativeSrc": "8032:4:43", + "nodeType": "YulLiteral", + "src": "8032:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8023:3:43", + "nodeType": "YulIdentifier", + "src": "8023:3:43" + }, + "nativeSrc": "8023:14:43", + "nodeType": "YulFunctionCall", + "src": "8023:14:43" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "8016:3:43", + "nodeType": "YulIdentifier", + "src": "8016:3:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7976:21:43", + "nodeType": "YulBlock", + "src": "7976:21:43", + "statements": [ + { + "nativeSrc": "7978:17:43", + "nodeType": "YulVariableDeclaration", + "src": "7978:17:43", + "value": { + "name": "offset", + "nativeSrc": "7989:6:43", + "nodeType": "YulIdentifier", + "src": "7989:6:43" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "7982:3:43", + "nodeType": "YulTypedName", + "src": "7982:3:43", + "type": "" + } + ] + } + ] + }, + "src": "7972:220:43" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "7488:710:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "7560:6:43", + "nodeType": "YulTypedName", + "src": "7560:6:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "7568:6:43", + "nodeType": "YulTypedName", + "src": "7568:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "7576:3:43", + "nodeType": "YulTypedName", + "src": "7576:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "7584:5:43", + "nodeType": "YulTypedName", + "src": "7584:5:43", + "type": "" + } + ], + "src": "7488:710:43" + }, + { + "body": { + "nativeSrc": "8298:293:43", + "nodeType": "YulBlock", + "src": "8298:293:43", + "statements": [ + { + "body": { + "nativeSrc": "8347:83:43", + "nodeType": "YulBlock", + "src": "8347:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "8349:77:43", + "nodeType": "YulIdentifier", + "src": "8349:77:43" + }, + "nativeSrc": "8349:79:43", + "nodeType": "YulFunctionCall", + "src": "8349:79:43" + }, + "nativeSrc": "8349:79:43", + "nodeType": "YulExpressionStatement", + "src": "8349:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8326:6:43", + "nodeType": "YulIdentifier", + "src": "8326:6:43" + }, + { + "kind": "number", + "nativeSrc": "8334:4:43", + "nodeType": "YulLiteral", + "src": "8334:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8322:3:43", + "nodeType": "YulIdentifier", + "src": "8322:3:43" + }, + "nativeSrc": "8322:17:43", + "nodeType": "YulFunctionCall", + "src": "8322:17:43" + }, + { + "name": "end", + "nativeSrc": "8341:3:43", + "nodeType": "YulIdentifier", + "src": "8341:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8318:3:43", + "nodeType": "YulIdentifier", + "src": "8318:3:43" + }, + "nativeSrc": "8318:27:43", + "nodeType": "YulFunctionCall", + "src": "8318:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8311:6:43", + "nodeType": "YulIdentifier", + "src": "8311:6:43" + }, + "nativeSrc": "8311:35:43", + "nodeType": "YulFunctionCall", + "src": "8311:35:43" + }, + "nativeSrc": "8308:122:43", + "nodeType": "YulIf", + "src": "8308:122:43" + }, + { + "nativeSrc": "8439:34:43", + "nodeType": "YulVariableDeclaration", + "src": "8439:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8466:6:43", + "nodeType": "YulIdentifier", + "src": "8466:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8453:12:43", + "nodeType": "YulIdentifier", + "src": "8453:12:43" + }, + "nativeSrc": "8453:20:43", + "nodeType": "YulFunctionCall", + "src": "8453:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "8443:6:43", + "nodeType": "YulTypedName", + "src": "8443:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8482:103:43", + "nodeType": "YulAssignment", + "src": "8482:103:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8558:6:43", + "nodeType": "YulIdentifier", + "src": "8558:6:43" + }, + { + "kind": "number", + "nativeSrc": "8566:4:43", + "nodeType": "YulLiteral", + "src": "8566:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8554:3:43", + "nodeType": "YulIdentifier", + "src": "8554:3:43" + }, + "nativeSrc": "8554:17:43", + "nodeType": "YulFunctionCall", + "src": "8554:17:43" + }, + { + "name": "length", + "nativeSrc": "8573:6:43", + "nodeType": "YulIdentifier", + "src": "8573:6:43" + }, + { + "name": "end", + "nativeSrc": "8581:3:43", + "nodeType": "YulIdentifier", + "src": "8581:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8491:62:43", + "nodeType": "YulIdentifier", + "src": "8491:62:43" + }, + "nativeSrc": "8491:94:43", + "nodeType": "YulFunctionCall", + "src": "8491:94:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8482:5:43", + "nodeType": "YulIdentifier", + "src": "8482:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8221:370:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8276:6:43", + "nodeType": "YulTypedName", + "src": "8276:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8284:3:43", + "nodeType": "YulTypedName", + "src": "8284:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8292:5:43", + "nodeType": "YulTypedName", + "src": "8292:5:43", + "type": "" + } + ], + "src": "8221:370:43" + }, + { + "body": { + "nativeSrc": "8688:448:43", + "nodeType": "YulBlock", + "src": "8688:448:43", + "statements": [ + { + "body": { + "nativeSrc": "8734:83:43", + "nodeType": "YulBlock", + "src": "8734:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8736:77:43", + "nodeType": "YulIdentifier", + "src": "8736:77:43" + }, + "nativeSrc": "8736:79:43", + "nodeType": "YulFunctionCall", + "src": "8736:79:43" + }, + "nativeSrc": "8736:79:43", + "nodeType": "YulExpressionStatement", + "src": "8736:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8709:7:43", + "nodeType": "YulIdentifier", + "src": "8709:7:43" + }, + { + "name": "headStart", + "nativeSrc": "8718:9:43", + "nodeType": "YulIdentifier", + "src": "8718:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8705:3:43", + "nodeType": "YulIdentifier", + "src": "8705:3:43" + }, + "nativeSrc": "8705:23:43", + "nodeType": "YulFunctionCall", + "src": "8705:23:43" + }, + { + "kind": "number", + "nativeSrc": "8730:2:43", + "nodeType": "YulLiteral", + "src": "8730:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8701:3:43", + "nodeType": "YulIdentifier", + "src": "8701:3:43" + }, + "nativeSrc": "8701:32:43", + "nodeType": "YulFunctionCall", + "src": "8701:32:43" + }, + "nativeSrc": "8698:119:43", + "nodeType": "YulIf", + "src": "8698:119:43" + }, + { + "nativeSrc": "8827:302:43", + "nodeType": "YulBlock", + "src": "8827:302:43", + "statements": [ + { + "nativeSrc": "8842:45:43", + "nodeType": "YulVariableDeclaration", + "src": "8842:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8873:9:43", + "nodeType": "YulIdentifier", + "src": "8873:9:43" + }, + { + "kind": "number", + "nativeSrc": "8884:1:43", + "nodeType": "YulLiteral", + "src": "8884:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8869:3:43", + "nodeType": "YulIdentifier", + "src": "8869:3:43" + }, + "nativeSrc": "8869:17:43", + "nodeType": "YulFunctionCall", + "src": "8869:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8856:12:43", + "nodeType": "YulIdentifier", + "src": "8856:12:43" + }, + "nativeSrc": "8856:31:43", + "nodeType": "YulFunctionCall", + "src": "8856:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8846:6:43", + "nodeType": "YulTypedName", + "src": "8846:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8934:83:43", + "nodeType": "YulBlock", + "src": "8934:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "8936:77:43", + "nodeType": "YulIdentifier", + "src": "8936:77:43" + }, + "nativeSrc": "8936:79:43", + "nodeType": "YulFunctionCall", + "src": "8936:79:43" + }, + "nativeSrc": "8936:79:43", + "nodeType": "YulExpressionStatement", + "src": "8936:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8906:6:43", + "nodeType": "YulIdentifier", + "src": "8906:6:43" + }, + { + "kind": "number", + "nativeSrc": "8914:18:43", + "nodeType": "YulLiteral", + "src": "8914:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8903:2:43", + "nodeType": "YulIdentifier", + "src": "8903:2:43" + }, + "nativeSrc": "8903:30:43", + "nodeType": "YulFunctionCall", + "src": "8903:30:43" + }, + "nativeSrc": "8900:117:43", + "nodeType": "YulIf", + "src": "8900:117:43" + }, + { + "nativeSrc": "9031:88:43", + "nodeType": "YulAssignment", + "src": "9031:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9091:9:43", + "nodeType": "YulIdentifier", + "src": "9091:9:43" + }, + { + "name": "offset", + "nativeSrc": "9102:6:43", + "nodeType": "YulIdentifier", + "src": "9102:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9087:3:43", + "nodeType": "YulIdentifier", + "src": "9087:3:43" + }, + "nativeSrc": "9087:22:43", + "nodeType": "YulFunctionCall", + "src": "9087:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "9111:7:43", + "nodeType": "YulIdentifier", + "src": "9111:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "9041:45:43", + "nodeType": "YulIdentifier", + "src": "9041:45:43" + }, + "nativeSrc": "9041:78:43", + "nodeType": "YulFunctionCall", + "src": "9041:78:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9031:6:43", + "nodeType": "YulIdentifier", + "src": "9031:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "8597:539:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8658:9:43", + "nodeType": "YulTypedName", + "src": "8658:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8669:7:43", + "nodeType": "YulTypedName", + "src": "8669:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8681:6:43", + "nodeType": "YulTypedName", + "src": "8681:6:43", + "type": "" + } + ], + "src": "8597:539:43" + }, + { + "body": { + "nativeSrc": "9185:79:43", + "nodeType": "YulBlock", + "src": "9185:79:43", + "statements": [ + { + "body": { + "nativeSrc": "9242:16:43", + "nodeType": "YulBlock", + "src": "9242:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9251:1:43", + "nodeType": "YulLiteral", + "src": "9251:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9254:1:43", + "nodeType": "YulLiteral", + "src": "9254:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9244:6:43", + "nodeType": "YulIdentifier", + "src": "9244:6:43" + }, + "nativeSrc": "9244:12:43", + "nodeType": "YulFunctionCall", + "src": "9244:12:43" + }, + "nativeSrc": "9244:12:43", + "nodeType": "YulExpressionStatement", + "src": "9244:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9208:5:43", + "nodeType": "YulIdentifier", + "src": "9208:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9233:5:43", + "nodeType": "YulIdentifier", + "src": "9233:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "9215:17:43", + "nodeType": "YulIdentifier", + "src": "9215:17:43" + }, + "nativeSrc": "9215:24:43", + "nodeType": "YulFunctionCall", + "src": "9215:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9205:2:43", + "nodeType": "YulIdentifier", + "src": "9205:2:43" + }, + "nativeSrc": "9205:35:43", + "nodeType": "YulFunctionCall", + "src": "9205:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9198:6:43", + "nodeType": "YulIdentifier", + "src": "9198:6:43" + }, + "nativeSrc": "9198:43:43", + "nodeType": "YulFunctionCall", + "src": "9198:43:43" + }, + "nativeSrc": "9195:63:43", + "nodeType": "YulIf", + "src": "9195:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "9142:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9178:5:43", + "nodeType": "YulTypedName", + "src": "9178:5:43", + "type": "" + } + ], + "src": "9142:122:43" + }, + { + "body": { + "nativeSrc": "9322:87:43", + "nodeType": "YulBlock", + "src": "9322:87:43", + "statements": [ + { + "nativeSrc": "9332:29:43", + "nodeType": "YulAssignment", + "src": "9332:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9354:6:43", + "nodeType": "YulIdentifier", + "src": "9354:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9341:12:43", + "nodeType": "YulIdentifier", + "src": "9341:12:43" + }, + "nativeSrc": "9341:20:43", + "nodeType": "YulFunctionCall", + "src": "9341:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9332:5:43", + "nodeType": "YulIdentifier", + "src": "9332:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9397:5:43", + "nodeType": "YulIdentifier", + "src": "9397:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "9370:26:43", + "nodeType": "YulIdentifier", + "src": "9370:26:43" + }, + "nativeSrc": "9370:33:43", + "nodeType": "YulFunctionCall", + "src": "9370:33:43" + }, + "nativeSrc": "9370:33:43", + "nodeType": "YulExpressionStatement", + "src": "9370:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "9270:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9300:6:43", + "nodeType": "YulTypedName", + "src": "9300:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9308:3:43", + "nodeType": "YulTypedName", + "src": "9308:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9316:5:43", + "nodeType": "YulTypedName", + "src": "9316:5:43", + "type": "" + } + ], + "src": "9270:139:43" + }, + { + "body": { + "nativeSrc": "9504:28:43", + "nodeType": "YulBlock", + "src": "9504:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9521:1:43", + "nodeType": "YulLiteral", + "src": "9521:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9524:1:43", + "nodeType": "YulLiteral", + "src": "9524:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9514:6:43", + "nodeType": "YulIdentifier", + "src": "9514:6:43" + }, + "nativeSrc": "9514:12:43", + "nodeType": "YulFunctionCall", + "src": "9514:12:43" + }, + "nativeSrc": "9514:12:43", + "nodeType": "YulExpressionStatement", + "src": "9514:12:43" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "9415:117:43", + "nodeType": "YulFunctionDefinition", + "src": "9415:117:43" + }, + { + "body": { + "nativeSrc": "9645:478:43", + "nodeType": "YulBlock", + "src": "9645:478:43", + "statements": [ + { + "body": { + "nativeSrc": "9694:83:43", + "nodeType": "YulBlock", + "src": "9694:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "9696:77:43", + "nodeType": "YulIdentifier", + "src": "9696:77:43" + }, + "nativeSrc": "9696:79:43", + "nodeType": "YulFunctionCall", + "src": "9696:79:43" + }, + "nativeSrc": "9696:79:43", + "nodeType": "YulExpressionStatement", + "src": "9696:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9673:6:43", + "nodeType": "YulIdentifier", + "src": "9673:6:43" + }, + { + "kind": "number", + "nativeSrc": "9681:4:43", + "nodeType": "YulLiteral", + "src": "9681:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9669:3:43", + "nodeType": "YulIdentifier", + "src": "9669:3:43" + }, + "nativeSrc": "9669:17:43", + "nodeType": "YulFunctionCall", + "src": "9669:17:43" + }, + { + "name": "end", + "nativeSrc": "9688:3:43", + "nodeType": "YulIdentifier", + "src": "9688:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9665:3:43", + "nodeType": "YulIdentifier", + "src": "9665:3:43" + }, + "nativeSrc": "9665:27:43", + "nodeType": "YulFunctionCall", + "src": "9665:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9658:6:43", + "nodeType": "YulIdentifier", + "src": "9658:6:43" + }, + "nativeSrc": "9658:35:43", + "nodeType": "YulFunctionCall", + "src": "9658:35:43" + }, + "nativeSrc": "9655:122:43", + "nodeType": "YulIf", + "src": "9655:122:43" + }, + { + "nativeSrc": "9786:30:43", + "nodeType": "YulAssignment", + "src": "9786:30:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9809:6:43", + "nodeType": "YulIdentifier", + "src": "9809:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9796:12:43", + "nodeType": "YulIdentifier", + "src": "9796:12:43" + }, + "nativeSrc": "9796:20:43", + "nodeType": "YulFunctionCall", + "src": "9796:20:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "9786:6:43", + "nodeType": "YulIdentifier", + "src": "9786:6:43" + } + ] + }, + { + "body": { + "nativeSrc": "9859:83:43", + "nodeType": "YulBlock", + "src": "9859:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "9861:77:43", + "nodeType": "YulIdentifier", + "src": "9861:77:43" + }, + "nativeSrc": "9861:79:43", + "nodeType": "YulFunctionCall", + "src": "9861:79:43" + }, + "nativeSrc": "9861:79:43", + "nodeType": "YulExpressionStatement", + "src": "9861:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "9831:6:43", + "nodeType": "YulIdentifier", + "src": "9831:6:43" + }, + { + "kind": "number", + "nativeSrc": "9839:18:43", + "nodeType": "YulLiteral", + "src": "9839:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9828:2:43", + "nodeType": "YulIdentifier", + "src": "9828:2:43" + }, + "nativeSrc": "9828:30:43", + "nodeType": "YulFunctionCall", + "src": "9828:30:43" + }, + "nativeSrc": "9825:117:43", + "nodeType": "YulIf", + "src": "9825:117:43" + }, + { + "nativeSrc": "9951:29:43", + "nodeType": "YulAssignment", + "src": "9951:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9967:6:43", + "nodeType": "YulIdentifier", + "src": "9967:6:43" + }, + { + "kind": "number", + "nativeSrc": "9975:4:43", + "nodeType": "YulLiteral", + "src": "9975:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9963:3:43", + "nodeType": "YulIdentifier", + "src": "9963:3:43" + }, + "nativeSrc": "9963:17:43", + "nodeType": "YulFunctionCall", + "src": "9963:17:43" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "9951:8:43", + "nodeType": "YulIdentifier", + "src": "9951:8:43" + } + ] + }, + { + "body": { + "nativeSrc": "10034:83:43", + "nodeType": "YulBlock", + "src": "10034:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "10036:77:43", + "nodeType": "YulIdentifier", + "src": "10036:77:43" + }, + "nativeSrc": "10036:79:43", + "nodeType": "YulFunctionCall", + "src": "10036:79:43" + }, + "nativeSrc": "10036:79:43", + "nodeType": "YulExpressionStatement", + "src": "10036:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "9999:8:43", + "nodeType": "YulIdentifier", + "src": "9999:8:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10013:6:43", + "nodeType": "YulIdentifier", + "src": "10013:6:43" + }, + { + "kind": "number", + "nativeSrc": "10021:4:43", + "nodeType": "YulLiteral", + "src": "10021:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10009:3:43", + "nodeType": "YulIdentifier", + "src": "10009:3:43" + }, + "nativeSrc": "10009:17:43", + "nodeType": "YulFunctionCall", + "src": "10009:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9995:3:43", + "nodeType": "YulIdentifier", + "src": "9995:3:43" + }, + "nativeSrc": "9995:32:43", + "nodeType": "YulFunctionCall", + "src": "9995:32:43" + }, + { + "name": "end", + "nativeSrc": "10029:3:43", + "nodeType": "YulIdentifier", + "src": "10029:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9992:2:43", + "nodeType": "YulIdentifier", + "src": "9992:2:43" + }, + "nativeSrc": "9992:41:43", + "nodeType": "YulFunctionCall", + "src": "9992:41:43" + }, + "nativeSrc": "9989:128:43", + "nodeType": "YulIf", + "src": "9989:128:43" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "9555:568:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9612:6:43", + "nodeType": "YulTypedName", + "src": "9612:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9620:3:43", + "nodeType": "YulTypedName", + "src": "9620:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "9628:8:43", + "nodeType": "YulTypedName", + "src": "9628:8:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9638:6:43", + "nodeType": "YulTypedName", + "src": "9638:6:43", + "type": "" + } + ], + "src": "9555:568:43" + }, + { + "body": { + "nativeSrc": "10264:714:43", + "nodeType": "YulBlock", + "src": "10264:714:43", + "statements": [ + { + "body": { + "nativeSrc": "10310:83:43", + "nodeType": "YulBlock", + "src": "10310:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10312:77:43", + "nodeType": "YulIdentifier", + "src": "10312:77:43" + }, + "nativeSrc": "10312:79:43", + "nodeType": "YulFunctionCall", + "src": "10312:79:43" + }, + "nativeSrc": "10312:79:43", + "nodeType": "YulExpressionStatement", + "src": "10312:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10285:7:43", + "nodeType": "YulIdentifier", + "src": "10285:7:43" + }, + { + "name": "headStart", + "nativeSrc": "10294:9:43", + "nodeType": "YulIdentifier", + "src": "10294:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10281:3:43", + "nodeType": "YulIdentifier", + "src": "10281:3:43" + }, + "nativeSrc": "10281:23:43", + "nodeType": "YulFunctionCall", + "src": "10281:23:43" + }, + { + "kind": "number", + "nativeSrc": "10306:2:43", + "nodeType": "YulLiteral", + "src": "10306:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10277:3:43", + "nodeType": "YulIdentifier", + "src": "10277:3:43" + }, + "nativeSrc": "10277:32:43", + "nodeType": "YulFunctionCall", + "src": "10277:32:43" + }, + "nativeSrc": "10274:119:43", + "nodeType": "YulIf", + "src": "10274:119:43" + }, + { + "nativeSrc": "10403:117:43", + "nodeType": "YulBlock", + "src": "10403:117:43", + "statements": [ + { + "nativeSrc": "10418:15:43", + "nodeType": "YulVariableDeclaration", + "src": "10418:15:43", + "value": { + "kind": "number", + "nativeSrc": "10432:1:43", + "nodeType": "YulLiteral", + "src": "10432:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10422:6:43", + "nodeType": "YulTypedName", + "src": "10422:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10447:63:43", + "nodeType": "YulAssignment", + "src": "10447:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10482:9:43", + "nodeType": "YulIdentifier", + "src": "10482:9:43" + }, + { + "name": "offset", + "nativeSrc": "10493:6:43", + "nodeType": "YulIdentifier", + "src": "10493:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10478:3:43", + "nodeType": "YulIdentifier", + "src": "10478:3:43" + }, + "nativeSrc": "10478:22:43", + "nodeType": "YulFunctionCall", + "src": "10478:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10502:7:43", + "nodeType": "YulIdentifier", + "src": "10502:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10457:20:43", + "nodeType": "YulIdentifier", + "src": "10457:20:43" + }, + "nativeSrc": "10457:53:43", + "nodeType": "YulFunctionCall", + "src": "10457:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10447:6:43", + "nodeType": "YulIdentifier", + "src": "10447:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10530:118:43", + "nodeType": "YulBlock", + "src": "10530:118:43", + "statements": [ + { + "nativeSrc": "10545:16:43", + "nodeType": "YulVariableDeclaration", + "src": "10545:16:43", + "value": { + "kind": "number", + "nativeSrc": "10559:2:43", + "nodeType": "YulLiteral", + "src": "10559:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10549:6:43", + "nodeType": "YulTypedName", + "src": "10549:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10575:63:43", + "nodeType": "YulAssignment", + "src": "10575:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10610:9:43", + "nodeType": "YulIdentifier", + "src": "10610:9:43" + }, + { + "name": "offset", + "nativeSrc": "10621:6:43", + "nodeType": "YulIdentifier", + "src": "10621:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10606:3:43", + "nodeType": "YulIdentifier", + "src": "10606:3:43" + }, + "nativeSrc": "10606:22:43", + "nodeType": "YulFunctionCall", + "src": "10606:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10630:7:43", + "nodeType": "YulIdentifier", + "src": "10630:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "10585:20:43", + "nodeType": "YulIdentifier", + "src": "10585:20:43" + }, + "nativeSrc": "10585:53:43", + "nodeType": "YulFunctionCall", + "src": "10585:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "10575:6:43", + "nodeType": "YulIdentifier", + "src": "10575:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10658:313:43", + "nodeType": "YulBlock", + "src": "10658:313:43", + "statements": [ + { + "nativeSrc": "10673:46:43", + "nodeType": "YulVariableDeclaration", + "src": "10673:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10704:9:43", + "nodeType": "YulIdentifier", + "src": "10704:9:43" + }, + { + "kind": "number", + "nativeSrc": "10715:2:43", + "nodeType": "YulLiteral", + "src": "10715:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10700:3:43", + "nodeType": "YulIdentifier", + "src": "10700:3:43" + }, + "nativeSrc": "10700:18:43", + "nodeType": "YulFunctionCall", + "src": "10700:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10687:12:43", + "nodeType": "YulIdentifier", + "src": "10687:12:43" + }, + "nativeSrc": "10687:32:43", + "nodeType": "YulFunctionCall", + "src": "10687:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10677:6:43", + "nodeType": "YulTypedName", + "src": "10677:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10766:83:43", + "nodeType": "YulBlock", + "src": "10766:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "10768:77:43", + "nodeType": "YulIdentifier", + "src": "10768:77:43" + }, + "nativeSrc": "10768:79:43", + "nodeType": "YulFunctionCall", + "src": "10768:79:43" + }, + "nativeSrc": "10768:79:43", + "nodeType": "YulExpressionStatement", + "src": "10768:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10738:6:43", + "nodeType": "YulIdentifier", + "src": "10738:6:43" + }, + { + "kind": "number", + "nativeSrc": "10746:18:43", + "nodeType": "YulLiteral", + "src": "10746:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10735:2:43", + "nodeType": "YulIdentifier", + "src": "10735:2:43" + }, + "nativeSrc": "10735:30:43", + "nodeType": "YulFunctionCall", + "src": "10735:30:43" + }, + "nativeSrc": "10732:117:43", + "nodeType": "YulIf", + "src": "10732:117:43" + }, + { + "nativeSrc": "10863:98:43", + "nodeType": "YulAssignment", + "src": "10863:98:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10933:9:43", + "nodeType": "YulIdentifier", + "src": "10933:9:43" + }, + { + "name": "offset", + "nativeSrc": "10944:6:43", + "nodeType": "YulIdentifier", + "src": "10944:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10929:3:43", + "nodeType": "YulIdentifier", + "src": "10929:3:43" + }, + "nativeSrc": "10929:22:43", + "nodeType": "YulFunctionCall", + "src": "10929:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10953:7:43", + "nodeType": "YulIdentifier", + "src": "10953:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "10881:47:43", + "nodeType": "YulIdentifier", + "src": "10881:47:43" + }, + "nativeSrc": "10881:80:43", + "nodeType": "YulFunctionCall", + "src": "10881:80:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "10863:6:43", + "nodeType": "YulIdentifier", + "src": "10863:6:43" + }, + { + "name": "value3", + "nativeSrc": "10871:6:43", + "nodeType": "YulIdentifier", + "src": "10871:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "10129:849:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10210:9:43", + "nodeType": "YulTypedName", + "src": "10210:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10221:7:43", + "nodeType": "YulTypedName", + "src": "10221:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10233:6:43", + "nodeType": "YulTypedName", + "src": "10233:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "10241:6:43", + "nodeType": "YulTypedName", + "src": "10241:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "10249:6:43", + "nodeType": "YulTypedName", + "src": "10249:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "10257:6:43", + "nodeType": "YulTypedName", + "src": "10257:6:43", + "type": "" + } + ], + "src": "10129:849:43" + }, + { + "body": { + "nativeSrc": "11080:73:43", + "nodeType": "YulBlock", + "src": "11080:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11097:3:43", + "nodeType": "YulIdentifier", + "src": "11097:3:43" + }, + { + "name": "length", + "nativeSrc": "11102:6:43", + "nodeType": "YulIdentifier", + "src": "11102:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11090:6:43", + "nodeType": "YulIdentifier", + "src": "11090:6:43" + }, + "nativeSrc": "11090:19:43", + "nodeType": "YulFunctionCall", + "src": "11090:19:43" + }, + "nativeSrc": "11090:19:43", + "nodeType": "YulExpressionStatement", + "src": "11090:19:43" + }, + { + "nativeSrc": "11118:29:43", + "nodeType": "YulAssignment", + "src": "11118:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11137:3:43", + "nodeType": "YulIdentifier", + "src": "11137:3:43" + }, + { + "kind": "number", + "nativeSrc": "11142:4:43", + "nodeType": "YulLiteral", + "src": "11142:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11133:3:43", + "nodeType": "YulIdentifier", + "src": "11133:3:43" + }, + "nativeSrc": "11133:14:43", + "nodeType": "YulFunctionCall", + "src": "11133:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "11118:11:43", + "nodeType": "YulIdentifier", + "src": "11118:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "10984:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "11052:3:43", + "nodeType": "YulTypedName", + "src": "11052:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11057:6:43", + "nodeType": "YulTypedName", + "src": "11057:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "11068:11:43", + "nodeType": "YulTypedName", + "src": "11068:11:43", + "type": "" + } + ], + "src": "10984:169:43" + }, + { + "body": { + "nativeSrc": "11251:285:43", + "nodeType": "YulBlock", + "src": "11251:285:43", + "statements": [ + { + "nativeSrc": "11261:53:43", + "nodeType": "YulVariableDeclaration", + "src": "11261:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "11308:5:43", + "nodeType": "YulIdentifier", + "src": "11308:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "11275:32:43", + "nodeType": "YulIdentifier", + "src": "11275:32:43" + }, + "nativeSrc": "11275:39:43", + "nodeType": "YulFunctionCall", + "src": "11275:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "11265:6:43", + "nodeType": "YulTypedName", + "src": "11265:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "11323:78:43", + "nodeType": "YulAssignment", + "src": "11323:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11389:3:43", + "nodeType": "YulIdentifier", + "src": "11389:3:43" + }, + { + "name": "length", + "nativeSrc": "11394:6:43", + "nodeType": "YulIdentifier", + "src": "11394:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "11330:58:43", + "nodeType": "YulIdentifier", + "src": "11330:58:43" + }, + "nativeSrc": "11330:71:43", + "nodeType": "YulFunctionCall", + "src": "11330:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11323:3:43", + "nodeType": "YulIdentifier", + "src": "11323:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11449:5:43", + "nodeType": "YulIdentifier", + "src": "11449:5:43" + }, + { + "kind": "number", + "nativeSrc": "11456:4:43", + "nodeType": "YulLiteral", + "src": "11456:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11445:3:43", + "nodeType": "YulIdentifier", + "src": "11445:3:43" + }, + "nativeSrc": "11445:16:43", + "nodeType": "YulFunctionCall", + "src": "11445:16:43" + }, + { + "name": "pos", + "nativeSrc": "11463:3:43", + "nodeType": "YulIdentifier", + "src": "11463:3:43" + }, + { + "name": "length", + "nativeSrc": "11468:6:43", + "nodeType": "YulIdentifier", + "src": "11468:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "11410:34:43", + "nodeType": "YulIdentifier", + "src": "11410:34:43" + }, + "nativeSrc": "11410:65:43", + "nodeType": "YulFunctionCall", + "src": "11410:65:43" + }, + "nativeSrc": "11410:65:43", + "nodeType": "YulExpressionStatement", + "src": "11410:65:43" + }, + { + "nativeSrc": "11484:46:43", + "nodeType": "YulAssignment", + "src": "11484:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11495:3:43", + "nodeType": "YulIdentifier", + "src": "11495:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "11522:6:43", + "nodeType": "YulIdentifier", + "src": "11522:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11500:21:43", + "nodeType": "YulIdentifier", + "src": "11500:21:43" + }, + "nativeSrc": "11500:29:43", + "nodeType": "YulFunctionCall", + "src": "11500:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11491:3:43", + "nodeType": "YulIdentifier", + "src": "11491:3:43" + }, + "nativeSrc": "11491:39:43", + "nodeType": "YulFunctionCall", + "src": "11491:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11484:3:43", + "nodeType": "YulIdentifier", + "src": "11484:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11159:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11232:5:43", + "nodeType": "YulTypedName", + "src": "11232:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11239:3:43", + "nodeType": "YulTypedName", + "src": "11239:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11247:3:43", + "nodeType": "YulTypedName", + "src": "11247:3:43", + "type": "" + } + ], + "src": "11159:377:43" + }, + { + "body": { + "nativeSrc": "11660:195:43", + "nodeType": "YulBlock", + "src": "11660:195:43", + "statements": [ + { + "nativeSrc": "11670:26:43", + "nodeType": "YulAssignment", + "src": "11670:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11682:9:43", + "nodeType": "YulIdentifier", + "src": "11682:9:43" + }, + { + "kind": "number", + "nativeSrc": "11693:2:43", + "nodeType": "YulLiteral", + "src": "11693:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11678:3:43", + "nodeType": "YulIdentifier", + "src": "11678:3:43" + }, + "nativeSrc": "11678:18:43", + "nodeType": "YulFunctionCall", + "src": "11678:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11670:4:43", + "nodeType": "YulIdentifier", + "src": "11670:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11717:9:43", + "nodeType": "YulIdentifier", + "src": "11717:9:43" + }, + { + "kind": "number", + "nativeSrc": "11728:1:43", + "nodeType": "YulLiteral", + "src": "11728:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11713:3:43", + "nodeType": "YulIdentifier", + "src": "11713:3:43" + }, + "nativeSrc": "11713:17:43", + "nodeType": "YulFunctionCall", + "src": "11713:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11736:4:43", + "nodeType": "YulIdentifier", + "src": "11736:4:43" + }, + { + "name": "headStart", + "nativeSrc": "11742:9:43", + "nodeType": "YulIdentifier", + "src": "11742:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11732:3:43", + "nodeType": "YulIdentifier", + "src": "11732:3:43" + }, + "nativeSrc": "11732:20:43", + "nodeType": "YulFunctionCall", + "src": "11732:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11706:6:43", + "nodeType": "YulIdentifier", + "src": "11706:6:43" + }, + "nativeSrc": "11706:47:43", + "nodeType": "YulFunctionCall", + "src": "11706:47:43" + }, + "nativeSrc": "11706:47:43", + "nodeType": "YulExpressionStatement", + "src": "11706:47:43" + }, + { + "nativeSrc": "11762:86:43", + "nodeType": "YulAssignment", + "src": "11762:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "11834:6:43", + "nodeType": "YulIdentifier", + "src": "11834:6:43" + }, + { + "name": "tail", + "nativeSrc": "11843:4:43", + "nodeType": "YulIdentifier", + "src": "11843:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11770:63:43", + "nodeType": "YulIdentifier", + "src": "11770:63:43" + }, + "nativeSrc": "11770:78:43", + "nodeType": "YulFunctionCall", + "src": "11770:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11762:4:43", + "nodeType": "YulIdentifier", + "src": "11762:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11542:313:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11632:9:43", + "nodeType": "YulTypedName", + "src": "11632:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "11644:6:43", + "nodeType": "YulTypedName", + "src": "11644:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11655:4:43", + "nodeType": "YulTypedName", + "src": "11655:4:43", + "type": "" + } + ], + "src": "11542:313:43" + }, + { + "body": { + "nativeSrc": "11926:53:43", + "nodeType": "YulBlock", + "src": "11926:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11943:3:43", + "nodeType": "YulIdentifier", + "src": "11943:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11966:5:43", + "nodeType": "YulIdentifier", + "src": "11966:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "11948:17:43", + "nodeType": "YulIdentifier", + "src": "11948:17:43" + }, + "nativeSrc": "11948:24:43", + "nodeType": "YulFunctionCall", + "src": "11948:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11936:6:43", + "nodeType": "YulIdentifier", + "src": "11936:6:43" + }, + "nativeSrc": "11936:37:43", + "nodeType": "YulFunctionCall", + "src": "11936:37:43" + }, + "nativeSrc": "11936:37:43", + "nodeType": "YulExpressionStatement", + "src": "11936:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "11861:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11914:5:43", + "nodeType": "YulTypedName", + "src": "11914:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "11921:3:43", + "nodeType": "YulTypedName", + "src": "11921:3:43", + "type": "" + } + ], + "src": "11861:118:43" + }, + { + "body": { + "nativeSrc": "12083:124:43", + "nodeType": "YulBlock", + "src": "12083:124:43", + "statements": [ + { + "nativeSrc": "12093:26:43", + "nodeType": "YulAssignment", + "src": "12093:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12105:9:43", + "nodeType": "YulIdentifier", + "src": "12105:9:43" + }, + { + "kind": "number", + "nativeSrc": "12116:2:43", + "nodeType": "YulLiteral", + "src": "12116:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12101:3:43", + "nodeType": "YulIdentifier", + "src": "12101:3:43" + }, + "nativeSrc": "12101:18:43", + "nodeType": "YulFunctionCall", + "src": "12101:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12093:4:43", + "nodeType": "YulIdentifier", + "src": "12093:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "12173:6:43", + "nodeType": "YulIdentifier", + "src": "12173:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12186:9:43", + "nodeType": "YulIdentifier", + "src": "12186:9:43" + }, + { + "kind": "number", + "nativeSrc": "12197:1:43", + "nodeType": "YulLiteral", + "src": "12197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12182:3:43", + "nodeType": "YulIdentifier", + "src": "12182:3:43" + }, + "nativeSrc": "12182:17:43", + "nodeType": "YulFunctionCall", + "src": "12182:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "12129:43:43", + "nodeType": "YulIdentifier", + "src": "12129:43:43" + }, + "nativeSrc": "12129:71:43", + "nodeType": "YulFunctionCall", + "src": "12129:71:43" + }, + "nativeSrc": "12129:71:43", + "nodeType": "YulExpressionStatement", + "src": "12129:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "11985:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12055:9:43", + "nodeType": "YulTypedName", + "src": "12055:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "12067:6:43", + "nodeType": "YulTypedName", + "src": "12067:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12078:4:43", + "nodeType": "YulTypedName", + "src": "12078:4:43", + "type": "" + } + ], + "src": "11985:222:43" + }, + { + "body": { + "nativeSrc": "12302:28:43", + "nodeType": "YulBlock", + "src": "12302:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12319:1:43", + "nodeType": "YulLiteral", + "src": "12319:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12322:1:43", + "nodeType": "YulLiteral", + "src": "12322:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12312:6:43", + "nodeType": "YulIdentifier", + "src": "12312:6:43" + }, + "nativeSrc": "12312:12:43", + "nodeType": "YulFunctionCall", + "src": "12312:12:43" + }, + "nativeSrc": "12312:12:43", + "nodeType": "YulExpressionStatement", + "src": "12312:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "12213:117:43", + "nodeType": "YulFunctionDefinition", + "src": "12213:117:43" + }, + { + "body": { + "nativeSrc": "12402:241:43", + "nodeType": "YulBlock", + "src": "12402:241:43", + "statements": [ + { + "body": { + "nativeSrc": "12507:22:43", + "nodeType": "YulBlock", + "src": "12507:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "12509:16:43", + "nodeType": "YulIdentifier", + "src": "12509:16:43" + }, + "nativeSrc": "12509:18:43", + "nodeType": "YulFunctionCall", + "src": "12509:18:43" + }, + "nativeSrc": "12509:18:43", + "nodeType": "YulExpressionStatement", + "src": "12509:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12479:6:43", + "nodeType": "YulIdentifier", + "src": "12479:6:43" + }, + { + "kind": "number", + "nativeSrc": "12487:18:43", + "nodeType": "YulLiteral", + "src": "12487:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12476:2:43", + "nodeType": "YulIdentifier", + "src": "12476:2:43" + }, + "nativeSrc": "12476:30:43", + "nodeType": "YulFunctionCall", + "src": "12476:30:43" + }, + "nativeSrc": "12473:56:43", + "nodeType": "YulIf", + "src": "12473:56:43" + }, + { + "nativeSrc": "12539:37:43", + "nodeType": "YulAssignment", + "src": "12539:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12569:6:43", + "nodeType": "YulIdentifier", + "src": "12569:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "12547:21:43", + "nodeType": "YulIdentifier", + "src": "12547:21:43" + }, + "nativeSrc": "12547:29:43", + "nodeType": "YulFunctionCall", + "src": "12547:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "12539:4:43", + "nodeType": "YulIdentifier", + "src": "12539:4:43" + } + ] + }, + { + "nativeSrc": "12613:23:43", + "nodeType": "YulAssignment", + "src": "12613:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "12625:4:43", + "nodeType": "YulIdentifier", + "src": "12625:4:43" + }, + { + "kind": "number", + "nativeSrc": "12631:4:43", + "nodeType": "YulLiteral", + "src": "12631:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12621:3:43", + "nodeType": "YulIdentifier", + "src": "12621:3:43" + }, + "nativeSrc": "12621:15:43", + "nodeType": "YulFunctionCall", + "src": "12621:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "12613:4:43", + "nodeType": "YulIdentifier", + "src": "12613:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "12336:307:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "12386:6:43", + "nodeType": "YulTypedName", + "src": "12386:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "12397:4:43", + "nodeType": "YulTypedName", + "src": "12397:4:43", + "type": "" + } + ], + "src": "12336:307:43" + }, + { + "body": { + "nativeSrc": "12713:82:43", + "nodeType": "YulBlock", + "src": "12713:82:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "12736:3:43", + "nodeType": "YulIdentifier", + "src": "12736:3:43" + }, + { + "name": "src", + "nativeSrc": "12741:3:43", + "nodeType": "YulIdentifier", + "src": "12741:3:43" + }, + { + "name": "length", + "nativeSrc": "12746:6:43", + "nodeType": "YulIdentifier", + "src": "12746:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "12723:12:43", + "nodeType": "YulIdentifier", + "src": "12723:12:43" + }, + "nativeSrc": "12723:30:43", + "nodeType": "YulFunctionCall", + "src": "12723:30:43" + }, + "nativeSrc": "12723:30:43", + "nodeType": "YulExpressionStatement", + "src": "12723:30:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "12773:3:43", + "nodeType": "YulIdentifier", + "src": "12773:3:43" + }, + { + "name": "length", + "nativeSrc": "12778:6:43", + "nodeType": "YulIdentifier", + "src": "12778:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12769:3:43", + "nodeType": "YulIdentifier", + "src": "12769:3:43" + }, + "nativeSrc": "12769:16:43", + "nodeType": "YulFunctionCall", + "src": "12769:16:43" + }, + { + "kind": "number", + "nativeSrc": "12787:1:43", + "nodeType": "YulLiteral", + "src": "12787:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12762:6:43", + "nodeType": "YulIdentifier", + "src": "12762:6:43" + }, + "nativeSrc": "12762:27:43", + "nodeType": "YulFunctionCall", + "src": "12762:27:43" + }, + "nativeSrc": "12762:27:43", + "nodeType": "YulExpressionStatement", + "src": "12762:27:43" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "12649:146:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "12695:3:43", + "nodeType": "YulTypedName", + "src": "12695:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "12700:3:43", + "nodeType": "YulTypedName", + "src": "12700:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "12705:6:43", + "nodeType": "YulTypedName", + "src": "12705:6:43", + "type": "" + } + ], + "src": "12649:146:43" + }, + { + "body": { + "nativeSrc": "12884:340:43", + "nodeType": "YulBlock", + "src": "12884:340:43", + "statements": [ + { + "nativeSrc": "12894:74:43", + "nodeType": "YulAssignment", + "src": "12894:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12960:6:43", + "nodeType": "YulIdentifier", + "src": "12960:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "12919:40:43", + "nodeType": "YulIdentifier", + "src": "12919:40:43" + }, + "nativeSrc": "12919:48:43", + "nodeType": "YulFunctionCall", + "src": "12919:48:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "12903:15:43", + "nodeType": "YulIdentifier", + "src": "12903:15:43" + }, + "nativeSrc": "12903:65:43", + "nodeType": "YulFunctionCall", + "src": "12903:65:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "12894:5:43", + "nodeType": "YulIdentifier", + "src": "12894:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "12984:5:43", + "nodeType": "YulIdentifier", + "src": "12984:5:43" + }, + { + "name": "length", + "nativeSrc": "12991:6:43", + "nodeType": "YulIdentifier", + "src": "12991:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12977:6:43", + "nodeType": "YulIdentifier", + "src": "12977:6:43" + }, + "nativeSrc": "12977:21:43", + "nodeType": "YulFunctionCall", + "src": "12977:21:43" + }, + "nativeSrc": "12977:21:43", + "nodeType": "YulExpressionStatement", + "src": "12977:21:43" + }, + { + "nativeSrc": "13007:27:43", + "nodeType": "YulVariableDeclaration", + "src": "13007:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13022:5:43", + "nodeType": "YulIdentifier", + "src": "13022:5:43" + }, + { + "kind": "number", + "nativeSrc": "13029:4:43", + "nodeType": "YulLiteral", + "src": "13029:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13018:3:43", + "nodeType": "YulIdentifier", + "src": "13018:3:43" + }, + "nativeSrc": "13018:16:43", + "nodeType": "YulFunctionCall", + "src": "13018:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "13011:3:43", + "nodeType": "YulTypedName", + "src": "13011:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13072:83:43", + "nodeType": "YulBlock", + "src": "13072:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "13074:77:43", + "nodeType": "YulIdentifier", + "src": "13074:77:43" + }, + "nativeSrc": "13074:79:43", + "nodeType": "YulFunctionCall", + "src": "13074:79:43" + }, + "nativeSrc": "13074:79:43", + "nodeType": "YulExpressionStatement", + "src": "13074:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "13053:3:43", + "nodeType": "YulIdentifier", + "src": "13053:3:43" + }, + { + "name": "length", + "nativeSrc": "13058:6:43", + "nodeType": "YulIdentifier", + "src": "13058:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13049:3:43", + "nodeType": "YulIdentifier", + "src": "13049:3:43" + }, + "nativeSrc": "13049:16:43", + "nodeType": "YulFunctionCall", + "src": "13049:16:43" + }, + { + "name": "end", + "nativeSrc": "13067:3:43", + "nodeType": "YulIdentifier", + "src": "13067:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13046:2:43", + "nodeType": "YulIdentifier", + "src": "13046:2:43" + }, + "nativeSrc": "13046:25:43", + "nodeType": "YulFunctionCall", + "src": "13046:25:43" + }, + "nativeSrc": "13043:112:43", + "nodeType": "YulIf", + "src": "13043:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13201:3:43", + "nodeType": "YulIdentifier", + "src": "13201:3:43" + }, + { + "name": "dst", + "nativeSrc": "13206:3:43", + "nodeType": "YulIdentifier", + "src": "13206:3:43" + }, + { + "name": "length", + "nativeSrc": "13211:6:43", + "nodeType": "YulIdentifier", + "src": "13211:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "13164:36:43", + "nodeType": "YulIdentifier", + "src": "13164:36:43" + }, + "nativeSrc": "13164:54:43", + "nodeType": "YulFunctionCall", + "src": "13164:54:43" + }, + "nativeSrc": "13164:54:43", + "nodeType": "YulExpressionStatement", + "src": "13164:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "12801:423:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "12857:3:43", + "nodeType": "YulTypedName", + "src": "12857:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "12862:6:43", + "nodeType": "YulTypedName", + "src": "12862:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "12870:3:43", + "nodeType": "YulTypedName", + "src": "12870:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "12878:5:43", + "nodeType": "YulTypedName", + "src": "12878:5:43", + "type": "" + } + ], + "src": "12801:423:43" + }, + { + "body": { + "nativeSrc": "13304:277:43", + "nodeType": "YulBlock", + "src": "13304:277:43", + "statements": [ + { + "body": { + "nativeSrc": "13353:83:43", + "nodeType": "YulBlock", + "src": "13353:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "13355:77:43", + "nodeType": "YulIdentifier", + "src": "13355:77:43" + }, + "nativeSrc": "13355:79:43", + "nodeType": "YulFunctionCall", + "src": "13355:79:43" + }, + "nativeSrc": "13355:79:43", + "nodeType": "YulExpressionStatement", + "src": "13355:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13332:6:43", + "nodeType": "YulIdentifier", + "src": "13332:6:43" + }, + { + "kind": "number", + "nativeSrc": "13340:4:43", + "nodeType": "YulLiteral", + "src": "13340:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13328:3:43", + "nodeType": "YulIdentifier", + "src": "13328:3:43" + }, + "nativeSrc": "13328:17:43", + "nodeType": "YulFunctionCall", + "src": "13328:17:43" + }, + { + "name": "end", + "nativeSrc": "13347:3:43", + "nodeType": "YulIdentifier", + "src": "13347:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "13324:3:43", + "nodeType": "YulIdentifier", + "src": "13324:3:43" + }, + "nativeSrc": "13324:27:43", + "nodeType": "YulFunctionCall", + "src": "13324:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "13317:6:43", + "nodeType": "YulIdentifier", + "src": "13317:6:43" + }, + "nativeSrc": "13317:35:43", + "nodeType": "YulFunctionCall", + "src": "13317:35:43" + }, + "nativeSrc": "13314:122:43", + "nodeType": "YulIf", + "src": "13314:122:43" + }, + { + "nativeSrc": "13445:34:43", + "nodeType": "YulVariableDeclaration", + "src": "13445:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13472:6:43", + "nodeType": "YulIdentifier", + "src": "13472:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "13459:12:43", + "nodeType": "YulIdentifier", + "src": "13459:12:43" + }, + "nativeSrc": "13459:20:43", + "nodeType": "YulFunctionCall", + "src": "13459:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "13449:6:43", + "nodeType": "YulTypedName", + "src": "13449:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "13488:87:43", + "nodeType": "YulAssignment", + "src": "13488:87:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13548:6:43", + "nodeType": "YulIdentifier", + "src": "13548:6:43" + }, + { + "kind": "number", + "nativeSrc": "13556:4:43", + "nodeType": "YulLiteral", + "src": "13556:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13544:3:43", + "nodeType": "YulIdentifier", + "src": "13544:3:43" + }, + "nativeSrc": "13544:17:43", + "nodeType": "YulFunctionCall", + "src": "13544:17:43" + }, + { + "name": "length", + "nativeSrc": "13563:6:43", + "nodeType": "YulIdentifier", + "src": "13563:6:43" + }, + { + "name": "end", + "nativeSrc": "13571:3:43", + "nodeType": "YulIdentifier", + "src": "13571:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "13497:46:43", + "nodeType": "YulIdentifier", + "src": "13497:46:43" + }, + "nativeSrc": "13497:78:43", + "nodeType": "YulFunctionCall", + "src": "13497:78:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "13488:5:43", + "nodeType": "YulIdentifier", + "src": "13488:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "13243:338:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13282:6:43", + "nodeType": "YulTypedName", + "src": "13282:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "13290:3:43", + "nodeType": "YulTypedName", + "src": "13290:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "13298:5:43", + "nodeType": "YulTypedName", + "src": "13298:5:43", + "type": "" + } + ], + "src": "13243:338:43" + }, + { + "body": { + "nativeSrc": "13730:946:43", + "nodeType": "YulBlock", + "src": "13730:946:43", + "statements": [ + { + "body": { + "nativeSrc": "13777:83:43", + "nodeType": "YulBlock", + "src": "13777:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "13779:77:43", + "nodeType": "YulIdentifier", + "src": "13779:77:43" + }, + "nativeSrc": "13779:79:43", + "nodeType": "YulFunctionCall", + "src": "13779:79:43" + }, + "nativeSrc": "13779:79:43", + "nodeType": "YulExpressionStatement", + "src": "13779:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "13751:7:43", + "nodeType": "YulIdentifier", + "src": "13751:7:43" + }, + { + "name": "headStart", + "nativeSrc": "13760:9:43", + "nodeType": "YulIdentifier", + "src": "13760:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "13747:3:43", + "nodeType": "YulIdentifier", + "src": "13747:3:43" + }, + "nativeSrc": "13747:23:43", + "nodeType": "YulFunctionCall", + "src": "13747:23:43" + }, + { + "kind": "number", + "nativeSrc": "13772:3:43", + "nodeType": "YulLiteral", + "src": "13772:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "13743:3:43", + "nodeType": "YulIdentifier", + "src": "13743:3:43" + }, + "nativeSrc": "13743:33:43", + "nodeType": "YulFunctionCall", + "src": "13743:33:43" + }, + "nativeSrc": "13740:120:43", + "nodeType": "YulIf", + "src": "13740:120:43" + }, + { + "nativeSrc": "13870:117:43", + "nodeType": "YulBlock", + "src": "13870:117:43", + "statements": [ + { + "nativeSrc": "13885:15:43", + "nodeType": "YulVariableDeclaration", + "src": "13885:15:43", + "value": { + "kind": "number", + "nativeSrc": "13899:1:43", + "nodeType": "YulLiteral", + "src": "13899:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13889:6:43", + "nodeType": "YulTypedName", + "src": "13889:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "13914:63:43", + "nodeType": "YulAssignment", + "src": "13914:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13949:9:43", + "nodeType": "YulIdentifier", + "src": "13949:9:43" + }, + { + "name": "offset", + "nativeSrc": "13960:6:43", + "nodeType": "YulIdentifier", + "src": "13960:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13945:3:43", + "nodeType": "YulIdentifier", + "src": "13945:3:43" + }, + "nativeSrc": "13945:22:43", + "nodeType": "YulFunctionCall", + "src": "13945:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13969:7:43", + "nodeType": "YulIdentifier", + "src": "13969:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "13924:20:43", + "nodeType": "YulIdentifier", + "src": "13924:20:43" + }, + "nativeSrc": "13924:53:43", + "nodeType": "YulFunctionCall", + "src": "13924:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "13914:6:43", + "nodeType": "YulIdentifier", + "src": "13914:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "13997:118:43", + "nodeType": "YulBlock", + "src": "13997:118:43", + "statements": [ + { + "nativeSrc": "14012:16:43", + "nodeType": "YulVariableDeclaration", + "src": "14012:16:43", + "value": { + "kind": "number", + "nativeSrc": "14026:2:43", + "nodeType": "YulLiteral", + "src": "14026:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14016:6:43", + "nodeType": "YulTypedName", + "src": "14016:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "14042:63:43", + "nodeType": "YulAssignment", + "src": "14042:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14077:9:43", + "nodeType": "YulIdentifier", + "src": "14077:9:43" + }, + { + "name": "offset", + "nativeSrc": "14088:6:43", + "nodeType": "YulIdentifier", + "src": "14088:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14073:3:43", + "nodeType": "YulIdentifier", + "src": "14073:3:43" + }, + "nativeSrc": "14073:22:43", + "nodeType": "YulFunctionCall", + "src": "14073:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "14097:7:43", + "nodeType": "YulIdentifier", + "src": "14097:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "14052:20:43", + "nodeType": "YulIdentifier", + "src": "14052:20:43" + }, + "nativeSrc": "14052:53:43", + "nodeType": "YulFunctionCall", + "src": "14052:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "14042:6:43", + "nodeType": "YulIdentifier", + "src": "14042:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "14125:118:43", + "nodeType": "YulBlock", + "src": "14125:118:43", + "statements": [ + { + "nativeSrc": "14140:16:43", + "nodeType": "YulVariableDeclaration", + "src": "14140:16:43", + "value": { + "kind": "number", + "nativeSrc": "14154:2:43", + "nodeType": "YulLiteral", + "src": "14154:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14144:6:43", + "nodeType": "YulTypedName", + "src": "14144:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "14170:63:43", + "nodeType": "YulAssignment", + "src": "14170:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14205:9:43", + "nodeType": "YulIdentifier", + "src": "14205:9:43" + }, + { + "name": "offset", + "nativeSrc": "14216:6:43", + "nodeType": "YulIdentifier", + "src": "14216:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14201:3:43", + "nodeType": "YulIdentifier", + "src": "14201:3:43" + }, + "nativeSrc": "14201:22:43", + "nodeType": "YulFunctionCall", + "src": "14201:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "14225:7:43", + "nodeType": "YulIdentifier", + "src": "14225:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "14180:20:43", + "nodeType": "YulIdentifier", + "src": "14180:20:43" + }, + "nativeSrc": "14180:53:43", + "nodeType": "YulFunctionCall", + "src": "14180:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "14170:6:43", + "nodeType": "YulIdentifier", + "src": "14170:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "14253:118:43", + "nodeType": "YulBlock", + "src": "14253:118:43", + "statements": [ + { + "nativeSrc": "14268:16:43", + "nodeType": "YulVariableDeclaration", + "src": "14268:16:43", + "value": { + "kind": "number", + "nativeSrc": "14282:2:43", + "nodeType": "YulLiteral", + "src": "14282:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14272:6:43", + "nodeType": "YulTypedName", + "src": "14272:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "14298:63:43", + "nodeType": "YulAssignment", + "src": "14298:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14333:9:43", + "nodeType": "YulIdentifier", + "src": "14333:9:43" + }, + { + "name": "offset", + "nativeSrc": "14344:6:43", + "nodeType": "YulIdentifier", + "src": "14344:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14329:3:43", + "nodeType": "YulIdentifier", + "src": "14329:3:43" + }, + "nativeSrc": "14329:22:43", + "nodeType": "YulFunctionCall", + "src": "14329:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "14353:7:43", + "nodeType": "YulIdentifier", + "src": "14353:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "14308:20:43", + "nodeType": "YulIdentifier", + "src": "14308:20:43" + }, + "nativeSrc": "14308:53:43", + "nodeType": "YulFunctionCall", + "src": "14308:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "14298:6:43", + "nodeType": "YulIdentifier", + "src": "14298:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "14381:288:43", + "nodeType": "YulBlock", + "src": "14381:288:43", + "statements": [ + { + "nativeSrc": "14396:47:43", + "nodeType": "YulVariableDeclaration", + "src": "14396:47:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14427:9:43", + "nodeType": "YulIdentifier", + "src": "14427:9:43" + }, + { + "kind": "number", + "nativeSrc": "14438:3:43", + "nodeType": "YulLiteral", + "src": "14438:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14423:3:43", + "nodeType": "YulIdentifier", + "src": "14423:3:43" + }, + "nativeSrc": "14423:19:43", + "nodeType": "YulFunctionCall", + "src": "14423:19:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "14410:12:43", + "nodeType": "YulIdentifier", + "src": "14410:12:43" + }, + "nativeSrc": "14410:33:43", + "nodeType": "YulFunctionCall", + "src": "14410:33:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14400:6:43", + "nodeType": "YulTypedName", + "src": "14400:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14490:83:43", + "nodeType": "YulBlock", + "src": "14490:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "14492:77:43", + "nodeType": "YulIdentifier", + "src": "14492:77:43" + }, + "nativeSrc": "14492:79:43", + "nodeType": "YulFunctionCall", + "src": "14492:79:43" + }, + "nativeSrc": "14492:79:43", + "nodeType": "YulExpressionStatement", + "src": "14492:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14462:6:43", + "nodeType": "YulIdentifier", + "src": "14462:6:43" + }, + { + "kind": "number", + "nativeSrc": "14470:18:43", + "nodeType": "YulLiteral", + "src": "14470:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14459:2:43", + "nodeType": "YulIdentifier", + "src": "14459:2:43" + }, + "nativeSrc": "14459:30:43", + "nodeType": "YulFunctionCall", + "src": "14459:30:43" + }, + "nativeSrc": "14456:117:43", + "nodeType": "YulIf", + "src": "14456:117:43" + }, + { + "nativeSrc": "14587:72:43", + "nodeType": "YulAssignment", + "src": "14587:72:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14631:9:43", + "nodeType": "YulIdentifier", + "src": "14631:9:43" + }, + { + "name": "offset", + "nativeSrc": "14642:6:43", + "nodeType": "YulIdentifier", + "src": "14642:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14627:3:43", + "nodeType": "YulIdentifier", + "src": "14627:3:43" + }, + "nativeSrc": "14627:22:43", + "nodeType": "YulFunctionCall", + "src": "14627:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "14651:7:43", + "nodeType": "YulIdentifier", + "src": "14651:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "14597:29:43", + "nodeType": "YulIdentifier", + "src": "14597:29:43" + }, + "nativeSrc": "14597:62:43", + "nodeType": "YulFunctionCall", + "src": "14597:62:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "14587:6:43", + "nodeType": "YulIdentifier", + "src": "14587:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr", + "nativeSrc": "13587:1089:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13668:9:43", + "nodeType": "YulTypedName", + "src": "13668:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "13679:7:43", + "nodeType": "YulTypedName", + "src": "13679:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "13691:6:43", + "nodeType": "YulTypedName", + "src": "13691:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "13699:6:43", + "nodeType": "YulTypedName", + "src": "13699:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "13707:6:43", + "nodeType": "YulTypedName", + "src": "13707:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "13715:6:43", + "nodeType": "YulTypedName", + "src": "13715:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "13723:6:43", + "nodeType": "YulTypedName", + "src": "13723:6:43", + "type": "" + } + ], + "src": "13587:1089:43" + }, + { + "body": { + "nativeSrc": "14726:105:43", + "nodeType": "YulBlock", + "src": "14726:105:43", + "statements": [ + { + "nativeSrc": "14736:89:43", + "nodeType": "YulAssignment", + "src": "14736:89:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "14751:5:43", + "nodeType": "YulIdentifier", + "src": "14751:5:43" + }, + { + "kind": "number", + "nativeSrc": "14758:66:43", + "nodeType": "YulLiteral", + "src": "14758:66:43", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "14747:3:43", + "nodeType": "YulIdentifier", + "src": "14747:3:43" + }, + "nativeSrc": "14747:78:43", + "nodeType": "YulFunctionCall", + "src": "14747:78:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "14736:7:43", + "nodeType": "YulIdentifier", + "src": "14736:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "14682:149:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14708:5:43", + "nodeType": "YulTypedName", + "src": "14708:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "14718:7:43", + "nodeType": "YulTypedName", + "src": "14718:7:43", + "type": "" + } + ], + "src": "14682:149:43" + }, + { + "body": { + "nativeSrc": "14900:52:43", + "nodeType": "YulBlock", + "src": "14900:52:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14917:3:43", + "nodeType": "YulIdentifier", + "src": "14917:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14939:5:43", + "nodeType": "YulIdentifier", + "src": "14939:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "14922:16:43", + "nodeType": "YulIdentifier", + "src": "14922:16:43" + }, + "nativeSrc": "14922:23:43", + "nodeType": "YulFunctionCall", + "src": "14922:23:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14910:6:43", + "nodeType": "YulIdentifier", + "src": "14910:6:43" + }, + "nativeSrc": "14910:36:43", + "nodeType": "YulFunctionCall", + "src": "14910:36:43" + }, + "nativeSrc": "14910:36:43", + "nodeType": "YulExpressionStatement", + "src": "14910:36:43" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "14837:115:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "14888:5:43", + "nodeType": "YulTypedName", + "src": "14888:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "14895:3:43", + "nodeType": "YulTypedName", + "src": "14895:3:43", + "type": "" + } + ], + "src": "14837:115:43" + }, + { + "body": { + "nativeSrc": "15054:122:43", + "nodeType": "YulBlock", + "src": "15054:122:43", + "statements": [ + { + "nativeSrc": "15064:26:43", + "nodeType": "YulAssignment", + "src": "15064:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15076:9:43", + "nodeType": "YulIdentifier", + "src": "15076:9:43" + }, + { + "kind": "number", + "nativeSrc": "15087:2:43", + "nodeType": "YulLiteral", + "src": "15087:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15072:3:43", + "nodeType": "YulIdentifier", + "src": "15072:3:43" + }, + "nativeSrc": "15072:18:43", + "nodeType": "YulFunctionCall", + "src": "15072:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15064:4:43", + "nodeType": "YulIdentifier", + "src": "15064:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "15142:6:43", + "nodeType": "YulIdentifier", + "src": "15142:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15155:9:43", + "nodeType": "YulIdentifier", + "src": "15155:9:43" + }, + { + "kind": "number", + "nativeSrc": "15166:1:43", + "nodeType": "YulLiteral", + "src": "15166:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15151:3:43", + "nodeType": "YulIdentifier", + "src": "15151:3:43" + }, + "nativeSrc": "15151:17:43", + "nodeType": "YulFunctionCall", + "src": "15151:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "15100:41:43", + "nodeType": "YulIdentifier", + "src": "15100:41:43" + }, + "nativeSrc": "15100:69:43", + "nodeType": "YulFunctionCall", + "src": "15100:69:43" + }, + "nativeSrc": "15100:69:43", + "nodeType": "YulExpressionStatement", + "src": "15100:69:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nativeSrc": "14958:218:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15026:9:43", + "nodeType": "YulTypedName", + "src": "15026:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "15038:6:43", + "nodeType": "YulTypedName", + "src": "15038:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15049:4:43", + "nodeType": "YulTypedName", + "src": "15049:4:43", + "type": "" + } + ], + "src": "14958:218:43" + }, + { + "body": { + "nativeSrc": "15308:206:43", + "nodeType": "YulBlock", + "src": "15308:206:43", + "statements": [ + { + "nativeSrc": "15318:26:43", + "nodeType": "YulAssignment", + "src": "15318:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15330:9:43", + "nodeType": "YulIdentifier", + "src": "15330:9:43" + }, + { + "kind": "number", + "nativeSrc": "15341:2:43", + "nodeType": "YulLiteral", + "src": "15341:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15326:3:43", + "nodeType": "YulIdentifier", + "src": "15326:3:43" + }, + "nativeSrc": "15326:18:43", + "nodeType": "YulFunctionCall", + "src": "15326:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15318:4:43", + "nodeType": "YulIdentifier", + "src": "15318:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "15398:6:43", + "nodeType": "YulIdentifier", + "src": "15398:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15411:9:43", + "nodeType": "YulIdentifier", + "src": "15411:9:43" + }, + { + "kind": "number", + "nativeSrc": "15422:1:43", + "nodeType": "YulLiteral", + "src": "15422:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15407:3:43", + "nodeType": "YulIdentifier", + "src": "15407:3:43" + }, + "nativeSrc": "15407:17:43", + "nodeType": "YulFunctionCall", + "src": "15407:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "15354:43:43", + "nodeType": "YulIdentifier", + "src": "15354:43:43" + }, + "nativeSrc": "15354:71:43", + "nodeType": "YulFunctionCall", + "src": "15354:71:43" + }, + "nativeSrc": "15354:71:43", + "nodeType": "YulExpressionStatement", + "src": "15354:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "15479:6:43", + "nodeType": "YulIdentifier", + "src": "15479:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15492:9:43", + "nodeType": "YulIdentifier", + "src": "15492:9:43" + }, + { + "kind": "number", + "nativeSrc": "15503:2:43", + "nodeType": "YulLiteral", + "src": "15503:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15488:3:43", + "nodeType": "YulIdentifier", + "src": "15488:3:43" + }, + "nativeSrc": "15488:18:43", + "nodeType": "YulFunctionCall", + "src": "15488:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "15435:43:43", + "nodeType": "YulIdentifier", + "src": "15435:43:43" + }, + "nativeSrc": "15435:72:43", + "nodeType": "YulFunctionCall", + "src": "15435:72:43" + }, + "nativeSrc": "15435:72:43", + "nodeType": "YulExpressionStatement", + "src": "15435:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "15182:332:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15272:9:43", + "nodeType": "YulTypedName", + "src": "15272:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15284:6:43", + "nodeType": "YulTypedName", + "src": "15284:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "15292:6:43", + "nodeType": "YulTypedName", + "src": "15292:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15303:4:43", + "nodeType": "YulTypedName", + "src": "15303:4:43", + "type": "" + } + ], + "src": "15182:332:43" + }, + { + "body": { + "nativeSrc": "15583:80:43", + "nodeType": "YulBlock", + "src": "15583:80:43", + "statements": [ + { + "nativeSrc": "15593:22:43", + "nodeType": "YulAssignment", + "src": "15593:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15608:6:43", + "nodeType": "YulIdentifier", + "src": "15608:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "15602:5:43", + "nodeType": "YulIdentifier", + "src": "15602:5:43" + }, + "nativeSrc": "15602:13:43", + "nodeType": "YulFunctionCall", + "src": "15602:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "15593:5:43", + "nodeType": "YulIdentifier", + "src": "15593:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15651:5:43", + "nodeType": "YulIdentifier", + "src": "15651:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "15624:26:43", + "nodeType": "YulIdentifier", + "src": "15624:26:43" + }, + "nativeSrc": "15624:33:43", + "nodeType": "YulFunctionCall", + "src": "15624:33:43" + }, + "nativeSrc": "15624:33:43", + "nodeType": "YulExpressionStatement", + "src": "15624:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "15520:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "15561:6:43", + "nodeType": "YulTypedName", + "src": "15561:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "15569:3:43", + "nodeType": "YulTypedName", + "src": "15569:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "15577:5:43", + "nodeType": "YulTypedName", + "src": "15577:5:43", + "type": "" + } + ], + "src": "15520:143:43" + }, + { + "body": { + "nativeSrc": "15746:274:43", + "nodeType": "YulBlock", + "src": "15746:274:43", + "statements": [ + { + "body": { + "nativeSrc": "15792:83:43", + "nodeType": "YulBlock", + "src": "15792:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "15794:77:43", + "nodeType": "YulIdentifier", + "src": "15794:77:43" + }, + "nativeSrc": "15794:79:43", + "nodeType": "YulFunctionCall", + "src": "15794:79:43" + }, + "nativeSrc": "15794:79:43", + "nodeType": "YulExpressionStatement", + "src": "15794:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "15767:7:43", + "nodeType": "YulIdentifier", + "src": "15767:7:43" + }, + { + "name": "headStart", + "nativeSrc": "15776:9:43", + "nodeType": "YulIdentifier", + "src": "15776:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15763:3:43", + "nodeType": "YulIdentifier", + "src": "15763:3:43" + }, + "nativeSrc": "15763:23:43", + "nodeType": "YulFunctionCall", + "src": "15763:23:43" + }, + { + "kind": "number", + "nativeSrc": "15788:2:43", + "nodeType": "YulLiteral", + "src": "15788:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "15759:3:43", + "nodeType": "YulIdentifier", + "src": "15759:3:43" + }, + "nativeSrc": "15759:32:43", + "nodeType": "YulFunctionCall", + "src": "15759:32:43" + }, + "nativeSrc": "15756:119:43", + "nodeType": "YulIf", + "src": "15756:119:43" + }, + { + "nativeSrc": "15885:128:43", + "nodeType": "YulBlock", + "src": "15885:128:43", + "statements": [ + { + "nativeSrc": "15900:15:43", + "nodeType": "YulVariableDeclaration", + "src": "15900:15:43", + "value": { + "kind": "number", + "nativeSrc": "15914:1:43", + "nodeType": "YulLiteral", + "src": "15914:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15904:6:43", + "nodeType": "YulTypedName", + "src": "15904:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "15929:74:43", + "nodeType": "YulAssignment", + "src": "15929:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15975:9:43", + "nodeType": "YulIdentifier", + "src": "15975:9:43" + }, + { + "name": "offset", + "nativeSrc": "15986:6:43", + "nodeType": "YulIdentifier", + "src": "15986:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15971:3:43", + "nodeType": "YulIdentifier", + "src": "15971:3:43" + }, + "nativeSrc": "15971:22:43", + "nodeType": "YulFunctionCall", + "src": "15971:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "15995:7:43", + "nodeType": "YulIdentifier", + "src": "15995:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "15939:31:43", + "nodeType": "YulIdentifier", + "src": "15939:31:43" + }, + "nativeSrc": "15939:64:43", + "nodeType": "YulFunctionCall", + "src": "15939:64:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "15929:6:43", + "nodeType": "YulIdentifier", + "src": "15929:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "15669:351:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15716:9:43", + "nodeType": "YulTypedName", + "src": "15716:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "15727:7:43", + "nodeType": "YulTypedName", + "src": "15727:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "15739:6:43", + "nodeType": "YulTypedName", + "src": "15739:6:43", + "type": "" + } + ], + "src": "15669:351:43" + }, + { + "body": { + "nativeSrc": "16054:152:43", + "nodeType": "YulBlock", + "src": "16054:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16071:1:43", + "nodeType": "YulLiteral", + "src": "16071:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16074:77:43", + "nodeType": "YulLiteral", + "src": "16074:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16064:6:43", + "nodeType": "YulIdentifier", + "src": "16064:6:43" + }, + "nativeSrc": "16064:88:43", + "nodeType": "YulFunctionCall", + "src": "16064:88:43" + }, + "nativeSrc": "16064:88:43", + "nodeType": "YulExpressionStatement", + "src": "16064:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16168:1:43", + "nodeType": "YulLiteral", + "src": "16168:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16171:4:43", + "nodeType": "YulLiteral", + "src": "16171:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16161:6:43", + "nodeType": "YulIdentifier", + "src": "16161:6:43" + }, + "nativeSrc": "16161:15:43", + "nodeType": "YulFunctionCall", + "src": "16161:15:43" + }, + "nativeSrc": "16161:15:43", + "nodeType": "YulExpressionStatement", + "src": "16161:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16192:1:43", + "nodeType": "YulLiteral", + "src": "16192:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16195:4:43", + "nodeType": "YulLiteral", + "src": "16195:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16185:6:43", + "nodeType": "YulIdentifier", + "src": "16185:6:43" + }, + "nativeSrc": "16185:15:43", + "nodeType": "YulFunctionCall", + "src": "16185:15:43" + }, + "nativeSrc": "16185:15:43", + "nodeType": "YulExpressionStatement", + "src": "16185:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "16026:180:43", + "nodeType": "YulFunctionDefinition", + "src": "16026:180:43" + }, + { + "body": { + "nativeSrc": "16263:269:43", + "nodeType": "YulBlock", + "src": "16263:269:43", + "statements": [ + { + "nativeSrc": "16273:22:43", + "nodeType": "YulAssignment", + "src": "16273:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "16287:4:43", + "nodeType": "YulIdentifier", + "src": "16287:4:43" + }, + { + "kind": "number", + "nativeSrc": "16293:1:43", + "nodeType": "YulLiteral", + "src": "16293:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "16283:3:43", + "nodeType": "YulIdentifier", + "src": "16283:3:43" + }, + "nativeSrc": "16283:12:43", + "nodeType": "YulFunctionCall", + "src": "16283:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "16273:6:43", + "nodeType": "YulIdentifier", + "src": "16273:6:43" + } + ] + }, + { + "nativeSrc": "16304:38:43", + "nodeType": "YulVariableDeclaration", + "src": "16304:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "16334:4:43", + "nodeType": "YulIdentifier", + "src": "16334:4:43" + }, + { + "kind": "number", + "nativeSrc": "16340:1:43", + "nodeType": "YulLiteral", + "src": "16340:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "16330:3:43", + "nodeType": "YulIdentifier", + "src": "16330:3:43" + }, + "nativeSrc": "16330:12:43", + "nodeType": "YulFunctionCall", + "src": "16330:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "16308:18:43", + "nodeType": "YulTypedName", + "src": "16308:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16381:51:43", + "nodeType": "YulBlock", + "src": "16381:51:43", + "statements": [ + { + "nativeSrc": "16395:27:43", + "nodeType": "YulAssignment", + "src": "16395:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "16409:6:43", + "nodeType": "YulIdentifier", + "src": "16409:6:43" + }, + { + "kind": "number", + "nativeSrc": "16417:4:43", + "nodeType": "YulLiteral", + "src": "16417:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "16405:3:43", + "nodeType": "YulIdentifier", + "src": "16405:3:43" + }, + "nativeSrc": "16405:17:43", + "nodeType": "YulFunctionCall", + "src": "16405:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "16395:6:43", + "nodeType": "YulIdentifier", + "src": "16395:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "16361:18:43", + "nodeType": "YulIdentifier", + "src": "16361:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "16354:6:43", + "nodeType": "YulIdentifier", + "src": "16354:6:43" + }, + "nativeSrc": "16354:26:43", + "nodeType": "YulFunctionCall", + "src": "16354:26:43" + }, + "nativeSrc": "16351:81:43", + "nodeType": "YulIf", + "src": "16351:81:43" + }, + { + "body": { + "nativeSrc": "16484:42:43", + "nodeType": "YulBlock", + "src": "16484:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "16498:16:43", + "nodeType": "YulIdentifier", + "src": "16498:16:43" + }, + "nativeSrc": "16498:18:43", + "nodeType": "YulFunctionCall", + "src": "16498:18:43" + }, + "nativeSrc": "16498:18:43", + "nodeType": "YulExpressionStatement", + "src": "16498:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "16448:18:43", + "nodeType": "YulIdentifier", + "src": "16448:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "16471:6:43", + "nodeType": "YulIdentifier", + "src": "16471:6:43" + }, + { + "kind": "number", + "nativeSrc": "16479:2:43", + "nodeType": "YulLiteral", + "src": "16479:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "16468:2:43", + "nodeType": "YulIdentifier", + "src": "16468:2:43" + }, + "nativeSrc": "16468:14:43", + "nodeType": "YulFunctionCall", + "src": "16468:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "16445:2:43", + "nodeType": "YulIdentifier", + "src": "16445:2:43" + }, + "nativeSrc": "16445:38:43", + "nodeType": "YulFunctionCall", + "src": "16445:38:43" + }, + "nativeSrc": "16442:84:43", + "nodeType": "YulIf", + "src": "16442:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "16212:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "16247:4:43", + "nodeType": "YulTypedName", + "src": "16247:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "16256:6:43", + "nodeType": "YulTypedName", + "src": "16256:6:43", + "type": "" + } + ], + "src": "16212:320:43" + }, + { + "body": { + "nativeSrc": "16566:152:43", + "nodeType": "YulBlock", + "src": "16566:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16583:1:43", + "nodeType": "YulLiteral", + "src": "16583:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16586:77:43", + "nodeType": "YulLiteral", + "src": "16586:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16576:6:43", + "nodeType": "YulIdentifier", + "src": "16576:6:43" + }, + "nativeSrc": "16576:88:43", + "nodeType": "YulFunctionCall", + "src": "16576:88:43" + }, + "nativeSrc": "16576:88:43", + "nodeType": "YulExpressionStatement", + "src": "16576:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16680:1:43", + "nodeType": "YulLiteral", + "src": "16680:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16683:4:43", + "nodeType": "YulLiteral", + "src": "16683:4:43", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16673:6:43", + "nodeType": "YulIdentifier", + "src": "16673:6:43" + }, + "nativeSrc": "16673:15:43", + "nodeType": "YulFunctionCall", + "src": "16673:15:43" + }, + "nativeSrc": "16673:15:43", + "nodeType": "YulExpressionStatement", + "src": "16673:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16704:1:43", + "nodeType": "YulLiteral", + "src": "16704:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16707:4:43", + "nodeType": "YulLiteral", + "src": "16707:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16697:6:43", + "nodeType": "YulIdentifier", + "src": "16697:6:43" + }, + "nativeSrc": "16697:15:43", + "nodeType": "YulFunctionCall", + "src": "16697:15:43" + }, + "nativeSrc": "16697:15:43", + "nodeType": "YulExpressionStatement", + "src": "16697:15:43" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "16538:180:43", + "nodeType": "YulFunctionDefinition", + "src": "16538:180:43" + }, + { + "body": { + "nativeSrc": "16830:122:43", + "nodeType": "YulBlock", + "src": "16830:122:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16852:6:43", + "nodeType": "YulIdentifier", + "src": "16852:6:43" + }, + { + "kind": "number", + "nativeSrc": "16860:1:43", + "nodeType": "YulLiteral", + "src": "16860:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16848:3:43", + "nodeType": "YulIdentifier", + "src": "16848:3:43" + }, + "nativeSrc": "16848:14:43", + "nodeType": "YulFunctionCall", + "src": "16848:14:43" + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f20636c61696d20746869", + "kind": "string", + "nativeSrc": "16864:34:43", + "nodeType": "YulLiteral", + "src": "16864:34:43", + "type": "", + "value": "Address not allowed to claim thi" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16841:6:43", + "nodeType": "YulIdentifier", + "src": "16841:6:43" + }, + "nativeSrc": "16841:58:43", + "nodeType": "YulFunctionCall", + "src": "16841:58:43" + }, + "nativeSrc": "16841:58:43", + "nodeType": "YulExpressionStatement", + "src": "16841:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16920:6:43", + "nodeType": "YulIdentifier", + "src": "16920:6:43" + }, + { + "kind": "number", + "nativeSrc": "16928:2:43", + "nodeType": "YulLiteral", + "src": "16928:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16916:3:43", + "nodeType": "YulIdentifier", + "src": "16916:3:43" + }, + "nativeSrc": "16916:15:43", + "nodeType": "YulFunctionCall", + "src": "16916:15:43" + }, + { + "hexValue": "732061697264726f70", + "kind": "string", + "nativeSrc": "16933:11:43", + "nodeType": "YulLiteral", + "src": "16933:11:43", + "type": "", + "value": "s airdrop" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16909:6:43", + "nodeType": "YulIdentifier", + "src": "16909:6:43" + }, + "nativeSrc": "16909:36:43", + "nodeType": "YulFunctionCall", + "src": "16909:36:43" + }, + "nativeSrc": "16909:36:43", + "nodeType": "YulExpressionStatement", + "src": "16909:36:43" + } + ] + }, + "name": "store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "nativeSrc": "16724:228:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "16822:6:43", + "nodeType": "YulTypedName", + "src": "16822:6:43", + "type": "" + } + ], + "src": "16724:228:43" + }, + { + "body": { + "nativeSrc": "17104:220:43", + "nodeType": "YulBlock", + "src": "17104:220:43", + "statements": [ + { + "nativeSrc": "17114:74:43", + "nodeType": "YulAssignment", + "src": "17114:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17180:3:43", + "nodeType": "YulIdentifier", + "src": "17180:3:43" + }, + { + "kind": "number", + "nativeSrc": "17185:2:43", + "nodeType": "YulLiteral", + "src": "17185:2:43", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "17121:58:43", + "nodeType": "YulIdentifier", + "src": "17121:58:43" + }, + "nativeSrc": "17121:67:43", + "nodeType": "YulFunctionCall", + "src": "17121:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "17114:3:43", + "nodeType": "YulIdentifier", + "src": "17114:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17286:3:43", + "nodeType": "YulIdentifier", + "src": "17286:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e", + "nativeSrc": "17197:88:43", + "nodeType": "YulIdentifier", + "src": "17197:88:43" + }, + "nativeSrc": "17197:93:43", + "nodeType": "YulFunctionCall", + "src": "17197:93:43" + }, + "nativeSrc": "17197:93:43", + "nodeType": "YulExpressionStatement", + "src": "17197:93:43" + }, + { + "nativeSrc": "17299:19:43", + "nodeType": "YulAssignment", + "src": "17299:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17310:3:43", + "nodeType": "YulIdentifier", + "src": "17310:3:43" + }, + { + "kind": "number", + "nativeSrc": "17315:2:43", + "nodeType": "YulLiteral", + "src": "17315:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17306:3:43", + "nodeType": "YulIdentifier", + "src": "17306:3:43" + }, + "nativeSrc": "17306:12:43", + "nodeType": "YulFunctionCall", + "src": "17306:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17299:3:43", + "nodeType": "YulIdentifier", + "src": "17299:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16958:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17092:3:43", + "nodeType": "YulTypedName", + "src": "17092:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17100:3:43", + "nodeType": "YulTypedName", + "src": "17100:3:43", + "type": "" + } + ], + "src": "16958:366:43" + }, + { + "body": { + "nativeSrc": "17501:248:43", + "nodeType": "YulBlock", + "src": "17501:248:43", + "statements": [ + { + "nativeSrc": "17511:26:43", + "nodeType": "YulAssignment", + "src": "17511:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17523:9:43", + "nodeType": "YulIdentifier", + "src": "17523:9:43" + }, + { + "kind": "number", + "nativeSrc": "17534:2:43", + "nodeType": "YulLiteral", + "src": "17534:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17519:3:43", + "nodeType": "YulIdentifier", + "src": "17519:3:43" + }, + "nativeSrc": "17519:18:43", + "nodeType": "YulFunctionCall", + "src": "17519:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17511:4:43", + "nodeType": "YulIdentifier", + "src": "17511:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17558:9:43", + "nodeType": "YulIdentifier", + "src": "17558:9:43" + }, + { + "kind": "number", + "nativeSrc": "17569:1:43", + "nodeType": "YulLiteral", + "src": "17569:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17554:3:43", + "nodeType": "YulIdentifier", + "src": "17554:3:43" + }, + "nativeSrc": "17554:17:43", + "nodeType": "YulFunctionCall", + "src": "17554:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17577:4:43", + "nodeType": "YulIdentifier", + "src": "17577:4:43" + }, + { + "name": "headStart", + "nativeSrc": "17583:9:43", + "nodeType": "YulIdentifier", + "src": "17583:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17573:3:43", + "nodeType": "YulIdentifier", + "src": "17573:3:43" + }, + "nativeSrc": "17573:20:43", + "nodeType": "YulFunctionCall", + "src": "17573:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17547:6:43", + "nodeType": "YulIdentifier", + "src": "17547:6:43" + }, + "nativeSrc": "17547:47:43", + "nodeType": "YulFunctionCall", + "src": "17547:47:43" + }, + "nativeSrc": "17547:47:43", + "nodeType": "YulExpressionStatement", + "src": "17547:47:43" + }, + { + "nativeSrc": "17603:139:43", + "nodeType": "YulAssignment", + "src": "17603:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17737:4:43", + "nodeType": "YulIdentifier", + "src": "17737:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17611:124:43", + "nodeType": "YulIdentifier", + "src": "17611:124:43" + }, + "nativeSrc": "17611:131:43", + "nodeType": "YulFunctionCall", + "src": "17611:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17603:4:43", + "nodeType": "YulIdentifier", + "src": "17603:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17330:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17481:9:43", + "nodeType": "YulTypedName", + "src": "17481:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17496:4:43", + "nodeType": "YulTypedName", + "src": "17496:4:43", + "type": "" + } + ], + "src": "17330:419:43" + }, + { + "body": { + "nativeSrc": "17861:68:43", + "nodeType": "YulBlock", + "src": "17861:68:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "17883:6:43", + "nodeType": "YulIdentifier", + "src": "17883:6:43" + }, + { + "kind": "number", + "nativeSrc": "17891:1:43", + "nodeType": "YulLiteral", + "src": "17891:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17879:3:43", + "nodeType": "YulIdentifier", + "src": "17879:3:43" + }, + "nativeSrc": "17879:14:43", + "nodeType": "YulFunctionCall", + "src": "17879:14:43" + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "kind": "string", + "nativeSrc": "17895:26:43", + "nodeType": "YulLiteral", + "src": "17895:26:43", + "type": "", + "value": "Airdrop already expired." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17872:6:43", + "nodeType": "YulIdentifier", + "src": "17872:6:43" + }, + "nativeSrc": "17872:50:43", + "nodeType": "YulFunctionCall", + "src": "17872:50:43" + }, + "nativeSrc": "17872:50:43", + "nodeType": "YulExpressionStatement", + "src": "17872:50:43" + } + ] + }, + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "17755:174:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "17853:6:43", + "nodeType": "YulTypedName", + "src": "17853:6:43", + "type": "" + } + ], + "src": "17755:174:43" + }, + { + "body": { + "nativeSrc": "18081:220:43", + "nodeType": "YulBlock", + "src": "18081:220:43", + "statements": [ + { + "nativeSrc": "18091:74:43", + "nodeType": "YulAssignment", + "src": "18091:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18157:3:43", + "nodeType": "YulIdentifier", + "src": "18157:3:43" + }, + { + "kind": "number", + "nativeSrc": "18162:2:43", + "nodeType": "YulLiteral", + "src": "18162:2:43", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "18098:58:43", + "nodeType": "YulIdentifier", + "src": "18098:58:43" + }, + "nativeSrc": "18098:67:43", + "nodeType": "YulFunctionCall", + "src": "18098:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18091:3:43", + "nodeType": "YulIdentifier", + "src": "18091:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18263:3:43", + "nodeType": "YulIdentifier", + "src": "18263:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "18174:88:43", + "nodeType": "YulIdentifier", + "src": "18174:88:43" + }, + "nativeSrc": "18174:93:43", + "nodeType": "YulFunctionCall", + "src": "18174:93:43" + }, + "nativeSrc": "18174:93:43", + "nodeType": "YulExpressionStatement", + "src": "18174:93:43" + }, + { + "nativeSrc": "18276:19:43", + "nodeType": "YulAssignment", + "src": "18276:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18287:3:43", + "nodeType": "YulIdentifier", + "src": "18287:3:43" + }, + { + "kind": "number", + "nativeSrc": "18292:2:43", + "nodeType": "YulLiteral", + "src": "18292:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18283:3:43", + "nodeType": "YulIdentifier", + "src": "18283:3:43" + }, + "nativeSrc": "18283:12:43", + "nodeType": "YulFunctionCall", + "src": "18283:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18276:3:43", + "nodeType": "YulIdentifier", + "src": "18276:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17935:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18069:3:43", + "nodeType": "YulTypedName", + "src": "18069:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18077:3:43", + "nodeType": "YulTypedName", + "src": "18077:3:43", + "type": "" + } + ], + "src": "17935:366:43" + }, + { + "body": { + "nativeSrc": "18478:248:43", + "nodeType": "YulBlock", + "src": "18478:248:43", + "statements": [ + { + "nativeSrc": "18488:26:43", + "nodeType": "YulAssignment", + "src": "18488:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18500:9:43", + "nodeType": "YulIdentifier", + "src": "18500:9:43" + }, + { + "kind": "number", + "nativeSrc": "18511:2:43", + "nodeType": "YulLiteral", + "src": "18511:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18496:3:43", + "nodeType": "YulIdentifier", + "src": "18496:3:43" + }, + "nativeSrc": "18496:18:43", + "nodeType": "YulFunctionCall", + "src": "18496:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18488:4:43", + "nodeType": "YulIdentifier", + "src": "18488:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18535:9:43", + "nodeType": "YulIdentifier", + "src": "18535:9:43" + }, + { + "kind": "number", + "nativeSrc": "18546:1:43", + "nodeType": "YulLiteral", + "src": "18546:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18531:3:43", + "nodeType": "YulIdentifier", + "src": "18531:3:43" + }, + "nativeSrc": "18531:17:43", + "nodeType": "YulFunctionCall", + "src": "18531:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18554:4:43", + "nodeType": "YulIdentifier", + "src": "18554:4:43" + }, + { + "name": "headStart", + "nativeSrc": "18560:9:43", + "nodeType": "YulIdentifier", + "src": "18560:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18550:3:43", + "nodeType": "YulIdentifier", + "src": "18550:3:43" + }, + "nativeSrc": "18550:20:43", + "nodeType": "YulFunctionCall", + "src": "18550:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18524:6:43", + "nodeType": "YulIdentifier", + "src": "18524:6:43" + }, + "nativeSrc": "18524:47:43", + "nodeType": "YulFunctionCall", + "src": "18524:47:43" + }, + "nativeSrc": "18524:47:43", + "nodeType": "YulExpressionStatement", + "src": "18524:47:43" + }, + { + "nativeSrc": "18580:139:43", + "nodeType": "YulAssignment", + "src": "18580:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18714:4:43", + "nodeType": "YulIdentifier", + "src": "18714:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18588:124:43", + "nodeType": "YulIdentifier", + "src": "18588:124:43" + }, + "nativeSrc": "18588:131:43", + "nodeType": "YulFunctionCall", + "src": "18588:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18580:4:43", + "nodeType": "YulIdentifier", + "src": "18580:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "18307:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18458:9:43", + "nodeType": "YulTypedName", + "src": "18458:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18473:4:43", + "nodeType": "YulTypedName", + "src": "18473:4:43", + "type": "" + } + ], + "src": "18307:419:43" + }, + { + "body": { + "nativeSrc": "18838:118:43", + "nodeType": "YulBlock", + "src": "18838:118:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18860:6:43", + "nodeType": "YulIdentifier", + "src": "18860:6:43" + }, + { + "kind": "number", + "nativeSrc": "18868:1:43", + "nodeType": "YulLiteral", + "src": "18868:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18856:3:43", + "nodeType": "YulIdentifier", + "src": "18856:3:43" + }, + "nativeSrc": "18856:14:43", + "nodeType": "YulFunctionCall", + "src": "18856:14:43" + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d6564207468697320616972", + "kind": "string", + "nativeSrc": "18872:34:43", + "nodeType": "YulLiteral", + "src": "18872:34:43", + "type": "", + "value": "Address already claimed this air" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18849:6:43", + "nodeType": "YulIdentifier", + "src": "18849:6:43" + }, + "nativeSrc": "18849:58:43", + "nodeType": "YulFunctionCall", + "src": "18849:58:43" + }, + "nativeSrc": "18849:58:43", + "nodeType": "YulExpressionStatement", + "src": "18849:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18928:6:43", + "nodeType": "YulIdentifier", + "src": "18928:6:43" + }, + { + "kind": "number", + "nativeSrc": "18936:2:43", + "nodeType": "YulLiteral", + "src": "18936:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18924:3:43", + "nodeType": "YulIdentifier", + "src": "18924:3:43" + }, + "nativeSrc": "18924:15:43", + "nodeType": "YulFunctionCall", + "src": "18924:15:43" + }, + { + "hexValue": "64726f702e", + "kind": "string", + "nativeSrc": "18941:7:43", + "nodeType": "YulLiteral", + "src": "18941:7:43", + "type": "", + "value": "drop." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18917:6:43", + "nodeType": "YulIdentifier", + "src": "18917:6:43" + }, + "nativeSrc": "18917:32:43", + "nodeType": "YulFunctionCall", + "src": "18917:32:43" + }, + "nativeSrc": "18917:32:43", + "nodeType": "YulExpressionStatement", + "src": "18917:32:43" + } + ] + }, + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "18732:224:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "18830:6:43", + "nodeType": "YulTypedName", + "src": "18830:6:43", + "type": "" + } + ], + "src": "18732:224:43" + }, + { + "body": { + "nativeSrc": "19108:220:43", + "nodeType": "YulBlock", + "src": "19108:220:43", + "statements": [ + { + "nativeSrc": "19118:74:43", + "nodeType": "YulAssignment", + "src": "19118:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19184:3:43", + "nodeType": "YulIdentifier", + "src": "19184:3:43" + }, + { + "kind": "number", + "nativeSrc": "19189:2:43", + "nodeType": "YulLiteral", + "src": "19189:2:43", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19125:58:43", + "nodeType": "YulIdentifier", + "src": "19125:58:43" + }, + "nativeSrc": "19125:67:43", + "nodeType": "YulFunctionCall", + "src": "19125:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19118:3:43", + "nodeType": "YulIdentifier", + "src": "19118:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19290:3:43", + "nodeType": "YulIdentifier", + "src": "19290:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "19201:88:43", + "nodeType": "YulIdentifier", + "src": "19201:88:43" + }, + "nativeSrc": "19201:93:43", + "nodeType": "YulFunctionCall", + "src": "19201:93:43" + }, + "nativeSrc": "19201:93:43", + "nodeType": "YulExpressionStatement", + "src": "19201:93:43" + }, + { + "nativeSrc": "19303:19:43", + "nodeType": "YulAssignment", + "src": "19303:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19314:3:43", + "nodeType": "YulIdentifier", + "src": "19314:3:43" + }, + { + "kind": "number", + "nativeSrc": "19319:2:43", + "nodeType": "YulLiteral", + "src": "19319:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19310:3:43", + "nodeType": "YulIdentifier", + "src": "19310:3:43" + }, + "nativeSrc": "19310:12:43", + "nodeType": "YulFunctionCall", + "src": "19310:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19303:3:43", + "nodeType": "YulIdentifier", + "src": "19303:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18962:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19096:3:43", + "nodeType": "YulTypedName", + "src": "19096:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19104:3:43", + "nodeType": "YulTypedName", + "src": "19104:3:43", + "type": "" + } + ], + "src": "18962:366:43" + }, + { + "body": { + "nativeSrc": "19505:248:43", + "nodeType": "YulBlock", + "src": "19505:248:43", + "statements": [ + { + "nativeSrc": "19515:26:43", + "nodeType": "YulAssignment", + "src": "19515:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19527:9:43", + "nodeType": "YulIdentifier", + "src": "19527:9:43" + }, + { + "kind": "number", + "nativeSrc": "19538:2:43", + "nodeType": "YulLiteral", + "src": "19538:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19523:3:43", + "nodeType": "YulIdentifier", + "src": "19523:3:43" + }, + "nativeSrc": "19523:18:43", + "nodeType": "YulFunctionCall", + "src": "19523:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19515:4:43", + "nodeType": "YulIdentifier", + "src": "19515:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19562:9:43", + "nodeType": "YulIdentifier", + "src": "19562:9:43" + }, + { + "kind": "number", + "nativeSrc": "19573:1:43", + "nodeType": "YulLiteral", + "src": "19573:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19558:3:43", + "nodeType": "YulIdentifier", + "src": "19558:3:43" + }, + "nativeSrc": "19558:17:43", + "nodeType": "YulFunctionCall", + "src": "19558:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19581:4:43", + "nodeType": "YulIdentifier", + "src": "19581:4:43" + }, + { + "name": "headStart", + "nativeSrc": "19587:9:43", + "nodeType": "YulIdentifier", + "src": "19587:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19577:3:43", + "nodeType": "YulIdentifier", + "src": "19577:3:43" + }, + "nativeSrc": "19577:20:43", + "nodeType": "YulFunctionCall", + "src": "19577:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19551:6:43", + "nodeType": "YulIdentifier", + "src": "19551:6:43" + }, + "nativeSrc": "19551:47:43", + "nodeType": "YulFunctionCall", + "src": "19551:47:43" + }, + "nativeSrc": "19551:47:43", + "nodeType": "YulExpressionStatement", + "src": "19551:47:43" + }, + { + "nativeSrc": "19607:139:43", + "nodeType": "YulAssignment", + "src": "19607:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19741:4:43", + "nodeType": "YulIdentifier", + "src": "19741:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19615:124:43", + "nodeType": "YulIdentifier", + "src": "19615:124:43" + }, + "nativeSrc": "19615:131:43", + "nodeType": "YulFunctionCall", + "src": "19615:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19607:4:43", + "nodeType": "YulIdentifier", + "src": "19607:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19334:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19485:9:43", + "nodeType": "YulTypedName", + "src": "19485:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19500:4:43", + "nodeType": "YulTypedName", + "src": "19500:4:43", + "type": "" + } + ], + "src": "19334:419:43" + }, + { + "body": { + "nativeSrc": "19865:122:43", + "nodeType": "YulBlock", + "src": "19865:122:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19887:6:43", + "nodeType": "YulIdentifier", + "src": "19887:6:43" + }, + { + "kind": "number", + "nativeSrc": "19895:1:43", + "nodeType": "YulLiteral", + "src": "19895:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19883:3:43", + "nodeType": "YulIdentifier", + "src": "19883:3:43" + }, + "nativeSrc": "19883:14:43", + "nodeType": "YulFunctionCall", + "src": "19883:14:43" + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d6564", + "kind": "string", + "nativeSrc": "19899:34:43", + "nodeType": "YulLiteral", + "src": "19899:34:43", + "type": "", + "value": "Airdrop has been totally claimed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19876:6:43", + "nodeType": "YulIdentifier", + "src": "19876:6:43" + }, + "nativeSrc": "19876:58:43", + "nodeType": "YulFunctionCall", + "src": "19876:58:43" + }, + "nativeSrc": "19876:58:43", + "nodeType": "YulExpressionStatement", + "src": "19876:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19955:6:43", + "nodeType": "YulIdentifier", + "src": "19955:6:43" + }, + { + "kind": "number", + "nativeSrc": "19963:2:43", + "nodeType": "YulLiteral", + "src": "19963:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19951:3:43", + "nodeType": "YulIdentifier", + "src": "19951:3:43" + }, + "nativeSrc": "19951:15:43", + "nodeType": "YulFunctionCall", + "src": "19951:15:43" + }, + { + "hexValue": "20616c72656164792e", + "kind": "string", + "nativeSrc": "19968:11:43", + "nodeType": "YulLiteral", + "src": "19968:11:43", + "type": "", + "value": " already." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19944:6:43", + "nodeType": "YulIdentifier", + "src": "19944:6:43" + }, + "nativeSrc": "19944:36:43", + "nodeType": "YulFunctionCall", + "src": "19944:36:43" + }, + "nativeSrc": "19944:36:43", + "nodeType": "YulExpressionStatement", + "src": "19944:36:43" + } + ] + }, + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "19759:228:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "19857:6:43", + "nodeType": "YulTypedName", + "src": "19857:6:43", + "type": "" + } + ], + "src": "19759:228:43" + }, + { + "body": { + "nativeSrc": "20139:220:43", + "nodeType": "YulBlock", + "src": "20139:220:43", + "statements": [ + { + "nativeSrc": "20149:74:43", + "nodeType": "YulAssignment", + "src": "20149:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20215:3:43", + "nodeType": "YulIdentifier", + "src": "20215:3:43" + }, + { + "kind": "number", + "nativeSrc": "20220:2:43", + "nodeType": "YulLiteral", + "src": "20220:2:43", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "20156:58:43", + "nodeType": "YulIdentifier", + "src": "20156:58:43" + }, + "nativeSrc": "20156:67:43", + "nodeType": "YulFunctionCall", + "src": "20156:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "20149:3:43", + "nodeType": "YulIdentifier", + "src": "20149:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20321:3:43", + "nodeType": "YulIdentifier", + "src": "20321:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "20232:88:43", + "nodeType": "YulIdentifier", + "src": "20232:88:43" + }, + "nativeSrc": "20232:93:43", + "nodeType": "YulFunctionCall", + "src": "20232:93:43" + }, + "nativeSrc": "20232:93:43", + "nodeType": "YulExpressionStatement", + "src": "20232:93:43" + }, + { + "nativeSrc": "20334:19:43", + "nodeType": "YulAssignment", + "src": "20334:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20345:3:43", + "nodeType": "YulIdentifier", + "src": "20345:3:43" + }, + { + "kind": "number", + "nativeSrc": "20350:2:43", + "nodeType": "YulLiteral", + "src": "20350:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20341:3:43", + "nodeType": "YulIdentifier", + "src": "20341:3:43" + }, + "nativeSrc": "20341:12:43", + "nodeType": "YulFunctionCall", + "src": "20341:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "20334:3:43", + "nodeType": "YulIdentifier", + "src": "20334:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19993:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "20127:3:43", + "nodeType": "YulTypedName", + "src": "20127:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "20135:3:43", + "nodeType": "YulTypedName", + "src": "20135:3:43", + "type": "" + } + ], + "src": "19993:366:43" + }, + { + "body": { + "nativeSrc": "20536:248:43", + "nodeType": "YulBlock", + "src": "20536:248:43", + "statements": [ + { + "nativeSrc": "20546:26:43", + "nodeType": "YulAssignment", + "src": "20546:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20558:9:43", + "nodeType": "YulIdentifier", + "src": "20558:9:43" + }, + { + "kind": "number", + "nativeSrc": "20569:2:43", + "nodeType": "YulLiteral", + "src": "20569:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20554:3:43", + "nodeType": "YulIdentifier", + "src": "20554:3:43" + }, + "nativeSrc": "20554:18:43", + "nodeType": "YulFunctionCall", + "src": "20554:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20546:4:43", + "nodeType": "YulIdentifier", + "src": "20546:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20593:9:43", + "nodeType": "YulIdentifier", + "src": "20593:9:43" + }, + { + "kind": "number", + "nativeSrc": "20604:1:43", + "nodeType": "YulLiteral", + "src": "20604:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20589:3:43", + "nodeType": "YulIdentifier", + "src": "20589:3:43" + }, + "nativeSrc": "20589:17:43", + "nodeType": "YulFunctionCall", + "src": "20589:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20612:4:43", + "nodeType": "YulIdentifier", + "src": "20612:4:43" + }, + { + "name": "headStart", + "nativeSrc": "20618:9:43", + "nodeType": "YulIdentifier", + "src": "20618:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20608:3:43", + "nodeType": "YulIdentifier", + "src": "20608:3:43" + }, + "nativeSrc": "20608:20:43", + "nodeType": "YulFunctionCall", + "src": "20608:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20582:6:43", + "nodeType": "YulIdentifier", + "src": "20582:6:43" + }, + "nativeSrc": "20582:47:43", + "nodeType": "YulFunctionCall", + "src": "20582:47:43" + }, + "nativeSrc": "20582:47:43", + "nodeType": "YulExpressionStatement", + "src": "20582:47:43" + }, + { + "nativeSrc": "20638:139:43", + "nodeType": "YulAssignment", + "src": "20638:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20772:4:43", + "nodeType": "YulIdentifier", + "src": "20772:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20646:124:43", + "nodeType": "YulIdentifier", + "src": "20646:124:43" + }, + "nativeSrc": "20646:131:43", + "nodeType": "YulFunctionCall", + "src": "20646:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20638:4:43", + "nodeType": "YulIdentifier", + "src": "20638:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20365:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20516:9:43", + "nodeType": "YulTypedName", + "src": "20516:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20531:4:43", + "nodeType": "YulTypedName", + "src": "20531:4:43", + "type": "" + } + ], + "src": "20365:419:43" + }, + { + "body": { + "nativeSrc": "20896:129:43", + "nodeType": "YulBlock", + "src": "20896:129:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20918:6:43", + "nodeType": "YulIdentifier", + "src": "20918:6:43" + }, + { + "kind": "number", + "nativeSrc": "20926:1:43", + "nodeType": "YulLiteral", + "src": "20926:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20914:3:43", + "nodeType": "YulIdentifier", + "src": "20914:3:43" + }, + "nativeSrc": "20914:14:43", + "nodeType": "YulFunctionCall", + "src": "20914:14:43" + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e", + "kind": "string", + "nativeSrc": "20930:34:43", + "nodeType": "YulLiteral", + "src": "20930:34:43", + "type": "", + "value": "Airdrop contract has insufficien" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20907:6:43", + "nodeType": "YulIdentifier", + "src": "20907:6:43" + }, + "nativeSrc": "20907:58:43", + "nodeType": "YulFunctionCall", + "src": "20907:58:43" + }, + "nativeSrc": "20907:58:43", + "nodeType": "YulExpressionStatement", + "src": "20907:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20986:6:43", + "nodeType": "YulIdentifier", + "src": "20986:6:43" + }, + { + "kind": "number", + "nativeSrc": "20994:2:43", + "nodeType": "YulLiteral", + "src": "20994:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20982:3:43", + "nodeType": "YulIdentifier", + "src": "20982:3:43" + }, + "nativeSrc": "20982:15:43", + "nodeType": "YulFunctionCall", + "src": "20982:15:43" + }, + { + "hexValue": "7420746f6b656e2062616c616e63652e", + "kind": "string", + "nativeSrc": "20999:18:43", + "nodeType": "YulLiteral", + "src": "20999:18:43", + "type": "", + "value": "t token balance." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20975:6:43", + "nodeType": "YulIdentifier", + "src": "20975:6:43" + }, + "nativeSrc": "20975:43:43", + "nodeType": "YulFunctionCall", + "src": "20975:43:43" + }, + "nativeSrc": "20975:43:43", + "nodeType": "YulExpressionStatement", + "src": "20975:43:43" + } + ] + }, + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "20790:235:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "20888:6:43", + "nodeType": "YulTypedName", + "src": "20888:6:43", + "type": "" + } + ], + "src": "20790:235:43" + }, + { + "body": { + "nativeSrc": "21177:220:43", + "nodeType": "YulBlock", + "src": "21177:220:43", + "statements": [ + { + "nativeSrc": "21187:74:43", + "nodeType": "YulAssignment", + "src": "21187:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21253:3:43", + "nodeType": "YulIdentifier", + "src": "21253:3:43" + }, + { + "kind": "number", + "nativeSrc": "21258:2:43", + "nodeType": "YulLiteral", + "src": "21258:2:43", + "type": "", + "value": "48" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "21194:58:43", + "nodeType": "YulIdentifier", + "src": "21194:58:43" + }, + "nativeSrc": "21194:67:43", + "nodeType": "YulFunctionCall", + "src": "21194:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "21187:3:43", + "nodeType": "YulIdentifier", + "src": "21187:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21359:3:43", + "nodeType": "YulIdentifier", + "src": "21359:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "21270:88:43", + "nodeType": "YulIdentifier", + "src": "21270:88:43" + }, + "nativeSrc": "21270:93:43", + "nodeType": "YulFunctionCall", + "src": "21270:93:43" + }, + "nativeSrc": "21270:93:43", + "nodeType": "YulExpressionStatement", + "src": "21270:93:43" + }, + { + "nativeSrc": "21372:19:43", + "nodeType": "YulAssignment", + "src": "21372:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21383:3:43", + "nodeType": "YulIdentifier", + "src": "21383:3:43" + }, + { + "kind": "number", + "nativeSrc": "21388:2:43", + "nodeType": "YulLiteral", + "src": "21388:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21379:3:43", + "nodeType": "YulIdentifier", + "src": "21379:3:43" + }, + "nativeSrc": "21379:12:43", + "nodeType": "YulFunctionCall", + "src": "21379:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "21372:3:43", + "nodeType": "YulIdentifier", + "src": "21372:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21031:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "21165:3:43", + "nodeType": "YulTypedName", + "src": "21165:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "21173:3:43", + "nodeType": "YulTypedName", + "src": "21173:3:43", + "type": "" + } + ], + "src": "21031:366:43" + }, + { + "body": { + "nativeSrc": "21574:248:43", + "nodeType": "YulBlock", + "src": "21574:248:43", + "statements": [ + { + "nativeSrc": "21584:26:43", + "nodeType": "YulAssignment", + "src": "21584:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21596:9:43", + "nodeType": "YulIdentifier", + "src": "21596:9:43" + }, + { + "kind": "number", + "nativeSrc": "21607:2:43", + "nodeType": "YulLiteral", + "src": "21607:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21592:3:43", + "nodeType": "YulIdentifier", + "src": "21592:3:43" + }, + "nativeSrc": "21592:18:43", + "nodeType": "YulFunctionCall", + "src": "21592:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21584:4:43", + "nodeType": "YulIdentifier", + "src": "21584:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21631:9:43", + "nodeType": "YulIdentifier", + "src": "21631:9:43" + }, + { + "kind": "number", + "nativeSrc": "21642:1:43", + "nodeType": "YulLiteral", + "src": "21642:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21627:3:43", + "nodeType": "YulIdentifier", + "src": "21627:3:43" + }, + "nativeSrc": "21627:17:43", + "nodeType": "YulFunctionCall", + "src": "21627:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21650:4:43", + "nodeType": "YulIdentifier", + "src": "21650:4:43" + }, + { + "name": "headStart", + "nativeSrc": "21656:9:43", + "nodeType": "YulIdentifier", + "src": "21656:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21646:3:43", + "nodeType": "YulIdentifier", + "src": "21646:3:43" + }, + "nativeSrc": "21646:20:43", + "nodeType": "YulFunctionCall", + "src": "21646:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21620:6:43", + "nodeType": "YulIdentifier", + "src": "21620:6:43" + }, + "nativeSrc": "21620:47:43", + "nodeType": "YulFunctionCall", + "src": "21620:47:43" + }, + "nativeSrc": "21620:47:43", + "nodeType": "YulExpressionStatement", + "src": "21620:47:43" + }, + { + "nativeSrc": "21676:139:43", + "nodeType": "YulAssignment", + "src": "21676:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21810:4:43", + "nodeType": "YulIdentifier", + "src": "21810:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21684:124:43", + "nodeType": "YulIdentifier", + "src": "21684:124:43" + }, + "nativeSrc": "21684:131:43", + "nodeType": "YulFunctionCall", + "src": "21684:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21676:4:43", + "nodeType": "YulIdentifier", + "src": "21676:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "21403:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21554:9:43", + "nodeType": "YulTypedName", + "src": "21554:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "21569:4:43", + "nodeType": "YulTypedName", + "src": "21569:4:43", + "type": "" + } + ], + "src": "21403:419:43" + }, + { + "body": { + "nativeSrc": "21923:73:43", + "nodeType": "YulBlock", + "src": "21923:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21940:3:43", + "nodeType": "YulIdentifier", + "src": "21940:3:43" + }, + { + "name": "length", + "nativeSrc": "21945:6:43", + "nodeType": "YulIdentifier", + "src": "21945:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21933:6:43", + "nodeType": "YulIdentifier", + "src": "21933:6:43" + }, + "nativeSrc": "21933:19:43", + "nodeType": "YulFunctionCall", + "src": "21933:19:43" + }, + "nativeSrc": "21933:19:43", + "nodeType": "YulExpressionStatement", + "src": "21933:19:43" + }, + { + "nativeSrc": "21961:29:43", + "nodeType": "YulAssignment", + "src": "21961:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21980:3:43", + "nodeType": "YulIdentifier", + "src": "21980:3:43" + }, + { + "kind": "number", + "nativeSrc": "21985:4:43", + "nodeType": "YulLiteral", + "src": "21985:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21976:3:43", + "nodeType": "YulIdentifier", + "src": "21976:3:43" + }, + "nativeSrc": "21976:14:43", + "nodeType": "YulFunctionCall", + "src": "21976:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "21961:11:43", + "nodeType": "YulIdentifier", + "src": "21961:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "21828:168:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "21895:3:43", + "nodeType": "YulTypedName", + "src": "21895:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "21900:6:43", + "nodeType": "YulTypedName", + "src": "21900:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "21911:11:43", + "nodeType": "YulTypedName", + "src": "21911:11:43", + "type": "" + } + ], + "src": "21828:168:43" + }, + { + "body": { + "nativeSrc": "22108:8:43", + "nodeType": "YulBlock", + "src": "22108:8:43", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "22002:114:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "22100:6:43", + "nodeType": "YulTypedName", + "src": "22100:6:43", + "type": "" + } + ], + "src": "22002:114:43" + }, + { + "body": { + "nativeSrc": "22267:217:43", + "nodeType": "YulBlock", + "src": "22267:217:43", + "statements": [ + { + "nativeSrc": "22277:72:43", + "nodeType": "YulAssignment", + "src": "22277:72:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22342:3:43", + "nodeType": "YulIdentifier", + "src": "22342:3:43" + }, + { + "kind": "number", + "nativeSrc": "22347:1:43", + "nodeType": "YulLiteral", + "src": "22347:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22284:57:43", + "nodeType": "YulIdentifier", + "src": "22284:57:43" + }, + "nativeSrc": "22284:65:43", + "nodeType": "YulFunctionCall", + "src": "22284:65:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "22277:3:43", + "nodeType": "YulIdentifier", + "src": "22277:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22447:3:43", + "nodeType": "YulIdentifier", + "src": "22447:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "22358:88:43", + "nodeType": "YulIdentifier", + "src": "22358:88:43" + }, + "nativeSrc": "22358:93:43", + "nodeType": "YulFunctionCall", + "src": "22358:93:43" + }, + "nativeSrc": "22358:93:43", + "nodeType": "YulExpressionStatement", + "src": "22358:93:43" + }, + { + "nativeSrc": "22460:18:43", + "nodeType": "YulAssignment", + "src": "22460:18:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22471:3:43", + "nodeType": "YulIdentifier", + "src": "22471:3:43" + }, + { + "kind": "number", + "nativeSrc": "22476:1:43", + "nodeType": "YulLiteral", + "src": "22476:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22467:3:43", + "nodeType": "YulIdentifier", + "src": "22467:3:43" + }, + "nativeSrc": "22467:11:43", + "nodeType": "YulFunctionCall", + "src": "22467:11:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "22460:3:43", + "nodeType": "YulIdentifier", + "src": "22460:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22122:362:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "22255:3:43", + "nodeType": "YulTypedName", + "src": "22255:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "22263:3:43", + "nodeType": "YulTypedName", + "src": "22263:3:43", + "type": "" + } + ], + "src": "22122:362:43" + }, + { + "body": { + "nativeSrc": "22772:577:43", + "nodeType": "YulBlock", + "src": "22772:577:43", + "statements": [ + { + "nativeSrc": "22782:27:43", + "nodeType": "YulAssignment", + "src": "22782:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22794:9:43", + "nodeType": "YulIdentifier", + "src": "22794:9:43" + }, + { + "kind": "number", + "nativeSrc": "22805:3:43", + "nodeType": "YulLiteral", + "src": "22805:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22790:3:43", + "nodeType": "YulIdentifier", + "src": "22790:3:43" + }, + "nativeSrc": "22790:19:43", + "nodeType": "YulFunctionCall", + "src": "22790:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22782:4:43", + "nodeType": "YulIdentifier", + "src": "22782:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "22863:6:43", + "nodeType": "YulIdentifier", + "src": "22863:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22876:9:43", + "nodeType": "YulIdentifier", + "src": "22876:9:43" + }, + { + "kind": "number", + "nativeSrc": "22887:1:43", + "nodeType": "YulLiteral", + "src": "22887:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22872:3:43", + "nodeType": "YulIdentifier", + "src": "22872:3:43" + }, + "nativeSrc": "22872:17:43", + "nodeType": "YulFunctionCall", + "src": "22872:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22819:43:43", + "nodeType": "YulIdentifier", + "src": "22819:43:43" + }, + "nativeSrc": "22819:71:43", + "nodeType": "YulFunctionCall", + "src": "22819:71:43" + }, + "nativeSrc": "22819:71:43", + "nodeType": "YulExpressionStatement", + "src": "22819:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "22944:6:43", + "nodeType": "YulIdentifier", + "src": "22944:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22957:9:43", + "nodeType": "YulIdentifier", + "src": "22957:9:43" + }, + { + "kind": "number", + "nativeSrc": "22968:2:43", + "nodeType": "YulLiteral", + "src": "22968:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22953:3:43", + "nodeType": "YulIdentifier", + "src": "22953:3:43" + }, + "nativeSrc": "22953:18:43", + "nodeType": "YulFunctionCall", + "src": "22953:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22900:43:43", + "nodeType": "YulIdentifier", + "src": "22900:43:43" + }, + "nativeSrc": "22900:72:43", + "nodeType": "YulFunctionCall", + "src": "22900:72:43" + }, + "nativeSrc": "22900:72:43", + "nodeType": "YulExpressionStatement", + "src": "22900:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "23026:6:43", + "nodeType": "YulIdentifier", + "src": "23026:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23039:9:43", + "nodeType": "YulIdentifier", + "src": "23039:9:43" + }, + { + "kind": "number", + "nativeSrc": "23050:2:43", + "nodeType": "YulLiteral", + "src": "23050:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23035:3:43", + "nodeType": "YulIdentifier", + "src": "23035:3:43" + }, + "nativeSrc": "23035:18:43", + "nodeType": "YulFunctionCall", + "src": "23035:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "22982:43:43", + "nodeType": "YulIdentifier", + "src": "22982:43:43" + }, + "nativeSrc": "22982:72:43", + "nodeType": "YulFunctionCall", + "src": "22982:72:43" + }, + "nativeSrc": "22982:72:43", + "nodeType": "YulExpressionStatement", + "src": "22982:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "23108:6:43", + "nodeType": "YulIdentifier", + "src": "23108:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23121:9:43", + "nodeType": "YulIdentifier", + "src": "23121:9:43" + }, + { + "kind": "number", + "nativeSrc": "23132:2:43", + "nodeType": "YulLiteral", + "src": "23132:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23117:3:43", + "nodeType": "YulIdentifier", + "src": "23117:3:43" + }, + "nativeSrc": "23117:18:43", + "nodeType": "YulFunctionCall", + "src": "23117:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "23064:43:43", + "nodeType": "YulIdentifier", + "src": "23064:43:43" + }, + "nativeSrc": "23064:72:43", + "nodeType": "YulFunctionCall", + "src": "23064:72:43" + }, + "nativeSrc": "23064:72:43", + "nodeType": "YulExpressionStatement", + "src": "23064:72:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23157:9:43", + "nodeType": "YulIdentifier", + "src": "23157:9:43" + }, + { + "kind": "number", + "nativeSrc": "23168:3:43", + "nodeType": "YulLiteral", + "src": "23168:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23153:3:43", + "nodeType": "YulIdentifier", + "src": "23153:3:43" + }, + "nativeSrc": "23153:19:43", + "nodeType": "YulFunctionCall", + "src": "23153:19:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "23178:4:43", + "nodeType": "YulIdentifier", + "src": "23178:4:43" + }, + { + "name": "headStart", + "nativeSrc": "23184:9:43", + "nodeType": "YulIdentifier", + "src": "23184:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23174:3:43", + "nodeType": "YulIdentifier", + "src": "23174:3:43" + }, + "nativeSrc": "23174:20:43", + "nodeType": "YulFunctionCall", + "src": "23174:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23146:6:43", + "nodeType": "YulIdentifier", + "src": "23146:6:43" + }, + "nativeSrc": "23146:49:43", + "nodeType": "YulFunctionCall", + "src": "23146:49:43" + }, + "nativeSrc": "23146:49:43", + "nodeType": "YulExpressionStatement", + "src": "23146:49:43" + }, + { + "nativeSrc": "23204:138:43", + "nodeType": "YulAssignment", + "src": "23204:138:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "23337:4:43", + "nodeType": "YulIdentifier", + "src": "23337:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "23212:123:43", + "nodeType": "YulIdentifier", + "src": "23212:123:43" + }, + "nativeSrc": "23212:130:43", + "nodeType": "YulFunctionCall", + "src": "23212:130:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "23204:4:43", + "nodeType": "YulIdentifier", + "src": "23204:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "22490:859:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22720:9:43", + "nodeType": "YulTypedName", + "src": "22720:9:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "22732:6:43", + "nodeType": "YulTypedName", + "src": "22732:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "22740:6:43", + "nodeType": "YulTypedName", + "src": "22740:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "22748:6:43", + "nodeType": "YulTypedName", + "src": "22748:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "22756:6:43", + "nodeType": "YulTypedName", + "src": "22756:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "22767:4:43", + "nodeType": "YulTypedName", + "src": "22767:4:43", + "type": "" + } + ], + "src": "22490:859:43" + }, + { + "body": { + "nativeSrc": "23383:152:43", + "nodeType": "YulBlock", + "src": "23383:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23400:1:43", + "nodeType": "YulLiteral", + "src": "23400:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23403:77:43", + "nodeType": "YulLiteral", + "src": "23403:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23393:6:43", + "nodeType": "YulIdentifier", + "src": "23393:6:43" + }, + "nativeSrc": "23393:88:43", + "nodeType": "YulFunctionCall", + "src": "23393:88:43" + }, + "nativeSrc": "23393:88:43", + "nodeType": "YulExpressionStatement", + "src": "23393:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23497:1:43", + "nodeType": "YulLiteral", + "src": "23497:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "23500:4:43", + "nodeType": "YulLiteral", + "src": "23500:4:43", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23490:6:43", + "nodeType": "YulIdentifier", + "src": "23490:6:43" + }, + "nativeSrc": "23490:15:43", + "nodeType": "YulFunctionCall", + "src": "23490:15:43" + }, + "nativeSrc": "23490:15:43", + "nodeType": "YulExpressionStatement", + "src": "23490:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23521:1:43", + "nodeType": "YulLiteral", + "src": "23521:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23524:4:43", + "nodeType": "YulLiteral", + "src": "23524:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23514:6:43", + "nodeType": "YulIdentifier", + "src": "23514:6:43" + }, + "nativeSrc": "23514:15:43", + "nodeType": "YulFunctionCall", + "src": "23514:15:43" + }, + "nativeSrc": "23514:15:43", + "nodeType": "YulExpressionStatement", + "src": "23514:15:43" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "23355:180:43", + "nodeType": "YulFunctionDefinition", + "src": "23355:180:43" + }, + { + "body": { + "nativeSrc": "23586:149:43", + "nodeType": "YulBlock", + "src": "23586:149:43", + "statements": [ + { + "nativeSrc": "23596:25:43", + "nodeType": "YulAssignment", + "src": "23596:25:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "23619:1:43", + "nodeType": "YulIdentifier", + "src": "23619:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "23601:17:43", + "nodeType": "YulIdentifier", + "src": "23601:17:43" + }, + "nativeSrc": "23601:20:43", + "nodeType": "YulFunctionCall", + "src": "23601:20:43" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "23596:1:43", + "nodeType": "YulIdentifier", + "src": "23596:1:43" + } + ] + }, + { + "nativeSrc": "23630:25:43", + "nodeType": "YulAssignment", + "src": "23630:25:43", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "23653:1:43", + "nodeType": "YulIdentifier", + "src": "23653:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "23635:17:43", + "nodeType": "YulIdentifier", + "src": "23635:17:43" + }, + "nativeSrc": "23635:20:43", + "nodeType": "YulFunctionCall", + "src": "23635:20:43" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "23630:1:43", + "nodeType": "YulIdentifier", + "src": "23630:1:43" + } + ] + }, + { + "nativeSrc": "23664:17:43", + "nodeType": "YulAssignment", + "src": "23664:17:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "23676:1:43", + "nodeType": "YulIdentifier", + "src": "23676:1:43" + }, + { + "name": "y", + "nativeSrc": "23679:1:43", + "nodeType": "YulIdentifier", + "src": "23679:1:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23672:3:43", + "nodeType": "YulIdentifier", + "src": "23672:3:43" + }, + "nativeSrc": "23672:9:43", + "nodeType": "YulFunctionCall", + "src": "23672:9:43" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "23664:4:43", + "nodeType": "YulIdentifier", + "src": "23664:4:43" + } + ] + }, + { + "body": { + "nativeSrc": "23706:22:43", + "nodeType": "YulBlock", + "src": "23706:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "23708:16:43", + "nodeType": "YulIdentifier", + "src": "23708:16:43" + }, + "nativeSrc": "23708:18:43", + "nodeType": "YulFunctionCall", + "src": "23708:18:43" + }, + "nativeSrc": "23708:18:43", + "nodeType": "YulExpressionStatement", + "src": "23708:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "23697:4:43", + "nodeType": "YulIdentifier", + "src": "23697:4:43" + }, + { + "name": "x", + "nativeSrc": "23703:1:43", + "nodeType": "YulIdentifier", + "src": "23703:1:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23694:2:43", + "nodeType": "YulIdentifier", + "src": "23694:2:43" + }, + "nativeSrc": "23694:11:43", + "nodeType": "YulFunctionCall", + "src": "23694:11:43" + }, + "nativeSrc": "23691:37:43", + "nodeType": "YulIf", + "src": "23691:37:43" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "23541:194:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "23572:1:43", + "nodeType": "YulTypedName", + "src": "23572:1:43", + "type": "" + }, + { + "name": "y", + "nativeSrc": "23575:1:43", + "nodeType": "YulTypedName", + "src": "23575:1:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "23581:4:43", + "nodeType": "YulTypedName", + "src": "23581:4:43", + "type": "" + } + ], + "src": "23541:194:43" + } + ] + }, + "contents": "{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$11645(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$11645(value)\n }\n\n function convert_t_enum$_AirdropType_$11645_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$11645_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value0, tail)\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\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_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e(memPtr) {\n\n mstore(add(memPtr, 0), \"Address not allowed to claim thi\")\n\n mstore(add(memPtr, 32), \"s airdrop\")\n\n }\n\n function abi_encode_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e__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_38b0695baad8e786df65574bdca7a9d8f748f45fb36e06f3d63096a5295f228e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already expired.\")\n\n }\n\n function abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__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_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(memPtr) {\n\n mstore(add(memPtr, 0), \"Address already claimed this air\")\n\n mstore(add(memPtr, 32), \"drop.\")\n\n }\n\n function abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__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_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop has been totally claimed\")\n\n mstore(add(memPtr, 32), \" already.\")\n\n }\n\n function abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__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_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop contract has insufficien\")\n\n mstore(add(memPtr, 32), \"t token balance.\")\n\n }\n\n function abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__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_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea2646970667358221220bd72319c10e3d3381b43e2670c4375cf0a3350cc3750c43744074c5d6087841164736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD PUSH19 0x319C10E3D3381B43E2670C4375CF0A3350CC37 POP 0xC4 CALLDATACOPY PREVRANDAO SMOD 0x4C TSTORE PUSH1 0x87 DUP5 GT PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "141:4472:34:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:144;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2771:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4113:124;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2030:220;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2924:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1308:716;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3893:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4486:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3693:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3796:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;2528:126:34;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2660:105:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2406:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3165:242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3413:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3573:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4004:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4243:237;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2256:144:34;2305:4;2381:12;;2328:14;;;;;;;;;;;:24;;;2361:4;2368:8;;2328:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;2321:72;;2256:144;:::o;2771:147::-;1531:13:0;:11;:13::i;:::-;2868:4:34::1;2838:17;:27;2856:8;2838:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;2887:24;2902:8;2887:24;;;;;;:::i;:::-;;;;;;;;2771:147:::0;:::o;4113:124::-;4155:7;4181:14;;;;;;;;;;;:24;;;4214:4;4221:8;;4181:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4174:56;;4113:124;:::o;2030:220::-;2076:18;;:::i;:::-;2113:130;;;;;;;;2125:12;2113:130;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2147:4;2113:130;;;;;;2154:19;;2113:130;;;;2175:18;;2113:130;;;;2195:12;;2113:130;;;;2209:15;;2113:130;;;;2226:12;;;;;;;;;;;2113:130;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2106:137;;2030:220;:::o;2924:235::-;1531:13:0;:11;:13::i;:::-;3008:6:34::1;3003:150;3020:9;:16;3016:1;:20;3003:150;;;3091:4;3057:17;:31;3075:9;3085:1;3075:12;;;;;;;;:::i;:::-;;;;;;;;3057:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3114:28;3129:9;3139:1;3129:12;;;;;;;;:::i;:::-;;;;;;;;3114:28;;;;;;:::i;:::-;;;;;;;;3038:3;;;;;;;3003:150;;;;2924:235:::0;:::o;1308:716::-;1531:13:0;:11;:13::i;:::-;1414:15:34::1;1424:4;1414:9;:15::i;:::-;1406:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;1494:12;:10;:12::i;:::-;1493:13;1485:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1554:16;1565:4;1554:10;:16::i;:::-;1553:17;1545:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1631:23;:21;:23::i;:::-;1630:24;1622:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;1718:19;:17;:19::i;:::-;1710:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1801:14;;;;;;;;;;;:31;;;1841:4;1848;1854:8;;1864:12;;1801:80;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1913:12;;1891:18;;:34;;;;;;;:::i;:::-;;;;;;;;1972:4;1935:28;:34;1964:4;1935:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;1992:25;1998:4;2004:12;;1992:25;;;;;;;:::i;:::-;;;;;;;;1308:716:::0;;;;:::o;3893:105::-;3946:7;3972:19;;3965:26;;3893:105;:::o;4486:125::-;4525:13;4580:24;;;;;;;;;;;;;;;;;;;4486:125;:::o;3693:97::-;3742:7;3768:15;;3761:22;;3693:97;:::o;3796:91::-;3842:7;3868:12;;3861:19;;3796:91;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2528:126:34:-;2586:4;2609:28;:38;2638:8;2609:38;;;;;;;;;;;;;;;;;;;;;;;;;2602:45;;2528:126;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;2660:105:34:-;2702:4;2743:15;2725;;:33;2718:40;;2660:105;:::o;2406:116::-;2459:4;2503:12;;2482:18;;:33;2475:40;;2406:116;:::o;3165:242::-;1531:13:0;:11;:13::i;:::-;3252:6:34::1;3247:154;3264:9;:16;3260:1;:20;3247:154;;;3335:5;3301:17;:31;3319:9;3329:1;3319:12;;;;;;;;:::i;:::-;;;;;;;;3301:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;3359:31;3377:9;3387:1;3377:12;;;;;;;;:::i;:::-;;;;;;;;3359:31;;;;;;:::i;:::-;;;;;;;;3282:3;;;;;;;3247:154;;;;3165:242:::0;:::o;3413:154::-;1531:13:0;:11;:13::i;:::-;3513:5:34::1;3483:17;:27;3501:8;3483:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;3533:27;3551:8;3533:27;;;;;;:::i;:::-;;;;;;;;3413:154:::0;:::o;3573:114::-;3630:4;3653:17;:27;3671:8;3653:27;;;;;;;;;;;;;;;;;;;;;;;;;3646:34;;3573:114;;;:::o;4004:103::-;4056:7;4082:18;;4075:25;;4004:103;:::o;4243:237::-;4371:6;4403:69;4389:84;;4243:237;;;;;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;2912:187::-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:16:-;709:7;735:10;728:17;;656:96;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:90:43:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:75::-;467:6;500:2;494:9;484:19;;434:75;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:126;798:7;838:42;831:5;827:54;816:65;;761:126;;;:::o;893:96::-;930:7;959:24;977:5;959:24;:::i;:::-;948:35;;893:96;;;:::o;995:122::-;1068:24;1086:5;1068:24;:::i;:::-;1061:5;1058:35;1048:63;;1107:1;1104;1097:12;1048:63;995:122;:::o;1123:139::-;1169:5;1207:6;1194:20;1185:29;;1223:33;1250:5;1223:33;:::i;:::-;1123:139;;;;:::o;1268:329::-;1327:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:119;;;1382:79;;:::i;:::-;1344:119;1502:1;1527:53;1572:7;1563:6;1552:9;1548:22;1527:53;:::i;:::-;1517:63;;1473:117;1268:329;;;;:::o;1603:77::-;1640:7;1669:5;1658:16;;1603:77;;;:::o;1686:118::-;1773:24;1791:5;1773:24;:::i;:::-;1768:3;1761:37;1686:118;;:::o;1810:222::-;1903:4;1941:2;1930:9;1926:18;1918:26;;1954:71;2022:1;2011:9;2007:17;1998:6;1954:71;:::i;:::-;1810:222;;;;:::o;2038:99::-;2090:6;2124:5;2118:12;2108:22;;2038:99;;;:::o;2143:159::-;2217:11;2251:6;2246:3;2239:19;2291:4;2286:3;2282:14;2267:29;;2143:159;;;;:::o;2308:246::-;2389:1;2399:113;2413:6;2410:1;2407:13;2399:113;;;2498:1;2493:3;2489:11;2483:18;2479:1;2474:3;2470:11;2463:39;2435:2;2432:1;2428:10;2423:15;;2399:113;;;2546:1;2537:6;2532:3;2528:16;2521:27;2370:184;2308:246;;;:::o;2560:102::-;2601:6;2652:2;2648:7;2643:2;2636:5;2632:14;2628:28;2618:38;;2560:102;;;:::o;2668:357::-;2746:3;2774:39;2807:5;2774:39;:::i;:::-;2829:61;2883:6;2878:3;2829:61;:::i;:::-;2822:68;;2899:65;2957:6;2952:3;2945:4;2938:5;2934:16;2899:65;:::i;:::-;2989:29;3011:6;2989:29;:::i;:::-;2984:3;2980:39;2973:46;;2750:275;2668:357;;;;:::o;3031:108::-;3108:24;3126:5;3108:24;:::i;:::-;3103:3;3096:37;3031:108;;:::o;3145:::-;3222:24;3240:5;3222:24;:::i;:::-;3217:3;3210:37;3145:108;;:::o;3259:180::-;3307:77;3304:1;3297:88;3404:4;3401:1;3394:15;3428:4;3425:1;3418:15;3445:122;3535:1;3528:5;3525:12;3515:46;;3541:18;;:::i;:::-;3515:46;3445:122;:::o;3573:145::-;3627:7;3656:5;3645:16;;3662:50;3706:5;3662:50;:::i;:::-;3573:145;;;:::o;3724:::-;3789:9;3822:41;3857:5;3822:41;:::i;:::-;3809:54;;3724:145;;;:::o;3875:151::-;3967:52;4013:5;3967:52;:::i;:::-;3962:3;3955:65;3875:151;;:::o;4080:1815::-;4209:3;4245:6;4240:3;4236:16;4341:4;4334:5;4330:16;4324:23;4394:3;4388:4;4384:14;4377:4;4372:3;4368:14;4361:38;4420:73;4488:4;4474:12;4420:73;:::i;:::-;4412:81;;4262:242;4596:4;4589:5;4585:16;4579:23;4615:63;4672:4;4667:3;4663:14;4649:12;4615:63;:::i;:::-;4514:174;4784:4;4777:5;4773:16;4767:23;4803:63;4860:4;4855:3;4851:14;4837:12;4803:63;:::i;:::-;4698:178;4971:4;4964:5;4960:16;4954:23;4990:63;5047:4;5042:3;5038:14;5024:12;4990:63;:::i;:::-;4886:177;5152:4;5145:5;5141:16;5135:23;5171:63;5228:4;5223:3;5219:14;5205:12;5171:63;:::i;:::-;5073:171;5336:4;5329:5;5325:16;5319:23;5355:63;5412:4;5407:3;5403:14;5389:12;5355:63;:::i;:::-;5254:174;5517:4;5510:5;5506:16;5500:23;5536:78;5608:4;5603:3;5599:14;5585:12;5536:78;:::i;:::-;5438:186;5705:4;5698:5;5694:16;5688:23;5758:3;5752:4;5748:14;5741:4;5736:3;5732:14;5725:38;5784:73;5852:4;5838:12;5784:73;:::i;:::-;5776:81;;5634:234;5885:4;5878:11;;4214:1681;4080:1815;;;;:::o;5901:393::-;6054:4;6092:2;6081:9;6077:18;6069:26;;6141:9;6135:4;6131:20;6127:1;6116:9;6112:17;6105:47;6169:118;6282:4;6273:6;6169:118;:::i;:::-;6161:126;;5901:393;;;;:::o;6300:117::-;6409:1;6406;6399:12;6423:180;6471:77;6468:1;6461:88;6568:4;6565:1;6558:15;6592:4;6589:1;6582:15;6609:281;6692:27;6714:4;6692:27;:::i;:::-;6684:6;6680:40;6822:6;6810:10;6807:22;6786:18;6774:10;6771:34;6768:62;6765:88;;;6833:18;;:::i;:::-;6765:88;6873:10;6869:2;6862:22;6652:238;6609:281;;:::o;6896:129::-;6930:6;6957:20;;:::i;:::-;6947:30;;6986:33;7014:4;7006:6;6986:33;:::i;:::-;6896:129;;;:::o;7031:311::-;7108:4;7198:18;7190:6;7187:30;7184:56;;;7220:18;;:::i;:::-;7184:56;7270:4;7262:6;7258:17;7250:25;;7330:4;7324;7320:15;7312:23;;7031:311;;;:::o;7348:117::-;7457:1;7454;7447:12;7488:710;7584:5;7609:81;7625:64;7682:6;7625:64;:::i;:::-;7609:81;:::i;:::-;7600:90;;7710:5;7739:6;7732:5;7725:21;7773:4;7766:5;7762:16;7755:23;;7826:4;7818:6;7814:17;7806:6;7802:30;7855:3;7847:6;7844:15;7841:122;;;7874:79;;:::i;:::-;7841:122;7989:6;7972:220;8006:6;8001:3;7998:15;7972:220;;;8081:3;8110:37;8143:3;8131:10;8110:37;:::i;:::-;8105:3;8098:50;8177:4;8172:3;8168:14;8161:21;;8048:144;8032:4;8027:3;8023:14;8016:21;;7972:220;;;7976:21;7590:608;;7488:710;;;;;:::o;8221:370::-;8292:5;8341:3;8334:4;8326:6;8322:17;8318:27;8308:122;;8349:79;;:::i;:::-;8308:122;8466:6;8453:20;8491:94;8581:3;8573:6;8566:4;8558:6;8554:17;8491:94;:::i;:::-;8482:103;;8298:293;8221:370;;;;:::o;8597:539::-;8681:6;8730:2;8718:9;8709:7;8705:23;8701:32;8698:119;;;8736:79;;:::i;:::-;8698:119;8884:1;8873:9;8869:17;8856:31;8914:18;8906:6;8903:30;8900:117;;;8936:79;;:::i;:::-;8900:117;9041:78;9111:7;9102:6;9091:9;9087:22;9041:78;:::i;:::-;9031:88;;8827:302;8597:539;;;;:::o;9142:122::-;9215:24;9233:5;9215:24;:::i;:::-;9208:5;9205:35;9195:63;;9254:1;9251;9244:12;9195:63;9142:122;:::o;9270:139::-;9316:5;9354:6;9341:20;9332:29;;9370:33;9397:5;9370:33;:::i;:::-;9270:139;;;;:::o;9415:117::-;9524:1;9521;9514:12;9555:568;9628:8;9638:6;9688:3;9681:4;9673:6;9669:17;9665:27;9655:122;;9696:79;;:::i;:::-;9655:122;9809:6;9796:20;9786:30;;9839:18;9831:6;9828:30;9825:117;;;9861:79;;:::i;:::-;9825:117;9975:4;9967:6;9963:17;9951:29;;10029:3;10021:4;10013:6;10009:17;9999:8;9995:32;9992:41;9989:128;;;10036:79;;:::i;:::-;9989:128;9555:568;;;;;:::o;10129:849::-;10233:6;10241;10249;10257;10306:2;10294:9;10285:7;10281:23;10277:32;10274:119;;;10312:79;;:::i;:::-;10274:119;10432:1;10457:53;10502:7;10493:6;10482:9;10478:22;10457:53;:::i;:::-;10447:63;;10403:117;10559:2;10585:53;10630:7;10621:6;10610:9;10606:22;10585:53;:::i;:::-;10575:63;;10530:118;10715:2;10704:9;10700:18;10687:32;10746:18;10738:6;10735:30;10732:117;;;10768:79;;:::i;:::-;10732:117;10881:80;10953:7;10944:6;10933:9;10929:22;10881:80;:::i;:::-;10863:98;;;;10658:313;10129:849;;;;;;;:::o;10984:169::-;11068:11;11102:6;11097:3;11090:19;11142:4;11137:3;11133:14;11118:29;;10984:169;;;;:::o;11159:377::-;11247:3;11275:39;11308:5;11275:39;:::i;:::-;11330:71;11394:6;11389:3;11330:71;:::i;:::-;11323:78;;11410:65;11468:6;11463:3;11456:4;11449:5;11445:16;11410:65;:::i;:::-;11500:29;11522:6;11500:29;:::i;:::-;11495:3;11491:39;11484:46;;11251:285;11159:377;;;;:::o;11542:313::-;11655:4;11693:2;11682:9;11678:18;11670:26;;11742:9;11736:4;11732:20;11728:1;11717:9;11713:17;11706:47;11770:78;11843:4;11834:6;11770:78;:::i;:::-;11762:86;;11542:313;;;;:::o;11861:118::-;11948:24;11966:5;11948:24;:::i;:::-;11943:3;11936:37;11861:118;;:::o;11985:222::-;12078:4;12116:2;12105:9;12101:18;12093:26;;12129:71;12197:1;12186:9;12182:17;12173:6;12129:71;:::i;:::-;11985:222;;;;:::o;12213:117::-;12322:1;12319;12312:12;12336:307;12397:4;12487:18;12479:6;12476:30;12473:56;;;12509:18;;:::i;:::-;12473:56;12547:29;12569:6;12547:29;:::i;:::-;12539:37;;12631:4;12625;12621:15;12613:23;;12336:307;;;:::o;12649:146::-;12746:6;12741:3;12736;12723:30;12787:1;12778:6;12773:3;12769:16;12762:27;12649:146;;;:::o;12801:423::-;12878:5;12903:65;12919:48;12960:6;12919:48;:::i;:::-;12903:65;:::i;:::-;12894:74;;12991:6;12984:5;12977:21;13029:4;13022:5;13018:16;13067:3;13058:6;13053:3;13049:16;13046:25;13043:112;;;13074:79;;:::i;:::-;13043:112;13164:54;13211:6;13206:3;13201;13164:54;:::i;:::-;12884:340;12801:423;;;;;:::o;13243:338::-;13298:5;13347:3;13340:4;13332:6;13328:17;13324:27;13314:122;;13355:79;;:::i;:::-;13314:122;13472:6;13459:20;13497:78;13571:3;13563:6;13556:4;13548:6;13544:17;13497:78;:::i;:::-;13488:87;;13304:277;13243:338;;;;:::o;13587:1089::-;13691:6;13699;13707;13715;13723;13772:3;13760:9;13751:7;13747:23;13743:33;13740:120;;;13779:79;;:::i;:::-;13740:120;13899:1;13924:53;13969:7;13960:6;13949:9;13945:22;13924:53;:::i;:::-;13914:63;;13870:117;14026:2;14052:53;14097:7;14088:6;14077:9;14073:22;14052:53;:::i;:::-;14042:63;;13997:118;14154:2;14180:53;14225:7;14216:6;14205:9;14201:22;14180:53;:::i;:::-;14170:63;;14125:118;14282:2;14308:53;14353:7;14344:6;14333:9;14329:22;14308:53;:::i;:::-;14298:63;;14253:118;14438:3;14427:9;14423:19;14410:33;14470:18;14462:6;14459:30;14456:117;;;14492:79;;:::i;:::-;14456:117;14597:62;14651:7;14642:6;14631:9;14627:22;14597:62;:::i;:::-;14587:72;;14381:288;13587:1089;;;;;;;;:::o;14682:149::-;14718:7;14758:66;14751:5;14747:78;14736:89;;14682:149;;;:::o;14837:115::-;14922:23;14939:5;14922:23;:::i;:::-;14917:3;14910:36;14837:115;;:::o;14958:218::-;15049:4;15087:2;15076:9;15072:18;15064:26;;15100:69;15166:1;15155:9;15151:17;15142:6;15100:69;:::i;:::-;14958:218;;;;:::o;15182:332::-;15303:4;15341:2;15330:9;15326:18;15318:26;;15354:71;15422:1;15411:9;15407:17;15398:6;15354:71;:::i;:::-;15435:72;15503:2;15492:9;15488:18;15479:6;15435:72;:::i;:::-;15182:332;;;;;:::o;15520:143::-;15577:5;15608:6;15602:13;15593:22;;15624:33;15651:5;15624:33;:::i;:::-;15520:143;;;;:::o;15669:351::-;15739:6;15788:2;15776:9;15767:7;15763:23;15759:32;15756:119;;;15794:79;;:::i;:::-;15756:119;15914:1;15939:64;15995:7;15986:6;15975:9;15971:22;15939:64;:::i;:::-;15929:74;;15885:128;15669:351;;;;:::o;16026:180::-;16074:77;16071:1;16064:88;16171:4;16168:1;16161:15;16195:4;16192:1;16185:15;16212:320;16256:6;16293:1;16287:4;16283:12;16273:22;;16340:1;16334:4;16330:12;16361:18;16351:81;;16417:4;16409:6;16405:17;16395:27;;16351:81;16479:2;16471:6;16468:14;16448:18;16445:38;16442:84;;16498:18;;:::i;:::-;16442:84;16263:269;16212:320;;;:::o;16538:180::-;16586:77;16583:1;16576:88;16683:4;16680:1;16673:15;16707:4;16704:1;16697:15;16724:228;16864:34;16860:1;16852:6;16848:14;16841:58;16933:11;16928:2;16920:6;16916:15;16909:36;16724:228;:::o;16958:366::-;17100:3;17121:67;17185:2;17180:3;17121:67;:::i;:::-;17114:74;;17197:93;17286:3;17197:93;:::i;:::-;17315:2;17310:3;17306:12;17299:19;;16958:366;;;:::o;17330:419::-;17496:4;17534:2;17523:9;17519:18;17511:26;;17583:9;17577:4;17573:20;17569:1;17558:9;17554:17;17547:47;17611:131;17737:4;17611:131;:::i;:::-;17603:139;;17330:419;;;:::o;17755:174::-;17895:26;17891:1;17883:6;17879:14;17872:50;17755:174;:::o;17935:366::-;18077:3;18098:67;18162:2;18157:3;18098:67;:::i;:::-;18091:74;;18174:93;18263:3;18174:93;:::i;:::-;18292:2;18287:3;18283:12;18276:19;;17935:366;;;:::o;18307:419::-;18473:4;18511:2;18500:9;18496:18;18488:26;;18560:9;18554:4;18550:20;18546:1;18535:9;18531:17;18524:47;18588:131;18714:4;18588:131;:::i;:::-;18580:139;;18307:419;;;:::o;18732:224::-;18872:34;18868:1;18860:6;18856:14;18849:58;18941:7;18936:2;18928:6;18924:15;18917:32;18732:224;:::o;18962:366::-;19104:3;19125:67;19189:2;19184:3;19125:67;:::i;:::-;19118:74;;19201:93;19290:3;19201:93;:::i;:::-;19319:2;19314:3;19310:12;19303:19;;18962:366;;;:::o;19334:419::-;19500:4;19538:2;19527:9;19523:18;19515:26;;19587:9;19581:4;19577:20;19573:1;19562:9;19558:17;19551:47;19615:131;19741:4;19615:131;:::i;:::-;19607:139;;19334:419;;;:::o;19759:228::-;19899:34;19895:1;19887:6;19883:14;19876:58;19968:11;19963:2;19955:6;19951:15;19944:36;19759:228;:::o;19993:366::-;20135:3;20156:67;20220:2;20215:3;20156:67;:::i;:::-;20149:74;;20232:93;20321:3;20232:93;:::i;:::-;20350:2;20345:3;20341:12;20334:19;;19993:366;;;:::o;20365:419::-;20531:4;20569:2;20558:9;20554:18;20546:26;;20618:9;20612:4;20608:20;20604:1;20593:9;20589:17;20582:47;20646:131;20772:4;20646:131;:::i;:::-;20638:139;;20365:419;;;:::o;20790:235::-;20930:34;20926:1;20918:6;20914:14;20907:58;20999:18;20994:2;20986:6;20982:15;20975:43;20790:235;:::o;21031:366::-;21173:3;21194:67;21258:2;21253:3;21194:67;:::i;:::-;21187:74;;21270:93;21359:3;21270:93;:::i;:::-;21388:2;21383:3;21379:12;21372:19;;21031:366;;;:::o;21403:419::-;21569:4;21607:2;21596:9;21592:18;21584:26;;21656:9;21650:4;21646:20;21642:1;21631:9;21627:17;21620:47;21684:131;21810:4;21684:131;:::i;:::-;21676:139;;21403:419;;;:::o;21828:168::-;21911:11;21945:6;21940:3;21933:19;21985:4;21980:3;21976:14;21961:29;;21828:168;;;;:::o;22002:114::-;;:::o;22122:362::-;22263:3;22284:65;22347:1;22342:3;22284:65;:::i;:::-;22277:72;;22358:93;22447:3;22358:93;:::i;:::-;22476:1;22471:3;22467:11;22460:18;;22122:362;;;:::o;22490:859::-;22767:4;22805:3;22794:9;22790:19;22782:27;;22819:71;22887:1;22876:9;22872:17;22863:6;22819:71;:::i;:::-;22900:72;22968:2;22957:9;22953:18;22944:6;22900:72;:::i;:::-;22982;23050:2;23039:9;23035:18;23026:6;22982:72;:::i;:::-;23064;23132:2;23121:9;23117:18;23108:6;23064:72;:::i;:::-;23184:9;23178:4;23174:20;23168:3;23157:9;23153:19;23146:49;23212:130;23337:4;23212:130;:::i;:::-;23204:138;;22490:859;;;;;;;:::o;23355:180::-;23403:77;23400:1;23393:88;23500:4;23497:1;23490:15;23524:4;23521:1;23514:15;23541:194;23581:4;23601:20;23619:1;23601:20;:::i;:::-;23596:25;;23635:20;23653:1;23635:20;:::i;:::-;23630:25;;23679:1;23676;23672:9;23664:17;;23703:1;23697:4;23694:11;23691:37;;;23708:18;;:::i;:::-;23691:37;23541:194;;;;:::o" + }, + "methodIdentifiers": { + "allowAddress(address)": "08af4d88", + "allowAddresses(address[])": "3863b1f5", + "claim(address,uint256,bytes32[])": "3d13f874", + "disallowAddress(address)": "b7c58d7a", + "disallowAddresses(address[])": "a9f7d0b2", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getClaimAmount()": "71127ed2", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "getUri()": "4e16fc8b", + "hasBalanceToClaim()": "01cb54c0", + "hasBeenTotallyClaimed()": "9592a2cd", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "isAllowed(address)": "babcc539", + "onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"allowedAddress\",\"type\":\"address\"}],\"name\":\"AddressAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"disallowedAddress\",\"type\":\"address\"}],\"name\":\"AddressDisallowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"allowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"allowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"disallowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"disallowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBalanceToClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBeenTotallyClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ERC1155/CustomAirdrop1155.sol\":\"CustomAirdrop1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/ERC1155/CustomAirdrop1155.sol\":{\"keccak256\":\"0x269dedd48134107112ed528e2ca0f7a6d15b52e9b143f3d706fc1c9fe4be5c0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617b54e47780c84838bea84c210e164cebd20574654910320af644306317816e\",\"dweb:/ipfs/QmeXGBpBGNEEMxA3YCtaKHV5GaR7fBNKHEBgYudGputUmD\"]},\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/ERC1155/CustomAirdrop1155Merkle.sol": { + "CustomAirdrop1155Merkle": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "InvalidProof", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [], + "name": "UsedLeaf", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "claimedLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBeenTotallyClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "root", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_10725": { + "entryPoint": null, + "id": 10725, + "parameterSlots": 7, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 360, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 833, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1037, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_enum$_AirdropType_$11645_fromMemory": { + "entryPoint": 1136, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 908, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 1096, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_enum$_AirdropType_$11645_fromMemory": { + "entryPoint": 1159, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1369, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1386, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 704, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 556, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 735, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1526, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1415, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1837, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 991, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 959, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1060, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1798, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1672, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1992, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 789, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1547, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1473, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1962, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 650, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 1662, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1930, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 2223, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 1426, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 603, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1712, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 576, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 581, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 571, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 566, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 586, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1563, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1917, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1770, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1576, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1722, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1011, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_enum$_AirdropType_$11645": { + "entryPoint": 1119, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 1070, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1765, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:10850:43", + "nodeType": "YulBlock", + "src": "0:10850:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "546:28:43", + "nodeType": "YulBlock", + "src": "546:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:43", + "nodeType": "YulLiteral", + "src": "563:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:43", + "nodeType": "YulLiteral", + "src": "566:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:43", + "nodeType": "YulIdentifier", + "src": "556:6:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulFunctionCall", + "src": "556:12:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulExpressionStatement", + "src": "556:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:43", + "nodeType": "YulFunctionDefinition", + "src": "457:117:43" + }, + { + "body": { + "nativeSrc": "628:54:43", + "nodeType": "YulBlock", + "src": "628:54:43", + "statements": [ + { + "nativeSrc": "638:38:43", + "nodeType": "YulAssignment", + "src": "638:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:43", + "nodeType": "YulIdentifier", + "src": "656:5:43" + }, + { + "kind": "number", + "nativeSrc": "663:2:43", + "nodeType": "YulLiteral", + "src": "663:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:43", + "nodeType": "YulIdentifier", + "src": "652:3:43" + }, + "nativeSrc": "652:14:43", + "nodeType": "YulFunctionCall", + "src": "652:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:43", + "nodeType": "YulLiteral", + "src": "672:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:43", + "nodeType": "YulIdentifier", + "src": "668:3:43" + }, + "nativeSrc": "668:7:43", + "nodeType": "YulFunctionCall", + "src": "668:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:43", + "nodeType": "YulIdentifier", + "src": "648:3:43" + }, + "nativeSrc": "648:28:43", + "nodeType": "YulFunctionCall", + "src": "648:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:43", + "nodeType": "YulIdentifier", + "src": "638:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:43", + "nodeType": "YulTypedName", + "src": "611:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:43", + "nodeType": "YulTypedName", + "src": "621:6:43", + "type": "" + } + ], + "src": "580:102:43" + }, + { + "body": { + "nativeSrc": "716:152:43", + "nodeType": "YulBlock", + "src": "716:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:43", + "nodeType": "YulLiteral", + "src": "733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:43", + "nodeType": "YulLiteral", + "src": "736:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:43", + "nodeType": "YulIdentifier", + "src": "726:6:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulFunctionCall", + "src": "726:88:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulExpressionStatement", + "src": "726:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:43", + "nodeType": "YulLiteral", + "src": "830:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:43", + "nodeType": "YulLiteral", + "src": "833:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:43", + "nodeType": "YulIdentifier", + "src": "823:6:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulFunctionCall", + "src": "823:15:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulExpressionStatement", + "src": "823:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:43", + "nodeType": "YulLiteral", + "src": "854:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:43", + "nodeType": "YulLiteral", + "src": "857:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:43", + "nodeType": "YulIdentifier", + "src": "847:6:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulFunctionCall", + "src": "847:15:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulExpressionStatement", + "src": "847:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:43", + "nodeType": "YulFunctionDefinition", + "src": "688:180:43" + }, + { + "body": { + "nativeSrc": "917:238:43", + "nodeType": "YulBlock", + "src": "917:238:43", + "statements": [ + { + "nativeSrc": "927:58:43", + "nodeType": "YulVariableDeclaration", + "src": "927:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:43", + "nodeType": "YulIdentifier", + "src": "949:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:43", + "nodeType": "YulIdentifier", + "src": "979:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:43", + "nodeType": "YulIdentifier", + "src": "957:21:43" + }, + "nativeSrc": "957:27:43", + "nodeType": "YulFunctionCall", + "src": "957:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:43", + "nodeType": "YulIdentifier", + "src": "945:3:43" + }, + "nativeSrc": "945:40:43", + "nodeType": "YulFunctionCall", + "src": "945:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:43", + "nodeType": "YulTypedName", + "src": "931:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:43", + "nodeType": "YulBlock", + "src": "1096:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:43", + "nodeType": "YulIdentifier", + "src": "1098:16:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulFunctionCall", + "src": "1098:18:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulExpressionStatement", + "src": "1098:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:43", + "nodeType": "YulIdentifier", + "src": "1039:10:43" + }, + { + "kind": "number", + "nativeSrc": "1051:18:43", + "nodeType": "YulLiteral", + "src": "1051:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:43", + "nodeType": "YulIdentifier", + "src": "1036:2:43" + }, + "nativeSrc": "1036:34:43", + "nodeType": "YulFunctionCall", + "src": "1036:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:43", + "nodeType": "YulIdentifier", + "src": "1075:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:43", + "nodeType": "YulIdentifier", + "src": "1087:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:43", + "nodeType": "YulIdentifier", + "src": "1072:2:43" + }, + "nativeSrc": "1072:22:43", + "nodeType": "YulFunctionCall", + "src": "1072:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:43", + "nodeType": "YulIdentifier", + "src": "1033:2:43" + }, + "nativeSrc": "1033:62:43", + "nodeType": "YulFunctionCall", + "src": "1033:62:43" + }, + "nativeSrc": "1030:88:43", + "nodeType": "YulIf", + "src": "1030:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:43", + "nodeType": "YulLiteral", + "src": "1134:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:43", + "nodeType": "YulIdentifier", + "src": "1138:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:43", + "nodeType": "YulIdentifier", + "src": "1127:6:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulFunctionCall", + "src": "1127:22:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulExpressionStatement", + "src": "1127:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:43", + "nodeType": "YulTypedName", + "src": "903:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:43", + "nodeType": "YulTypedName", + "src": "911:4:43", + "type": "" + } + ], + "src": "874:281:43" + }, + { + "body": { + "nativeSrc": "1202:88:43", + "nodeType": "YulBlock", + "src": "1202:88:43", + "statements": [ + { + "nativeSrc": "1212:30:43", + "nodeType": "YulAssignment", + "src": "1212:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:43", + "nodeType": "YulIdentifier", + "src": "1222:18:43" + }, + "nativeSrc": "1222:20:43", + "nodeType": "YulFunctionCall", + "src": "1222:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:43", + "nodeType": "YulIdentifier", + "src": "1271:6:43" + }, + { + "name": "size", + "nativeSrc": "1279:4:43", + "nodeType": "YulIdentifier", + "src": "1279:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:43", + "nodeType": "YulIdentifier", + "src": "1251:19:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulFunctionCall", + "src": "1251:33:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulExpressionStatement", + "src": "1251:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:43", + "nodeType": "YulTypedName", + "src": "1186:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:43", + "nodeType": "YulTypedName", + "src": "1195:6:43", + "type": "" + } + ], + "src": "1161:129:43" + }, + { + "body": { + "nativeSrc": "1363:241:43", + "nodeType": "YulBlock", + "src": "1363:241:43", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:43", + "nodeType": "YulBlock", + "src": "1468:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:43", + "nodeType": "YulIdentifier", + "src": "1470:16:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulFunctionCall", + "src": "1470:18:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulExpressionStatement", + "src": "1470:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:43", + "nodeType": "YulIdentifier", + "src": "1440:6:43" + }, + { + "kind": "number", + "nativeSrc": "1448:18:43", + "nodeType": "YulLiteral", + "src": "1448:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:43", + "nodeType": "YulIdentifier", + "src": "1437:2:43" + }, + "nativeSrc": "1437:30:43", + "nodeType": "YulFunctionCall", + "src": "1437:30:43" + }, + "nativeSrc": "1434:56:43", + "nodeType": "YulIf", + "src": "1434:56:43" + }, + { + "nativeSrc": "1500:37:43", + "nodeType": "YulAssignment", + "src": "1500:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:43", + "nodeType": "YulIdentifier", + "src": "1530:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:43", + "nodeType": "YulIdentifier", + "src": "1508:21:43" + }, + "nativeSrc": "1508:29:43", + "nodeType": "YulFunctionCall", + "src": "1508:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:43", + "nodeType": "YulIdentifier", + "src": "1500:4:43" + } + ] + }, + { + "nativeSrc": "1574:23:43", + "nodeType": "YulAssignment", + "src": "1574:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:43", + "nodeType": "YulIdentifier", + "src": "1586:4:43" + }, + { + "kind": "number", + "nativeSrc": "1592:4:43", + "nodeType": "YulLiteral", + "src": "1592:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:43", + "nodeType": "YulIdentifier", + "src": "1582:3:43" + }, + "nativeSrc": "1582:15:43", + "nodeType": "YulFunctionCall", + "src": "1582:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:43", + "nodeType": "YulIdentifier", + "src": "1574:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:43", + "nodeType": "YulTypedName", + "src": "1347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:43", + "nodeType": "YulTypedName", + "src": "1358:4:43", + "type": "" + } + ], + "src": "1296:308:43" + }, + { + "body": { + "nativeSrc": "1672:184:43", + "nodeType": "YulBlock", + "src": "1672:184:43", + "statements": [ + { + "nativeSrc": "1682:10:43", + "nodeType": "YulVariableDeclaration", + "src": "1682:10:43", + "value": { + "kind": "number", + "nativeSrc": "1691:1:43", + "nodeType": "YulLiteral", + "src": "1691:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1686:1:43", + "nodeType": "YulTypedName", + "src": "1686:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1751:63:43", + "nodeType": "YulBlock", + "src": "1751:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1776:3:43", + "nodeType": "YulIdentifier", + "src": "1776:3:43" + }, + { + "name": "i", + "nativeSrc": "1781:1:43", + "nodeType": "YulIdentifier", + "src": "1781:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:43", + "nodeType": "YulIdentifier", + "src": "1772:3:43" + }, + "nativeSrc": "1772:11:43", + "nodeType": "YulFunctionCall", + "src": "1772:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1795:3:43", + "nodeType": "YulIdentifier", + "src": "1795:3:43" + }, + { + "name": "i", + "nativeSrc": "1800:1:43", + "nodeType": "YulIdentifier", + "src": "1800:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1791:3:43", + "nodeType": "YulIdentifier", + "src": "1791:3:43" + }, + "nativeSrc": "1791:11:43", + "nodeType": "YulFunctionCall", + "src": "1791:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1785:5:43", + "nodeType": "YulIdentifier", + "src": "1785:5:43" + }, + "nativeSrc": "1785:18:43", + "nodeType": "YulFunctionCall", + "src": "1785:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1765:6:43", + "nodeType": "YulIdentifier", + "src": "1765:6:43" + }, + "nativeSrc": "1765:39:43", + "nodeType": "YulFunctionCall", + "src": "1765:39:43" + }, + "nativeSrc": "1765:39:43", + "nodeType": "YulExpressionStatement", + "src": "1765:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1712:1:43", + "nodeType": "YulIdentifier", + "src": "1712:1:43" + }, + { + "name": "length", + "nativeSrc": "1715:6:43", + "nodeType": "YulIdentifier", + "src": "1715:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1709:2:43", + "nodeType": "YulIdentifier", + "src": "1709:2:43" + }, + "nativeSrc": "1709:13:43", + "nodeType": "YulFunctionCall", + "src": "1709:13:43" + }, + "nativeSrc": "1701:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1723:19:43", + "nodeType": "YulBlock", + "src": "1723:19:43", + "statements": [ + { + "nativeSrc": "1725:15:43", + "nodeType": "YulAssignment", + "src": "1725:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1734:1:43", + "nodeType": "YulIdentifier", + "src": "1734:1:43" + }, + { + "kind": "number", + "nativeSrc": "1737:2:43", + "nodeType": "YulLiteral", + "src": "1737:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:43", + "nodeType": "YulIdentifier", + "src": "1730:3:43" + }, + "nativeSrc": "1730:10:43", + "nodeType": "YulFunctionCall", + "src": "1730:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1725:1:43", + "nodeType": "YulIdentifier", + "src": "1725:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1705:3:43", + "nodeType": "YulBlock", + "src": "1705:3:43", + "statements": [] + }, + "src": "1701:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1834:3:43", + "nodeType": "YulIdentifier", + "src": "1834:3:43" + }, + { + "name": "length", + "nativeSrc": "1839:6:43", + "nodeType": "YulIdentifier", + "src": "1839:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1830:3:43", + "nodeType": "YulIdentifier", + "src": "1830:3:43" + }, + "nativeSrc": "1830:16:43", + "nodeType": "YulFunctionCall", + "src": "1830:16:43" + }, + { + "kind": "number", + "nativeSrc": "1848:1:43", + "nodeType": "YulLiteral", + "src": "1848:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1823:6:43", + "nodeType": "YulIdentifier", + "src": "1823:6:43" + }, + "nativeSrc": "1823:27:43", + "nodeType": "YulFunctionCall", + "src": "1823:27:43" + }, + "nativeSrc": "1823:27:43", + "nodeType": "YulExpressionStatement", + "src": "1823:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:43", + "nodeType": "YulTypedName", + "src": "1654:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:43", + "nodeType": "YulTypedName", + "src": "1659:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:43", + "nodeType": "YulTypedName", + "src": "1664:6:43", + "type": "" + } + ], + "src": "1610:246:43" + }, + { + "body": { + "nativeSrc": "1957:339:43", + "nodeType": "YulBlock", + "src": "1957:339:43", + "statements": [ + { + "nativeSrc": "1967:75:43", + "nodeType": "YulAssignment", + "src": "1967:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2034:6:43", + "nodeType": "YulIdentifier", + "src": "2034:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1992:41:43", + "nodeType": "YulIdentifier", + "src": "1992:41:43" + }, + "nativeSrc": "1992:49:43", + "nodeType": "YulFunctionCall", + "src": "1992:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1976:15:43", + "nodeType": "YulIdentifier", + "src": "1976:15:43" + }, + "nativeSrc": "1976:66:43", + "nodeType": "YulFunctionCall", + "src": "1976:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1967:5:43", + "nodeType": "YulIdentifier", + "src": "1967:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2058:5:43", + "nodeType": "YulIdentifier", + "src": "2058:5:43" + }, + { + "name": "length", + "nativeSrc": "2065:6:43", + "nodeType": "YulIdentifier", + "src": "2065:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2051:6:43", + "nodeType": "YulIdentifier", + "src": "2051:6:43" + }, + "nativeSrc": "2051:21:43", + "nodeType": "YulFunctionCall", + "src": "2051:21:43" + }, + "nativeSrc": "2051:21:43", + "nodeType": "YulExpressionStatement", + "src": "2051:21:43" + }, + { + "nativeSrc": "2081:27:43", + "nodeType": "YulVariableDeclaration", + "src": "2081:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2096:5:43", + "nodeType": "YulIdentifier", + "src": "2096:5:43" + }, + { + "kind": "number", + "nativeSrc": "2103:4:43", + "nodeType": "YulLiteral", + "src": "2103:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2092:3:43", + "nodeType": "YulIdentifier", + "src": "2092:3:43" + }, + "nativeSrc": "2092:16:43", + "nodeType": "YulFunctionCall", + "src": "2092:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2085:3:43", + "nodeType": "YulTypedName", + "src": "2085:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2146:83:43", + "nodeType": "YulBlock", + "src": "2146:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2148:77:43", + "nodeType": "YulIdentifier", + "src": "2148:77:43" + }, + "nativeSrc": "2148:79:43", + "nodeType": "YulFunctionCall", + "src": "2148:79:43" + }, + "nativeSrc": "2148:79:43", + "nodeType": "YulExpressionStatement", + "src": "2148:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2127:3:43", + "nodeType": "YulIdentifier", + "src": "2127:3:43" + }, + { + "name": "length", + "nativeSrc": "2132:6:43", + "nodeType": "YulIdentifier", + "src": "2132:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2123:3:43", + "nodeType": "YulIdentifier", + "src": "2123:3:43" + }, + "nativeSrc": "2123:16:43", + "nodeType": "YulFunctionCall", + "src": "2123:16:43" + }, + { + "name": "end", + "nativeSrc": "2141:3:43", + "nodeType": "YulIdentifier", + "src": "2141:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2120:2:43", + "nodeType": "YulIdentifier", + "src": "2120:2:43" + }, + "nativeSrc": "2120:25:43", + "nodeType": "YulFunctionCall", + "src": "2120:25:43" + }, + "nativeSrc": "2117:112:43", + "nodeType": "YulIf", + "src": "2117:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2273:3:43", + "nodeType": "YulIdentifier", + "src": "2273:3:43" + }, + { + "name": "dst", + "nativeSrc": "2278:3:43", + "nodeType": "YulIdentifier", + "src": "2278:3:43" + }, + { + "name": "length", + "nativeSrc": "2283:6:43", + "nodeType": "YulIdentifier", + "src": "2283:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2238:34:43", + "nodeType": "YulIdentifier", + "src": "2238:34:43" + }, + "nativeSrc": "2238:52:43", + "nodeType": "YulFunctionCall", + "src": "2238:52:43" + }, + "nativeSrc": "2238:52:43", + "nodeType": "YulExpressionStatement", + "src": "2238:52:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1862:434:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1930:3:43", + "nodeType": "YulTypedName", + "src": "1930:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1935:6:43", + "nodeType": "YulTypedName", + "src": "1935:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1943:3:43", + "nodeType": "YulTypedName", + "src": "1943:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1951:5:43", + "nodeType": "YulTypedName", + "src": "1951:5:43", + "type": "" + } + ], + "src": "1862:434:43" + }, + { + "body": { + "nativeSrc": "2389:282:43", + "nodeType": "YulBlock", + "src": "2389:282:43", + "statements": [ + { + "body": { + "nativeSrc": "2438:83:43", + "nodeType": "YulBlock", + "src": "2438:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2440:77:43", + "nodeType": "YulIdentifier", + "src": "2440:77:43" + }, + "nativeSrc": "2440:79:43", + "nodeType": "YulFunctionCall", + "src": "2440:79:43" + }, + "nativeSrc": "2440:79:43", + "nodeType": "YulExpressionStatement", + "src": "2440:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2417:6:43", + "nodeType": "YulIdentifier", + "src": "2417:6:43" + }, + { + "kind": "number", + "nativeSrc": "2425:4:43", + "nodeType": "YulLiteral", + "src": "2425:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2413:3:43", + "nodeType": "YulIdentifier", + "src": "2413:3:43" + }, + "nativeSrc": "2413:17:43", + "nodeType": "YulFunctionCall", + "src": "2413:17:43" + }, + { + "name": "end", + "nativeSrc": "2432:3:43", + "nodeType": "YulIdentifier", + "src": "2432:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2409:3:43", + "nodeType": "YulIdentifier", + "src": "2409:3:43" + }, + "nativeSrc": "2409:27:43", + "nodeType": "YulFunctionCall", + "src": "2409:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2402:6:43", + "nodeType": "YulIdentifier", + "src": "2402:6:43" + }, + "nativeSrc": "2402:35:43", + "nodeType": "YulFunctionCall", + "src": "2402:35:43" + }, + "nativeSrc": "2399:122:43", + "nodeType": "YulIf", + "src": "2399:122:43" + }, + { + "nativeSrc": "2530:27:43", + "nodeType": "YulVariableDeclaration", + "src": "2530:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2550:6:43", + "nodeType": "YulIdentifier", + "src": "2550:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2544:5:43", + "nodeType": "YulIdentifier", + "src": "2544:5:43" + }, + "nativeSrc": "2544:13:43", + "nodeType": "YulFunctionCall", + "src": "2544:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2534:6:43", + "nodeType": "YulTypedName", + "src": "2534:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2566:99:43", + "nodeType": "YulAssignment", + "src": "2566:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2638:6:43", + "nodeType": "YulIdentifier", + "src": "2638:6:43" + }, + { + "kind": "number", + "nativeSrc": "2646:4:43", + "nodeType": "YulLiteral", + "src": "2646:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2634:3:43", + "nodeType": "YulIdentifier", + "src": "2634:3:43" + }, + "nativeSrc": "2634:17:43", + "nodeType": "YulFunctionCall", + "src": "2634:17:43" + }, + { + "name": "length", + "nativeSrc": "2653:6:43", + "nodeType": "YulIdentifier", + "src": "2653:6:43" + }, + { + "name": "end", + "nativeSrc": "2661:3:43", + "nodeType": "YulIdentifier", + "src": "2661:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2575:58:43", + "nodeType": "YulIdentifier", + "src": "2575:58:43" + }, + "nativeSrc": "2575:90:43", + "nodeType": "YulFunctionCall", + "src": "2575:90:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2566:5:43", + "nodeType": "YulIdentifier", + "src": "2566:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2316:355:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2367:6:43", + "nodeType": "YulTypedName", + "src": "2367:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2375:3:43", + "nodeType": "YulTypedName", + "src": "2375:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2383:5:43", + "nodeType": "YulTypedName", + "src": "2383:5:43", + "type": "" + } + ], + "src": "2316:355:43" + }, + { + "body": { + "nativeSrc": "2722:81:43", + "nodeType": "YulBlock", + "src": "2722:81:43", + "statements": [ + { + "nativeSrc": "2732:65:43", + "nodeType": "YulAssignment", + "src": "2732:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2747:5:43", + "nodeType": "YulIdentifier", + "src": "2747:5:43" + }, + { + "kind": "number", + "nativeSrc": "2754:42:43", + "nodeType": "YulLiteral", + "src": "2754:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2743:3:43", + "nodeType": "YulIdentifier", + "src": "2743:3:43" + }, + "nativeSrc": "2743:54:43", + "nodeType": "YulFunctionCall", + "src": "2743:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2732:7:43", + "nodeType": "YulIdentifier", + "src": "2732:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2677:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2704:5:43", + "nodeType": "YulTypedName", + "src": "2704:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2714:7:43", + "nodeType": "YulTypedName", + "src": "2714:7:43", + "type": "" + } + ], + "src": "2677:126:43" + }, + { + "body": { + "nativeSrc": "2854:51:43", + "nodeType": "YulBlock", + "src": "2854:51:43", + "statements": [ + { + "nativeSrc": "2864:35:43", + "nodeType": "YulAssignment", + "src": "2864:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2893:5:43", + "nodeType": "YulIdentifier", + "src": "2893:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2875:17:43", + "nodeType": "YulIdentifier", + "src": "2875:17:43" + }, + "nativeSrc": "2875:24:43", + "nodeType": "YulFunctionCall", + "src": "2875:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2864:7:43", + "nodeType": "YulIdentifier", + "src": "2864:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2809:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2836:5:43", + "nodeType": "YulTypedName", + "src": "2836:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2846:7:43", + "nodeType": "YulTypedName", + "src": "2846:7:43", + "type": "" + } + ], + "src": "2809:96:43" + }, + { + "body": { + "nativeSrc": "2954:79:43", + "nodeType": "YulBlock", + "src": "2954:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3011:16:43", + "nodeType": "YulBlock", + "src": "3011:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3020:1:43", + "nodeType": "YulLiteral", + "src": "3020:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3023:1:43", + "nodeType": "YulLiteral", + "src": "3023:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3013:6:43", + "nodeType": "YulIdentifier", + "src": "3013:6:43" + }, + "nativeSrc": "3013:12:43", + "nodeType": "YulFunctionCall", + "src": "3013:12:43" + }, + "nativeSrc": "3013:12:43", + "nodeType": "YulExpressionStatement", + "src": "3013:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2977:5:43", + "nodeType": "YulIdentifier", + "src": "2977:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3002:5:43", + "nodeType": "YulIdentifier", + "src": "3002:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2984:17:43", + "nodeType": "YulIdentifier", + "src": "2984:17:43" + }, + "nativeSrc": "2984:24:43", + "nodeType": "YulFunctionCall", + "src": "2984:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2974:2:43", + "nodeType": "YulIdentifier", + "src": "2974:2:43" + }, + "nativeSrc": "2974:35:43", + "nodeType": "YulFunctionCall", + "src": "2974:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2967:6:43", + "nodeType": "YulIdentifier", + "src": "2967:6:43" + }, + "nativeSrc": "2967:43:43", + "nodeType": "YulFunctionCall", + "src": "2967:43:43" + }, + "nativeSrc": "2964:63:43", + "nodeType": "YulIf", + "src": "2964:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2911:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2947:5:43", + "nodeType": "YulTypedName", + "src": "2947:5:43", + "type": "" + } + ], + "src": "2911:122:43" + }, + { + "body": { + "nativeSrc": "3102:80:43", + "nodeType": "YulBlock", + "src": "3102:80:43", + "statements": [ + { + "nativeSrc": "3112:22:43", + "nodeType": "YulAssignment", + "src": "3112:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3127:6:43", + "nodeType": "YulIdentifier", + "src": "3127:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3121:5:43", + "nodeType": "YulIdentifier", + "src": "3121:5:43" + }, + "nativeSrc": "3121:13:43", + "nodeType": "YulFunctionCall", + "src": "3121:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3112:5:43", + "nodeType": "YulIdentifier", + "src": "3112:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3170:5:43", + "nodeType": "YulIdentifier", + "src": "3170:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3143:26:43", + "nodeType": "YulIdentifier", + "src": "3143:26:43" + }, + "nativeSrc": "3143:33:43", + "nodeType": "YulFunctionCall", + "src": "3143:33:43" + }, + "nativeSrc": "3143:33:43", + "nodeType": "YulExpressionStatement", + "src": "3143:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3039:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3080:6:43", + "nodeType": "YulTypedName", + "src": "3080:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3088:3:43", + "nodeType": "YulTypedName", + "src": "3088:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3096:5:43", + "nodeType": "YulTypedName", + "src": "3096:5:43", + "type": "" + } + ], + "src": "3039:143:43" + }, + { + "body": { + "nativeSrc": "3233:32:43", + "nodeType": "YulBlock", + "src": "3233:32:43", + "statements": [ + { + "nativeSrc": "3243:16:43", + "nodeType": "YulAssignment", + "src": "3243:16:43", + "value": { + "name": "value", + "nativeSrc": "3254:5:43", + "nodeType": "YulIdentifier", + "src": "3254:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3243:7:43", + "nodeType": "YulIdentifier", + "src": "3243:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3188:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3215:5:43", + "nodeType": "YulTypedName", + "src": "3215:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3225:7:43", + "nodeType": "YulTypedName", + "src": "3225:7:43", + "type": "" + } + ], + "src": "3188:77:43" + }, + { + "body": { + "nativeSrc": "3314:79:43", + "nodeType": "YulBlock", + "src": "3314:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3371:16:43", + "nodeType": "YulBlock", + "src": "3371:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3380:1:43", + "nodeType": "YulLiteral", + "src": "3380:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3383:1:43", + "nodeType": "YulLiteral", + "src": "3383:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3373:6:43", + "nodeType": "YulIdentifier", + "src": "3373:6:43" + }, + "nativeSrc": "3373:12:43", + "nodeType": "YulFunctionCall", + "src": "3373:12:43" + }, + "nativeSrc": "3373:12:43", + "nodeType": "YulExpressionStatement", + "src": "3373:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3337:5:43", + "nodeType": "YulIdentifier", + "src": "3337:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3362:5:43", + "nodeType": "YulIdentifier", + "src": "3362:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3344:17:43", + "nodeType": "YulIdentifier", + "src": "3344:17:43" + }, + "nativeSrc": "3344:24:43", + "nodeType": "YulFunctionCall", + "src": "3344:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3334:2:43", + "nodeType": "YulIdentifier", + "src": "3334:2:43" + }, + "nativeSrc": "3334:35:43", + "nodeType": "YulFunctionCall", + "src": "3334:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3327:6:43", + "nodeType": "YulIdentifier", + "src": "3327:6:43" + }, + "nativeSrc": "3327:43:43", + "nodeType": "YulFunctionCall", + "src": "3327:43:43" + }, + "nativeSrc": "3324:63:43", + "nodeType": "YulIf", + "src": "3324:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3271:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3307:5:43", + "nodeType": "YulTypedName", + "src": "3307:5:43", + "type": "" + } + ], + "src": "3271:122:43" + }, + { + "body": { + "nativeSrc": "3462:80:43", + "nodeType": "YulBlock", + "src": "3462:80:43", + "statements": [ + { + "nativeSrc": "3472:22:43", + "nodeType": "YulAssignment", + "src": "3472:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3487:6:43", + "nodeType": "YulIdentifier", + "src": "3487:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3481:5:43", + "nodeType": "YulIdentifier", + "src": "3481:5:43" + }, + "nativeSrc": "3481:13:43", + "nodeType": "YulFunctionCall", + "src": "3481:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3472:5:43", + "nodeType": "YulIdentifier", + "src": "3472:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3530:5:43", + "nodeType": "YulIdentifier", + "src": "3530:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3503:26:43", + "nodeType": "YulIdentifier", + "src": "3503:26:43" + }, + "nativeSrc": "3503:33:43", + "nodeType": "YulFunctionCall", + "src": "3503:33:43" + }, + "nativeSrc": "3503:33:43", + "nodeType": "YulExpressionStatement", + "src": "3503:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3399:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3440:6:43", + "nodeType": "YulTypedName", + "src": "3440:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3448:3:43", + "nodeType": "YulTypedName", + "src": "3448:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3456:5:43", + "nodeType": "YulTypedName", + "src": "3456:5:43", + "type": "" + } + ], + "src": "3399:143:43" + }, + { + "body": { + "nativeSrc": "3608:56:43", + "nodeType": "YulBlock", + "src": "3608:56:43", + "statements": [ + { + "body": { + "nativeSrc": "3642:16:43", + "nodeType": "YulBlock", + "src": "3642:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3651:1:43", + "nodeType": "YulLiteral", + "src": "3651:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3654:1:43", + "nodeType": "YulLiteral", + "src": "3654:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3644:6:43", + "nodeType": "YulIdentifier", + "src": "3644:6:43" + }, + "nativeSrc": "3644:12:43", + "nodeType": "YulFunctionCall", + "src": "3644:12:43" + }, + "nativeSrc": "3644:12:43", + "nodeType": "YulExpressionStatement", + "src": "3644:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3631:5:43", + "nodeType": "YulIdentifier", + "src": "3631:5:43" + }, + { + "kind": "number", + "nativeSrc": "3638:1:43", + "nodeType": "YulLiteral", + "src": "3638:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3628:2:43", + "nodeType": "YulIdentifier", + "src": "3628:2:43" + }, + "nativeSrc": "3628:12:43", + "nodeType": "YulFunctionCall", + "src": "3628:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3621:6:43", + "nodeType": "YulIdentifier", + "src": "3621:6:43" + }, + "nativeSrc": "3621:20:43", + "nodeType": "YulFunctionCall", + "src": "3621:20:43" + }, + "nativeSrc": "3618:40:43", + "nodeType": "YulIf", + "src": "3618:40:43" + } + ] + }, + "name": "validator_revert_t_enum$_AirdropType_$11645", + "nativeSrc": "3548:116:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3601:5:43", + "nodeType": "YulTypedName", + "src": "3601:5:43", + "type": "" + } + ], + "src": "3548:116:43" + }, + { + "body": { + "nativeSrc": "3750:97:43", + "nodeType": "YulBlock", + "src": "3750:97:43", + "statements": [ + { + "nativeSrc": "3760:22:43", + "nodeType": "YulAssignment", + "src": "3760:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3775:6:43", + "nodeType": "YulIdentifier", + "src": "3775:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3769:5:43", + "nodeType": "YulIdentifier", + "src": "3769:5:43" + }, + "nativeSrc": "3769:13:43", + "nodeType": "YulFunctionCall", + "src": "3769:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3760:5:43", + "nodeType": "YulIdentifier", + "src": "3760:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3835:5:43", + "nodeType": "YulIdentifier", + "src": "3835:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_AirdropType_$11645", + "nativeSrc": "3791:43:43", + "nodeType": "YulIdentifier", + "src": "3791:43:43" + }, + "nativeSrc": "3791:50:43", + "nodeType": "YulFunctionCall", + "src": "3791:50:43" + }, + "nativeSrc": "3791:50:43", + "nodeType": "YulExpressionStatement", + "src": "3791:50:43" + } + ] + }, + "name": "abi_decode_t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "3670:177:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3728:6:43", + "nodeType": "YulTypedName", + "src": "3728:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3736:3:43", + "nodeType": "YulTypedName", + "src": "3736:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3744:5:43", + "nodeType": "YulTypedName", + "src": "3744:5:43", + "type": "" + } + ], + "src": "3670:177:43" + }, + { + "body": { + "nativeSrc": "4059:1292:43", + "nodeType": "YulBlock", + "src": "4059:1292:43", + "statements": [ + { + "body": { + "nativeSrc": "4106:83:43", + "nodeType": "YulBlock", + "src": "4106:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "4108:77:43", + "nodeType": "YulIdentifier", + "src": "4108:77:43" + }, + "nativeSrc": "4108:79:43", + "nodeType": "YulFunctionCall", + "src": "4108:79:43" + }, + "nativeSrc": "4108:79:43", + "nodeType": "YulExpressionStatement", + "src": "4108:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4080:7:43", + "nodeType": "YulIdentifier", + "src": "4080:7:43" + }, + { + "name": "headStart", + "nativeSrc": "4089:9:43", + "nodeType": "YulIdentifier", + "src": "4089:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4076:3:43", + "nodeType": "YulIdentifier", + "src": "4076:3:43" + }, + "nativeSrc": "4076:23:43", + "nodeType": "YulFunctionCall", + "src": "4076:23:43" + }, + { + "kind": "number", + "nativeSrc": "4101:3:43", + "nodeType": "YulLiteral", + "src": "4101:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4072:3:43", + "nodeType": "YulIdentifier", + "src": "4072:3:43" + }, + "nativeSrc": "4072:33:43", + "nodeType": "YulFunctionCall", + "src": "4072:33:43" + }, + "nativeSrc": "4069:120:43", + "nodeType": "YulIf", + "src": "4069:120:43" + }, + { + "nativeSrc": "4199:291:43", + "nodeType": "YulBlock", + "src": "4199:291:43", + "statements": [ + { + "nativeSrc": "4214:38:43", + "nodeType": "YulVariableDeclaration", + "src": "4214:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4238:9:43", + "nodeType": "YulIdentifier", + "src": "4238:9:43" + }, + { + "kind": "number", + "nativeSrc": "4249:1:43", + "nodeType": "YulLiteral", + "src": "4249:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4234:3:43", + "nodeType": "YulIdentifier", + "src": "4234:3:43" + }, + "nativeSrc": "4234:17:43", + "nodeType": "YulFunctionCall", + "src": "4234:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4228:5:43", + "nodeType": "YulIdentifier", + "src": "4228:5:43" + }, + "nativeSrc": "4228:24:43", + "nodeType": "YulFunctionCall", + "src": "4228:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4218:6:43", + "nodeType": "YulTypedName", + "src": "4218:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4299:83:43", + "nodeType": "YulBlock", + "src": "4299:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "4301:77:43", + "nodeType": "YulIdentifier", + "src": "4301:77:43" + }, + "nativeSrc": "4301:79:43", + "nodeType": "YulFunctionCall", + "src": "4301:79:43" + }, + "nativeSrc": "4301:79:43", + "nodeType": "YulExpressionStatement", + "src": "4301:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4271:6:43", + "nodeType": "YulIdentifier", + "src": "4271:6:43" + }, + { + "kind": "number", + "nativeSrc": "4279:18:43", + "nodeType": "YulLiteral", + "src": "4279:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4268:2:43", + "nodeType": "YulIdentifier", + "src": "4268:2:43" + }, + "nativeSrc": "4268:30:43", + "nodeType": "YulFunctionCall", + "src": "4268:30:43" + }, + "nativeSrc": "4265:117:43", + "nodeType": "YulIf", + "src": "4265:117:43" + }, + { + "nativeSrc": "4396:84:43", + "nodeType": "YulAssignment", + "src": "4396:84:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4452:9:43", + "nodeType": "YulIdentifier", + "src": "4452:9:43" + }, + { + "name": "offset", + "nativeSrc": "4463:6:43", + "nodeType": "YulIdentifier", + "src": "4463:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4448:3:43", + "nodeType": "YulIdentifier", + "src": "4448:3:43" + }, + "nativeSrc": "4448:22:43", + "nodeType": "YulFunctionCall", + "src": "4448:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4472:7:43", + "nodeType": "YulIdentifier", + "src": "4472:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "4406:41:43", + "nodeType": "YulIdentifier", + "src": "4406:41:43" + }, + "nativeSrc": "4406:74:43", + "nodeType": "YulFunctionCall", + "src": "4406:74:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4396:6:43", + "nodeType": "YulIdentifier", + "src": "4396:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4500:129:43", + "nodeType": "YulBlock", + "src": "4500:129:43", + "statements": [ + { + "nativeSrc": "4515:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4515:16:43", + "value": { + "kind": "number", + "nativeSrc": "4529:2:43", + "nodeType": "YulLiteral", + "src": "4529:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4519:6:43", + "nodeType": "YulTypedName", + "src": "4519:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4545:74:43", + "nodeType": "YulAssignment", + "src": "4545:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4591:9:43", + "nodeType": "YulIdentifier", + "src": "4591:9:43" + }, + { + "name": "offset", + "nativeSrc": "4602:6:43", + "nodeType": "YulIdentifier", + "src": "4602:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4587:3:43", + "nodeType": "YulIdentifier", + "src": "4587:3:43" + }, + "nativeSrc": "4587:22:43", + "nodeType": "YulFunctionCall", + "src": "4587:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4611:7:43", + "nodeType": "YulIdentifier", + "src": "4611:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4555:31:43", + "nodeType": "YulIdentifier", + "src": "4555:31:43" + }, + "nativeSrc": "4555:64:43", + "nodeType": "YulFunctionCall", + "src": "4555:64:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4545:6:43", + "nodeType": "YulIdentifier", + "src": "4545:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4639:129:43", + "nodeType": "YulBlock", + "src": "4639:129:43", + "statements": [ + { + "nativeSrc": "4654:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4654:16:43", + "value": { + "kind": "number", + "nativeSrc": "4668:2:43", + "nodeType": "YulLiteral", + "src": "4668:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4658:6:43", + "nodeType": "YulTypedName", + "src": "4658:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4684:74:43", + "nodeType": "YulAssignment", + "src": "4684:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4730:9:43", + "nodeType": "YulIdentifier", + "src": "4730:9:43" + }, + { + "name": "offset", + "nativeSrc": "4741:6:43", + "nodeType": "YulIdentifier", + "src": "4741:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4726:3:43", + "nodeType": "YulIdentifier", + "src": "4726:3:43" + }, + "nativeSrc": "4726:22:43", + "nodeType": "YulFunctionCall", + "src": "4726:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4750:7:43", + "nodeType": "YulIdentifier", + "src": "4750:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4694:31:43", + "nodeType": "YulIdentifier", + "src": "4694:31:43" + }, + "nativeSrc": "4694:64:43", + "nodeType": "YulFunctionCall", + "src": "4694:64:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4684:6:43", + "nodeType": "YulIdentifier", + "src": "4684:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4778:129:43", + "nodeType": "YulBlock", + "src": "4778:129:43", + "statements": [ + { + "nativeSrc": "4793:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4793:16:43", + "value": { + "kind": "number", + "nativeSrc": "4807:2:43", + "nodeType": "YulLiteral", + "src": "4807:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4797:6:43", + "nodeType": "YulTypedName", + "src": "4797:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4823:74:43", + "nodeType": "YulAssignment", + "src": "4823:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4869:9:43", + "nodeType": "YulIdentifier", + "src": "4869:9:43" + }, + { + "name": "offset", + "nativeSrc": "4880:6:43", + "nodeType": "YulIdentifier", + "src": "4880:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4865:3:43", + "nodeType": "YulIdentifier", + "src": "4865:3:43" + }, + "nativeSrc": "4865:22:43", + "nodeType": "YulFunctionCall", + "src": "4865:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4889:7:43", + "nodeType": "YulIdentifier", + "src": "4889:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4833:31:43", + "nodeType": "YulIdentifier", + "src": "4833:31:43" + }, + "nativeSrc": "4833:64:43", + "nodeType": "YulFunctionCall", + "src": "4833:64:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4823:6:43", + "nodeType": "YulIdentifier", + "src": "4823:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4917:130:43", + "nodeType": "YulBlock", + "src": "4917:130:43", + "statements": [ + { + "nativeSrc": "4932:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4932:17:43", + "value": { + "kind": "number", + "nativeSrc": "4946:3:43", + "nodeType": "YulLiteral", + "src": "4946:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4936:6:43", + "nodeType": "YulTypedName", + "src": "4936:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4963:74:43", + "nodeType": "YulAssignment", + "src": "4963:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5009:9:43", + "nodeType": "YulIdentifier", + "src": "5009:9:43" + }, + { + "name": "offset", + "nativeSrc": "5020:6:43", + "nodeType": "YulIdentifier", + "src": "5020:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5005:3:43", + "nodeType": "YulIdentifier", + "src": "5005:3:43" + }, + "nativeSrc": "5005:22:43", + "nodeType": "YulFunctionCall", + "src": "5005:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5029:7:43", + "nodeType": "YulIdentifier", + "src": "5029:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4973:31:43", + "nodeType": "YulIdentifier", + "src": "4973:31:43" + }, + "nativeSrc": "4973:64:43", + "nodeType": "YulFunctionCall", + "src": "4973:64:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4963:6:43", + "nodeType": "YulIdentifier", + "src": "4963:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "5057:130:43", + "nodeType": "YulBlock", + "src": "5057:130:43", + "statements": [ + { + "nativeSrc": "5072:17:43", + "nodeType": "YulVariableDeclaration", + "src": "5072:17:43", + "value": { + "kind": "number", + "nativeSrc": "5086:3:43", + "nodeType": "YulLiteral", + "src": "5086:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5076:6:43", + "nodeType": "YulTypedName", + "src": "5076:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5103:74:43", + "nodeType": "YulAssignment", + "src": "5103:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5149:9:43", + "nodeType": "YulIdentifier", + "src": "5149:9:43" + }, + { + "name": "offset", + "nativeSrc": "5160:6:43", + "nodeType": "YulIdentifier", + "src": "5160:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5145:3:43", + "nodeType": "YulIdentifier", + "src": "5145:3:43" + }, + "nativeSrc": "5145:22:43", + "nodeType": "YulFunctionCall", + "src": "5145:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5169:7:43", + "nodeType": "YulIdentifier", + "src": "5169:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "5113:31:43", + "nodeType": "YulIdentifier", + "src": "5113:31:43" + }, + "nativeSrc": "5113:64:43", + "nodeType": "YulFunctionCall", + "src": "5113:64:43" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "5103:6:43", + "nodeType": "YulIdentifier", + "src": "5103:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "5197:147:43", + "nodeType": "YulBlock", + "src": "5197:147:43", + "statements": [ + { + "nativeSrc": "5212:17:43", + "nodeType": "YulVariableDeclaration", + "src": "5212:17:43", + "value": { + "kind": "number", + "nativeSrc": "5226:3:43", + "nodeType": "YulLiteral", + "src": "5226:3:43", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5216:6:43", + "nodeType": "YulTypedName", + "src": "5216:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5243:91:43", + "nodeType": "YulAssignment", + "src": "5243:91:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5306:9:43", + "nodeType": "YulIdentifier", + "src": "5306:9:43" + }, + { + "name": "offset", + "nativeSrc": "5317:6:43", + "nodeType": "YulIdentifier", + "src": "5317:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5302:3:43", + "nodeType": "YulIdentifier", + "src": "5302:3:43" + }, + "nativeSrc": "5302:22:43", + "nodeType": "YulFunctionCall", + "src": "5302:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5326:7:43", + "nodeType": "YulIdentifier", + "src": "5326:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "5253:48:43", + "nodeType": "YulIdentifier", + "src": "5253:48:43" + }, + "nativeSrc": "5253:81:43", + "nodeType": "YulFunctionCall", + "src": "5253:81:43" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "5243:6:43", + "nodeType": "YulIdentifier", + "src": "5243:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_enum$_AirdropType_$11645_fromMemory", + "nativeSrc": "3853:1498:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3981:9:43", + "nodeType": "YulTypedName", + "src": "3981:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3992:7:43", + "nodeType": "YulTypedName", + "src": "3992:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4004:6:43", + "nodeType": "YulTypedName", + "src": "4004:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4012:6:43", + "nodeType": "YulTypedName", + "src": "4012:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "4020:6:43", + "nodeType": "YulTypedName", + "src": "4020:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "4028:6:43", + "nodeType": "YulTypedName", + "src": "4028:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "4036:6:43", + "nodeType": "YulTypedName", + "src": "4036:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "4044:6:43", + "nodeType": "YulTypedName", + "src": "4044:6:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "4052:6:43", + "nodeType": "YulTypedName", + "src": "4052:6:43", + "type": "" + } + ], + "src": "3853:1498:43" + }, + { + "body": { + "nativeSrc": "5422:53:43", + "nodeType": "YulBlock", + "src": "5422:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5439:3:43", + "nodeType": "YulIdentifier", + "src": "5439:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5462:5:43", + "nodeType": "YulIdentifier", + "src": "5462:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5444:17:43", + "nodeType": "YulIdentifier", + "src": "5444:17:43" + }, + "nativeSrc": "5444:24:43", + "nodeType": "YulFunctionCall", + "src": "5444:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5432:6:43", + "nodeType": "YulIdentifier", + "src": "5432:6:43" + }, + "nativeSrc": "5432:37:43", + "nodeType": "YulFunctionCall", + "src": "5432:37:43" + }, + "nativeSrc": "5432:37:43", + "nodeType": "YulExpressionStatement", + "src": "5432:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5357:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5410:5:43", + "nodeType": "YulTypedName", + "src": "5410:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5417:3:43", + "nodeType": "YulTypedName", + "src": "5417:3:43", + "type": "" + } + ], + "src": "5357:118:43" + }, + { + "body": { + "nativeSrc": "5579:124:43", + "nodeType": "YulBlock", + "src": "5579:124:43", + "statements": [ + { + "nativeSrc": "5589:26:43", + "nodeType": "YulAssignment", + "src": "5589:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5601:9:43", + "nodeType": "YulIdentifier", + "src": "5601:9:43" + }, + { + "kind": "number", + "nativeSrc": "5612:2:43", + "nodeType": "YulLiteral", + "src": "5612:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5597:3:43", + "nodeType": "YulIdentifier", + "src": "5597:3:43" + }, + "nativeSrc": "5597:18:43", + "nodeType": "YulFunctionCall", + "src": "5597:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5589:4:43", + "nodeType": "YulIdentifier", + "src": "5589:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5669:6:43", + "nodeType": "YulIdentifier", + "src": "5669:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5682:9:43", + "nodeType": "YulIdentifier", + "src": "5682:9:43" + }, + { + "kind": "number", + "nativeSrc": "5693:1:43", + "nodeType": "YulLiteral", + "src": "5693:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5678:3:43", + "nodeType": "YulIdentifier", + "src": "5678:3:43" + }, + "nativeSrc": "5678:17:43", + "nodeType": "YulFunctionCall", + "src": "5678:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5625:43:43", + "nodeType": "YulIdentifier", + "src": "5625:43:43" + }, + "nativeSrc": "5625:71:43", + "nodeType": "YulFunctionCall", + "src": "5625:71:43" + }, + "nativeSrc": "5625:71:43", + "nodeType": "YulExpressionStatement", + "src": "5625:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "5481:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5551:9:43", + "nodeType": "YulTypedName", + "src": "5551:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5563:6:43", + "nodeType": "YulTypedName", + "src": "5563:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5574:4:43", + "nodeType": "YulTypedName", + "src": "5574:4:43", + "type": "" + } + ], + "src": "5481:222:43" + }, + { + "body": { + "nativeSrc": "5768:40:43", + "nodeType": "YulBlock", + "src": "5768:40:43", + "statements": [ + { + "nativeSrc": "5779:22:43", + "nodeType": "YulAssignment", + "src": "5779:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5795:5:43", + "nodeType": "YulIdentifier", + "src": "5795:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5789:5:43", + "nodeType": "YulIdentifier", + "src": "5789:5:43" + }, + "nativeSrc": "5789:12:43", + "nodeType": "YulFunctionCall", + "src": "5789:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5779:6:43", + "nodeType": "YulIdentifier", + "src": "5779:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5709:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5751:5:43", + "nodeType": "YulTypedName", + "src": "5751:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5761:6:43", + "nodeType": "YulTypedName", + "src": "5761:6:43", + "type": "" + } + ], + "src": "5709:99:43" + }, + { + "body": { + "nativeSrc": "5842:152:43", + "nodeType": "YulBlock", + "src": "5842:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5859:1:43", + "nodeType": "YulLiteral", + "src": "5859:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5862:77:43", + "nodeType": "YulLiteral", + "src": "5862:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5852:6:43", + "nodeType": "YulIdentifier", + "src": "5852:6:43" + }, + "nativeSrc": "5852:88:43", + "nodeType": "YulFunctionCall", + "src": "5852:88:43" + }, + "nativeSrc": "5852:88:43", + "nodeType": "YulExpressionStatement", + "src": "5852:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5956:1:43", + "nodeType": "YulLiteral", + "src": "5956:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5959:4:43", + "nodeType": "YulLiteral", + "src": "5959:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5949:6:43", + "nodeType": "YulIdentifier", + "src": "5949:6:43" + }, + "nativeSrc": "5949:15:43", + "nodeType": "YulFunctionCall", + "src": "5949:15:43" + }, + "nativeSrc": "5949:15:43", + "nodeType": "YulExpressionStatement", + "src": "5949:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5980:1:43", + "nodeType": "YulLiteral", + "src": "5980:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5983:4:43", + "nodeType": "YulLiteral", + "src": "5983:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5973:6:43", + "nodeType": "YulIdentifier", + "src": "5973:6:43" + }, + "nativeSrc": "5973:15:43", + "nodeType": "YulFunctionCall", + "src": "5973:15:43" + }, + "nativeSrc": "5973:15:43", + "nodeType": "YulExpressionStatement", + "src": "5973:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "5814:180:43", + "nodeType": "YulFunctionDefinition", + "src": "5814:180:43" + }, + { + "body": { + "nativeSrc": "6051:269:43", + "nodeType": "YulBlock", + "src": "6051:269:43", + "statements": [ + { + "nativeSrc": "6061:22:43", + "nodeType": "YulAssignment", + "src": "6061:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6075:4:43", + "nodeType": "YulIdentifier", + "src": "6075:4:43" + }, + { + "kind": "number", + "nativeSrc": "6081:1:43", + "nodeType": "YulLiteral", + "src": "6081:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6071:3:43", + "nodeType": "YulIdentifier", + "src": "6071:3:43" + }, + "nativeSrc": "6071:12:43", + "nodeType": "YulFunctionCall", + "src": "6071:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6061:6:43", + "nodeType": "YulIdentifier", + "src": "6061:6:43" + } + ] + }, + { + "nativeSrc": "6092:38:43", + "nodeType": "YulVariableDeclaration", + "src": "6092:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6122:4:43", + "nodeType": "YulIdentifier", + "src": "6122:4:43" + }, + { + "kind": "number", + "nativeSrc": "6128:1:43", + "nodeType": "YulLiteral", + "src": "6128:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6118:3:43", + "nodeType": "YulIdentifier", + "src": "6118:3:43" + }, + "nativeSrc": "6118:12:43", + "nodeType": "YulFunctionCall", + "src": "6118:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6096:18:43", + "nodeType": "YulTypedName", + "src": "6096:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6169:51:43", + "nodeType": "YulBlock", + "src": "6169:51:43", + "statements": [ + { + "nativeSrc": "6183:27:43", + "nodeType": "YulAssignment", + "src": "6183:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6197:6:43", + "nodeType": "YulIdentifier", + "src": "6197:6:43" + }, + { + "kind": "number", + "nativeSrc": "6205:4:43", + "nodeType": "YulLiteral", + "src": "6205:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6193:3:43", + "nodeType": "YulIdentifier", + "src": "6193:3:43" + }, + "nativeSrc": "6193:17:43", + "nodeType": "YulFunctionCall", + "src": "6193:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6183:6:43", + "nodeType": "YulIdentifier", + "src": "6183:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6149:18:43", + "nodeType": "YulIdentifier", + "src": "6149:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6142:6:43", + "nodeType": "YulIdentifier", + "src": "6142:6:43" + }, + "nativeSrc": "6142:26:43", + "nodeType": "YulFunctionCall", + "src": "6142:26:43" + }, + "nativeSrc": "6139:81:43", + "nodeType": "YulIf", + "src": "6139:81:43" + }, + { + "body": { + "nativeSrc": "6272:42:43", + "nodeType": "YulBlock", + "src": "6272:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "6286:16:43", + "nodeType": "YulIdentifier", + "src": "6286:16:43" + }, + "nativeSrc": "6286:18:43", + "nodeType": "YulFunctionCall", + "src": "6286:18:43" + }, + "nativeSrc": "6286:18:43", + "nodeType": "YulExpressionStatement", + "src": "6286:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6236:18:43", + "nodeType": "YulIdentifier", + "src": "6236:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6259:6:43", + "nodeType": "YulIdentifier", + "src": "6259:6:43" + }, + { + "kind": "number", + "nativeSrc": "6267:2:43", + "nodeType": "YulLiteral", + "src": "6267:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6256:2:43", + "nodeType": "YulIdentifier", + "src": "6256:2:43" + }, + "nativeSrc": "6256:14:43", + "nodeType": "YulFunctionCall", + "src": "6256:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6233:2:43", + "nodeType": "YulIdentifier", + "src": "6233:2:43" + }, + "nativeSrc": "6233:38:43", + "nodeType": "YulFunctionCall", + "src": "6233:38:43" + }, + "nativeSrc": "6230:84:43", + "nodeType": "YulIf", + "src": "6230:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "6000:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "6035:4:43", + "nodeType": "YulTypedName", + "src": "6035:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "6044:6:43", + "nodeType": "YulTypedName", + "src": "6044:6:43", + "type": "" + } + ], + "src": "6000:320:43" + }, + { + "body": { + "nativeSrc": "6380:87:43", + "nodeType": "YulBlock", + "src": "6380:87:43", + "statements": [ + { + "nativeSrc": "6390:11:43", + "nodeType": "YulAssignment", + "src": "6390:11:43", + "value": { + "name": "ptr", + "nativeSrc": "6398:3:43", + "nodeType": "YulIdentifier", + "src": "6398:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6390:4:43", + "nodeType": "YulIdentifier", + "src": "6390:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6418:1:43", + "nodeType": "YulLiteral", + "src": "6418:1:43", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "6421:3:43", + "nodeType": "YulIdentifier", + "src": "6421:3:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6411:6:43", + "nodeType": "YulIdentifier", + "src": "6411:6:43" + }, + "nativeSrc": "6411:14:43", + "nodeType": "YulFunctionCall", + "src": "6411:14:43" + }, + "nativeSrc": "6411:14:43", + "nodeType": "YulExpressionStatement", + "src": "6411:14:43" + }, + { + "nativeSrc": "6434:26:43", + "nodeType": "YulAssignment", + "src": "6434:26:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6452:1:43", + "nodeType": "YulLiteral", + "src": "6452:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6455:4:43", + "nodeType": "YulLiteral", + "src": "6455:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "6442:9:43", + "nodeType": "YulIdentifier", + "src": "6442:9:43" + }, + "nativeSrc": "6442:18:43", + "nodeType": "YulFunctionCall", + "src": "6442:18:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6434:4:43", + "nodeType": "YulIdentifier", + "src": "6434:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "6326:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "6367:3:43", + "nodeType": "YulTypedName", + "src": "6367:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "6375:4:43", + "nodeType": "YulTypedName", + "src": "6375:4:43", + "type": "" + } + ], + "src": "6326:141:43" + }, + { + "body": { + "nativeSrc": "6517:49:43", + "nodeType": "YulBlock", + "src": "6517:49:43", + "statements": [ + { + "nativeSrc": "6527:33:43", + "nodeType": "YulAssignment", + "src": "6527:33:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6545:5:43", + "nodeType": "YulIdentifier", + "src": "6545:5:43" + }, + { + "kind": "number", + "nativeSrc": "6552:2:43", + "nodeType": "YulLiteral", + "src": "6552:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6541:3:43", + "nodeType": "YulIdentifier", + "src": "6541:3:43" + }, + "nativeSrc": "6541:14:43", + "nodeType": "YulFunctionCall", + "src": "6541:14:43" + }, + { + "kind": "number", + "nativeSrc": "6557:2:43", + "nodeType": "YulLiteral", + "src": "6557:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6537:3:43", + "nodeType": "YulIdentifier", + "src": "6537:3:43" + }, + "nativeSrc": "6537:23:43", + "nodeType": "YulFunctionCall", + "src": "6537:23:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6527:6:43", + "nodeType": "YulIdentifier", + "src": "6527:6:43" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "6473:93:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6500:5:43", + "nodeType": "YulTypedName", + "src": "6500:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6510:6:43", + "nodeType": "YulTypedName", + "src": "6510:6:43", + "type": "" + } + ], + "src": "6473:93:43" + }, + { + "body": { + "nativeSrc": "6625:54:43", + "nodeType": "YulBlock", + "src": "6625:54:43", + "statements": [ + { + "nativeSrc": "6635:37:43", + "nodeType": "YulAssignment", + "src": "6635:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6660:4:43", + "nodeType": "YulIdentifier", + "src": "6660:4:43" + }, + { + "name": "value", + "nativeSrc": "6666:5:43", + "nodeType": "YulIdentifier", + "src": "6666:5:43" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6656:3:43", + "nodeType": "YulIdentifier", + "src": "6656:3:43" + }, + "nativeSrc": "6656:16:43", + "nodeType": "YulFunctionCall", + "src": "6656:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6635:8:43", + "nodeType": "YulIdentifier", + "src": "6635:8:43" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "6572:107:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6600:4:43", + "nodeType": "YulTypedName", + "src": "6600:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6606:5:43", + "nodeType": "YulTypedName", + "src": "6606:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6616:8:43", + "nodeType": "YulTypedName", + "src": "6616:8:43", + "type": "" + } + ], + "src": "6572:107:43" + }, + { + "body": { + "nativeSrc": "6761:317:43", + "nodeType": "YulBlock", + "src": "6761:317:43", + "statements": [ + { + "nativeSrc": "6771:35:43", + "nodeType": "YulVariableDeclaration", + "src": "6771:35:43", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "6792:10:43", + "nodeType": "YulIdentifier", + "src": "6792:10:43" + }, + { + "kind": "number", + "nativeSrc": "6804:1:43", + "nodeType": "YulLiteral", + "src": "6804:1:43", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6788:3:43", + "nodeType": "YulIdentifier", + "src": "6788:3:43" + }, + "nativeSrc": "6788:18:43", + "nodeType": "YulFunctionCall", + "src": "6788:18:43" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "6775:9:43", + "nodeType": "YulTypedName", + "src": "6775:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6815:109:43", + "nodeType": "YulVariableDeclaration", + "src": "6815:109:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6846:9:43", + "nodeType": "YulIdentifier", + "src": "6846:9:43" + }, + { + "kind": "number", + "nativeSrc": "6857:66:43", + "nodeType": "YulLiteral", + "src": "6857:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6827:18:43", + "nodeType": "YulIdentifier", + "src": "6827:18:43" + }, + "nativeSrc": "6827:97:43", + "nodeType": "YulFunctionCall", + "src": "6827:97:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6819:4:43", + "nodeType": "YulTypedName", + "src": "6819:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6933:51:43", + "nodeType": "YulAssignment", + "src": "6933:51:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6964:9:43", + "nodeType": "YulIdentifier", + "src": "6964:9:43" + }, + { + "name": "toInsert", + "nativeSrc": "6975:8:43", + "nodeType": "YulIdentifier", + "src": "6975:8:43" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6945:18:43", + "nodeType": "YulIdentifier", + "src": "6945:18:43" + }, + "nativeSrc": "6945:39:43", + "nodeType": "YulFunctionCall", + "src": "6945:39:43" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "6933:8:43", + "nodeType": "YulIdentifier", + "src": "6933:8:43" + } + ] + }, + { + "nativeSrc": "6993:30:43", + "nodeType": "YulAssignment", + "src": "6993:30:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7006:5:43", + "nodeType": "YulIdentifier", + "src": "7006:5:43" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "7017:4:43", + "nodeType": "YulIdentifier", + "src": "7017:4:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7013:3:43", + "nodeType": "YulIdentifier", + "src": "7013:3:43" + }, + "nativeSrc": "7013:9:43", + "nodeType": "YulFunctionCall", + "src": "7013:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7002:3:43", + "nodeType": "YulIdentifier", + "src": "7002:3:43" + }, + "nativeSrc": "7002:21:43", + "nodeType": "YulFunctionCall", + "src": "7002:21:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6993:5:43", + "nodeType": "YulIdentifier", + "src": "6993:5:43" + } + ] + }, + { + "nativeSrc": "7032:40:43", + "nodeType": "YulAssignment", + "src": "7032:40:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7045:5:43", + "nodeType": "YulIdentifier", + "src": "7045:5:43" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "7056:8:43", + "nodeType": "YulIdentifier", + "src": "7056:8:43" + }, + { + "name": "mask", + "nativeSrc": "7066:4:43", + "nodeType": "YulIdentifier", + "src": "7066:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7052:3:43", + "nodeType": "YulIdentifier", + "src": "7052:3:43" + }, + "nativeSrc": "7052:19:43", + "nodeType": "YulFunctionCall", + "src": "7052:19:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7042:2:43", + "nodeType": "YulIdentifier", + "src": "7042:2:43" + }, + "nativeSrc": "7042:30:43", + "nodeType": "YulFunctionCall", + "src": "7042:30:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "7032:6:43", + "nodeType": "YulIdentifier", + "src": "7032:6:43" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "6685:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6722:5:43", + "nodeType": "YulTypedName", + "src": "6722:5:43", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "6729:10:43", + "nodeType": "YulTypedName", + "src": "6729:10:43", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "6741:8:43", + "nodeType": "YulTypedName", + "src": "6741:8:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6754:6:43", + "nodeType": "YulTypedName", + "src": "6754:6:43", + "type": "" + } + ], + "src": "6685:393:43" + }, + { + "body": { + "nativeSrc": "7116:28:43", + "nodeType": "YulBlock", + "src": "7116:28:43", + "statements": [ + { + "nativeSrc": "7126:12:43", + "nodeType": "YulAssignment", + "src": "7126:12:43", + "value": { + "name": "value", + "nativeSrc": "7133:5:43", + "nodeType": "YulIdentifier", + "src": "7133:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7126:3:43", + "nodeType": "YulIdentifier", + "src": "7126:3:43" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "7084:60:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7102:5:43", + "nodeType": "YulTypedName", + "src": "7102:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7112:3:43", + "nodeType": "YulTypedName", + "src": "7112:3:43", + "type": "" + } + ], + "src": "7084:60:43" + }, + { + "body": { + "nativeSrc": "7210:82:43", + "nodeType": "YulBlock", + "src": "7210:82:43", + "statements": [ + { + "nativeSrc": "7220:66:43", + "nodeType": "YulAssignment", + "src": "7220:66:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7278:5:43", + "nodeType": "YulIdentifier", + "src": "7278:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7260:17:43", + "nodeType": "YulIdentifier", + "src": "7260:17:43" + }, + "nativeSrc": "7260:24:43", + "nodeType": "YulFunctionCall", + "src": "7260:24:43" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "7251:8:43", + "nodeType": "YulIdentifier", + "src": "7251:8:43" + }, + "nativeSrc": "7251:34:43", + "nodeType": "YulFunctionCall", + "src": "7251:34:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7233:17:43", + "nodeType": "YulIdentifier", + "src": "7233:17:43" + }, + "nativeSrc": "7233:53:43", + "nodeType": "YulFunctionCall", + "src": "7233:53:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7220:9:43", + "nodeType": "YulIdentifier", + "src": "7220:9:43" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7150:142:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7190:5:43", + "nodeType": "YulTypedName", + "src": "7190:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7200:9:43", + "nodeType": "YulTypedName", + "src": "7200:9:43", + "type": "" + } + ], + "src": "7150:142:43" + }, + { + "body": { + "nativeSrc": "7345:28:43", + "nodeType": "YulBlock", + "src": "7345:28:43", + "statements": [ + { + "nativeSrc": "7355:12:43", + "nodeType": "YulAssignment", + "src": "7355:12:43", + "value": { + "name": "value", + "nativeSrc": "7362:5:43", + "nodeType": "YulIdentifier", + "src": "7362:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7355:3:43", + "nodeType": "YulIdentifier", + "src": "7355:3:43" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "7298:75:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7331:5:43", + "nodeType": "YulTypedName", + "src": "7331:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7341:3:43", + "nodeType": "YulTypedName", + "src": "7341:3:43", + "type": "" + } + ], + "src": "7298:75:43" + }, + { + "body": { + "nativeSrc": "7455:193:43", + "nodeType": "YulBlock", + "src": "7455:193:43", + "statements": [ + { + "nativeSrc": "7465:63:43", + "nodeType": "YulVariableDeclaration", + "src": "7465:63:43", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "7520:7:43", + "nodeType": "YulIdentifier", + "src": "7520:7:43" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "7489:30:43", + "nodeType": "YulIdentifier", + "src": "7489:30:43" + }, + "nativeSrc": "7489:39:43", + "nodeType": "YulFunctionCall", + "src": "7489:39:43" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "7469:16:43", + "nodeType": "YulTypedName", + "src": "7469:16:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7544:4:43", + "nodeType": "YulIdentifier", + "src": "7544:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7584:4:43", + "nodeType": "YulIdentifier", + "src": "7584:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7578:5:43", + "nodeType": "YulIdentifier", + "src": "7578:5:43" + }, + "nativeSrc": "7578:11:43", + "nodeType": "YulFunctionCall", + "src": "7578:11:43" + }, + { + "name": "offset", + "nativeSrc": "7591:6:43", + "nodeType": "YulIdentifier", + "src": "7591:6:43" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "7623:16:43", + "nodeType": "YulIdentifier", + "src": "7623:16:43" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "7599:23:43", + "nodeType": "YulIdentifier", + "src": "7599:23:43" + }, + "nativeSrc": "7599:41:43", + "nodeType": "YulFunctionCall", + "src": "7599:41:43" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "7550:27:43", + "nodeType": "YulIdentifier", + "src": "7550:27:43" + }, + "nativeSrc": "7550:91:43", + "nodeType": "YulFunctionCall", + "src": "7550:91:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7537:6:43", + "nodeType": "YulIdentifier", + "src": "7537:6:43" + }, + "nativeSrc": "7537:105:43", + "nodeType": "YulFunctionCall", + "src": "7537:105:43" + }, + "nativeSrc": "7537:105:43", + "nodeType": "YulExpressionStatement", + "src": "7537:105:43" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7379:269:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7432:4:43", + "nodeType": "YulTypedName", + "src": "7432:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7438:6:43", + "nodeType": "YulTypedName", + "src": "7438:6:43", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "7446:7:43", + "nodeType": "YulTypedName", + "src": "7446:7:43", + "type": "" + } + ], + "src": "7379:269:43" + }, + { + "body": { + "nativeSrc": "7703:24:43", + "nodeType": "YulBlock", + "src": "7703:24:43", + "statements": [ + { + "nativeSrc": "7713:8:43", + "nodeType": "YulAssignment", + "src": "7713:8:43", + "value": { + "kind": "number", + "nativeSrc": "7720:1:43", + "nodeType": "YulLiteral", + "src": "7720:1:43", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7713:3:43", + "nodeType": "YulIdentifier", + "src": "7713:3:43" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7654:73:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7699:3:43", + "nodeType": "YulTypedName", + "src": "7699:3:43", + "type": "" + } + ], + "src": "7654:73:43" + }, + { + "body": { + "nativeSrc": "7786:136:43", + "nodeType": "YulBlock", + "src": "7786:136:43", + "statements": [ + { + "nativeSrc": "7796:46:43", + "nodeType": "YulVariableDeclaration", + "src": "7796:46:43", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7810:30:43", + "nodeType": "YulIdentifier", + "src": "7810:30:43" + }, + "nativeSrc": "7810:32:43", + "nodeType": "YulFunctionCall", + "src": "7810:32:43" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "7800:6:43", + "nodeType": "YulTypedName", + "src": "7800:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7895:4:43", + "nodeType": "YulIdentifier", + "src": "7895:4:43" + }, + { + "name": "offset", + "nativeSrc": "7901:6:43", + "nodeType": "YulIdentifier", + "src": "7901:6:43" + }, + { + "name": "zero_0", + "nativeSrc": "7909:6:43", + "nodeType": "YulIdentifier", + "src": "7909:6:43" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7851:43:43", + "nodeType": "YulIdentifier", + "src": "7851:43:43" + }, + "nativeSrc": "7851:65:43", + "nodeType": "YulFunctionCall", + "src": "7851:65:43" + }, + "nativeSrc": "7851:65:43", + "nodeType": "YulExpressionStatement", + "src": "7851:65:43" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7733:189:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7772:4:43", + "nodeType": "YulTypedName", + "src": "7772:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7778:6:43", + "nodeType": "YulTypedName", + "src": "7778:6:43", + "type": "" + } + ], + "src": "7733:189:43" + }, + { + "body": { + "nativeSrc": "7978:136:43", + "nodeType": "YulBlock", + "src": "7978:136:43", + "statements": [ + { + "body": { + "nativeSrc": "8045:63:43", + "nodeType": "YulBlock", + "src": "8045:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8089:5:43", + "nodeType": "YulIdentifier", + "src": "8089:5:43" + }, + { + "kind": "number", + "nativeSrc": "8096:1:43", + "nodeType": "YulLiteral", + "src": "8096:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "8059:29:43", + "nodeType": "YulIdentifier", + "src": "8059:29:43" + }, + "nativeSrc": "8059:39:43", + "nodeType": "YulFunctionCall", + "src": "8059:39:43" + }, + "nativeSrc": "8059:39:43", + "nodeType": "YulExpressionStatement", + "src": "8059:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7998:5:43", + "nodeType": "YulIdentifier", + "src": "7998:5:43" + }, + { + "name": "end", + "nativeSrc": "8005:3:43", + "nodeType": "YulIdentifier", + "src": "8005:3:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7995:2:43", + "nodeType": "YulIdentifier", + "src": "7995:2:43" + }, + "nativeSrc": "7995:14:43", + "nodeType": "YulFunctionCall", + "src": "7995:14:43" + }, + "nativeSrc": "7988:120:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8010:26:43", + "nodeType": "YulBlock", + "src": "8010:26:43", + "statements": [ + { + "nativeSrc": "8012:22:43", + "nodeType": "YulAssignment", + "src": "8012:22:43", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "8025:5:43", + "nodeType": "YulIdentifier", + "src": "8025:5:43" + }, + { + "kind": "number", + "nativeSrc": "8032:1:43", + "nodeType": "YulLiteral", + "src": "8032:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8021:3:43", + "nodeType": "YulIdentifier", + "src": "8021:3:43" + }, + "nativeSrc": "8021:13:43", + "nodeType": "YulFunctionCall", + "src": "8021:13:43" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "8012:5:43", + "nodeType": "YulIdentifier", + "src": "8012:5:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7992:2:43", + "nodeType": "YulBlock", + "src": "7992:2:43", + "statements": [] + }, + "src": "7988:120:43" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "7928:186:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "7966:5:43", + "nodeType": "YulTypedName", + "src": "7966:5:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "7973:3:43", + "nodeType": "YulTypedName", + "src": "7973:3:43", + "type": "" + } + ], + "src": "7928:186:43" + }, + { + "body": { + "nativeSrc": "8199:464:43", + "nodeType": "YulBlock", + "src": "8199:464:43", + "statements": [ + { + "body": { + "nativeSrc": "8225:431:43", + "nodeType": "YulBlock", + "src": "8225:431:43", + "statements": [ + { + "nativeSrc": "8239:54:43", + "nodeType": "YulVariableDeclaration", + "src": "8239:54:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8287:5:43", + "nodeType": "YulIdentifier", + "src": "8287:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "8255:31:43", + "nodeType": "YulIdentifier", + "src": "8255:31:43" + }, + "nativeSrc": "8255:38:43", + "nodeType": "YulFunctionCall", + "src": "8255:38:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "8243:8:43", + "nodeType": "YulTypedName", + "src": "8243:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8306:63:43", + "nodeType": "YulVariableDeclaration", + "src": "8306:63:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8329:8:43", + "nodeType": "YulIdentifier", + "src": "8329:8:43" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8357:10:43", + "nodeType": "YulIdentifier", + "src": "8357:10:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8339:17:43", + "nodeType": "YulIdentifier", + "src": "8339:17:43" + }, + "nativeSrc": "8339:29:43", + "nodeType": "YulFunctionCall", + "src": "8339:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8325:3:43", + "nodeType": "YulIdentifier", + "src": "8325:3:43" + }, + "nativeSrc": "8325:44:43", + "nodeType": "YulFunctionCall", + "src": "8325:44:43" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "8310:11:43", + "nodeType": "YulTypedName", + "src": "8310:11:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8526:27:43", + "nodeType": "YulBlock", + "src": "8526:27:43", + "statements": [ + { + "nativeSrc": "8528:23:43", + "nodeType": "YulAssignment", + "src": "8528:23:43", + "value": { + "name": "dataArea", + "nativeSrc": "8543:8:43", + "nodeType": "YulIdentifier", + "src": "8543:8:43" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "8528:11:43", + "nodeType": "YulIdentifier", + "src": "8528:11:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8510:10:43", + "nodeType": "YulIdentifier", + "src": "8510:10:43" + }, + { + "kind": "number", + "nativeSrc": "8522:2:43", + "nodeType": "YulLiteral", + "src": "8522:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8507:2:43", + "nodeType": "YulIdentifier", + "src": "8507:2:43" + }, + "nativeSrc": "8507:18:43", + "nodeType": "YulFunctionCall", + "src": "8507:18:43" + }, + "nativeSrc": "8504:49:43", + "nodeType": "YulIf", + "src": "8504:49:43" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "8595:11:43", + "nodeType": "YulIdentifier", + "src": "8595:11:43" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8612:8:43", + "nodeType": "YulIdentifier", + "src": "8612:8:43" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "8640:3:43", + "nodeType": "YulIdentifier", + "src": "8640:3:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8622:17:43", + "nodeType": "YulIdentifier", + "src": "8622:17:43" + }, + "nativeSrc": "8622:22:43", + "nodeType": "YulFunctionCall", + "src": "8622:22:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8608:3:43", + "nodeType": "YulIdentifier", + "src": "8608:3:43" + }, + "nativeSrc": "8608:37:43", + "nodeType": "YulFunctionCall", + "src": "8608:37:43" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8566:28:43", + "nodeType": "YulIdentifier", + "src": "8566:28:43" + }, + "nativeSrc": "8566:80:43", + "nodeType": "YulFunctionCall", + "src": "8566:80:43" + }, + "nativeSrc": "8566:80:43", + "nodeType": "YulExpressionStatement", + "src": "8566:80:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "8216:3:43", + "nodeType": "YulIdentifier", + "src": "8216:3:43" + }, + { + "kind": "number", + "nativeSrc": "8221:2:43", + "nodeType": "YulLiteral", + "src": "8221:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8213:2:43", + "nodeType": "YulIdentifier", + "src": "8213:2:43" + }, + "nativeSrc": "8213:11:43", + "nodeType": "YulFunctionCall", + "src": "8213:11:43" + }, + "nativeSrc": "8210:446:43", + "nodeType": "YulIf", + "src": "8210:446:43" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "8120:543:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "8175:5:43", + "nodeType": "YulTypedName", + "src": "8175:5:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "8182:3:43", + "nodeType": "YulTypedName", + "src": "8182:3:43", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "8187:10:43", + "nodeType": "YulTypedName", + "src": "8187:10:43", + "type": "" + } + ], + "src": "8120:543:43" + }, + { + "body": { + "nativeSrc": "8732:54:43", + "nodeType": "YulBlock", + "src": "8732:54:43", + "statements": [ + { + "nativeSrc": "8742:37:43", + "nodeType": "YulAssignment", + "src": "8742:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "8767:4:43", + "nodeType": "YulIdentifier", + "src": "8767:4:43" + }, + { + "name": "value", + "nativeSrc": "8773:5:43", + "nodeType": "YulIdentifier", + "src": "8773:5:43" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8763:3:43", + "nodeType": "YulIdentifier", + "src": "8763:3:43" + }, + "nativeSrc": "8763:16:43", + "nodeType": "YulFunctionCall", + "src": "8763:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "8742:8:43", + "nodeType": "YulIdentifier", + "src": "8742:8:43" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8669:117:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "8707:4:43", + "nodeType": "YulTypedName", + "src": "8707:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "8713:5:43", + "nodeType": "YulTypedName", + "src": "8713:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "8723:8:43", + "nodeType": "YulTypedName", + "src": "8723:8:43", + "type": "" + } + ], + "src": "8669:117:43" + }, + { + "body": { + "nativeSrc": "8843:118:43", + "nodeType": "YulBlock", + "src": "8843:118:43", + "statements": [ + { + "nativeSrc": "8853:68:43", + "nodeType": "YulVariableDeclaration", + "src": "8853:68:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8902:1:43", + "nodeType": "YulLiteral", + "src": "8902:1:43", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "8905:5:43", + "nodeType": "YulIdentifier", + "src": "8905:5:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8898:3:43", + "nodeType": "YulIdentifier", + "src": "8898:3:43" + }, + "nativeSrc": "8898:13:43", + "nodeType": "YulFunctionCall", + "src": "8898:13:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8917:1:43", + "nodeType": "YulLiteral", + "src": "8917:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8913:3:43", + "nodeType": "YulIdentifier", + "src": "8913:3:43" + }, + "nativeSrc": "8913:6:43", + "nodeType": "YulFunctionCall", + "src": "8913:6:43" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8869:28:43", + "nodeType": "YulIdentifier", + "src": "8869:28:43" + }, + "nativeSrc": "8869:51:43", + "nodeType": "YulFunctionCall", + "src": "8869:51:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8865:3:43", + "nodeType": "YulIdentifier", + "src": "8865:3:43" + }, + "nativeSrc": "8865:56:43", + "nodeType": "YulFunctionCall", + "src": "8865:56:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "8857:4:43", + "nodeType": "YulTypedName", + "src": "8857:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8930:25:43", + "nodeType": "YulAssignment", + "src": "8930:25:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8944:4:43", + "nodeType": "YulIdentifier", + "src": "8944:4:43" + }, + { + "name": "mask", + "nativeSrc": "8950:4:43", + "nodeType": "YulIdentifier", + "src": "8950:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8940:3:43", + "nodeType": "YulIdentifier", + "src": "8940:3:43" + }, + "nativeSrc": "8940:15:43", + "nodeType": "YulFunctionCall", + "src": "8940:15:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "8930:6:43", + "nodeType": "YulIdentifier", + "src": "8930:6:43" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "8792:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8820:4:43", + "nodeType": "YulTypedName", + "src": "8820:4:43", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "8826:5:43", + "nodeType": "YulTypedName", + "src": "8826:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8836:6:43", + "nodeType": "YulTypedName", + "src": "8836:6:43", + "type": "" + } + ], + "src": "8792:169:43" + }, + { + "body": { + "nativeSrc": "9047:214:43", + "nodeType": "YulBlock", + "src": "9047:214:43", + "statements": [ + { + "nativeSrc": "9180:37:43", + "nodeType": "YulAssignment", + "src": "9180:37:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9207:4:43", + "nodeType": "YulIdentifier", + "src": "9207:4:43" + }, + { + "name": "len", + "nativeSrc": "9213:3:43", + "nodeType": "YulIdentifier", + "src": "9213:3:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "9188:18:43", + "nodeType": "YulIdentifier", + "src": "9188:18:43" + }, + "nativeSrc": "9188:29:43", + "nodeType": "YulFunctionCall", + "src": "9188:29:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9180:4:43", + "nodeType": "YulIdentifier", + "src": "9180:4:43" + } + ] + }, + { + "nativeSrc": "9226:29:43", + "nodeType": "YulAssignment", + "src": "9226:29:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "9237:4:43", + "nodeType": "YulIdentifier", + "src": "9237:4:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9247:1:43", + "nodeType": "YulLiteral", + "src": "9247:1:43", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "9250:3:43", + "nodeType": "YulIdentifier", + "src": "9250:3:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9243:3:43", + "nodeType": "YulIdentifier", + "src": "9243:3:43" + }, + "nativeSrc": "9243:11:43", + "nodeType": "YulFunctionCall", + "src": "9243:11:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "9234:2:43", + "nodeType": "YulIdentifier", + "src": "9234:2:43" + }, + "nativeSrc": "9234:21:43", + "nodeType": "YulFunctionCall", + "src": "9234:21:43" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "9226:4:43", + "nodeType": "YulIdentifier", + "src": "9226:4:43" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "8966:295:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "9028:4:43", + "nodeType": "YulTypedName", + "src": "9028:4:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "9034:3:43", + "nodeType": "YulTypedName", + "src": "9034:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "9042:4:43", + "nodeType": "YulTypedName", + "src": "9042:4:43", + "type": "" + } + ], + "src": "8966:295:43" + }, + { + "body": { + "nativeSrc": "9358:1303:43", + "nodeType": "YulBlock", + "src": "9358:1303:43", + "statements": [ + { + "nativeSrc": "9369:51:43", + "nodeType": "YulVariableDeclaration", + "src": "9369:51:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "9416:3:43", + "nodeType": "YulIdentifier", + "src": "9416:3:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "9383:32:43", + "nodeType": "YulIdentifier", + "src": "9383:32:43" + }, + "nativeSrc": "9383:37:43", + "nodeType": "YulFunctionCall", + "src": "9383:37:43" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "9373:6:43", + "nodeType": "YulTypedName", + "src": "9373:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9505:22:43", + "nodeType": "YulBlock", + "src": "9505:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9507:16:43", + "nodeType": "YulIdentifier", + "src": "9507:16:43" + }, + "nativeSrc": "9507:18:43", + "nodeType": "YulFunctionCall", + "src": "9507:18:43" + }, + "nativeSrc": "9507:18:43", + "nodeType": "YulExpressionStatement", + "src": "9507:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9477:6:43", + "nodeType": "YulIdentifier", + "src": "9477:6:43" + }, + { + "kind": "number", + "nativeSrc": "9485:18:43", + "nodeType": "YulLiteral", + "src": "9485:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9474:2:43", + "nodeType": "YulIdentifier", + "src": "9474:2:43" + }, + "nativeSrc": "9474:30:43", + "nodeType": "YulFunctionCall", + "src": "9474:30:43" + }, + "nativeSrc": "9471:56:43", + "nodeType": "YulIf", + "src": "9471:56:43" + }, + { + "nativeSrc": "9537:52:43", + "nodeType": "YulVariableDeclaration", + "src": "9537:52:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9583:4:43", + "nodeType": "YulIdentifier", + "src": "9583:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "9577:5:43", + "nodeType": "YulIdentifier", + "src": "9577:5:43" + }, + "nativeSrc": "9577:11:43", + "nodeType": "YulFunctionCall", + "src": "9577:11:43" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "9551:25:43", + "nodeType": "YulIdentifier", + "src": "9551:25:43" + }, + "nativeSrc": "9551:38:43", + "nodeType": "YulFunctionCall", + "src": "9551:38:43" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "9541:6:43", + "nodeType": "YulTypedName", + "src": "9541:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9682:4:43", + "nodeType": "YulIdentifier", + "src": "9682:4:43" + }, + { + "name": "oldLen", + "nativeSrc": "9688:6:43", + "nodeType": "YulIdentifier", + "src": "9688:6:43" + }, + { + "name": "newLen", + "nativeSrc": "9696:6:43", + "nodeType": "YulIdentifier", + "src": "9696:6:43" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "9636:45:43", + "nodeType": "YulIdentifier", + "src": "9636:45:43" + }, + "nativeSrc": "9636:67:43", + "nodeType": "YulFunctionCall", + "src": "9636:67:43" + }, + "nativeSrc": "9636:67:43", + "nodeType": "YulExpressionStatement", + "src": "9636:67:43" + }, + { + "nativeSrc": "9713:18:43", + "nodeType": "YulVariableDeclaration", + "src": "9713:18:43", + "value": { + "kind": "number", + "nativeSrc": "9730:1:43", + "nodeType": "YulLiteral", + "src": "9730:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "9717:9:43", + "nodeType": "YulTypedName", + "src": "9717:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9741:17:43", + "nodeType": "YulAssignment", + "src": "9741:17:43", + "value": { + "kind": "number", + "nativeSrc": "9754:4:43", + "nodeType": "YulLiteral", + "src": "9754:4:43", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9741:9:43", + "nodeType": "YulIdentifier", + "src": "9741:9:43" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "9805:611:43", + "nodeType": "YulBlock", + "src": "9805:611:43", + "statements": [ + { + "nativeSrc": "9819:37:43", + "nodeType": "YulVariableDeclaration", + "src": "9819:37:43", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9838:6:43", + "nodeType": "YulIdentifier", + "src": "9838:6:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9850:4:43", + "nodeType": "YulLiteral", + "src": "9850:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9846:3:43", + "nodeType": "YulIdentifier", + "src": "9846:3:43" + }, + "nativeSrc": "9846:9:43", + "nodeType": "YulFunctionCall", + "src": "9846:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9834:3:43", + "nodeType": "YulIdentifier", + "src": "9834:3:43" + }, + "nativeSrc": "9834:22:43", + "nodeType": "YulFunctionCall", + "src": "9834:22:43" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "9823:7:43", + "nodeType": "YulTypedName", + "src": "9823:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9870:51:43", + "nodeType": "YulVariableDeclaration", + "src": "9870:51:43", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9916:4:43", + "nodeType": "YulIdentifier", + "src": "9916:4:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "9884:31:43", + "nodeType": "YulIdentifier", + "src": "9884:31:43" + }, + "nativeSrc": "9884:37:43", + "nodeType": "YulFunctionCall", + "src": "9884:37:43" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "9874:6:43", + "nodeType": "YulTypedName", + "src": "9874:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9934:10:43", + "nodeType": "YulVariableDeclaration", + "src": "9934:10:43", + "value": { + "kind": "number", + "nativeSrc": "9943:1:43", + "nodeType": "YulLiteral", + "src": "9943:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "9938:1:43", + "nodeType": "YulTypedName", + "src": "9938:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10002:163:43", + "nodeType": "YulBlock", + "src": "10002:163:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10027:6:43", + "nodeType": "YulIdentifier", + "src": "10027:6:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10045:3:43", + "nodeType": "YulIdentifier", + "src": "10045:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10050:9:43", + "nodeType": "YulIdentifier", + "src": "10050:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10041:3:43", + "nodeType": "YulIdentifier", + "src": "10041:3:43" + }, + "nativeSrc": "10041:19:43", + "nodeType": "YulFunctionCall", + "src": "10041:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10035:5:43", + "nodeType": "YulIdentifier", + "src": "10035:5:43" + }, + "nativeSrc": "10035:26:43", + "nodeType": "YulFunctionCall", + "src": "10035:26:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10020:6:43", + "nodeType": "YulIdentifier", + "src": "10020:6:43" + }, + "nativeSrc": "10020:42:43", + "nodeType": "YulFunctionCall", + "src": "10020:42:43" + }, + "nativeSrc": "10020:42:43", + "nodeType": "YulExpressionStatement", + "src": "10020:42:43" + }, + { + "nativeSrc": "10079:24:43", + "nodeType": "YulAssignment", + "src": "10079:24:43", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10093:6:43", + "nodeType": "YulIdentifier", + "src": "10093:6:43" + }, + { + "kind": "number", + "nativeSrc": "10101:1:43", + "nodeType": "YulLiteral", + "src": "10101:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10089:3:43", + "nodeType": "YulIdentifier", + "src": "10089:3:43" + }, + "nativeSrc": "10089:14:43", + "nodeType": "YulFunctionCall", + "src": "10089:14:43" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "10079:6:43", + "nodeType": "YulIdentifier", + "src": "10079:6:43" + } + ] + }, + { + "nativeSrc": "10120:31:43", + "nodeType": "YulAssignment", + "src": "10120:31:43", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "10137:9:43", + "nodeType": "YulIdentifier", + "src": "10137:9:43" + }, + { + "kind": "number", + "nativeSrc": "10148:2:43", + "nodeType": "YulLiteral", + "src": "10148:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10133:3:43", + "nodeType": "YulIdentifier", + "src": "10133:3:43" + }, + "nativeSrc": "10133:18:43", + "nodeType": "YulFunctionCall", + "src": "10133:18:43" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "10120:9:43", + "nodeType": "YulIdentifier", + "src": "10120:9:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9968:1:43", + "nodeType": "YulIdentifier", + "src": "9968:1:43" + }, + { + "name": "loopEnd", + "nativeSrc": "9971:7:43", + "nodeType": "YulIdentifier", + "src": "9971:7:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9965:2:43", + "nodeType": "YulIdentifier", + "src": "9965:2:43" + }, + "nativeSrc": "9965:14:43", + "nodeType": "YulFunctionCall", + "src": "9965:14:43" + }, + "nativeSrc": "9957:208:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "9980:21:43", + "nodeType": "YulBlock", + "src": "9980:21:43", + "statements": [ + { + "nativeSrc": "9982:17:43", + "nodeType": "YulAssignment", + "src": "9982:17:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9991:1:43", + "nodeType": "YulIdentifier", + "src": "9991:1:43" + }, + { + "kind": "number", + "nativeSrc": "9994:4:43", + "nodeType": "YulLiteral", + "src": "9994:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9987:3:43", + "nodeType": "YulIdentifier", + "src": "9987:3:43" + }, + "nativeSrc": "9987:12:43", + "nodeType": "YulFunctionCall", + "src": "9987:12:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "9982:1:43", + "nodeType": "YulIdentifier", + "src": "9982:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "9961:3:43", + "nodeType": "YulBlock", + "src": "9961:3:43", + "statements": [] + }, + "src": "9957:208:43" + }, + { + "body": { + "nativeSrc": "10201:156:43", + "nodeType": "YulBlock", + "src": "10201:156:43", + "statements": [ + { + "nativeSrc": "10219:43:43", + "nodeType": "YulVariableDeclaration", + "src": "10219:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10246:3:43", + "nodeType": "YulIdentifier", + "src": "10246:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10251:9:43", + "nodeType": "YulIdentifier", + "src": "10251:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10242:3:43", + "nodeType": "YulIdentifier", + "src": "10242:3:43" + }, + "nativeSrc": "10242:19:43", + "nodeType": "YulFunctionCall", + "src": "10242:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10236:5:43", + "nodeType": "YulIdentifier", + "src": "10236:5:43" + }, + "nativeSrc": "10236:26:43", + "nodeType": "YulFunctionCall", + "src": "10236:26:43" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "10223:9:43", + "nodeType": "YulTypedName", + "src": "10223:9:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "10286:6:43", + "nodeType": "YulIdentifier", + "src": "10286:6:43" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "10313:9:43", + "nodeType": "YulIdentifier", + "src": "10313:9:43" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10328:6:43", + "nodeType": "YulIdentifier", + "src": "10328:6:43" + }, + { + "kind": "number", + "nativeSrc": "10336:4:43", + "nodeType": "YulLiteral", + "src": "10336:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10324:3:43", + "nodeType": "YulIdentifier", + "src": "10324:3:43" + }, + "nativeSrc": "10324:17:43", + "nodeType": "YulFunctionCall", + "src": "10324:17:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "10294:18:43", + "nodeType": "YulIdentifier", + "src": "10294:18:43" + }, + "nativeSrc": "10294:48:43", + "nodeType": "YulFunctionCall", + "src": "10294:48:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10279:6:43", + "nodeType": "YulIdentifier", + "src": "10279:6:43" + }, + "nativeSrc": "10279:64:43", + "nodeType": "YulFunctionCall", + "src": "10279:64:43" + }, + "nativeSrc": "10279:64:43", + "nodeType": "YulExpressionStatement", + "src": "10279:64:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "10184:7:43", + "nodeType": "YulIdentifier", + "src": "10184:7:43" + }, + { + "name": "newLen", + "nativeSrc": "10193:6:43", + "nodeType": "YulIdentifier", + "src": "10193:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10181:2:43", + "nodeType": "YulIdentifier", + "src": "10181:2:43" + }, + "nativeSrc": "10181:19:43", + "nodeType": "YulFunctionCall", + "src": "10181:19:43" + }, + "nativeSrc": "10178:179:43", + "nodeType": "YulIf", + "src": "10178:179:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10377:4:43", + "nodeType": "YulIdentifier", + "src": "10377:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "10391:6:43", + "nodeType": "YulIdentifier", + "src": "10391:6:43" + }, + { + "kind": "number", + "nativeSrc": "10399:1:43", + "nodeType": "YulLiteral", + "src": "10399:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10387:3:43", + "nodeType": "YulIdentifier", + "src": "10387:3:43" + }, + "nativeSrc": "10387:14:43", + "nodeType": "YulFunctionCall", + "src": "10387:14:43" + }, + { + "kind": "number", + "nativeSrc": "10403:1:43", + "nodeType": "YulLiteral", + "src": "10403:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10383:3:43", + "nodeType": "YulIdentifier", + "src": "10383:3:43" + }, + "nativeSrc": "10383:22:43", + "nodeType": "YulFunctionCall", + "src": "10383:22:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10370:6:43", + "nodeType": "YulIdentifier", + "src": "10370:6:43" + }, + "nativeSrc": "10370:36:43", + "nodeType": "YulFunctionCall", + "src": "10370:36:43" + }, + "nativeSrc": "10370:36:43", + "nodeType": "YulExpressionStatement", + "src": "10370:36:43" + } + ] + }, + "nativeSrc": "9798:618:43", + "nodeType": "YulCase", + "src": "9798:618:43", + "value": { + "kind": "number", + "nativeSrc": "9803:1:43", + "nodeType": "YulLiteral", + "src": "9803:1:43", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "10433:222:43", + "nodeType": "YulBlock", + "src": "10433:222:43", + "statements": [ + { + "nativeSrc": "10447:14:43", + "nodeType": "YulVariableDeclaration", + "src": "10447:14:43", + "value": { + "kind": "number", + "nativeSrc": "10460:1:43", + "nodeType": "YulLiteral", + "src": "10460:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "10451:5:43", + "nodeType": "YulTypedName", + "src": "10451:5:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10484:67:43", + "nodeType": "YulBlock", + "src": "10484:67:43", + "statements": [ + { + "nativeSrc": "10502:35:43", + "nodeType": "YulAssignment", + "src": "10502:35:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10521:3:43", + "nodeType": "YulIdentifier", + "src": "10521:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10526:9:43", + "nodeType": "YulIdentifier", + "src": "10526:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10517:3:43", + "nodeType": "YulIdentifier", + "src": "10517:3:43" + }, + "nativeSrc": "10517:19:43", + "nodeType": "YulFunctionCall", + "src": "10517:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10511:5:43", + "nodeType": "YulIdentifier", + "src": "10511:5:43" + }, + "nativeSrc": "10511:26:43", + "nodeType": "YulFunctionCall", + "src": "10511:26:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10502:5:43", + "nodeType": "YulIdentifier", + "src": "10502:5:43" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "10477:6:43", + "nodeType": "YulIdentifier", + "src": "10477:6:43" + }, + "nativeSrc": "10474:77:43", + "nodeType": "YulIf", + "src": "10474:77:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10571:4:43", + "nodeType": "YulIdentifier", + "src": "10571:4:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10630:5:43", + "nodeType": "YulIdentifier", + "src": "10630:5:43" + }, + { + "name": "newLen", + "nativeSrc": "10637:6:43", + "nodeType": "YulIdentifier", + "src": "10637:6:43" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "10577:52:43", + "nodeType": "YulIdentifier", + "src": "10577:52:43" + }, + "nativeSrc": "10577:67:43", + "nodeType": "YulFunctionCall", + "src": "10577:67:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10564:6:43", + "nodeType": "YulIdentifier", + "src": "10564:6:43" + }, + "nativeSrc": "10564:81:43", + "nodeType": "YulFunctionCall", + "src": "10564:81:43" + }, + "nativeSrc": "10564:81:43", + "nodeType": "YulExpressionStatement", + "src": "10564:81:43" + } + ] + }, + "nativeSrc": "10425:230:43", + "nodeType": "YulCase", + "src": "10425:230:43", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9778:6:43", + "nodeType": "YulIdentifier", + "src": "9778:6:43" + }, + { + "kind": "number", + "nativeSrc": "9786:2:43", + "nodeType": "YulLiteral", + "src": "9786:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9775:2:43", + "nodeType": "YulIdentifier", + "src": "9775:2:43" + }, + "nativeSrc": "9775:14:43", + "nodeType": "YulFunctionCall", + "src": "9775:14:43" + }, + "nativeSrc": "9768:887:43", + "nodeType": "YulSwitch", + "src": "9768:887:43" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "9266:1395:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "9347:4:43", + "nodeType": "YulTypedName", + "src": "9347:4:43", + "type": "" + }, + { + "name": "src", + "nativeSrc": "9353:3:43", + "nodeType": "YulTypedName", + "src": "9353:3:43", + "type": "" + } + ], + "src": "9266:1395:43" + }, + { + "body": { + "nativeSrc": "10695:152:43", + "nodeType": "YulBlock", + "src": "10695:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10712:1:43", + "nodeType": "YulLiteral", + "src": "10712:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10715:77:43", + "nodeType": "YulLiteral", + "src": "10715:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10705:6:43", + "nodeType": "YulIdentifier", + "src": "10705:6:43" + }, + "nativeSrc": "10705:88:43", + "nodeType": "YulFunctionCall", + "src": "10705:88:43" + }, + "nativeSrc": "10705:88:43", + "nodeType": "YulExpressionStatement", + "src": "10705:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10809:1:43", + "nodeType": "YulLiteral", + "src": "10809:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10812:4:43", + "nodeType": "YulLiteral", + "src": "10812:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10802:6:43", + "nodeType": "YulIdentifier", + "src": "10802:6:43" + }, + "nativeSrc": "10802:15:43", + "nodeType": "YulFunctionCall", + "src": "10802:15:43" + }, + "nativeSrc": "10802:15:43", + "nodeType": "YulExpressionStatement", + "src": "10802:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10833:1:43", + "nodeType": "YulLiteral", + "src": "10833:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10836:4:43", + "nodeType": "YulLiteral", + "src": "10836:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10826:6:43", + "nodeType": "YulIdentifier", + "src": "10826:6:43" + }, + "nativeSrc": "10826:15:43", + "nodeType": "YulFunctionCall", + "src": "10826:15:43" + }, + "nativeSrc": "10826:15:43", + "nodeType": "YulExpressionStatement", + "src": "10826:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "10667:180:43", + "nodeType": "YulFunctionDefinition", + "src": "10667:180:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function validator_revert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AirdropType_$11645_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256t_enum$_AirdropType_$11645_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_enum$_AirdropType_$11645_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220c89d20e715bb8b1741d20dd3617fd1af69293dba68a2aac4954cf6a82d0bd78764736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2003 CODESIZE SUB DUP1 PUSH3 0x2003 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x487 JUMP JUMPDEST DUP6 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x56A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP7 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7C8 JUMP JUMPDEST POP DUP4 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x156 JUMPI PUSH3 0x155 PUSH3 0x8AF JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP PUSH3 0x8DE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x46D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x481 DUP2 PUSH3 0x45F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x4A9 JUMPI PUSH3 0x4A8 PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4CA JUMPI PUSH3 0x4C9 PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4D8 DUP11 DUP3 DUP12 ADD PUSH3 0x38C JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x4EB DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x4FE DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x511 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x524 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x537 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x54A DUP11 DUP3 DUP12 ADD PUSH3 0x470 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x564 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x581 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5F0 JUMPI PUSH3 0x5EF PUSH3 0x592 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x65A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x61B JUMP JUMPDEST PUSH3 0x666 DUP7 DUP4 PUSH3 0x61B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6A9 PUSH3 0x6A3 PUSH3 0x69D DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x67E JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6C5 DUP4 PUSH3 0x688 JUMP JUMPDEST PUSH3 0x6DD PUSH3 0x6D4 DUP3 PUSH3 0x6B0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x628 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6F4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x701 DUP2 DUP5 DUP5 PUSH3 0x6BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x729 JUMPI PUSH3 0x71D PUSH1 0x0 DUP3 PUSH3 0x6EA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x778 JUMPI PUSH3 0x742 DUP2 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x74D DUP5 PUSH3 0x60B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x75D JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x775 PUSH3 0x76C DUP6 PUSH3 0x60B JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x706 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x77D JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7B8 DUP4 DUP4 PUSH3 0x78A JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7D3 DUP3 PUSH3 0x587 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7EF JUMPI PUSH3 0x7EE PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7FB DUP3 SLOAD PUSH3 0x5C1 JUMP JUMPDEST PUSH3 0x808 DUP3 DUP3 DUP6 PUSH3 0x72D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x840 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x82B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x837 DUP6 DUP3 PUSH3 0x7AA JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8A7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x850 DUP7 PUSH3 0x5F6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x87A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x853 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x89A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x896 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x78A JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1715 DUP1 PUSH3 0x8EE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 SWAP14 KECCAK256 0xE7 ISZERO 0xBB DUP12 OR COINBASE 0xD2 0xD 0xD3 PUSH2 0x7FD1 0xAF PUSH10 0x293DBA68A2AAC4954CF6 0xA8 0x2D SIGNEXTEND 0xD7 DUP8 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "232:3603:35:-:0;;;786:558;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1033:12;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;1083:12:35::1;1057:14;;:39;;;;;;;;;;;;;;;;;;1121:11;1106:12;:26;;;;;;:::i;:::-;;1153:7;1142:8;:18;;;;1192;1170:19;:40;;;;1241:18;1220;:39;;;;1287:14;1269:15;:32;;;;1326:11;1311:12;;:26;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;786:558:::0;;;;;;;232:3603;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:126::-;2714:7;2754:42;2747:5;2743:54;2732:65;;2677:126;;;:::o;2809:96::-;2846:7;2875:24;2893:5;2875:24;:::i;:::-;2864:35;;2809:96;;;:::o;2911:122::-;2984:24;3002:5;2984:24;:::i;:::-;2977:5;2974:35;2964:63;;3023:1;3020;3013:12;2964:63;2911:122;:::o;3039:143::-;3096:5;3127:6;3121:13;3112:22;;3143:33;3170:5;3143:33;:::i;:::-;3039:143;;;;:::o;3188:77::-;3225:7;3254:5;3243:16;;3188:77;;;:::o;3271:122::-;3344:24;3362:5;3344:24;:::i;:::-;3337:5;3334:35;3324:63;;3383:1;3380;3373:12;3324:63;3271:122;:::o;3399:143::-;3456:5;3487:6;3481:13;3472:22;;3503:33;3530:5;3503:33;:::i;:::-;3399:143;;;;:::o;3548:116::-;3638:1;3631:5;3628:12;3618:40;;3654:1;3651;3644:12;3618:40;3548:116;:::o;3670:177::-;3744:5;3775:6;3769:13;3760:22;;3791:50;3835:5;3791:50;:::i;:::-;3670:177;;;;:::o;3853:1498::-;4004:6;4012;4020;4028;4036;4044;4052;4101:3;4089:9;4080:7;4076:23;4072:33;4069:120;;;4108:79;;:::i;:::-;4069:120;4249:1;4238:9;4234:17;4228:24;4279:18;4271:6;4268:30;4265:117;;;4301:79;;:::i;:::-;4265:117;4406:74;4472:7;4463:6;4452:9;4448:22;4406:74;:::i;:::-;4396:84;;4199:291;4529:2;4555:64;4611:7;4602:6;4591:9;4587:22;4555:64;:::i;:::-;4545:74;;4500:129;4668:2;4694:64;4750:7;4741:6;4730:9;4726:22;4694:64;:::i;:::-;4684:74;;4639:129;4807:2;4833:64;4889:7;4880:6;4869:9;4865:22;4833:64;:::i;:::-;4823:74;;4778:129;4946:3;4973:64;5029:7;5020:6;5009:9;5005:22;4973:64;:::i;:::-;4963:74;;4917:130;5086:3;5113:64;5169:7;5160:6;5149:9;5145:22;5113:64;:::i;:::-;5103:74;;5057:130;5226:3;5253:81;5326:7;5317:6;5306:9;5302:22;5253:81;:::i;:::-;5243:91;;5197:147;3853:1498;;;;;;;;;;:::o;5357:118::-;5444:24;5462:5;5444:24;:::i;:::-;5439:3;5432:37;5357:118;;:::o;5481:222::-;5574:4;5612:2;5601:9;5597:18;5589:26;;5625:71;5693:1;5682:9;5678:17;5669:6;5625:71;:::i;:::-;5481:222;;;;:::o;5709:99::-;5761:6;5795:5;5789:12;5779:22;;5709:99;;;:::o;5814:180::-;5862:77;5859:1;5852:88;5959:4;5956:1;5949:15;5983:4;5980:1;5973:15;6000:320;6044:6;6081:1;6075:4;6071:12;6061:22;;6128:1;6122:4;6118:12;6149:18;6139:81;;6205:4;6197:6;6193:17;6183:27;;6139:81;6267:2;6259:6;6256:14;6236:18;6233:38;6230:84;;6286:18;;:::i;:::-;6230:84;6051:269;6000:320;;;:::o;6326:141::-;6375:4;6398:3;6390:11;;6421:3;6418:1;6411:14;6455:4;6452:1;6442:18;6434:26;;6326:141;;;:::o;6473:93::-;6510:6;6557:2;6552;6545:5;6541:14;6537:23;6527:33;;6473:93;;;:::o;6572:107::-;6616:8;6666:5;6660:4;6656:16;6635:37;;6572:107;;;;:::o;6685:393::-;6754:6;6804:1;6792:10;6788:18;6827:97;6857:66;6846:9;6827:97;:::i;:::-;6945:39;6975:8;6964:9;6945:39;:::i;:::-;6933:51;;7017:4;7013:9;7006:5;7002:21;6993:30;;7066:4;7056:8;7052:19;7045:5;7042:30;7032:40;;6761:317;;6685:393;;;;;:::o;7084:60::-;7112:3;7133:5;7126:12;;7084:60;;;:::o;7150:142::-;7200:9;7233:53;7251:34;7260:24;7278:5;7260:24;:::i;:::-;7251:34;:::i;:::-;7233:53;:::i;:::-;7220:66;;7150:142;;;:::o;7298:75::-;7341:3;7362:5;7355:12;;7298:75;;;:::o;7379:269::-;7489:39;7520:7;7489:39;:::i;:::-;7550:91;7599:41;7623:16;7599:41;:::i;:::-;7591:6;7584:4;7578:11;7550:91;:::i;:::-;7544:4;7537:105;7455:193;7379:269;;;:::o;7654:73::-;7699:3;7654:73;:::o;7733:189::-;7810:32;;:::i;:::-;7851:65;7909:6;7901;7895:4;7851:65;:::i;:::-;7786:136;7733:189;;:::o;7928:186::-;7988:120;8005:3;7998:5;7995:14;7988:120;;;8059:39;8096:1;8089:5;8059:39;:::i;:::-;8032:1;8025:5;8021:13;8012:22;;7988:120;;;7928:186;;:::o;8120:543::-;8221:2;8216:3;8213:11;8210:446;;;8255:38;8287:5;8255:38;:::i;:::-;8339:29;8357:10;8339:29;:::i;:::-;8329:8;8325:44;8522:2;8510:10;8507:18;8504:49;;;8543:8;8528:23;;8504:49;8566:80;8622:22;8640:3;8622:22;:::i;:::-;8612:8;8608:37;8595:11;8566:80;:::i;:::-;8225:431;;8210:446;8120:543;;;:::o;8669:117::-;8723:8;8773:5;8767:4;8763:16;8742:37;;8669:117;;;;:::o;8792:169::-;8836:6;8869:51;8917:1;8913:6;8905:5;8902:1;8898:13;8869:51;:::i;:::-;8865:56;8950:4;8944;8940:15;8930:25;;8843:118;8792:169;;;;:::o;8966:295::-;9042:4;9188:29;9213:3;9207:4;9188:29;:::i;:::-;9180:37;;9250:3;9247:1;9243:11;9237:4;9234:21;9226:29;;8966:295;;;;:::o;9266:1395::-;9383:37;9416:3;9383:37;:::i;:::-;9485:18;9477:6;9474:30;9471:56;;;9507:18;;:::i;:::-;9471:56;9551:38;9583:4;9577:11;9551:38;:::i;:::-;9636:67;9696:6;9688;9682:4;9636:67;:::i;:::-;9730:1;9754:4;9741:17;;9786:2;9778:6;9775:14;9803:1;9798:618;;;;10460:1;10477:6;10474:77;;;10526:9;10521:3;10517:19;10511:26;10502:35;;10474:77;10577:67;10637:6;10630:5;10577:67;:::i;:::-;10571:4;10564:81;10433:222;9768:887;;9798:618;9850:4;9846:9;9838:6;9834:22;9884:37;9916:4;9884:37;:::i;:::-;9943:1;9957:208;9971:7;9968:1;9965:14;9957:208;;;10050:9;10045:3;10041:19;10035:26;10027:6;10020:42;10101:1;10093:6;10089:14;10079:24;;10148:2;10137:9;10133:18;10120:31;;9994:4;9991:1;9987:12;9982:17;;9957:208;;;10193:6;10184:7;10181:19;10178:179;;;10251:9;10246:3;10242:19;10236:26;10294:48;10336:4;10328:6;10324:17;10313:9;10294:48;:::i;:::-;10286:6;10279:64;10201:156;10178:179;10403:1;10399;10391:6;10387:14;10383:22;10377:4;10370:36;9805:611;;;9768:887;;9358:1303;;;9266:1395;;:::o;10667:180::-;10715:77;10712:1;10705:88;10812:4;10809:1;10802:15;10836:4;10833:1;10826:15;232:3603:35;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_buildLeaf_10864": { + "entryPoint": 2810, + "id": 10864, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_checkOwner_84": { + "entryPoint": 1787, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_claim_10840": { + "entryPoint": 1922, + "id": 10840, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_efficientKeccak256_4881": { + "entryPoint": 3049, + "id": 4881, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_msgSender_3338": { + "entryPoint": 2802, + "id": 3338, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 2606, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@claim_10756": { + "entryPoint": 1262, + "id": 10756, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@claimedLeaf_10673": { + "entryPoint": 1475, + "id": 10673, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@commutativeKeccak256_4869": { + "entryPoint": 3006, + "id": 4869, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAirdropAmountLeft_10942": { + "entryPoint": 1573, + "id": 10942, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getAirdropInfo_10885": { + "entryPoint": 976, + "id": 10885, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_10957": { + "entryPoint": 810, + "id": 10957, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getExpirationDate_10926": { + "entryPoint": 1359, + "id": 10926, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_10934": { + "entryPoint": 1288, + "id": 10934, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getUri_10988": { + "entryPoint": 1298, + "id": 10988, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBeenTotallyClaimed_10895": { + "entryPoint": 1560, + "id": 10895, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasClaimed_10907": { + "entryPoint": 1389, + "id": 10907, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasExpired_10918": { + "entryPoint": 1548, + "id": 10918, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@onERC1155Received_10980": { + "entryPoint": 1607, + "id": 10980, + "parameterSlots": 5, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 1507, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@processProofCalldata_5096": { + "entryPoint": 2924, + "id": 5096, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 1369, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@root_10661": { + "entryPoint": 1601, + "id": 10661, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@setRoot_10737": { + "entryPoint": 1583, + "id": 10737, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@transferOwnership_126": { + "entryPoint": 1653, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@verifyCalldata_5055": { + "entryPoint": 2899, + "id": 5055, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 4700, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 3836, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 3916, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bytes32": { + "entryPoint": 4358, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 4766, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 3880, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 5090, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 4226, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr": { + "entryPoint": 4812, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 4002, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_bytes32": { + "entryPoint": 4379, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 5111, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 3427, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 4424, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 4283, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 4466, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { + "entryPoint": 5758, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes4_to_t_bytes4_fromStack": { + "entryPoint": 5007, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 3561, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 3320, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4135, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5439, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5293, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 5526, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack": { + "entryPoint": 3576, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 3442, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 3191, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 5781, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 4439, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 5561, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 5049, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 4298, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 4481, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed": { + "entryPoint": 5022, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4192, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5474, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5328, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed": { + "entryPoint": 3759, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 3206, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 4609, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 3793, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 4636, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 3233, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 5506, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 3244, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 4118, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 5696, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 3409, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 4271, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 4325, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 4963, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$11645": { + "entryPoint": 3524, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 3377, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 3181, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 3543, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 4685, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 3261, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 5203, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4560, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "leftAlign_t_bytes32": { + "entryPoint": 5748, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 5649, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 3457, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 5156, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 5808, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 4513, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 3906, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 3901, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 3911, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 4508, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 3808, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 3803, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 3303, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3": { + "entryPoint": 5360, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a": { + "entryPoint": 5252, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470": { + "entryPoint": 5523, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$11645": { + "entryPoint": 3504, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 3813, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 4335, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 3857, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:20207:43", + "nodeType": "YulBlock", + "src": "0:20207:43", + "statements": [ + { + "body": { + "nativeSrc": "52:32:43", + "nodeType": "YulBlock", + "src": "52:32:43", + "statements": [ + { + "nativeSrc": "62:16:43", + "nodeType": "YulAssignment", + "src": "62:16:43", + "value": { + "name": "value", + "nativeSrc": "73:5:43", + "nodeType": "YulIdentifier", + "src": "73:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "62:7:43", + "nodeType": "YulIdentifier", + "src": "62:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "7:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "34:5:43", + "nodeType": "YulTypedName", + "src": "34:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "44:7:43", + "nodeType": "YulTypedName", + "src": "44:7:43", + "type": "" + } + ], + "src": "7:77:43" + }, + { + "body": { + "nativeSrc": "155:53:43", + "nodeType": "YulBlock", + "src": "155:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "172:3:43", + "nodeType": "YulIdentifier", + "src": "172:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "195:5:43", + "nodeType": "YulIdentifier", + "src": "195:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "177:17:43", + "nodeType": "YulIdentifier", + "src": "177:17:43" + }, + "nativeSrc": "177:24:43", + "nodeType": "YulFunctionCall", + "src": "177:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "165:6:43", + "nodeType": "YulIdentifier", + "src": "165:6:43" + }, + "nativeSrc": "165:37:43", + "nodeType": "YulFunctionCall", + "src": "165:37:43" + }, + "nativeSrc": "165:37:43", + "nodeType": "YulExpressionStatement", + "src": "165:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "90:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "143:5:43", + "nodeType": "YulTypedName", + "src": "143:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "150:3:43", + "nodeType": "YulTypedName", + "src": "150:3:43", + "type": "" + } + ], + "src": "90:118:43" + }, + { + "body": { + "nativeSrc": "312:124:43", + "nodeType": "YulBlock", + "src": "312:124:43", + "statements": [ + { + "nativeSrc": "322:26:43", + "nodeType": "YulAssignment", + "src": "322:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "334:9:43", + "nodeType": "YulIdentifier", + "src": "334:9:43" + }, + { + "kind": "number", + "nativeSrc": "345:2:43", + "nodeType": "YulLiteral", + "src": "345:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "330:3:43", + "nodeType": "YulIdentifier", + "src": "330:3:43" + }, + "nativeSrc": "330:18:43", + "nodeType": "YulFunctionCall", + "src": "330:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "322:4:43", + "nodeType": "YulIdentifier", + "src": "322:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "402:6:43", + "nodeType": "YulIdentifier", + "src": "402:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "415:9:43", + "nodeType": "YulIdentifier", + "src": "415:9:43" + }, + { + "kind": "number", + "nativeSrc": "426:1:43", + "nodeType": "YulLiteral", + "src": "426:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "411:3:43", + "nodeType": "YulIdentifier", + "src": "411:3:43" + }, + "nativeSrc": "411:17:43", + "nodeType": "YulFunctionCall", + "src": "411:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "358:43:43", + "nodeType": "YulIdentifier", + "src": "358:43:43" + }, + "nativeSrc": "358:71:43", + "nodeType": "YulFunctionCall", + "src": "358:71:43" + }, + "nativeSrc": "358:71:43", + "nodeType": "YulExpressionStatement", + "src": "358:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "214:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "284:9:43", + "nodeType": "YulTypedName", + "src": "284:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "296:6:43", + "nodeType": "YulTypedName", + "src": "296:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "307:4:43", + "nodeType": "YulTypedName", + "src": "307:4:43", + "type": "" + } + ], + "src": "214:222:43" + }, + { + "body": { + "nativeSrc": "501:40:43", + "nodeType": "YulBlock", + "src": "501:40:43", + "statements": [ + { + "nativeSrc": "512:22:43", + "nodeType": "YulAssignment", + "src": "512:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "528:5:43", + "nodeType": "YulIdentifier", + "src": "528:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "522:5:43", + "nodeType": "YulIdentifier", + "src": "522:5:43" + }, + "nativeSrc": "522:12:43", + "nodeType": "YulFunctionCall", + "src": "522:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "512:6:43", + "nodeType": "YulIdentifier", + "src": "512:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "442:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "484:5:43", + "nodeType": "YulTypedName", + "src": "484:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "494:6:43", + "nodeType": "YulTypedName", + "src": "494:6:43", + "type": "" + } + ], + "src": "442:99:43" + }, + { + "body": { + "nativeSrc": "633:73:43", + "nodeType": "YulBlock", + "src": "633:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "650:3:43", + "nodeType": "YulIdentifier", + "src": "650:3:43" + }, + { + "name": "length", + "nativeSrc": "655:6:43", + "nodeType": "YulIdentifier", + "src": "655:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "643:6:43", + "nodeType": "YulIdentifier", + "src": "643:6:43" + }, + "nativeSrc": "643:19:43", + "nodeType": "YulFunctionCall", + "src": "643:19:43" + }, + "nativeSrc": "643:19:43", + "nodeType": "YulExpressionStatement", + "src": "643:19:43" + }, + { + "nativeSrc": "671:29:43", + "nodeType": "YulAssignment", + "src": "671:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "690:3:43", + "nodeType": "YulIdentifier", + "src": "690:3:43" + }, + { + "kind": "number", + "nativeSrc": "695:4:43", + "nodeType": "YulLiteral", + "src": "695:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "686:3:43", + "nodeType": "YulIdentifier", + "src": "686:3:43" + }, + "nativeSrc": "686:14:43", + "nodeType": "YulFunctionCall", + "src": "686:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "671:11:43", + "nodeType": "YulIdentifier", + "src": "671:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "547:159:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "605:3:43", + "nodeType": "YulTypedName", + "src": "605:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "610:6:43", + "nodeType": "YulTypedName", + "src": "610:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "621:11:43", + "nodeType": "YulTypedName", + "src": "621:11:43", + "type": "" + } + ], + "src": "547:159:43" + }, + { + "body": { + "nativeSrc": "774:184:43", + "nodeType": "YulBlock", + "src": "774:184:43", + "statements": [ + { + "nativeSrc": "784:10:43", + "nodeType": "YulVariableDeclaration", + "src": "784:10:43", + "value": { + "kind": "number", + "nativeSrc": "793:1:43", + "nodeType": "YulLiteral", + "src": "793:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "788:1:43", + "nodeType": "YulTypedName", + "src": "788:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "853:63:43", + "nodeType": "YulBlock", + "src": "853:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "878:3:43", + "nodeType": "YulIdentifier", + "src": "878:3:43" + }, + { + "name": "i", + "nativeSrc": "883:1:43", + "nodeType": "YulIdentifier", + "src": "883:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "874:3:43", + "nodeType": "YulIdentifier", + "src": "874:3:43" + }, + "nativeSrc": "874:11:43", + "nodeType": "YulFunctionCall", + "src": "874:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "897:3:43", + "nodeType": "YulIdentifier", + "src": "897:3:43" + }, + { + "name": "i", + "nativeSrc": "902:1:43", + "nodeType": "YulIdentifier", + "src": "902:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "893:3:43", + "nodeType": "YulIdentifier", + "src": "893:3:43" + }, + "nativeSrc": "893:11:43", + "nodeType": "YulFunctionCall", + "src": "893:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "887:5:43", + "nodeType": "YulIdentifier", + "src": "887:5:43" + }, + "nativeSrc": "887:18:43", + "nodeType": "YulFunctionCall", + "src": "887:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "867:6:43", + "nodeType": "YulIdentifier", + "src": "867:6:43" + }, + "nativeSrc": "867:39:43", + "nodeType": "YulFunctionCall", + "src": "867:39:43" + }, + "nativeSrc": "867:39:43", + "nodeType": "YulExpressionStatement", + "src": "867:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "814:1:43", + "nodeType": "YulIdentifier", + "src": "814:1:43" + }, + { + "name": "length", + "nativeSrc": "817:6:43", + "nodeType": "YulIdentifier", + "src": "817:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "811:2:43", + "nodeType": "YulIdentifier", + "src": "811:2:43" + }, + "nativeSrc": "811:13:43", + "nodeType": "YulFunctionCall", + "src": "811:13:43" + }, + "nativeSrc": "803:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "825:19:43", + "nodeType": "YulBlock", + "src": "825:19:43", + "statements": [ + { + "nativeSrc": "827:15:43", + "nodeType": "YulAssignment", + "src": "827:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "836:1:43", + "nodeType": "YulIdentifier", + "src": "836:1:43" + }, + { + "kind": "number", + "nativeSrc": "839:2:43", + "nodeType": "YulLiteral", + "src": "839:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "832:3:43", + "nodeType": "YulIdentifier", + "src": "832:3:43" + }, + "nativeSrc": "832:10:43", + "nodeType": "YulFunctionCall", + "src": "832:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "827:1:43", + "nodeType": "YulIdentifier", + "src": "827:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "807:3:43", + "nodeType": "YulBlock", + "src": "807:3:43", + "statements": [] + }, + "src": "803:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "936:3:43", + "nodeType": "YulIdentifier", + "src": "936:3:43" + }, + { + "name": "length", + "nativeSrc": "941:6:43", + "nodeType": "YulIdentifier", + "src": "941:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "932:3:43", + "nodeType": "YulIdentifier", + "src": "932:3:43" + }, + "nativeSrc": "932:16:43", + "nodeType": "YulFunctionCall", + "src": "932:16:43" + }, + { + "kind": "number", + "nativeSrc": "950:1:43", + "nodeType": "YulLiteral", + "src": "950:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "925:6:43", + "nodeType": "YulIdentifier", + "src": "925:6:43" + }, + "nativeSrc": "925:27:43", + "nodeType": "YulFunctionCall", + "src": "925:27:43" + }, + "nativeSrc": "925:27:43", + "nodeType": "YulExpressionStatement", + "src": "925:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "712:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "756:3:43", + "nodeType": "YulTypedName", + "src": "756:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "761:3:43", + "nodeType": "YulTypedName", + "src": "761:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "766:6:43", + "nodeType": "YulTypedName", + "src": "766:6:43", + "type": "" + } + ], + "src": "712:246:43" + }, + { + "body": { + "nativeSrc": "1012:54:43", + "nodeType": "YulBlock", + "src": "1012:54:43", + "statements": [ + { + "nativeSrc": "1022:38:43", + "nodeType": "YulAssignment", + "src": "1022:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1040:5:43", + "nodeType": "YulIdentifier", + "src": "1040:5:43" + }, + { + "kind": "number", + "nativeSrc": "1047:2:43", + "nodeType": "YulLiteral", + "src": "1047:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1036:3:43", + "nodeType": "YulIdentifier", + "src": "1036:3:43" + }, + "nativeSrc": "1036:14:43", + "nodeType": "YulFunctionCall", + "src": "1036:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1056:2:43", + "nodeType": "YulLiteral", + "src": "1056:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1052:3:43", + "nodeType": "YulIdentifier", + "src": "1052:3:43" + }, + "nativeSrc": "1052:7:43", + "nodeType": "YulFunctionCall", + "src": "1052:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1032:3:43", + "nodeType": "YulIdentifier", + "src": "1032:3:43" + }, + "nativeSrc": "1032:28:43", + "nodeType": "YulFunctionCall", + "src": "1032:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1022:6:43", + "nodeType": "YulIdentifier", + "src": "1022:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "964:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "995:5:43", + "nodeType": "YulTypedName", + "src": "995:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1005:6:43", + "nodeType": "YulTypedName", + "src": "1005:6:43", + "type": "" + } + ], + "src": "964:102:43" + }, + { + "body": { + "nativeSrc": "1154:275:43", + "nodeType": "YulBlock", + "src": "1154:275:43", + "statements": [ + { + "nativeSrc": "1164:53:43", + "nodeType": "YulVariableDeclaration", + "src": "1164:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1211:5:43", + "nodeType": "YulIdentifier", + "src": "1211:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1178:32:43", + "nodeType": "YulIdentifier", + "src": "1178:32:43" + }, + "nativeSrc": "1178:39:43", + "nodeType": "YulFunctionCall", + "src": "1178:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "1168:6:43", + "nodeType": "YulTypedName", + "src": "1168:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1226:68:43", + "nodeType": "YulAssignment", + "src": "1226:68:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1282:3:43", + "nodeType": "YulIdentifier", + "src": "1282:3:43" + }, + { + "name": "length", + "nativeSrc": "1287:6:43", + "nodeType": "YulIdentifier", + "src": "1287:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "1233:48:43", + "nodeType": "YulIdentifier", + "src": "1233:48:43" + }, + "nativeSrc": "1233:61:43", + "nodeType": "YulFunctionCall", + "src": "1233:61:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "1226:3:43", + "nodeType": "YulIdentifier", + "src": "1226:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1342:5:43", + "nodeType": "YulIdentifier", + "src": "1342:5:43" + }, + { + "kind": "number", + "nativeSrc": "1349:4:43", + "nodeType": "YulLiteral", + "src": "1349:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1338:3:43", + "nodeType": "YulIdentifier", + "src": "1338:3:43" + }, + "nativeSrc": "1338:16:43", + "nodeType": "YulFunctionCall", + "src": "1338:16:43" + }, + { + "name": "pos", + "nativeSrc": "1356:3:43", + "nodeType": "YulIdentifier", + "src": "1356:3:43" + }, + { + "name": "length", + "nativeSrc": "1361:6:43", + "nodeType": "YulIdentifier", + "src": "1361:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1303:34:43", + "nodeType": "YulIdentifier", + "src": "1303:34:43" + }, + "nativeSrc": "1303:65:43", + "nodeType": "YulFunctionCall", + "src": "1303:65:43" + }, + "nativeSrc": "1303:65:43", + "nodeType": "YulExpressionStatement", + "src": "1303:65:43" + }, + { + "nativeSrc": "1377:46:43", + "nodeType": "YulAssignment", + "src": "1377:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1388:3:43", + "nodeType": "YulIdentifier", + "src": "1388:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1415:6:43", + "nodeType": "YulIdentifier", + "src": "1415:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1393:21:43", + "nodeType": "YulIdentifier", + "src": "1393:21:43" + }, + "nativeSrc": "1393:29:43", + "nodeType": "YulFunctionCall", + "src": "1393:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1384:3:43", + "nodeType": "YulIdentifier", + "src": "1384:3:43" + }, + "nativeSrc": "1384:39:43", + "nodeType": "YulFunctionCall", + "src": "1384:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "1377:3:43", + "nodeType": "YulIdentifier", + "src": "1377:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "1072:357:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1135:5:43", + "nodeType": "YulTypedName", + "src": "1135:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1142:3:43", + "nodeType": "YulTypedName", + "src": "1142:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "1150:3:43", + "nodeType": "YulTypedName", + "src": "1150:3:43", + "type": "" + } + ], + "src": "1072:357:43" + }, + { + "body": { + "nativeSrc": "1480:81:43", + "nodeType": "YulBlock", + "src": "1480:81:43", + "statements": [ + { + "nativeSrc": "1490:65:43", + "nodeType": "YulAssignment", + "src": "1490:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1505:5:43", + "nodeType": "YulIdentifier", + "src": "1505:5:43" + }, + { + "kind": "number", + "nativeSrc": "1512:42:43", + "nodeType": "YulLiteral", + "src": "1512:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1501:3:43", + "nodeType": "YulIdentifier", + "src": "1501:3:43" + }, + "nativeSrc": "1501:54:43", + "nodeType": "YulFunctionCall", + "src": "1501:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1490:7:43", + "nodeType": "YulIdentifier", + "src": "1490:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1435:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1462:5:43", + "nodeType": "YulTypedName", + "src": "1462:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1472:7:43", + "nodeType": "YulTypedName", + "src": "1472:7:43", + "type": "" + } + ], + "src": "1435:126:43" + }, + { + "body": { + "nativeSrc": "1612:51:43", + "nodeType": "YulBlock", + "src": "1612:51:43", + "statements": [ + { + "nativeSrc": "1622:35:43", + "nodeType": "YulAssignment", + "src": "1622:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1651:5:43", + "nodeType": "YulIdentifier", + "src": "1651:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1633:17:43", + "nodeType": "YulIdentifier", + "src": "1633:17:43" + }, + "nativeSrc": "1633:24:43", + "nodeType": "YulFunctionCall", + "src": "1633:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1622:7:43", + "nodeType": "YulIdentifier", + "src": "1622:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1567:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1594:5:43", + "nodeType": "YulTypedName", + "src": "1594:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1604:7:43", + "nodeType": "YulTypedName", + "src": "1604:7:43", + "type": "" + } + ], + "src": "1567:96:43" + }, + { + "body": { + "nativeSrc": "1724:53:43", + "nodeType": "YulBlock", + "src": "1724:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1741:3:43", + "nodeType": "YulIdentifier", + "src": "1741:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1764:5:43", + "nodeType": "YulIdentifier", + "src": "1764:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1746:17:43", + "nodeType": "YulIdentifier", + "src": "1746:17:43" + }, + "nativeSrc": "1746:24:43", + "nodeType": "YulFunctionCall", + "src": "1746:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1734:6:43", + "nodeType": "YulIdentifier", + "src": "1734:6:43" + }, + "nativeSrc": "1734:37:43", + "nodeType": "YulFunctionCall", + "src": "1734:37:43" + }, + "nativeSrc": "1734:37:43", + "nodeType": "YulExpressionStatement", + "src": "1734:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "1669:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1712:5:43", + "nodeType": "YulTypedName", + "src": "1712:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1719:3:43", + "nodeType": "YulTypedName", + "src": "1719:3:43", + "type": "" + } + ], + "src": "1669:108:43" + }, + { + "body": { + "nativeSrc": "1838:53:43", + "nodeType": "YulBlock", + "src": "1838:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1855:3:43", + "nodeType": "YulIdentifier", + "src": "1855:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1878:5:43", + "nodeType": "YulIdentifier", + "src": "1878:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1860:17:43", + "nodeType": "YulIdentifier", + "src": "1860:17:43" + }, + "nativeSrc": "1860:24:43", + "nodeType": "YulFunctionCall", + "src": "1860:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1848:6:43", + "nodeType": "YulIdentifier", + "src": "1848:6:43" + }, + "nativeSrc": "1848:37:43", + "nodeType": "YulFunctionCall", + "src": "1848:37:43" + }, + "nativeSrc": "1848:37:43", + "nodeType": "YulExpressionStatement", + "src": "1848:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "1783:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1826:5:43", + "nodeType": "YulTypedName", + "src": "1826:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1833:3:43", + "nodeType": "YulTypedName", + "src": "1833:3:43", + "type": "" + } + ], + "src": "1783:108:43" + }, + { + "body": { + "nativeSrc": "1925:152:43", + "nodeType": "YulBlock", + "src": "1925:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1942:1:43", + "nodeType": "YulLiteral", + "src": "1942:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1945:77:43", + "nodeType": "YulLiteral", + "src": "1945:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1935:6:43", + "nodeType": "YulIdentifier", + "src": "1935:6:43" + }, + "nativeSrc": "1935:88:43", + "nodeType": "YulFunctionCall", + "src": "1935:88:43" + }, + "nativeSrc": "1935:88:43", + "nodeType": "YulExpressionStatement", + "src": "1935:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2039:1:43", + "nodeType": "YulLiteral", + "src": "2039:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2042:4:43", + "nodeType": "YulLiteral", + "src": "2042:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2032:6:43", + "nodeType": "YulIdentifier", + "src": "2032:6:43" + }, + "nativeSrc": "2032:15:43", + "nodeType": "YulFunctionCall", + "src": "2032:15:43" + }, + "nativeSrc": "2032:15:43", + "nodeType": "YulExpressionStatement", + "src": "2032:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2063:1:43", + "nodeType": "YulLiteral", + "src": "2063:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2066:4:43", + "nodeType": "YulLiteral", + "src": "2066:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2056:6:43", + "nodeType": "YulIdentifier", + "src": "2056:6:43" + }, + "nativeSrc": "2056:15:43", + "nodeType": "YulFunctionCall", + "src": "2056:15:43" + }, + "nativeSrc": "2056:15:43", + "nodeType": "YulExpressionStatement", + "src": "2056:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "1897:180:43", + "nodeType": "YulFunctionDefinition", + "src": "1897:180:43" + }, + { + "body": { + "nativeSrc": "2143:62:43", + "nodeType": "YulBlock", + "src": "2143:62:43", + "statements": [ + { + "body": { + "nativeSrc": "2177:22:43", + "nodeType": "YulBlock", + "src": "2177:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "2179:16:43", + "nodeType": "YulIdentifier", + "src": "2179:16:43" + }, + "nativeSrc": "2179:18:43", + "nodeType": "YulFunctionCall", + "src": "2179:18:43" + }, + "nativeSrc": "2179:18:43", + "nodeType": "YulExpressionStatement", + "src": "2179:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2166:5:43", + "nodeType": "YulIdentifier", + "src": "2166:5:43" + }, + { + "kind": "number", + "nativeSrc": "2173:1:43", + "nodeType": "YulLiteral", + "src": "2173:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2163:2:43", + "nodeType": "YulIdentifier", + "src": "2163:2:43" + }, + "nativeSrc": "2163:12:43", + "nodeType": "YulFunctionCall", + "src": "2163:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2156:6:43", + "nodeType": "YulIdentifier", + "src": "2156:6:43" + }, + "nativeSrc": "2156:20:43", + "nodeType": "YulFunctionCall", + "src": "2156:20:43" + }, + "nativeSrc": "2153:46:43", + "nodeType": "YulIf", + "src": "2153:46:43" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "2083:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2136:5:43", + "nodeType": "YulTypedName", + "src": "2136:5:43", + "type": "" + } + ], + "src": "2083:122:43" + }, + { + "body": { + "nativeSrc": "2273:83:43", + "nodeType": "YulBlock", + "src": "2273:83:43", + "statements": [ + { + "nativeSrc": "2283:16:43", + "nodeType": "YulAssignment", + "src": "2283:16:43", + "value": { + "name": "value", + "nativeSrc": "2294:5:43", + "nodeType": "YulIdentifier", + "src": "2294:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2283:7:43", + "nodeType": "YulIdentifier", + "src": "2283:7:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2344:5:43", + "nodeType": "YulIdentifier", + "src": "2344:5:43" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "2300:43:43", + "nodeType": "YulIdentifier", + "src": "2300:43:43" + }, + "nativeSrc": "2300:50:43", + "nodeType": "YulFunctionCall", + "src": "2300:50:43" + }, + "nativeSrc": "2300:50:43", + "nodeType": "YulExpressionStatement", + "src": "2300:50:43" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "2211:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2255:5:43", + "nodeType": "YulTypedName", + "src": "2255:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2265:7:43", + "nodeType": "YulTypedName", + "src": "2265:7:43", + "type": "" + } + ], + "src": "2211:145:43" + }, + { + "body": { + "nativeSrc": "2437:70:43", + "nodeType": "YulBlock", + "src": "2437:70:43", + "statements": [ + { + "nativeSrc": "2447:54:43", + "nodeType": "YulAssignment", + "src": "2447:54:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2495:5:43", + "nodeType": "YulIdentifier", + "src": "2495:5:43" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "2460:34:43", + "nodeType": "YulIdentifier", + "src": "2460:34:43" + }, + "nativeSrc": "2460:41:43", + "nodeType": "YulFunctionCall", + "src": "2460:41:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "2447:9:43", + "nodeType": "YulIdentifier", + "src": "2447:9:43" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "2362:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2417:5:43", + "nodeType": "YulTypedName", + "src": "2417:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "2427:9:43", + "nodeType": "YulTypedName", + "src": "2427:9:43", + "type": "" + } + ], + "src": "2362:145:43" + }, + { + "body": { + "nativeSrc": "2583:81:43", + "nodeType": "YulBlock", + "src": "2583:81:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2600:3:43", + "nodeType": "YulIdentifier", + "src": "2600:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2651:5:43", + "nodeType": "YulIdentifier", + "src": "2651:5:43" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "2605:45:43", + "nodeType": "YulIdentifier", + "src": "2605:45:43" + }, + "nativeSrc": "2605:52:43", + "nodeType": "YulFunctionCall", + "src": "2605:52:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2593:6:43", + "nodeType": "YulIdentifier", + "src": "2593:6:43" + }, + "nativeSrc": "2593:65:43", + "nodeType": "YulFunctionCall", + "src": "2593:65:43" + }, + "nativeSrc": "2593:65:43", + "nodeType": "YulExpressionStatement", + "src": "2593:65:43" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "2513:151:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2571:5:43", + "nodeType": "YulTypedName", + "src": "2571:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2578:3:43", + "nodeType": "YulTypedName", + "src": "2578:3:43", + "type": "" + } + ], + "src": "2513:151:43" + }, + { + "body": { + "nativeSrc": "2852:1681:43", + "nodeType": "YulBlock", + "src": "2852:1681:43", + "statements": [ + { + "nativeSrc": "2862:28:43", + "nodeType": "YulVariableDeclaration", + "src": "2862:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2878:3:43", + "nodeType": "YulIdentifier", + "src": "2878:3:43" + }, + { + "kind": "number", + "nativeSrc": "2883:6:43", + "nodeType": "YulLiteral", + "src": "2883:6:43", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2874:3:43", + "nodeType": "YulIdentifier", + "src": "2874:3:43" + }, + "nativeSrc": "2874:16:43", + "nodeType": "YulFunctionCall", + "src": "2874:16:43" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "2866:4:43", + "nodeType": "YulTypedName", + "src": "2866:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2900:242:43", + "nodeType": "YulBlock", + "src": "2900:242:43", + "statements": [ + { + "nativeSrc": "2942:43:43", + "nodeType": "YulVariableDeclaration", + "src": "2942:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2972:5:43", + "nodeType": "YulIdentifier", + "src": "2972:5:43" + }, + { + "kind": "number", + "nativeSrc": "2979:4:43", + "nodeType": "YulLiteral", + "src": "2979:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2968:3:43", + "nodeType": "YulIdentifier", + "src": "2968:3:43" + }, + "nativeSrc": "2968:16:43", + "nodeType": "YulFunctionCall", + "src": "2968:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2962:5:43", + "nodeType": "YulIdentifier", + "src": "2962:5:43" + }, + "nativeSrc": "2962:23:43", + "nodeType": "YulFunctionCall", + "src": "2962:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "2946:12:43", + "nodeType": "YulTypedName", + "src": "2946:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3010:3:43", + "nodeType": "YulIdentifier", + "src": "3010:3:43" + }, + { + "kind": "number", + "nativeSrc": "3015:4:43", + "nodeType": "YulLiteral", + "src": "3015:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3006:3:43", + "nodeType": "YulIdentifier", + "src": "3006:3:43" + }, + "nativeSrc": "3006:14:43", + "nodeType": "YulFunctionCall", + "src": "3006:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "3026:4:43", + "nodeType": "YulIdentifier", + "src": "3026:4:43" + }, + { + "name": "pos", + "nativeSrc": "3032:3:43", + "nodeType": "YulIdentifier", + "src": "3032:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3022:3:43", + "nodeType": "YulIdentifier", + "src": "3022:3:43" + }, + "nativeSrc": "3022:14:43", + "nodeType": "YulFunctionCall", + "src": "3022:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2999:6:43", + "nodeType": "YulIdentifier", + "src": "2999:6:43" + }, + "nativeSrc": "2999:38:43", + "nodeType": "YulFunctionCall", + "src": "2999:38:43" + }, + "nativeSrc": "2999:38:43", + "nodeType": "YulExpressionStatement", + "src": "2999:38:43" + }, + { + "nativeSrc": "3050:81:43", + "nodeType": "YulAssignment", + "src": "3050:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3112:12:43", + "nodeType": "YulIdentifier", + "src": "3112:12:43" + }, + { + "name": "tail", + "nativeSrc": "3126:4:43", + "nodeType": "YulIdentifier", + "src": "3126:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "3058:53:43", + "nodeType": "YulIdentifier", + "src": "3058:53:43" + }, + "nativeSrc": "3058:73:43", + "nodeType": "YulFunctionCall", + "src": "3058:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3050:4:43", + "nodeType": "YulIdentifier", + "src": "3050:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "3152:174:43", + "nodeType": "YulBlock", + "src": "3152:174:43", + "statements": [ + { + "nativeSrc": "3197:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3197:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3227:5:43", + "nodeType": "YulIdentifier", + "src": "3227:5:43" + }, + { + "kind": "number", + "nativeSrc": "3234:4:43", + "nodeType": "YulLiteral", + "src": "3234:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3223:3:43", + "nodeType": "YulIdentifier", + "src": "3223:3:43" + }, + "nativeSrc": "3223:16:43", + "nodeType": "YulFunctionCall", + "src": "3223:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3217:5:43", + "nodeType": "YulIdentifier", + "src": "3217:5:43" + }, + "nativeSrc": "3217:23:43", + "nodeType": "YulFunctionCall", + "src": "3217:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3201:12:43", + "nodeType": "YulTypedName", + "src": "3201:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3287:12:43", + "nodeType": "YulIdentifier", + "src": "3287:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3305:3:43", + "nodeType": "YulIdentifier", + "src": "3305:3:43" + }, + { + "kind": "number", + "nativeSrc": "3310:4:43", + "nodeType": "YulLiteral", + "src": "3310:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3301:3:43", + "nodeType": "YulIdentifier", + "src": "3301:3:43" + }, + "nativeSrc": "3301:14:43", + "nodeType": "YulFunctionCall", + "src": "3301:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "3253:33:43", + "nodeType": "YulIdentifier", + "src": "3253:33:43" + }, + "nativeSrc": "3253:63:43", + "nodeType": "YulFunctionCall", + "src": "3253:63:43" + }, + "nativeSrc": "3253:63:43", + "nodeType": "YulExpressionStatement", + "src": "3253:63:43" + } + ] + }, + { + "nativeSrc": "3336:178:43", + "nodeType": "YulBlock", + "src": "3336:178:43", + "statements": [ + { + "nativeSrc": "3385:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3385:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3415:5:43", + "nodeType": "YulIdentifier", + "src": "3415:5:43" + }, + { + "kind": "number", + "nativeSrc": "3422:4:43", + "nodeType": "YulLiteral", + "src": "3422:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3411:3:43", + "nodeType": "YulIdentifier", + "src": "3411:3:43" + }, + "nativeSrc": "3411:16:43", + "nodeType": "YulFunctionCall", + "src": "3411:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3405:5:43", + "nodeType": "YulIdentifier", + "src": "3405:5:43" + }, + "nativeSrc": "3405:23:43", + "nodeType": "YulFunctionCall", + "src": "3405:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3389:12:43", + "nodeType": "YulTypedName", + "src": "3389:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3475:12:43", + "nodeType": "YulIdentifier", + "src": "3475:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3493:3:43", + "nodeType": "YulIdentifier", + "src": "3493:3:43" + }, + { + "kind": "number", + "nativeSrc": "3498:4:43", + "nodeType": "YulLiteral", + "src": "3498:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3489:3:43", + "nodeType": "YulIdentifier", + "src": "3489:3:43" + }, + "nativeSrc": "3489:14:43", + "nodeType": "YulFunctionCall", + "src": "3489:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3441:33:43", + "nodeType": "YulIdentifier", + "src": "3441:33:43" + }, + "nativeSrc": "3441:63:43", + "nodeType": "YulFunctionCall", + "src": "3441:63:43" + }, + "nativeSrc": "3441:63:43", + "nodeType": "YulExpressionStatement", + "src": "3441:63:43" + } + ] + }, + { + "nativeSrc": "3524:177:43", + "nodeType": "YulBlock", + "src": "3524:177:43", + "statements": [ + { + "nativeSrc": "3572:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3572:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3602:5:43", + "nodeType": "YulIdentifier", + "src": "3602:5:43" + }, + { + "kind": "number", + "nativeSrc": "3609:4:43", + "nodeType": "YulLiteral", + "src": "3609:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3598:3:43", + "nodeType": "YulIdentifier", + "src": "3598:3:43" + }, + "nativeSrc": "3598:16:43", + "nodeType": "YulFunctionCall", + "src": "3598:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3592:5:43", + "nodeType": "YulIdentifier", + "src": "3592:5:43" + }, + "nativeSrc": "3592:23:43", + "nodeType": "YulFunctionCall", + "src": "3592:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3576:12:43", + "nodeType": "YulTypedName", + "src": "3576:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3662:12:43", + "nodeType": "YulIdentifier", + "src": "3662:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3680:3:43", + "nodeType": "YulIdentifier", + "src": "3680:3:43" + }, + { + "kind": "number", + "nativeSrc": "3685:4:43", + "nodeType": "YulLiteral", + "src": "3685:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3676:3:43", + "nodeType": "YulIdentifier", + "src": "3676:3:43" + }, + "nativeSrc": "3676:14:43", + "nodeType": "YulFunctionCall", + "src": "3676:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3628:33:43", + "nodeType": "YulIdentifier", + "src": "3628:33:43" + }, + "nativeSrc": "3628:63:43", + "nodeType": "YulFunctionCall", + "src": "3628:63:43" + }, + "nativeSrc": "3628:63:43", + "nodeType": "YulExpressionStatement", + "src": "3628:63:43" + } + ] + }, + { + "nativeSrc": "3711:171:43", + "nodeType": "YulBlock", + "src": "3711:171:43", + "statements": [ + { + "nativeSrc": "3753:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3753:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3783:5:43", + "nodeType": "YulIdentifier", + "src": "3783:5:43" + }, + { + "kind": "number", + "nativeSrc": "3790:4:43", + "nodeType": "YulLiteral", + "src": "3790:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3779:3:43", + "nodeType": "YulIdentifier", + "src": "3779:3:43" + }, + "nativeSrc": "3779:16:43", + "nodeType": "YulFunctionCall", + "src": "3779:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3773:5:43", + "nodeType": "YulIdentifier", + "src": "3773:5:43" + }, + "nativeSrc": "3773:23:43", + "nodeType": "YulFunctionCall", + "src": "3773:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3757:12:43", + "nodeType": "YulTypedName", + "src": "3757:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3843:12:43", + "nodeType": "YulIdentifier", + "src": "3843:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3861:3:43", + "nodeType": "YulIdentifier", + "src": "3861:3:43" + }, + { + "kind": "number", + "nativeSrc": "3866:4:43", + "nodeType": "YulLiteral", + "src": "3866:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3857:3:43", + "nodeType": "YulIdentifier", + "src": "3857:3:43" + }, + "nativeSrc": "3857:14:43", + "nodeType": "YulFunctionCall", + "src": "3857:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3809:33:43", + "nodeType": "YulIdentifier", + "src": "3809:33:43" + }, + "nativeSrc": "3809:63:43", + "nodeType": "YulFunctionCall", + "src": "3809:63:43" + }, + "nativeSrc": "3809:63:43", + "nodeType": "YulExpressionStatement", + "src": "3809:63:43" + } + ] + }, + { + "nativeSrc": "3892:174:43", + "nodeType": "YulBlock", + "src": "3892:174:43", + "statements": [ + { + "nativeSrc": "3937:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3937:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3967:5:43", + "nodeType": "YulIdentifier", + "src": "3967:5:43" + }, + { + "kind": "number", + "nativeSrc": "3974:4:43", + "nodeType": "YulLiteral", + "src": "3974:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3963:3:43", + "nodeType": "YulIdentifier", + "src": "3963:3:43" + }, + "nativeSrc": "3963:16:43", + "nodeType": "YulFunctionCall", + "src": "3963:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3957:5:43", + "nodeType": "YulIdentifier", + "src": "3957:5:43" + }, + "nativeSrc": "3957:23:43", + "nodeType": "YulFunctionCall", + "src": "3957:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3941:12:43", + "nodeType": "YulTypedName", + "src": "3941:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4027:12:43", + "nodeType": "YulIdentifier", + "src": "4027:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4045:3:43", + "nodeType": "YulIdentifier", + "src": "4045:3:43" + }, + { + "kind": "number", + "nativeSrc": "4050:4:43", + "nodeType": "YulLiteral", + "src": "4050:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4041:3:43", + "nodeType": "YulIdentifier", + "src": "4041:3:43" + }, + "nativeSrc": "4041:14:43", + "nodeType": "YulFunctionCall", + "src": "4041:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3993:33:43", + "nodeType": "YulIdentifier", + "src": "3993:33:43" + }, + "nativeSrc": "3993:63:43", + "nodeType": "YulFunctionCall", + "src": "3993:63:43" + }, + "nativeSrc": "3993:63:43", + "nodeType": "YulExpressionStatement", + "src": "3993:63:43" + } + ] + }, + { + "nativeSrc": "4076:186:43", + "nodeType": "YulBlock", + "src": "4076:186:43", + "statements": [ + { + "nativeSrc": "4118:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4118:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4148:5:43", + "nodeType": "YulIdentifier", + "src": "4148:5:43" + }, + { + "kind": "number", + "nativeSrc": "4155:4:43", + "nodeType": "YulLiteral", + "src": "4155:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4144:3:43", + "nodeType": "YulIdentifier", + "src": "4144:3:43" + }, + "nativeSrc": "4144:16:43", + "nodeType": "YulFunctionCall", + "src": "4144:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4138:5:43", + "nodeType": "YulIdentifier", + "src": "4138:5:43" + }, + "nativeSrc": "4138:23:43", + "nodeType": "YulFunctionCall", + "src": "4138:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4122:12:43", + "nodeType": "YulTypedName", + "src": "4122:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4223:12:43", + "nodeType": "YulIdentifier", + "src": "4223:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4241:3:43", + "nodeType": "YulIdentifier", + "src": "4241:3:43" + }, + { + "kind": "number", + "nativeSrc": "4246:4:43", + "nodeType": "YulLiteral", + "src": "4246:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4237:3:43", + "nodeType": "YulIdentifier", + "src": "4237:3:43" + }, + "nativeSrc": "4237:14:43", + "nodeType": "YulFunctionCall", + "src": "4237:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "4174:48:43", + "nodeType": "YulIdentifier", + "src": "4174:48:43" + }, + "nativeSrc": "4174:78:43", + "nodeType": "YulFunctionCall", + "src": "4174:78:43" + }, + "nativeSrc": "4174:78:43", + "nodeType": "YulExpressionStatement", + "src": "4174:78:43" + } + ] + }, + { + "nativeSrc": "4272:234:43", + "nodeType": "YulBlock", + "src": "4272:234:43", + "statements": [ + { + "nativeSrc": "4306:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4306:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4336:5:43", + "nodeType": "YulIdentifier", + "src": "4336:5:43" + }, + { + "kind": "number", + "nativeSrc": "4343:4:43", + "nodeType": "YulLiteral", + "src": "4343:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4332:3:43", + "nodeType": "YulIdentifier", + "src": "4332:3:43" + }, + "nativeSrc": "4332:16:43", + "nodeType": "YulFunctionCall", + "src": "4332:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4326:5:43", + "nodeType": "YulIdentifier", + "src": "4326:5:43" + }, + "nativeSrc": "4326:23:43", + "nodeType": "YulFunctionCall", + "src": "4326:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4310:12:43", + "nodeType": "YulTypedName", + "src": "4310:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4374:3:43", + "nodeType": "YulIdentifier", + "src": "4374:3:43" + }, + { + "kind": "number", + "nativeSrc": "4379:4:43", + "nodeType": "YulLiteral", + "src": "4379:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4370:3:43", + "nodeType": "YulIdentifier", + "src": "4370:3:43" + }, + "nativeSrc": "4370:14:43", + "nodeType": "YulFunctionCall", + "src": "4370:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4390:4:43", + "nodeType": "YulIdentifier", + "src": "4390:4:43" + }, + { + "name": "pos", + "nativeSrc": "4396:3:43", + "nodeType": "YulIdentifier", + "src": "4396:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4386:3:43", + "nodeType": "YulIdentifier", + "src": "4386:3:43" + }, + "nativeSrc": "4386:14:43", + "nodeType": "YulFunctionCall", + "src": "4386:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4363:6:43", + "nodeType": "YulIdentifier", + "src": "4363:6:43" + }, + "nativeSrc": "4363:38:43", + "nodeType": "YulFunctionCall", + "src": "4363:38:43" + }, + "nativeSrc": "4363:38:43", + "nodeType": "YulExpressionStatement", + "src": "4363:38:43" + }, + { + "nativeSrc": "4414:81:43", + "nodeType": "YulAssignment", + "src": "4414:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4476:12:43", + "nodeType": "YulIdentifier", + "src": "4476:12:43" + }, + { + "name": "tail", + "nativeSrc": "4490:4:43", + "nodeType": "YulIdentifier", + "src": "4490:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "4422:53:43", + "nodeType": "YulIdentifier", + "src": "4422:53:43" + }, + "nativeSrc": "4422:73:43", + "nodeType": "YulFunctionCall", + "src": "4422:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4414:4:43", + "nodeType": "YulIdentifier", + "src": "4414:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "4516:11:43", + "nodeType": "YulAssignment", + "src": "4516:11:43", + "value": { + "name": "tail", + "nativeSrc": "4523:4:43", + "nodeType": "YulIdentifier", + "src": "4523:4:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4516:3:43", + "nodeType": "YulIdentifier", + "src": "4516:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "2718:1815:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2831:5:43", + "nodeType": "YulTypedName", + "src": "2831:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2838:3:43", + "nodeType": "YulTypedName", + "src": "2838:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2847:3:43", + "nodeType": "YulTypedName", + "src": "2847:3:43", + "type": "" + } + ], + "src": "2718:1815:43" + }, + { + "body": { + "nativeSrc": "4697:235:43", + "nodeType": "YulBlock", + "src": "4697:235:43", + "statements": [ + { + "nativeSrc": "4707:26:43", + "nodeType": "YulAssignment", + "src": "4707:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4719:9:43", + "nodeType": "YulIdentifier", + "src": "4719:9:43" + }, + { + "kind": "number", + "nativeSrc": "4730:2:43", + "nodeType": "YulLiteral", + "src": "4730:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4715:3:43", + "nodeType": "YulIdentifier", + "src": "4715:3:43" + }, + "nativeSrc": "4715:18:43", + "nodeType": "YulFunctionCall", + "src": "4715:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4707:4:43", + "nodeType": "YulIdentifier", + "src": "4707:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4754:9:43", + "nodeType": "YulIdentifier", + "src": "4754:9:43" + }, + { + "kind": "number", + "nativeSrc": "4765:1:43", + "nodeType": "YulLiteral", + "src": "4765:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4750:3:43", + "nodeType": "YulIdentifier", + "src": "4750:3:43" + }, + "nativeSrc": "4750:17:43", + "nodeType": "YulFunctionCall", + "src": "4750:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4773:4:43", + "nodeType": "YulIdentifier", + "src": "4773:4:43" + }, + { + "name": "headStart", + "nativeSrc": "4779:9:43", + "nodeType": "YulIdentifier", + "src": "4779:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4769:3:43", + "nodeType": "YulIdentifier", + "src": "4769:3:43" + }, + "nativeSrc": "4769:20:43", + "nodeType": "YulFunctionCall", + "src": "4769:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4743:6:43", + "nodeType": "YulIdentifier", + "src": "4743:6:43" + }, + "nativeSrc": "4743:47:43", + "nodeType": "YulFunctionCall", + "src": "4743:47:43" + }, + "nativeSrc": "4743:47:43", + "nodeType": "YulExpressionStatement", + "src": "4743:47:43" + }, + { + "nativeSrc": "4799:126:43", + "nodeType": "YulAssignment", + "src": "4799:126:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4911:6:43", + "nodeType": "YulIdentifier", + "src": "4911:6:43" + }, + { + "name": "tail", + "nativeSrc": "4920:4:43", + "nodeType": "YulIdentifier", + "src": "4920:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "4807:103:43", + "nodeType": "YulIdentifier", + "src": "4807:103:43" + }, + "nativeSrc": "4807:118:43", + "nodeType": "YulFunctionCall", + "src": "4807:118:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4799:4:43", + "nodeType": "YulIdentifier", + "src": "4799:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed", + "nativeSrc": "4539:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4669:9:43", + "nodeType": "YulTypedName", + "src": "4669:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4681:6:43", + "nodeType": "YulTypedName", + "src": "4681:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4692:4:43", + "nodeType": "YulTypedName", + "src": "4692:4:43", + "type": "" + } + ], + "src": "4539:393:43" + }, + { + "body": { + "nativeSrc": "4978:35:43", + "nodeType": "YulBlock", + "src": "4978:35:43", + "statements": [ + { + "nativeSrc": "4988:19:43", + "nodeType": "YulAssignment", + "src": "4988:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5004:2:43", + "nodeType": "YulLiteral", + "src": "5004:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4998:5:43", + "nodeType": "YulIdentifier", + "src": "4998:5:43" + }, + "nativeSrc": "4998:9:43", + "nodeType": "YulFunctionCall", + "src": "4998:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "4988:6:43", + "nodeType": "YulIdentifier", + "src": "4988:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "4938:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "4971:6:43", + "nodeType": "YulTypedName", + "src": "4971:6:43", + "type": "" + } + ], + "src": "4938:75:43" + }, + { + "body": { + "nativeSrc": "5108:28:43", + "nodeType": "YulBlock", + "src": "5108:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5125:1:43", + "nodeType": "YulLiteral", + "src": "5125:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5128:1:43", + "nodeType": "YulLiteral", + "src": "5128:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5118:6:43", + "nodeType": "YulIdentifier", + "src": "5118:6:43" + }, + "nativeSrc": "5118:12:43", + "nodeType": "YulFunctionCall", + "src": "5118:12:43" + }, + "nativeSrc": "5118:12:43", + "nodeType": "YulExpressionStatement", + "src": "5118:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5019:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5019:117:43" + }, + { + "body": { + "nativeSrc": "5231:28:43", + "nodeType": "YulBlock", + "src": "5231:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5248:1:43", + "nodeType": "YulLiteral", + "src": "5248:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5251:1:43", + "nodeType": "YulLiteral", + "src": "5251:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5241:6:43", + "nodeType": "YulIdentifier", + "src": "5241:6:43" + }, + "nativeSrc": "5241:12:43", + "nodeType": "YulFunctionCall", + "src": "5241:12:43" + }, + "nativeSrc": "5241:12:43", + "nodeType": "YulExpressionStatement", + "src": "5241:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5142:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5142:117:43" + }, + { + "body": { + "nativeSrc": "5308:79:43", + "nodeType": "YulBlock", + "src": "5308:79:43", + "statements": [ + { + "body": { + "nativeSrc": "5365:16:43", + "nodeType": "YulBlock", + "src": "5365:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5374:1:43", + "nodeType": "YulLiteral", + "src": "5374:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5377:1:43", + "nodeType": "YulLiteral", + "src": "5377:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5367:6:43", + "nodeType": "YulIdentifier", + "src": "5367:6:43" + }, + "nativeSrc": "5367:12:43", + "nodeType": "YulFunctionCall", + "src": "5367:12:43" + }, + "nativeSrc": "5367:12:43", + "nodeType": "YulExpressionStatement", + "src": "5367:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5331:5:43", + "nodeType": "YulIdentifier", + "src": "5331:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5356:5:43", + "nodeType": "YulIdentifier", + "src": "5356:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5338:17:43", + "nodeType": "YulIdentifier", + "src": "5338:17:43" + }, + "nativeSrc": "5338:24:43", + "nodeType": "YulFunctionCall", + "src": "5338:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5328:2:43", + "nodeType": "YulIdentifier", + "src": "5328:2:43" + }, + "nativeSrc": "5328:35:43", + "nodeType": "YulFunctionCall", + "src": "5328:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5321:6:43", + "nodeType": "YulIdentifier", + "src": "5321:6:43" + }, + "nativeSrc": "5321:43:43", + "nodeType": "YulFunctionCall", + "src": "5321:43:43" + }, + "nativeSrc": "5318:63:43", + "nodeType": "YulIf", + "src": "5318:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "5265:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5301:5:43", + "nodeType": "YulTypedName", + "src": "5301:5:43", + "type": "" + } + ], + "src": "5265:122:43" + }, + { + "body": { + "nativeSrc": "5445:87:43", + "nodeType": "YulBlock", + "src": "5445:87:43", + "statements": [ + { + "nativeSrc": "5455:29:43", + "nodeType": "YulAssignment", + "src": "5455:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5477:6:43", + "nodeType": "YulIdentifier", + "src": "5477:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5464:12:43", + "nodeType": "YulIdentifier", + "src": "5464:12:43" + }, + "nativeSrc": "5464:20:43", + "nodeType": "YulFunctionCall", + "src": "5464:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5455:5:43", + "nodeType": "YulIdentifier", + "src": "5455:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5520:5:43", + "nodeType": "YulIdentifier", + "src": "5520:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "5493:26:43", + "nodeType": "YulIdentifier", + "src": "5493:26:43" + }, + "nativeSrc": "5493:33:43", + "nodeType": "YulFunctionCall", + "src": "5493:33:43" + }, + "nativeSrc": "5493:33:43", + "nodeType": "YulExpressionStatement", + "src": "5493:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "5393:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5423:6:43", + "nodeType": "YulTypedName", + "src": "5423:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5431:3:43", + "nodeType": "YulTypedName", + "src": "5431:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "5439:5:43", + "nodeType": "YulTypedName", + "src": "5439:5:43", + "type": "" + } + ], + "src": "5393:139:43" + }, + { + "body": { + "nativeSrc": "5581:79:43", + "nodeType": "YulBlock", + "src": "5581:79:43", + "statements": [ + { + "body": { + "nativeSrc": "5638:16:43", + "nodeType": "YulBlock", + "src": "5638:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5647:1:43", + "nodeType": "YulLiteral", + "src": "5647:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5650:1:43", + "nodeType": "YulLiteral", + "src": "5650:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5640:6:43", + "nodeType": "YulIdentifier", + "src": "5640:6:43" + }, + "nativeSrc": "5640:12:43", + "nodeType": "YulFunctionCall", + "src": "5640:12:43" + }, + "nativeSrc": "5640:12:43", + "nodeType": "YulExpressionStatement", + "src": "5640:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5604:5:43", + "nodeType": "YulIdentifier", + "src": "5604:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5629:5:43", + "nodeType": "YulIdentifier", + "src": "5629:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5611:17:43", + "nodeType": "YulIdentifier", + "src": "5611:17:43" + }, + "nativeSrc": "5611:24:43", + "nodeType": "YulFunctionCall", + "src": "5611:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5601:2:43", + "nodeType": "YulIdentifier", + "src": "5601:2:43" + }, + "nativeSrc": "5601:35:43", + "nodeType": "YulFunctionCall", + "src": "5601:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5594:6:43", + "nodeType": "YulIdentifier", + "src": "5594:6:43" + }, + "nativeSrc": "5594:43:43", + "nodeType": "YulFunctionCall", + "src": "5594:43:43" + }, + "nativeSrc": "5591:63:43", + "nodeType": "YulIf", + "src": "5591:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "5538:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5574:5:43", + "nodeType": "YulTypedName", + "src": "5574:5:43", + "type": "" + } + ], + "src": "5538:122:43" + }, + { + "body": { + "nativeSrc": "5718:87:43", + "nodeType": "YulBlock", + "src": "5718:87:43", + "statements": [ + { + "nativeSrc": "5728:29:43", + "nodeType": "YulAssignment", + "src": "5728:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5750:6:43", + "nodeType": "YulIdentifier", + "src": "5750:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5737:12:43", + "nodeType": "YulIdentifier", + "src": "5737:12:43" + }, + "nativeSrc": "5737:20:43", + "nodeType": "YulFunctionCall", + "src": "5737:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5728:5:43", + "nodeType": "YulIdentifier", + "src": "5728:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5793:5:43", + "nodeType": "YulIdentifier", + "src": "5793:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "5766:26:43", + "nodeType": "YulIdentifier", + "src": "5766:26:43" + }, + "nativeSrc": "5766:33:43", + "nodeType": "YulFunctionCall", + "src": "5766:33:43" + }, + "nativeSrc": "5766:33:43", + "nodeType": "YulExpressionStatement", + "src": "5766:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "5666:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5696:6:43", + "nodeType": "YulTypedName", + "src": "5696:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5704:3:43", + "nodeType": "YulTypedName", + "src": "5704:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "5712:5:43", + "nodeType": "YulTypedName", + "src": "5712:5:43", + "type": "" + } + ], + "src": "5666:139:43" + }, + { + "body": { + "nativeSrc": "5900:28:43", + "nodeType": "YulBlock", + "src": "5900:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5917:1:43", + "nodeType": "YulLiteral", + "src": "5917:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5920:1:43", + "nodeType": "YulLiteral", + "src": "5920:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5910:6:43", + "nodeType": "YulIdentifier", + "src": "5910:6:43" + }, + "nativeSrc": "5910:12:43", + "nodeType": "YulFunctionCall", + "src": "5910:12:43" + }, + "nativeSrc": "5910:12:43", + "nodeType": "YulExpressionStatement", + "src": "5910:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "5811:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5811:117:43" + }, + { + "body": { + "nativeSrc": "6023:28:43", + "nodeType": "YulBlock", + "src": "6023:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6040:1:43", + "nodeType": "YulLiteral", + "src": "6040:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6043:1:43", + "nodeType": "YulLiteral", + "src": "6043:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6033:6:43", + "nodeType": "YulIdentifier", + "src": "6033:6:43" + }, + "nativeSrc": "6033:12:43", + "nodeType": "YulFunctionCall", + "src": "6033:12:43" + }, + "nativeSrc": "6033:12:43", + "nodeType": "YulExpressionStatement", + "src": "6033:12:43" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "5934:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5934:117:43" + }, + { + "body": { + "nativeSrc": "6146:28:43", + "nodeType": "YulBlock", + "src": "6146:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6163:1:43", + "nodeType": "YulLiteral", + "src": "6163:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6166:1:43", + "nodeType": "YulLiteral", + "src": "6166:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6156:6:43", + "nodeType": "YulIdentifier", + "src": "6156:6:43" + }, + "nativeSrc": "6156:12:43", + "nodeType": "YulFunctionCall", + "src": "6156:12:43" + }, + "nativeSrc": "6156:12:43", + "nodeType": "YulExpressionStatement", + "src": "6156:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "6057:117:43", + "nodeType": "YulFunctionDefinition", + "src": "6057:117:43" + }, + { + "body": { + "nativeSrc": "6287:478:43", + "nodeType": "YulBlock", + "src": "6287:478:43", + "statements": [ + { + "body": { + "nativeSrc": "6336:83:43", + "nodeType": "YulBlock", + "src": "6336:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6338:77:43", + "nodeType": "YulIdentifier", + "src": "6338:77:43" + }, + "nativeSrc": "6338:79:43", + "nodeType": "YulFunctionCall", + "src": "6338:79:43" + }, + "nativeSrc": "6338:79:43", + "nodeType": "YulExpressionStatement", + "src": "6338:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6315:6:43", + "nodeType": "YulIdentifier", + "src": "6315:6:43" + }, + { + "kind": "number", + "nativeSrc": "6323:4:43", + "nodeType": "YulLiteral", + "src": "6323:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6311:3:43", + "nodeType": "YulIdentifier", + "src": "6311:3:43" + }, + "nativeSrc": "6311:17:43", + "nodeType": "YulFunctionCall", + "src": "6311:17:43" + }, + { + "name": "end", + "nativeSrc": "6330:3:43", + "nodeType": "YulIdentifier", + "src": "6330:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6307:3:43", + "nodeType": "YulIdentifier", + "src": "6307:3:43" + }, + "nativeSrc": "6307:27:43", + "nodeType": "YulFunctionCall", + "src": "6307:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6300:6:43", + "nodeType": "YulIdentifier", + "src": "6300:6:43" + }, + "nativeSrc": "6300:35:43", + "nodeType": "YulFunctionCall", + "src": "6300:35:43" + }, + "nativeSrc": "6297:122:43", + "nodeType": "YulIf", + "src": "6297:122:43" + }, + { + "nativeSrc": "6428:30:43", + "nodeType": "YulAssignment", + "src": "6428:30:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6451:6:43", + "nodeType": "YulIdentifier", + "src": "6451:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6438:12:43", + "nodeType": "YulIdentifier", + "src": "6438:12:43" + }, + "nativeSrc": "6438:20:43", + "nodeType": "YulFunctionCall", + "src": "6438:20:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6428:6:43", + "nodeType": "YulIdentifier", + "src": "6428:6:43" + } + ] + }, + { + "body": { + "nativeSrc": "6501:83:43", + "nodeType": "YulBlock", + "src": "6501:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "6503:77:43", + "nodeType": "YulIdentifier", + "src": "6503:77:43" + }, + "nativeSrc": "6503:79:43", + "nodeType": "YulFunctionCall", + "src": "6503:79:43" + }, + "nativeSrc": "6503:79:43", + "nodeType": "YulExpressionStatement", + "src": "6503:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6473:6:43", + "nodeType": "YulIdentifier", + "src": "6473:6:43" + }, + { + "kind": "number", + "nativeSrc": "6481:18:43", + "nodeType": "YulLiteral", + "src": "6481:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6470:2:43", + "nodeType": "YulIdentifier", + "src": "6470:2:43" + }, + "nativeSrc": "6470:30:43", + "nodeType": "YulFunctionCall", + "src": "6470:30:43" + }, + "nativeSrc": "6467:117:43", + "nodeType": "YulIf", + "src": "6467:117:43" + }, + { + "nativeSrc": "6593:29:43", + "nodeType": "YulAssignment", + "src": "6593:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6609:6:43", + "nodeType": "YulIdentifier", + "src": "6609:6:43" + }, + { + "kind": "number", + "nativeSrc": "6617:4:43", + "nodeType": "YulLiteral", + "src": "6617:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6605:3:43", + "nodeType": "YulIdentifier", + "src": "6605:3:43" + }, + "nativeSrc": "6605:17:43", + "nodeType": "YulFunctionCall", + "src": "6605:17:43" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "6593:8:43", + "nodeType": "YulIdentifier", + "src": "6593:8:43" + } + ] + }, + { + "body": { + "nativeSrc": "6676:83:43", + "nodeType": "YulBlock", + "src": "6676:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "6678:77:43", + "nodeType": "YulIdentifier", + "src": "6678:77:43" + }, + "nativeSrc": "6678:79:43", + "nodeType": "YulFunctionCall", + "src": "6678:79:43" + }, + "nativeSrc": "6678:79:43", + "nodeType": "YulExpressionStatement", + "src": "6678:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "6641:8:43", + "nodeType": "YulIdentifier", + "src": "6641:8:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6655:6:43", + "nodeType": "YulIdentifier", + "src": "6655:6:43" + }, + { + "kind": "number", + "nativeSrc": "6663:4:43", + "nodeType": "YulLiteral", + "src": "6663:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6651:3:43", + "nodeType": "YulIdentifier", + "src": "6651:3:43" + }, + "nativeSrc": "6651:17:43", + "nodeType": "YulFunctionCall", + "src": "6651:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6637:3:43", + "nodeType": "YulIdentifier", + "src": "6637:3:43" + }, + "nativeSrc": "6637:32:43", + "nodeType": "YulFunctionCall", + "src": "6637:32:43" + }, + { + "name": "end", + "nativeSrc": "6671:3:43", + "nodeType": "YulIdentifier", + "src": "6671:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6634:2:43", + "nodeType": "YulIdentifier", + "src": "6634:2:43" + }, + "nativeSrc": "6634:41:43", + "nodeType": "YulFunctionCall", + "src": "6634:41:43" + }, + "nativeSrc": "6631:128:43", + "nodeType": "YulIf", + "src": "6631:128:43" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "6197:568:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6254:6:43", + "nodeType": "YulTypedName", + "src": "6254:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6262:3:43", + "nodeType": "YulTypedName", + "src": "6262:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "6270:8:43", + "nodeType": "YulTypedName", + "src": "6270:8:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6280:6:43", + "nodeType": "YulTypedName", + "src": "6280:6:43", + "type": "" + } + ], + "src": "6197:568:43" + }, + { + "body": { + "nativeSrc": "6906:714:43", + "nodeType": "YulBlock", + "src": "6906:714:43", + "statements": [ + { + "body": { + "nativeSrc": "6952:83:43", + "nodeType": "YulBlock", + "src": "6952:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6954:77:43", + "nodeType": "YulIdentifier", + "src": "6954:77:43" + }, + "nativeSrc": "6954:79:43", + "nodeType": "YulFunctionCall", + "src": "6954:79:43" + }, + "nativeSrc": "6954:79:43", + "nodeType": "YulExpressionStatement", + "src": "6954:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6927:7:43", + "nodeType": "YulIdentifier", + "src": "6927:7:43" + }, + { + "name": "headStart", + "nativeSrc": "6936:9:43", + "nodeType": "YulIdentifier", + "src": "6936:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6923:3:43", + "nodeType": "YulIdentifier", + "src": "6923:3:43" + }, + "nativeSrc": "6923:23:43", + "nodeType": "YulFunctionCall", + "src": "6923:23:43" + }, + { + "kind": "number", + "nativeSrc": "6948:2:43", + "nodeType": "YulLiteral", + "src": "6948:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6919:3:43", + "nodeType": "YulIdentifier", + "src": "6919:3:43" + }, + "nativeSrc": "6919:32:43", + "nodeType": "YulFunctionCall", + "src": "6919:32:43" + }, + "nativeSrc": "6916:119:43", + "nodeType": "YulIf", + "src": "6916:119:43" + }, + { + "nativeSrc": "7045:117:43", + "nodeType": "YulBlock", + "src": "7045:117:43", + "statements": [ + { + "nativeSrc": "7060:15:43", + "nodeType": "YulVariableDeclaration", + "src": "7060:15:43", + "value": { + "kind": "number", + "nativeSrc": "7074:1:43", + "nodeType": "YulLiteral", + "src": "7074:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7064:6:43", + "nodeType": "YulTypedName", + "src": "7064:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7089:63:43", + "nodeType": "YulAssignment", + "src": "7089:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7124:9:43", + "nodeType": "YulIdentifier", + "src": "7124:9:43" + }, + { + "name": "offset", + "nativeSrc": "7135:6:43", + "nodeType": "YulIdentifier", + "src": "7135:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7120:3:43", + "nodeType": "YulIdentifier", + "src": "7120:3:43" + }, + "nativeSrc": "7120:22:43", + "nodeType": "YulFunctionCall", + "src": "7120:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7144:7:43", + "nodeType": "YulIdentifier", + "src": "7144:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "7099:20:43", + "nodeType": "YulIdentifier", + "src": "7099:20:43" + }, + "nativeSrc": "7099:53:43", + "nodeType": "YulFunctionCall", + "src": "7099:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7089:6:43", + "nodeType": "YulIdentifier", + "src": "7089:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "7172:118:43", + "nodeType": "YulBlock", + "src": "7172:118:43", + "statements": [ + { + "nativeSrc": "7187:16:43", + "nodeType": "YulVariableDeclaration", + "src": "7187:16:43", + "value": { + "kind": "number", + "nativeSrc": "7201:2:43", + "nodeType": "YulLiteral", + "src": "7201:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7191:6:43", + "nodeType": "YulTypedName", + "src": "7191:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7217:63:43", + "nodeType": "YulAssignment", + "src": "7217:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7252:9:43", + "nodeType": "YulIdentifier", + "src": "7252:9:43" + }, + { + "name": "offset", + "nativeSrc": "7263:6:43", + "nodeType": "YulIdentifier", + "src": "7263:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7248:3:43", + "nodeType": "YulIdentifier", + "src": "7248:3:43" + }, + "nativeSrc": "7248:22:43", + "nodeType": "YulFunctionCall", + "src": "7248:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7272:7:43", + "nodeType": "YulIdentifier", + "src": "7272:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "7227:20:43", + "nodeType": "YulIdentifier", + "src": "7227:20:43" + }, + "nativeSrc": "7227:53:43", + "nodeType": "YulFunctionCall", + "src": "7227:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7217:6:43", + "nodeType": "YulIdentifier", + "src": "7217:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "7300:313:43", + "nodeType": "YulBlock", + "src": "7300:313:43", + "statements": [ + { + "nativeSrc": "7315:46:43", + "nodeType": "YulVariableDeclaration", + "src": "7315:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7346:9:43", + "nodeType": "YulIdentifier", + "src": "7346:9:43" + }, + { + "kind": "number", + "nativeSrc": "7357:2:43", + "nodeType": "YulLiteral", + "src": "7357:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7342:3:43", + "nodeType": "YulIdentifier", + "src": "7342:3:43" + }, + "nativeSrc": "7342:18:43", + "nodeType": "YulFunctionCall", + "src": "7342:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7329:12:43", + "nodeType": "YulIdentifier", + "src": "7329:12:43" + }, + "nativeSrc": "7329:32:43", + "nodeType": "YulFunctionCall", + "src": "7329:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7319:6:43", + "nodeType": "YulTypedName", + "src": "7319:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7408:83:43", + "nodeType": "YulBlock", + "src": "7408:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "7410:77:43", + "nodeType": "YulIdentifier", + "src": "7410:77:43" + }, + "nativeSrc": "7410:79:43", + "nodeType": "YulFunctionCall", + "src": "7410:79:43" + }, + "nativeSrc": "7410:79:43", + "nodeType": "YulExpressionStatement", + "src": "7410:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7380:6:43", + "nodeType": "YulIdentifier", + "src": "7380:6:43" + }, + { + "kind": "number", + "nativeSrc": "7388:18:43", + "nodeType": "YulLiteral", + "src": "7388:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7377:2:43", + "nodeType": "YulIdentifier", + "src": "7377:2:43" + }, + "nativeSrc": "7377:30:43", + "nodeType": "YulFunctionCall", + "src": "7377:30:43" + }, + "nativeSrc": "7374:117:43", + "nodeType": "YulIf", + "src": "7374:117:43" + }, + { + "nativeSrc": "7505:98:43", + "nodeType": "YulAssignment", + "src": "7505:98:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7575:9:43", + "nodeType": "YulIdentifier", + "src": "7575:9:43" + }, + { + "name": "offset", + "nativeSrc": "7586:6:43", + "nodeType": "YulIdentifier", + "src": "7586:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7571:3:43", + "nodeType": "YulIdentifier", + "src": "7571:3:43" + }, + "nativeSrc": "7571:22:43", + "nodeType": "YulFunctionCall", + "src": "7571:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7595:7:43", + "nodeType": "YulIdentifier", + "src": "7595:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "7523:47:43", + "nodeType": "YulIdentifier", + "src": "7523:47:43" + }, + "nativeSrc": "7523:80:43", + "nodeType": "YulFunctionCall", + "src": "7523:80:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "7505:6:43", + "nodeType": "YulIdentifier", + "src": "7505:6:43" + }, + { + "name": "value3", + "nativeSrc": "7513:6:43", + "nodeType": "YulIdentifier", + "src": "7513:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "6771:849:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6852:9:43", + "nodeType": "YulTypedName", + "src": "6852:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6863:7:43", + "nodeType": "YulTypedName", + "src": "6863:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6875:6:43", + "nodeType": "YulTypedName", + "src": "6875:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6883:6:43", + "nodeType": "YulTypedName", + "src": "6883:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "6891:6:43", + "nodeType": "YulTypedName", + "src": "6891:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "6899:6:43", + "nodeType": "YulTypedName", + "src": "6899:6:43", + "type": "" + } + ], + "src": "6771:849:43" + }, + { + "body": { + "nativeSrc": "7722:73:43", + "nodeType": "YulBlock", + "src": "7722:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7739:3:43", + "nodeType": "YulIdentifier", + "src": "7739:3:43" + }, + { + "name": "length", + "nativeSrc": "7744:6:43", + "nodeType": "YulIdentifier", + "src": "7744:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7732:6:43", + "nodeType": "YulIdentifier", + "src": "7732:6:43" + }, + "nativeSrc": "7732:19:43", + "nodeType": "YulFunctionCall", + "src": "7732:19:43" + }, + "nativeSrc": "7732:19:43", + "nodeType": "YulExpressionStatement", + "src": "7732:19:43" + }, + { + "nativeSrc": "7760:29:43", + "nodeType": "YulAssignment", + "src": "7760:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7779:3:43", + "nodeType": "YulIdentifier", + "src": "7779:3:43" + }, + { + "kind": "number", + "nativeSrc": "7784:4:43", + "nodeType": "YulLiteral", + "src": "7784:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7775:3:43", + "nodeType": "YulIdentifier", + "src": "7775:3:43" + }, + "nativeSrc": "7775:14:43", + "nodeType": "YulFunctionCall", + "src": "7775:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "7760:11:43", + "nodeType": "YulIdentifier", + "src": "7760:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7626:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7694:3:43", + "nodeType": "YulTypedName", + "src": "7694:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "7699:6:43", + "nodeType": "YulTypedName", + "src": "7699:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "7710:11:43", + "nodeType": "YulTypedName", + "src": "7710:11:43", + "type": "" + } + ], + "src": "7626:169:43" + }, + { + "body": { + "nativeSrc": "7893:285:43", + "nodeType": "YulBlock", + "src": "7893:285:43", + "statements": [ + { + "nativeSrc": "7903:53:43", + "nodeType": "YulVariableDeclaration", + "src": "7903:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7950:5:43", + "nodeType": "YulIdentifier", + "src": "7950:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7917:32:43", + "nodeType": "YulIdentifier", + "src": "7917:32:43" + }, + "nativeSrc": "7917:39:43", + "nodeType": "YulFunctionCall", + "src": "7917:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "7907:6:43", + "nodeType": "YulTypedName", + "src": "7907:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7965:78:43", + "nodeType": "YulAssignment", + "src": "7965:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8031:3:43", + "nodeType": "YulIdentifier", + "src": "8031:3:43" + }, + { + "name": "length", + "nativeSrc": "8036:6:43", + "nodeType": "YulIdentifier", + "src": "8036:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7972:58:43", + "nodeType": "YulIdentifier", + "src": "7972:58:43" + }, + "nativeSrc": "7972:71:43", + "nodeType": "YulFunctionCall", + "src": "7972:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7965:3:43", + "nodeType": "YulIdentifier", + "src": "7965:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8091:5:43", + "nodeType": "YulIdentifier", + "src": "8091:5:43" + }, + { + "kind": "number", + "nativeSrc": "8098:4:43", + "nodeType": "YulLiteral", + "src": "8098:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8087:3:43", + "nodeType": "YulIdentifier", + "src": "8087:3:43" + }, + "nativeSrc": "8087:16:43", + "nodeType": "YulFunctionCall", + "src": "8087:16:43" + }, + { + "name": "pos", + "nativeSrc": "8105:3:43", + "nodeType": "YulIdentifier", + "src": "8105:3:43" + }, + { + "name": "length", + "nativeSrc": "8110:6:43", + "nodeType": "YulIdentifier", + "src": "8110:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "8052:34:43", + "nodeType": "YulIdentifier", + "src": "8052:34:43" + }, + "nativeSrc": "8052:65:43", + "nodeType": "YulFunctionCall", + "src": "8052:65:43" + }, + "nativeSrc": "8052:65:43", + "nodeType": "YulExpressionStatement", + "src": "8052:65:43" + }, + { + "nativeSrc": "8126:46:43", + "nodeType": "YulAssignment", + "src": "8126:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8137:3:43", + "nodeType": "YulIdentifier", + "src": "8137:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8164:6:43", + "nodeType": "YulIdentifier", + "src": "8164:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "8142:21:43", + "nodeType": "YulIdentifier", + "src": "8142:21:43" + }, + "nativeSrc": "8142:29:43", + "nodeType": "YulFunctionCall", + "src": "8142:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8133:3:43", + "nodeType": "YulIdentifier", + "src": "8133:3:43" + }, + "nativeSrc": "8133:39:43", + "nodeType": "YulFunctionCall", + "src": "8133:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "8126:3:43", + "nodeType": "YulIdentifier", + "src": "8126:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7801:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7874:5:43", + "nodeType": "YulTypedName", + "src": "7874:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7881:3:43", + "nodeType": "YulTypedName", + "src": "7881:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7889:3:43", + "nodeType": "YulTypedName", + "src": "7889:3:43", + "type": "" + } + ], + "src": "7801:377:43" + }, + { + "body": { + "nativeSrc": "8302:195:43", + "nodeType": "YulBlock", + "src": "8302:195:43", + "statements": [ + { + "nativeSrc": "8312:26:43", + "nodeType": "YulAssignment", + "src": "8312:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8324:9:43", + "nodeType": "YulIdentifier", + "src": "8324:9:43" + }, + { + "kind": "number", + "nativeSrc": "8335:2:43", + "nodeType": "YulLiteral", + "src": "8335:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8320:3:43", + "nodeType": "YulIdentifier", + "src": "8320:3:43" + }, + "nativeSrc": "8320:18:43", + "nodeType": "YulFunctionCall", + "src": "8320:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8312:4:43", + "nodeType": "YulIdentifier", + "src": "8312:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8359:9:43", + "nodeType": "YulIdentifier", + "src": "8359:9:43" + }, + { + "kind": "number", + "nativeSrc": "8370:1:43", + "nodeType": "YulLiteral", + "src": "8370:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8355:3:43", + "nodeType": "YulIdentifier", + "src": "8355:3:43" + }, + "nativeSrc": "8355:17:43", + "nodeType": "YulFunctionCall", + "src": "8355:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8378:4:43", + "nodeType": "YulIdentifier", + "src": "8378:4:43" + }, + { + "name": "headStart", + "nativeSrc": "8384:9:43", + "nodeType": "YulIdentifier", + "src": "8384:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8374:3:43", + "nodeType": "YulIdentifier", + "src": "8374:3:43" + }, + "nativeSrc": "8374:20:43", + "nodeType": "YulFunctionCall", + "src": "8374:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8348:6:43", + "nodeType": "YulIdentifier", + "src": "8348:6:43" + }, + "nativeSrc": "8348:47:43", + "nodeType": "YulFunctionCall", + "src": "8348:47:43" + }, + "nativeSrc": "8348:47:43", + "nodeType": "YulExpressionStatement", + "src": "8348:47:43" + }, + { + "nativeSrc": "8404:86:43", + "nodeType": "YulAssignment", + "src": "8404:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8476:6:43", + "nodeType": "YulIdentifier", + "src": "8476:6:43" + }, + { + "name": "tail", + "nativeSrc": "8485:4:43", + "nodeType": "YulIdentifier", + "src": "8485:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8412:63:43", + "nodeType": "YulIdentifier", + "src": "8412:63:43" + }, + "nativeSrc": "8412:78:43", + "nodeType": "YulFunctionCall", + "src": "8412:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8404:4:43", + "nodeType": "YulIdentifier", + "src": "8404:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "8184:313:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8274:9:43", + "nodeType": "YulTypedName", + "src": "8274:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8286:6:43", + "nodeType": "YulTypedName", + "src": "8286:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8297:4:43", + "nodeType": "YulTypedName", + "src": "8297:4:43", + "type": "" + } + ], + "src": "8184:313:43" + }, + { + "body": { + "nativeSrc": "8569:263:43", + "nodeType": "YulBlock", + "src": "8569:263:43", + "statements": [ + { + "body": { + "nativeSrc": "8615:83:43", + "nodeType": "YulBlock", + "src": "8615:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8617:77:43", + "nodeType": "YulIdentifier", + "src": "8617:77:43" + }, + "nativeSrc": "8617:79:43", + "nodeType": "YulFunctionCall", + "src": "8617:79:43" + }, + "nativeSrc": "8617:79:43", + "nodeType": "YulExpressionStatement", + "src": "8617:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8590:7:43", + "nodeType": "YulIdentifier", + "src": "8590:7:43" + }, + { + "name": "headStart", + "nativeSrc": "8599:9:43", + "nodeType": "YulIdentifier", + "src": "8599:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8586:3:43", + "nodeType": "YulIdentifier", + "src": "8586:3:43" + }, + "nativeSrc": "8586:23:43", + "nodeType": "YulFunctionCall", + "src": "8586:23:43" + }, + { + "kind": "number", + "nativeSrc": "8611:2:43", + "nodeType": "YulLiteral", + "src": "8611:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8582:3:43", + "nodeType": "YulIdentifier", + "src": "8582:3:43" + }, + "nativeSrc": "8582:32:43", + "nodeType": "YulFunctionCall", + "src": "8582:32:43" + }, + "nativeSrc": "8579:119:43", + "nodeType": "YulIf", + "src": "8579:119:43" + }, + { + "nativeSrc": "8708:117:43", + "nodeType": "YulBlock", + "src": "8708:117:43", + "statements": [ + { + "nativeSrc": "8723:15:43", + "nodeType": "YulVariableDeclaration", + "src": "8723:15:43", + "value": { + "kind": "number", + "nativeSrc": "8737:1:43", + "nodeType": "YulLiteral", + "src": "8737:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8727:6:43", + "nodeType": "YulTypedName", + "src": "8727:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8752:63:43", + "nodeType": "YulAssignment", + "src": "8752:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8787:9:43", + "nodeType": "YulIdentifier", + "src": "8787:9:43" + }, + { + "name": "offset", + "nativeSrc": "8798:6:43", + "nodeType": "YulIdentifier", + "src": "8798:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8783:3:43", + "nodeType": "YulIdentifier", + "src": "8783:3:43" + }, + "nativeSrc": "8783:22:43", + "nodeType": "YulFunctionCall", + "src": "8783:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "8807:7:43", + "nodeType": "YulIdentifier", + "src": "8807:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8762:20:43", + "nodeType": "YulIdentifier", + "src": "8762:20:43" + }, + "nativeSrc": "8762:53:43", + "nodeType": "YulFunctionCall", + "src": "8762:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8752:6:43", + "nodeType": "YulIdentifier", + "src": "8752:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "8503:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8539:9:43", + "nodeType": "YulTypedName", + "src": "8539:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8550:7:43", + "nodeType": "YulTypedName", + "src": "8550:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8562:6:43", + "nodeType": "YulTypedName", + "src": "8562:6:43", + "type": "" + } + ], + "src": "8503:329:43" + }, + { + "body": { + "nativeSrc": "8880:48:43", + "nodeType": "YulBlock", + "src": "8880:48:43", + "statements": [ + { + "nativeSrc": "8890:32:43", + "nodeType": "YulAssignment", + "src": "8890:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8915:5:43", + "nodeType": "YulIdentifier", + "src": "8915:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8908:6:43", + "nodeType": "YulIdentifier", + "src": "8908:6:43" + }, + "nativeSrc": "8908:13:43", + "nodeType": "YulFunctionCall", + "src": "8908:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8901:6:43", + "nodeType": "YulIdentifier", + "src": "8901:6:43" + }, + "nativeSrc": "8901:21:43", + "nodeType": "YulFunctionCall", + "src": "8901:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "8890:7:43", + "nodeType": "YulIdentifier", + "src": "8890:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "8838:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8862:5:43", + "nodeType": "YulTypedName", + "src": "8862:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "8872:7:43", + "nodeType": "YulTypedName", + "src": "8872:7:43", + "type": "" + } + ], + "src": "8838:90:43" + }, + { + "body": { + "nativeSrc": "8993:50:43", + "nodeType": "YulBlock", + "src": "8993:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9010:3:43", + "nodeType": "YulIdentifier", + "src": "9010:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9030:5:43", + "nodeType": "YulIdentifier", + "src": "9030:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "9015:14:43", + "nodeType": "YulIdentifier", + "src": "9015:14:43" + }, + "nativeSrc": "9015:21:43", + "nodeType": "YulFunctionCall", + "src": "9015:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9003:6:43", + "nodeType": "YulIdentifier", + "src": "9003:6:43" + }, + "nativeSrc": "9003:34:43", + "nodeType": "YulFunctionCall", + "src": "9003:34:43" + }, + "nativeSrc": "9003:34:43", + "nodeType": "YulExpressionStatement", + "src": "9003:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "8934:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8981:5:43", + "nodeType": "YulTypedName", + "src": "8981:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8988:3:43", + "nodeType": "YulTypedName", + "src": "8988:3:43", + "type": "" + } + ], + "src": "8934:109:43" + }, + { + "body": { + "nativeSrc": "9141:118:43", + "nodeType": "YulBlock", + "src": "9141:118:43", + "statements": [ + { + "nativeSrc": "9151:26:43", + "nodeType": "YulAssignment", + "src": "9151:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9163:9:43", + "nodeType": "YulIdentifier", + "src": "9163:9:43" + }, + { + "kind": "number", + "nativeSrc": "9174:2:43", + "nodeType": "YulLiteral", + "src": "9174:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9159:3:43", + "nodeType": "YulIdentifier", + "src": "9159:3:43" + }, + "nativeSrc": "9159:18:43", + "nodeType": "YulFunctionCall", + "src": "9159:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9151:4:43", + "nodeType": "YulIdentifier", + "src": "9151:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9225:6:43", + "nodeType": "YulIdentifier", + "src": "9225:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9238:9:43", + "nodeType": "YulIdentifier", + "src": "9238:9:43" + }, + { + "kind": "number", + "nativeSrc": "9249:1:43", + "nodeType": "YulLiteral", + "src": "9249:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9234:3:43", + "nodeType": "YulIdentifier", + "src": "9234:3:43" + }, + "nativeSrc": "9234:17:43", + "nodeType": "YulFunctionCall", + "src": "9234:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "9187:37:43", + "nodeType": "YulIdentifier", + "src": "9187:37:43" + }, + "nativeSrc": "9187:65:43", + "nodeType": "YulFunctionCall", + "src": "9187:65:43" + }, + "nativeSrc": "9187:65:43", + "nodeType": "YulExpressionStatement", + "src": "9187:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "9049:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9113:9:43", + "nodeType": "YulTypedName", + "src": "9113:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "9125:6:43", + "nodeType": "YulTypedName", + "src": "9125:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9136:4:43", + "nodeType": "YulTypedName", + "src": "9136:4:43", + "type": "" + } + ], + "src": "9049:210:43" + }, + { + "body": { + "nativeSrc": "9310:32:43", + "nodeType": "YulBlock", + "src": "9310:32:43", + "statements": [ + { + "nativeSrc": "9320:16:43", + "nodeType": "YulAssignment", + "src": "9320:16:43", + "value": { + "name": "value", + "nativeSrc": "9331:5:43", + "nodeType": "YulIdentifier", + "src": "9331:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "9320:7:43", + "nodeType": "YulIdentifier", + "src": "9320:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "9265:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9292:5:43", + "nodeType": "YulTypedName", + "src": "9292:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "9302:7:43", + "nodeType": "YulTypedName", + "src": "9302:7:43", + "type": "" + } + ], + "src": "9265:77:43" + }, + { + "body": { + "nativeSrc": "9391:79:43", + "nodeType": "YulBlock", + "src": "9391:79:43", + "statements": [ + { + "body": { + "nativeSrc": "9448:16:43", + "nodeType": "YulBlock", + "src": "9448:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9457:1:43", + "nodeType": "YulLiteral", + "src": "9457:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9460:1:43", + "nodeType": "YulLiteral", + "src": "9460:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9450:6:43", + "nodeType": "YulIdentifier", + "src": "9450:6:43" + }, + "nativeSrc": "9450:12:43", + "nodeType": "YulFunctionCall", + "src": "9450:12:43" + }, + "nativeSrc": "9450:12:43", + "nodeType": "YulExpressionStatement", + "src": "9450:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9414:5:43", + "nodeType": "YulIdentifier", + "src": "9414:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9439:5:43", + "nodeType": "YulIdentifier", + "src": "9439:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "9421:17:43", + "nodeType": "YulIdentifier", + "src": "9421:17:43" + }, + "nativeSrc": "9421:24:43", + "nodeType": "YulFunctionCall", + "src": "9421:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9411:2:43", + "nodeType": "YulIdentifier", + "src": "9411:2:43" + }, + "nativeSrc": "9411:35:43", + "nodeType": "YulFunctionCall", + "src": "9411:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9404:6:43", + "nodeType": "YulIdentifier", + "src": "9404:6:43" + }, + "nativeSrc": "9404:43:43", + "nodeType": "YulFunctionCall", + "src": "9404:43:43" + }, + "nativeSrc": "9401:63:43", + "nodeType": "YulIf", + "src": "9401:63:43" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "9348:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9384:5:43", + "nodeType": "YulTypedName", + "src": "9384:5:43", + "type": "" + } + ], + "src": "9348:122:43" + }, + { + "body": { + "nativeSrc": "9528:87:43", + "nodeType": "YulBlock", + "src": "9528:87:43", + "statements": [ + { + "nativeSrc": "9538:29:43", + "nodeType": "YulAssignment", + "src": "9538:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9560:6:43", + "nodeType": "YulIdentifier", + "src": "9560:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9547:12:43", + "nodeType": "YulIdentifier", + "src": "9547:12:43" + }, + "nativeSrc": "9547:20:43", + "nodeType": "YulFunctionCall", + "src": "9547:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9538:5:43", + "nodeType": "YulIdentifier", + "src": "9538:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9603:5:43", + "nodeType": "YulIdentifier", + "src": "9603:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "9576:26:43", + "nodeType": "YulIdentifier", + "src": "9576:26:43" + }, + "nativeSrc": "9576:33:43", + "nodeType": "YulFunctionCall", + "src": "9576:33:43" + }, + "nativeSrc": "9576:33:43", + "nodeType": "YulExpressionStatement", + "src": "9576:33:43" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "9476:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9506:6:43", + "nodeType": "YulTypedName", + "src": "9506:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9514:3:43", + "nodeType": "YulTypedName", + "src": "9514:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9522:5:43", + "nodeType": "YulTypedName", + "src": "9522:5:43", + "type": "" + } + ], + "src": "9476:139:43" + }, + { + "body": { + "nativeSrc": "9687:263:43", + "nodeType": "YulBlock", + "src": "9687:263:43", + "statements": [ + { + "body": { + "nativeSrc": "9733:83:43", + "nodeType": "YulBlock", + "src": "9733:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9735:77:43", + "nodeType": "YulIdentifier", + "src": "9735:77:43" + }, + "nativeSrc": "9735:79:43", + "nodeType": "YulFunctionCall", + "src": "9735:79:43" + }, + "nativeSrc": "9735:79:43", + "nodeType": "YulExpressionStatement", + "src": "9735:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9708:7:43", + "nodeType": "YulIdentifier", + "src": "9708:7:43" + }, + { + "name": "headStart", + "nativeSrc": "9717:9:43", + "nodeType": "YulIdentifier", + "src": "9717:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9704:3:43", + "nodeType": "YulIdentifier", + "src": "9704:3:43" + }, + "nativeSrc": "9704:23:43", + "nodeType": "YulFunctionCall", + "src": "9704:23:43" + }, + { + "kind": "number", + "nativeSrc": "9729:2:43", + "nodeType": "YulLiteral", + "src": "9729:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9700:3:43", + "nodeType": "YulIdentifier", + "src": "9700:3:43" + }, + "nativeSrc": "9700:32:43", + "nodeType": "YulFunctionCall", + "src": "9700:32:43" + }, + "nativeSrc": "9697:119:43", + "nodeType": "YulIf", + "src": "9697:119:43" + }, + { + "nativeSrc": "9826:117:43", + "nodeType": "YulBlock", + "src": "9826:117:43", + "statements": [ + { + "nativeSrc": "9841:15:43", + "nodeType": "YulVariableDeclaration", + "src": "9841:15:43", + "value": { + "kind": "number", + "nativeSrc": "9855:1:43", + "nodeType": "YulLiteral", + "src": "9855:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9845:6:43", + "nodeType": "YulTypedName", + "src": "9845:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9870:63:43", + "nodeType": "YulAssignment", + "src": "9870:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9905:9:43", + "nodeType": "YulIdentifier", + "src": "9905:9:43" + }, + { + "name": "offset", + "nativeSrc": "9916:6:43", + "nodeType": "YulIdentifier", + "src": "9916:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9901:3:43", + "nodeType": "YulIdentifier", + "src": "9901:3:43" + }, + "nativeSrc": "9901:22:43", + "nodeType": "YulFunctionCall", + "src": "9901:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "9925:7:43", + "nodeType": "YulIdentifier", + "src": "9925:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "9880:20:43", + "nodeType": "YulIdentifier", + "src": "9880:20:43" + }, + "nativeSrc": "9880:53:43", + "nodeType": "YulFunctionCall", + "src": "9880:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9870:6:43", + "nodeType": "YulIdentifier", + "src": "9870:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nativeSrc": "9621:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9657:9:43", + "nodeType": "YulTypedName", + "src": "9657:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9668:7:43", + "nodeType": "YulTypedName", + "src": "9668:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9680:6:43", + "nodeType": "YulTypedName", + "src": "9680:6:43", + "type": "" + } + ], + "src": "9621:329:43" + }, + { + "body": { + "nativeSrc": "10021:53:43", + "nodeType": "YulBlock", + "src": "10021:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10038:3:43", + "nodeType": "YulIdentifier", + "src": "10038:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10061:5:43", + "nodeType": "YulIdentifier", + "src": "10061:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "10043:17:43", + "nodeType": "YulIdentifier", + "src": "10043:17:43" + }, + "nativeSrc": "10043:24:43", + "nodeType": "YulFunctionCall", + "src": "10043:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10031:6:43", + "nodeType": "YulIdentifier", + "src": "10031:6:43" + }, + "nativeSrc": "10031:37:43", + "nodeType": "YulFunctionCall", + "src": "10031:37:43" + }, + "nativeSrc": "10031:37:43", + "nodeType": "YulExpressionStatement", + "src": "10031:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "9956:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10009:5:43", + "nodeType": "YulTypedName", + "src": "10009:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "10016:3:43", + "nodeType": "YulTypedName", + "src": "10016:3:43", + "type": "" + } + ], + "src": "9956:118:43" + }, + { + "body": { + "nativeSrc": "10178:124:43", + "nodeType": "YulBlock", + "src": "10178:124:43", + "statements": [ + { + "nativeSrc": "10188:26:43", + "nodeType": "YulAssignment", + "src": "10188:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10200:9:43", + "nodeType": "YulIdentifier", + "src": "10200:9:43" + }, + { + "kind": "number", + "nativeSrc": "10211:2:43", + "nodeType": "YulLiteral", + "src": "10211:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10196:3:43", + "nodeType": "YulIdentifier", + "src": "10196:3:43" + }, + "nativeSrc": "10196:18:43", + "nodeType": "YulFunctionCall", + "src": "10196:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10188:4:43", + "nodeType": "YulIdentifier", + "src": "10188:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10268:6:43", + "nodeType": "YulIdentifier", + "src": "10268:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10281:9:43", + "nodeType": "YulIdentifier", + "src": "10281:9:43" + }, + { + "kind": "number", + "nativeSrc": "10292:1:43", + "nodeType": "YulLiteral", + "src": "10292:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10277:3:43", + "nodeType": "YulIdentifier", + "src": "10277:3:43" + }, + "nativeSrc": "10277:17:43", + "nodeType": "YulFunctionCall", + "src": "10277:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "10224:43:43", + "nodeType": "YulIdentifier", + "src": "10224:43:43" + }, + "nativeSrc": "10224:71:43", + "nodeType": "YulFunctionCall", + "src": "10224:71:43" + }, + "nativeSrc": "10224:71:43", + "nodeType": "YulExpressionStatement", + "src": "10224:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "10080:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10150:9:43", + "nodeType": "YulTypedName", + "src": "10150:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10162:6:43", + "nodeType": "YulTypedName", + "src": "10162:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10173:4:43", + "nodeType": "YulTypedName", + "src": "10173:4:43", + "type": "" + } + ], + "src": "10080:222:43" + }, + { + "body": { + "nativeSrc": "10373:53:43", + "nodeType": "YulBlock", + "src": "10373:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10390:3:43", + "nodeType": "YulIdentifier", + "src": "10390:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10413:5:43", + "nodeType": "YulIdentifier", + "src": "10413:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "10395:17:43", + "nodeType": "YulIdentifier", + "src": "10395:17:43" + }, + "nativeSrc": "10395:24:43", + "nodeType": "YulFunctionCall", + "src": "10395:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10383:6:43", + "nodeType": "YulIdentifier", + "src": "10383:6:43" + }, + "nativeSrc": "10383:37:43", + "nodeType": "YulFunctionCall", + "src": "10383:37:43" + }, + "nativeSrc": "10383:37:43", + "nodeType": "YulExpressionStatement", + "src": "10383:37:43" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "10308:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10361:5:43", + "nodeType": "YulTypedName", + "src": "10361:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "10368:3:43", + "nodeType": "YulTypedName", + "src": "10368:3:43", + "type": "" + } + ], + "src": "10308:118:43" + }, + { + "body": { + "nativeSrc": "10530:124:43", + "nodeType": "YulBlock", + "src": "10530:124:43", + "statements": [ + { + "nativeSrc": "10540:26:43", + "nodeType": "YulAssignment", + "src": "10540:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10552:9:43", + "nodeType": "YulIdentifier", + "src": "10552:9:43" + }, + { + "kind": "number", + "nativeSrc": "10563:2:43", + "nodeType": "YulLiteral", + "src": "10563:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10548:3:43", + "nodeType": "YulIdentifier", + "src": "10548:3:43" + }, + "nativeSrc": "10548:18:43", + "nodeType": "YulFunctionCall", + "src": "10548:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10540:4:43", + "nodeType": "YulIdentifier", + "src": "10540:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10620:6:43", + "nodeType": "YulIdentifier", + "src": "10620:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10633:9:43", + "nodeType": "YulIdentifier", + "src": "10633:9:43" + }, + { + "kind": "number", + "nativeSrc": "10644:1:43", + "nodeType": "YulLiteral", + "src": "10644:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10629:3:43", + "nodeType": "YulIdentifier", + "src": "10629:3:43" + }, + "nativeSrc": "10629:17:43", + "nodeType": "YulFunctionCall", + "src": "10629:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "10576:43:43", + "nodeType": "YulIdentifier", + "src": "10576:43:43" + }, + "nativeSrc": "10576:71:43", + "nodeType": "YulFunctionCall", + "src": "10576:71:43" + }, + "nativeSrc": "10576:71:43", + "nodeType": "YulExpressionStatement", + "src": "10576:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "10432:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10502:9:43", + "nodeType": "YulTypedName", + "src": "10502:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10514:6:43", + "nodeType": "YulTypedName", + "src": "10514:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10525:4:43", + "nodeType": "YulTypedName", + "src": "10525:4:43", + "type": "" + } + ], + "src": "10432:222:43" + }, + { + "body": { + "nativeSrc": "10749:28:43", + "nodeType": "YulBlock", + "src": "10749:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10766:1:43", + "nodeType": "YulLiteral", + "src": "10766:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10769:1:43", + "nodeType": "YulLiteral", + "src": "10769:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10759:6:43", + "nodeType": "YulIdentifier", + "src": "10759:6:43" + }, + "nativeSrc": "10759:12:43", + "nodeType": "YulFunctionCall", + "src": "10759:12:43" + }, + "nativeSrc": "10759:12:43", + "nodeType": "YulExpressionStatement", + "src": "10759:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "10660:117:43", + "nodeType": "YulFunctionDefinition", + "src": "10660:117:43" + }, + { + "body": { + "nativeSrc": "10811:152:43", + "nodeType": "YulBlock", + "src": "10811:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10828:1:43", + "nodeType": "YulLiteral", + "src": "10828:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10831:77:43", + "nodeType": "YulLiteral", + "src": "10831:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10821:6:43", + "nodeType": "YulIdentifier", + "src": "10821:6:43" + }, + "nativeSrc": "10821:88:43", + "nodeType": "YulFunctionCall", + "src": "10821:88:43" + }, + "nativeSrc": "10821:88:43", + "nodeType": "YulExpressionStatement", + "src": "10821:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10925:1:43", + "nodeType": "YulLiteral", + "src": "10925:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10928:4:43", + "nodeType": "YulLiteral", + "src": "10928:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10918:6:43", + "nodeType": "YulIdentifier", + "src": "10918:6:43" + }, + "nativeSrc": "10918:15:43", + "nodeType": "YulFunctionCall", + "src": "10918:15:43" + }, + "nativeSrc": "10918:15:43", + "nodeType": "YulExpressionStatement", + "src": "10918:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10949:1:43", + "nodeType": "YulLiteral", + "src": "10949:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10952:4:43", + "nodeType": "YulLiteral", + "src": "10952:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10942:6:43", + "nodeType": "YulIdentifier", + "src": "10942:6:43" + }, + "nativeSrc": "10942:15:43", + "nodeType": "YulFunctionCall", + "src": "10942:15:43" + }, + "nativeSrc": "10942:15:43", + "nodeType": "YulExpressionStatement", + "src": "10942:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "10783:180:43", + "nodeType": "YulFunctionDefinition", + "src": "10783:180:43" + }, + { + "body": { + "nativeSrc": "11012:238:43", + "nodeType": "YulBlock", + "src": "11012:238:43", + "statements": [ + { + "nativeSrc": "11022:58:43", + "nodeType": "YulVariableDeclaration", + "src": "11022:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11044:6:43", + "nodeType": "YulIdentifier", + "src": "11044:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "11074:4:43", + "nodeType": "YulIdentifier", + "src": "11074:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11052:21:43", + "nodeType": "YulIdentifier", + "src": "11052:21:43" + }, + "nativeSrc": "11052:27:43", + "nodeType": "YulFunctionCall", + "src": "11052:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11040:3:43", + "nodeType": "YulIdentifier", + "src": "11040:3:43" + }, + "nativeSrc": "11040:40:43", + "nodeType": "YulFunctionCall", + "src": "11040:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "11026:10:43", + "nodeType": "YulTypedName", + "src": "11026:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11191:22:43", + "nodeType": "YulBlock", + "src": "11191:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "11193:16:43", + "nodeType": "YulIdentifier", + "src": "11193:16:43" + }, + "nativeSrc": "11193:18:43", + "nodeType": "YulFunctionCall", + "src": "11193:18:43" + }, + "nativeSrc": "11193:18:43", + "nodeType": "YulExpressionStatement", + "src": "11193:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "11134:10:43", + "nodeType": "YulIdentifier", + "src": "11134:10:43" + }, + { + "kind": "number", + "nativeSrc": "11146:18:43", + "nodeType": "YulLiteral", + "src": "11146:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11131:2:43", + "nodeType": "YulIdentifier", + "src": "11131:2:43" + }, + "nativeSrc": "11131:34:43", + "nodeType": "YulFunctionCall", + "src": "11131:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "11170:10:43", + "nodeType": "YulIdentifier", + "src": "11170:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "11182:6:43", + "nodeType": "YulIdentifier", + "src": "11182:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11167:2:43", + "nodeType": "YulIdentifier", + "src": "11167:2:43" + }, + "nativeSrc": "11167:22:43", + "nodeType": "YulFunctionCall", + "src": "11167:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "11128:2:43", + "nodeType": "YulIdentifier", + "src": "11128:2:43" + }, + "nativeSrc": "11128:62:43", + "nodeType": "YulFunctionCall", + "src": "11128:62:43" + }, + "nativeSrc": "11125:88:43", + "nodeType": "YulIf", + "src": "11125:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11229:2:43", + "nodeType": "YulLiteral", + "src": "11229:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "11233:10:43", + "nodeType": "YulIdentifier", + "src": "11233:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11222:6:43", + "nodeType": "YulIdentifier", + "src": "11222:6:43" + }, + "nativeSrc": "11222:22:43", + "nodeType": "YulFunctionCall", + "src": "11222:22:43" + }, + "nativeSrc": "11222:22:43", + "nodeType": "YulExpressionStatement", + "src": "11222:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "10969:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "10998:6:43", + "nodeType": "YulTypedName", + "src": "10998:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "11006:4:43", + "nodeType": "YulTypedName", + "src": "11006:4:43", + "type": "" + } + ], + "src": "10969:281:43" + }, + { + "body": { + "nativeSrc": "11297:88:43", + "nodeType": "YulBlock", + "src": "11297:88:43", + "statements": [ + { + "nativeSrc": "11307:30:43", + "nodeType": "YulAssignment", + "src": "11307:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "11317:18:43", + "nodeType": "YulIdentifier", + "src": "11317:18:43" + }, + "nativeSrc": "11317:20:43", + "nodeType": "YulFunctionCall", + "src": "11317:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "11307:6:43", + "nodeType": "YulIdentifier", + "src": "11307:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11366:6:43", + "nodeType": "YulIdentifier", + "src": "11366:6:43" + }, + { + "name": "size", + "nativeSrc": "11374:4:43", + "nodeType": "YulIdentifier", + "src": "11374:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "11346:19:43", + "nodeType": "YulIdentifier", + "src": "11346:19:43" + }, + "nativeSrc": "11346:33:43", + "nodeType": "YulFunctionCall", + "src": "11346:33:43" + }, + "nativeSrc": "11346:33:43", + "nodeType": "YulExpressionStatement", + "src": "11346:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "11256:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "11281:4:43", + "nodeType": "YulTypedName", + "src": "11281:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "11290:6:43", + "nodeType": "YulTypedName", + "src": "11290:6:43", + "type": "" + } + ], + "src": "11256:129:43" + }, + { + "body": { + "nativeSrc": "11457:241:43", + "nodeType": "YulBlock", + "src": "11457:241:43", + "statements": [ + { + "body": { + "nativeSrc": "11562:22:43", + "nodeType": "YulBlock", + "src": "11562:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "11564:16:43", + "nodeType": "YulIdentifier", + "src": "11564:16:43" + }, + "nativeSrc": "11564:18:43", + "nodeType": "YulFunctionCall", + "src": "11564:18:43" + }, + "nativeSrc": "11564:18:43", + "nodeType": "YulExpressionStatement", + "src": "11564:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "11534:6:43", + "nodeType": "YulIdentifier", + "src": "11534:6:43" + }, + { + "kind": "number", + "nativeSrc": "11542:18:43", + "nodeType": "YulLiteral", + "src": "11542:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11531:2:43", + "nodeType": "YulIdentifier", + "src": "11531:2:43" + }, + "nativeSrc": "11531:30:43", + "nodeType": "YulFunctionCall", + "src": "11531:30:43" + }, + "nativeSrc": "11528:56:43", + "nodeType": "YulIf", + "src": "11528:56:43" + }, + { + "nativeSrc": "11594:37:43", + "nodeType": "YulAssignment", + "src": "11594:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "11624:6:43", + "nodeType": "YulIdentifier", + "src": "11624:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "11602:21:43", + "nodeType": "YulIdentifier", + "src": "11602:21:43" + }, + "nativeSrc": "11602:29:43", + "nodeType": "YulFunctionCall", + "src": "11602:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "11594:4:43", + "nodeType": "YulIdentifier", + "src": "11594:4:43" + } + ] + }, + { + "nativeSrc": "11668:23:43", + "nodeType": "YulAssignment", + "src": "11668:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "11680:4:43", + "nodeType": "YulIdentifier", + "src": "11680:4:43" + }, + { + "kind": "number", + "nativeSrc": "11686:4:43", + "nodeType": "YulLiteral", + "src": "11686:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11676:3:43", + "nodeType": "YulIdentifier", + "src": "11676:3:43" + }, + "nativeSrc": "11676:15:43", + "nodeType": "YulFunctionCall", + "src": "11676:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "11668:4:43", + "nodeType": "YulIdentifier", + "src": "11668:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "11391:307:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "11441:6:43", + "nodeType": "YulTypedName", + "src": "11441:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "11452:4:43", + "nodeType": "YulTypedName", + "src": "11452:4:43", + "type": "" + } + ], + "src": "11391:307:43" + }, + { + "body": { + "nativeSrc": "11768:82:43", + "nodeType": "YulBlock", + "src": "11768:82:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11791:3:43", + "nodeType": "YulIdentifier", + "src": "11791:3:43" + }, + { + "name": "src", + "nativeSrc": "11796:3:43", + "nodeType": "YulIdentifier", + "src": "11796:3:43" + }, + { + "name": "length", + "nativeSrc": "11801:6:43", + "nodeType": "YulIdentifier", + "src": "11801:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "11778:12:43", + "nodeType": "YulIdentifier", + "src": "11778:12:43" + }, + "nativeSrc": "11778:30:43", + "nodeType": "YulFunctionCall", + "src": "11778:30:43" + }, + "nativeSrc": "11778:30:43", + "nodeType": "YulExpressionStatement", + "src": "11778:30:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "11828:3:43", + "nodeType": "YulIdentifier", + "src": "11828:3:43" + }, + { + "name": "length", + "nativeSrc": "11833:6:43", + "nodeType": "YulIdentifier", + "src": "11833:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11824:3:43", + "nodeType": "YulIdentifier", + "src": "11824:3:43" + }, + "nativeSrc": "11824:16:43", + "nodeType": "YulFunctionCall", + "src": "11824:16:43" + }, + { + "kind": "number", + "nativeSrc": "11842:1:43", + "nodeType": "YulLiteral", + "src": "11842:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11817:6:43", + "nodeType": "YulIdentifier", + "src": "11817:6:43" + }, + "nativeSrc": "11817:27:43", + "nodeType": "YulFunctionCall", + "src": "11817:27:43" + }, + "nativeSrc": "11817:27:43", + "nodeType": "YulExpressionStatement", + "src": "11817:27:43" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "11704:146:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "11750:3:43", + "nodeType": "YulTypedName", + "src": "11750:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "11755:3:43", + "nodeType": "YulTypedName", + "src": "11755:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11760:6:43", + "nodeType": "YulTypedName", + "src": "11760:6:43", + "type": "" + } + ], + "src": "11704:146:43" + }, + { + "body": { + "nativeSrc": "11939:340:43", + "nodeType": "YulBlock", + "src": "11939:340:43", + "statements": [ + { + "nativeSrc": "11949:74:43", + "nodeType": "YulAssignment", + "src": "11949:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12015:6:43", + "nodeType": "YulIdentifier", + "src": "12015:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "11974:40:43", + "nodeType": "YulIdentifier", + "src": "11974:40:43" + }, + "nativeSrc": "11974:48:43", + "nodeType": "YulFunctionCall", + "src": "11974:48:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "11958:15:43", + "nodeType": "YulIdentifier", + "src": "11958:15:43" + }, + "nativeSrc": "11958:65:43", + "nodeType": "YulFunctionCall", + "src": "11958:65:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "11949:5:43", + "nodeType": "YulIdentifier", + "src": "11949:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "12039:5:43", + "nodeType": "YulIdentifier", + "src": "12039:5:43" + }, + { + "name": "length", + "nativeSrc": "12046:6:43", + "nodeType": "YulIdentifier", + "src": "12046:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12032:6:43", + "nodeType": "YulIdentifier", + "src": "12032:6:43" + }, + "nativeSrc": "12032:21:43", + "nodeType": "YulFunctionCall", + "src": "12032:21:43" + }, + "nativeSrc": "12032:21:43", + "nodeType": "YulExpressionStatement", + "src": "12032:21:43" + }, + { + "nativeSrc": "12062:27:43", + "nodeType": "YulVariableDeclaration", + "src": "12062:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "12077:5:43", + "nodeType": "YulIdentifier", + "src": "12077:5:43" + }, + { + "kind": "number", + "nativeSrc": "12084:4:43", + "nodeType": "YulLiteral", + "src": "12084:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12073:3:43", + "nodeType": "YulIdentifier", + "src": "12073:3:43" + }, + "nativeSrc": "12073:16:43", + "nodeType": "YulFunctionCall", + "src": "12073:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "12066:3:43", + "nodeType": "YulTypedName", + "src": "12066:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12127:83:43", + "nodeType": "YulBlock", + "src": "12127:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "12129:77:43", + "nodeType": "YulIdentifier", + "src": "12129:77:43" + }, + "nativeSrc": "12129:79:43", + "nodeType": "YulFunctionCall", + "src": "12129:79:43" + }, + "nativeSrc": "12129:79:43", + "nodeType": "YulExpressionStatement", + "src": "12129:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "12108:3:43", + "nodeType": "YulIdentifier", + "src": "12108:3:43" + }, + { + "name": "length", + "nativeSrc": "12113:6:43", + "nodeType": "YulIdentifier", + "src": "12113:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12104:3:43", + "nodeType": "YulIdentifier", + "src": "12104:3:43" + }, + "nativeSrc": "12104:16:43", + "nodeType": "YulFunctionCall", + "src": "12104:16:43" + }, + { + "name": "end", + "nativeSrc": "12122:3:43", + "nodeType": "YulIdentifier", + "src": "12122:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12101:2:43", + "nodeType": "YulIdentifier", + "src": "12101:2:43" + }, + "nativeSrc": "12101:25:43", + "nodeType": "YulFunctionCall", + "src": "12101:25:43" + }, + "nativeSrc": "12098:112:43", + "nodeType": "YulIf", + "src": "12098:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "12256:3:43", + "nodeType": "YulIdentifier", + "src": "12256:3:43" + }, + { + "name": "dst", + "nativeSrc": "12261:3:43", + "nodeType": "YulIdentifier", + "src": "12261:3:43" + }, + { + "name": "length", + "nativeSrc": "12266:6:43", + "nodeType": "YulIdentifier", + "src": "12266:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "12219:36:43", + "nodeType": "YulIdentifier", + "src": "12219:36:43" + }, + "nativeSrc": "12219:54:43", + "nodeType": "YulFunctionCall", + "src": "12219:54:43" + }, + "nativeSrc": "12219:54:43", + "nodeType": "YulExpressionStatement", + "src": "12219:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "11856:423:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "11912:3:43", + "nodeType": "YulTypedName", + "src": "11912:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "11917:6:43", + "nodeType": "YulTypedName", + "src": "11917:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "11925:3:43", + "nodeType": "YulTypedName", + "src": "11925:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "11933:5:43", + "nodeType": "YulTypedName", + "src": "11933:5:43", + "type": "" + } + ], + "src": "11856:423:43" + }, + { + "body": { + "nativeSrc": "12359:277:43", + "nodeType": "YulBlock", + "src": "12359:277:43", + "statements": [ + { + "body": { + "nativeSrc": "12408:83:43", + "nodeType": "YulBlock", + "src": "12408:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "12410:77:43", + "nodeType": "YulIdentifier", + "src": "12410:77:43" + }, + "nativeSrc": "12410:79:43", + "nodeType": "YulFunctionCall", + "src": "12410:79:43" + }, + "nativeSrc": "12410:79:43", + "nodeType": "YulExpressionStatement", + "src": "12410:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12387:6:43", + "nodeType": "YulIdentifier", + "src": "12387:6:43" + }, + { + "kind": "number", + "nativeSrc": "12395:4:43", + "nodeType": "YulLiteral", + "src": "12395:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12383:3:43", + "nodeType": "YulIdentifier", + "src": "12383:3:43" + }, + "nativeSrc": "12383:17:43", + "nodeType": "YulFunctionCall", + "src": "12383:17:43" + }, + { + "name": "end", + "nativeSrc": "12402:3:43", + "nodeType": "YulIdentifier", + "src": "12402:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12379:3:43", + "nodeType": "YulIdentifier", + "src": "12379:3:43" + }, + "nativeSrc": "12379:27:43", + "nodeType": "YulFunctionCall", + "src": "12379:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12372:6:43", + "nodeType": "YulIdentifier", + "src": "12372:6:43" + }, + "nativeSrc": "12372:35:43", + "nodeType": "YulFunctionCall", + "src": "12372:35:43" + }, + "nativeSrc": "12369:122:43", + "nodeType": "YulIf", + "src": "12369:122:43" + }, + { + "nativeSrc": "12500:34:43", + "nodeType": "YulVariableDeclaration", + "src": "12500:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12527:6:43", + "nodeType": "YulIdentifier", + "src": "12527:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12514:12:43", + "nodeType": "YulIdentifier", + "src": "12514:12:43" + }, + "nativeSrc": "12514:20:43", + "nodeType": "YulFunctionCall", + "src": "12514:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "12504:6:43", + "nodeType": "YulTypedName", + "src": "12504:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "12543:87:43", + "nodeType": "YulAssignment", + "src": "12543:87:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12603:6:43", + "nodeType": "YulIdentifier", + "src": "12603:6:43" + }, + { + "kind": "number", + "nativeSrc": "12611:4:43", + "nodeType": "YulLiteral", + "src": "12611:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12599:3:43", + "nodeType": "YulIdentifier", + "src": "12599:3:43" + }, + "nativeSrc": "12599:17:43", + "nodeType": "YulFunctionCall", + "src": "12599:17:43" + }, + { + "name": "length", + "nativeSrc": "12618:6:43", + "nodeType": "YulIdentifier", + "src": "12618:6:43" + }, + { + "name": "end", + "nativeSrc": "12626:3:43", + "nodeType": "YulIdentifier", + "src": "12626:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "12552:46:43", + "nodeType": "YulIdentifier", + "src": "12552:46:43" + }, + "nativeSrc": "12552:78:43", + "nodeType": "YulFunctionCall", + "src": "12552:78:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "12543:5:43", + "nodeType": "YulIdentifier", + "src": "12543:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "12298:338:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "12337:6:43", + "nodeType": "YulTypedName", + "src": "12337:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "12345:3:43", + "nodeType": "YulTypedName", + "src": "12345:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "12353:5:43", + "nodeType": "YulTypedName", + "src": "12353:5:43", + "type": "" + } + ], + "src": "12298:338:43" + }, + { + "body": { + "nativeSrc": "12785:946:43", + "nodeType": "YulBlock", + "src": "12785:946:43", + "statements": [ + { + "body": { + "nativeSrc": "12832:83:43", + "nodeType": "YulBlock", + "src": "12832:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "12834:77:43", + "nodeType": "YulIdentifier", + "src": "12834:77:43" + }, + "nativeSrc": "12834:79:43", + "nodeType": "YulFunctionCall", + "src": "12834:79:43" + }, + "nativeSrc": "12834:79:43", + "nodeType": "YulExpressionStatement", + "src": "12834:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "12806:7:43", + "nodeType": "YulIdentifier", + "src": "12806:7:43" + }, + { + "name": "headStart", + "nativeSrc": "12815:9:43", + "nodeType": "YulIdentifier", + "src": "12815:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12802:3:43", + "nodeType": "YulIdentifier", + "src": "12802:3:43" + }, + "nativeSrc": "12802:23:43", + "nodeType": "YulFunctionCall", + "src": "12802:23:43" + }, + { + "kind": "number", + "nativeSrc": "12827:3:43", + "nodeType": "YulLiteral", + "src": "12827:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12798:3:43", + "nodeType": "YulIdentifier", + "src": "12798:3:43" + }, + "nativeSrc": "12798:33:43", + "nodeType": "YulFunctionCall", + "src": "12798:33:43" + }, + "nativeSrc": "12795:120:43", + "nodeType": "YulIf", + "src": "12795:120:43" + }, + { + "nativeSrc": "12925:117:43", + "nodeType": "YulBlock", + "src": "12925:117:43", + "statements": [ + { + "nativeSrc": "12940:15:43", + "nodeType": "YulVariableDeclaration", + "src": "12940:15:43", + "value": { + "kind": "number", + "nativeSrc": "12954:1:43", + "nodeType": "YulLiteral", + "src": "12954:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12944:6:43", + "nodeType": "YulTypedName", + "src": "12944:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "12969:63:43", + "nodeType": "YulAssignment", + "src": "12969:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13004:9:43", + "nodeType": "YulIdentifier", + "src": "13004:9:43" + }, + { + "name": "offset", + "nativeSrc": "13015:6:43", + "nodeType": "YulIdentifier", + "src": "13015:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13000:3:43", + "nodeType": "YulIdentifier", + "src": "13000:3:43" + }, + "nativeSrc": "13000:22:43", + "nodeType": "YulFunctionCall", + "src": "13000:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13024:7:43", + "nodeType": "YulIdentifier", + "src": "13024:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "12979:20:43", + "nodeType": "YulIdentifier", + "src": "12979:20:43" + }, + "nativeSrc": "12979:53:43", + "nodeType": "YulFunctionCall", + "src": "12979:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "12969:6:43", + "nodeType": "YulIdentifier", + "src": "12969:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "13052:118:43", + "nodeType": "YulBlock", + "src": "13052:118:43", + "statements": [ + { + "nativeSrc": "13067:16:43", + "nodeType": "YulVariableDeclaration", + "src": "13067:16:43", + "value": { + "kind": "number", + "nativeSrc": "13081:2:43", + "nodeType": "YulLiteral", + "src": "13081:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13071:6:43", + "nodeType": "YulTypedName", + "src": "13071:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "13097:63:43", + "nodeType": "YulAssignment", + "src": "13097:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13132:9:43", + "nodeType": "YulIdentifier", + "src": "13132:9:43" + }, + { + "name": "offset", + "nativeSrc": "13143:6:43", + "nodeType": "YulIdentifier", + "src": "13143:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13128:3:43", + "nodeType": "YulIdentifier", + "src": "13128:3:43" + }, + "nativeSrc": "13128:22:43", + "nodeType": "YulFunctionCall", + "src": "13128:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13152:7:43", + "nodeType": "YulIdentifier", + "src": "13152:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "13107:20:43", + "nodeType": "YulIdentifier", + "src": "13107:20:43" + }, + "nativeSrc": "13107:53:43", + "nodeType": "YulFunctionCall", + "src": "13107:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "13097:6:43", + "nodeType": "YulIdentifier", + "src": "13097:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "13180:118:43", + "nodeType": "YulBlock", + "src": "13180:118:43", + "statements": [ + { + "nativeSrc": "13195:16:43", + "nodeType": "YulVariableDeclaration", + "src": "13195:16:43", + "value": { + "kind": "number", + "nativeSrc": "13209:2:43", + "nodeType": "YulLiteral", + "src": "13209:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13199:6:43", + "nodeType": "YulTypedName", + "src": "13199:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "13225:63:43", + "nodeType": "YulAssignment", + "src": "13225:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13260:9:43", + "nodeType": "YulIdentifier", + "src": "13260:9:43" + }, + { + "name": "offset", + "nativeSrc": "13271:6:43", + "nodeType": "YulIdentifier", + "src": "13271:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13256:3:43", + "nodeType": "YulIdentifier", + "src": "13256:3:43" + }, + "nativeSrc": "13256:22:43", + "nodeType": "YulFunctionCall", + "src": "13256:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13280:7:43", + "nodeType": "YulIdentifier", + "src": "13280:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "13235:20:43", + "nodeType": "YulIdentifier", + "src": "13235:20:43" + }, + "nativeSrc": "13235:53:43", + "nodeType": "YulFunctionCall", + "src": "13235:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "13225:6:43", + "nodeType": "YulIdentifier", + "src": "13225:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "13308:118:43", + "nodeType": "YulBlock", + "src": "13308:118:43", + "statements": [ + { + "nativeSrc": "13323:16:43", + "nodeType": "YulVariableDeclaration", + "src": "13323:16:43", + "value": { + "kind": "number", + "nativeSrc": "13337:2:43", + "nodeType": "YulLiteral", + "src": "13337:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13327:6:43", + "nodeType": "YulTypedName", + "src": "13327:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "13353:63:43", + "nodeType": "YulAssignment", + "src": "13353:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13388:9:43", + "nodeType": "YulIdentifier", + "src": "13388:9:43" + }, + { + "name": "offset", + "nativeSrc": "13399:6:43", + "nodeType": "YulIdentifier", + "src": "13399:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13384:3:43", + "nodeType": "YulIdentifier", + "src": "13384:3:43" + }, + "nativeSrc": "13384:22:43", + "nodeType": "YulFunctionCall", + "src": "13384:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13408:7:43", + "nodeType": "YulIdentifier", + "src": "13408:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "13363:20:43", + "nodeType": "YulIdentifier", + "src": "13363:20:43" + }, + "nativeSrc": "13363:53:43", + "nodeType": "YulFunctionCall", + "src": "13363:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "13353:6:43", + "nodeType": "YulIdentifier", + "src": "13353:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "13436:288:43", + "nodeType": "YulBlock", + "src": "13436:288:43", + "statements": [ + { + "nativeSrc": "13451:47:43", + "nodeType": "YulVariableDeclaration", + "src": "13451:47:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13482:9:43", + "nodeType": "YulIdentifier", + "src": "13482:9:43" + }, + { + "kind": "number", + "nativeSrc": "13493:3:43", + "nodeType": "YulLiteral", + "src": "13493:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13478:3:43", + "nodeType": "YulIdentifier", + "src": "13478:3:43" + }, + "nativeSrc": "13478:19:43", + "nodeType": "YulFunctionCall", + "src": "13478:19:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "13465:12:43", + "nodeType": "YulIdentifier", + "src": "13465:12:43" + }, + "nativeSrc": "13465:33:43", + "nodeType": "YulFunctionCall", + "src": "13465:33:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "13455:6:43", + "nodeType": "YulTypedName", + "src": "13455:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13545:83:43", + "nodeType": "YulBlock", + "src": "13545:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "13547:77:43", + "nodeType": "YulIdentifier", + "src": "13547:77:43" + }, + "nativeSrc": "13547:79:43", + "nodeType": "YulFunctionCall", + "src": "13547:79:43" + }, + "nativeSrc": "13547:79:43", + "nodeType": "YulExpressionStatement", + "src": "13547:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13517:6:43", + "nodeType": "YulIdentifier", + "src": "13517:6:43" + }, + { + "kind": "number", + "nativeSrc": "13525:18:43", + "nodeType": "YulLiteral", + "src": "13525:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13514:2:43", + "nodeType": "YulIdentifier", + "src": "13514:2:43" + }, + "nativeSrc": "13514:30:43", + "nodeType": "YulFunctionCall", + "src": "13514:30:43" + }, + "nativeSrc": "13511:117:43", + "nodeType": "YulIf", + "src": "13511:117:43" + }, + { + "nativeSrc": "13642:72:43", + "nodeType": "YulAssignment", + "src": "13642:72:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13686:9:43", + "nodeType": "YulIdentifier", + "src": "13686:9:43" + }, + { + "name": "offset", + "nativeSrc": "13697:6:43", + "nodeType": "YulIdentifier", + "src": "13697:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13682:3:43", + "nodeType": "YulIdentifier", + "src": "13682:3:43" + }, + "nativeSrc": "13682:22:43", + "nodeType": "YulFunctionCall", + "src": "13682:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13706:7:43", + "nodeType": "YulIdentifier", + "src": "13706:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "13652:29:43", + "nodeType": "YulIdentifier", + "src": "13652:29:43" + }, + "nativeSrc": "13652:62:43", + "nodeType": "YulFunctionCall", + "src": "13652:62:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "13642:6:43", + "nodeType": "YulIdentifier", + "src": "13642:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr", + "nativeSrc": "12642:1089:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12723:9:43", + "nodeType": "YulTypedName", + "src": "12723:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "12734:7:43", + "nodeType": "YulTypedName", + "src": "12734:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "12746:6:43", + "nodeType": "YulTypedName", + "src": "12746:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "12754:6:43", + "nodeType": "YulTypedName", + "src": "12754:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "12762:6:43", + "nodeType": "YulTypedName", + "src": "12762:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "12770:6:43", + "nodeType": "YulTypedName", + "src": "12770:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "12778:6:43", + "nodeType": "YulTypedName", + "src": "12778:6:43", + "type": "" + } + ], + "src": "12642:1089:43" + }, + { + "body": { + "nativeSrc": "13781:105:43", + "nodeType": "YulBlock", + "src": "13781:105:43", + "statements": [ + { + "nativeSrc": "13791:89:43", + "nodeType": "YulAssignment", + "src": "13791:89:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "13806:5:43", + "nodeType": "YulIdentifier", + "src": "13806:5:43" + }, + { + "kind": "number", + "nativeSrc": "13813:66:43", + "nodeType": "YulLiteral", + "src": "13813:66:43", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "13802:3:43", + "nodeType": "YulIdentifier", + "src": "13802:3:43" + }, + "nativeSrc": "13802:78:43", + "nodeType": "YulFunctionCall", + "src": "13802:78:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "13791:7:43", + "nodeType": "YulIdentifier", + "src": "13791:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "13737:149:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "13763:5:43", + "nodeType": "YulTypedName", + "src": "13763:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "13773:7:43", + "nodeType": "YulTypedName", + "src": "13773:7:43", + "type": "" + } + ], + "src": "13737:149:43" + }, + { + "body": { + "nativeSrc": "13955:52:43", + "nodeType": "YulBlock", + "src": "13955:52:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13972:3:43", + "nodeType": "YulIdentifier", + "src": "13972:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "13994:5:43", + "nodeType": "YulIdentifier", + "src": "13994:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "13977:16:43", + "nodeType": "YulIdentifier", + "src": "13977:16:43" + }, + "nativeSrc": "13977:23:43", + "nodeType": "YulFunctionCall", + "src": "13977:23:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13965:6:43", + "nodeType": "YulIdentifier", + "src": "13965:6:43" + }, + "nativeSrc": "13965:36:43", + "nodeType": "YulFunctionCall", + "src": "13965:36:43" + }, + "nativeSrc": "13965:36:43", + "nodeType": "YulExpressionStatement", + "src": "13965:36:43" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "13892:115:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "13943:5:43", + "nodeType": "YulTypedName", + "src": "13943:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "13950:3:43", + "nodeType": "YulTypedName", + "src": "13950:3:43", + "type": "" + } + ], + "src": "13892:115:43" + }, + { + "body": { + "nativeSrc": "14109:122:43", + "nodeType": "YulBlock", + "src": "14109:122:43", + "statements": [ + { + "nativeSrc": "14119:26:43", + "nodeType": "YulAssignment", + "src": "14119:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14131:9:43", + "nodeType": "YulIdentifier", + "src": "14131:9:43" + }, + { + "kind": "number", + "nativeSrc": "14142:2:43", + "nodeType": "YulLiteral", + "src": "14142:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14127:3:43", + "nodeType": "YulIdentifier", + "src": "14127:3:43" + }, + "nativeSrc": "14127:18:43", + "nodeType": "YulFunctionCall", + "src": "14127:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14119:4:43", + "nodeType": "YulIdentifier", + "src": "14119:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14197:6:43", + "nodeType": "YulIdentifier", + "src": "14197:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14210:9:43", + "nodeType": "YulIdentifier", + "src": "14210:9:43" + }, + { + "kind": "number", + "nativeSrc": "14221:1:43", + "nodeType": "YulLiteral", + "src": "14221:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14206:3:43", + "nodeType": "YulIdentifier", + "src": "14206:3:43" + }, + "nativeSrc": "14206:17:43", + "nodeType": "YulFunctionCall", + "src": "14206:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "14155:41:43", + "nodeType": "YulIdentifier", + "src": "14155:41:43" + }, + "nativeSrc": "14155:69:43", + "nodeType": "YulFunctionCall", + "src": "14155:69:43" + }, + "nativeSrc": "14155:69:43", + "nodeType": "YulExpressionStatement", + "src": "14155:69:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nativeSrc": "14013:218:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14081:9:43", + "nodeType": "YulTypedName", + "src": "14081:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14093:6:43", + "nodeType": "YulTypedName", + "src": "14093:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14104:4:43", + "nodeType": "YulTypedName", + "src": "14104:4:43", + "type": "" + } + ], + "src": "14013:218:43" + }, + { + "body": { + "nativeSrc": "14363:206:43", + "nodeType": "YulBlock", + "src": "14363:206:43", + "statements": [ + { + "nativeSrc": "14373:26:43", + "nodeType": "YulAssignment", + "src": "14373:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14385:9:43", + "nodeType": "YulIdentifier", + "src": "14385:9:43" + }, + { + "kind": "number", + "nativeSrc": "14396:2:43", + "nodeType": "YulLiteral", + "src": "14396:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14381:3:43", + "nodeType": "YulIdentifier", + "src": "14381:3:43" + }, + "nativeSrc": "14381:18:43", + "nodeType": "YulFunctionCall", + "src": "14381:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14373:4:43", + "nodeType": "YulIdentifier", + "src": "14373:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14453:6:43", + "nodeType": "YulIdentifier", + "src": "14453:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14466:9:43", + "nodeType": "YulIdentifier", + "src": "14466:9:43" + }, + { + "kind": "number", + "nativeSrc": "14477:1:43", + "nodeType": "YulLiteral", + "src": "14477:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14462:3:43", + "nodeType": "YulIdentifier", + "src": "14462:3:43" + }, + "nativeSrc": "14462:17:43", + "nodeType": "YulFunctionCall", + "src": "14462:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "14409:43:43", + "nodeType": "YulIdentifier", + "src": "14409:43:43" + }, + "nativeSrc": "14409:71:43", + "nodeType": "YulFunctionCall", + "src": "14409:71:43" + }, + "nativeSrc": "14409:71:43", + "nodeType": "YulExpressionStatement", + "src": "14409:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "14534:6:43", + "nodeType": "YulIdentifier", + "src": "14534:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14547:9:43", + "nodeType": "YulIdentifier", + "src": "14547:9:43" + }, + { + "kind": "number", + "nativeSrc": "14558:2:43", + "nodeType": "YulLiteral", + "src": "14558:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14543:3:43", + "nodeType": "YulIdentifier", + "src": "14543:3:43" + }, + "nativeSrc": "14543:18:43", + "nodeType": "YulFunctionCall", + "src": "14543:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "14490:43:43", + "nodeType": "YulIdentifier", + "src": "14490:43:43" + }, + "nativeSrc": "14490:72:43", + "nodeType": "YulFunctionCall", + "src": "14490:72:43" + }, + "nativeSrc": "14490:72:43", + "nodeType": "YulExpressionStatement", + "src": "14490:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "14237:332:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14327:9:43", + "nodeType": "YulTypedName", + "src": "14327:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14339:6:43", + "nodeType": "YulTypedName", + "src": "14339:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14347:6:43", + "nodeType": "YulTypedName", + "src": "14347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14358:4:43", + "nodeType": "YulTypedName", + "src": "14358:4:43", + "type": "" + } + ], + "src": "14237:332:43" + }, + { + "body": { + "nativeSrc": "14638:80:43", + "nodeType": "YulBlock", + "src": "14638:80:43", + "statements": [ + { + "nativeSrc": "14648:22:43", + "nodeType": "YulAssignment", + "src": "14648:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14663:6:43", + "nodeType": "YulIdentifier", + "src": "14663:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14657:5:43", + "nodeType": "YulIdentifier", + "src": "14657:5:43" + }, + "nativeSrc": "14657:13:43", + "nodeType": "YulFunctionCall", + "src": "14657:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "14648:5:43", + "nodeType": "YulIdentifier", + "src": "14648:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "14706:5:43", + "nodeType": "YulIdentifier", + "src": "14706:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "14679:26:43", + "nodeType": "YulIdentifier", + "src": "14679:26:43" + }, + "nativeSrc": "14679:33:43", + "nodeType": "YulFunctionCall", + "src": "14679:33:43" + }, + "nativeSrc": "14679:33:43", + "nodeType": "YulExpressionStatement", + "src": "14679:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "14575:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "14616:6:43", + "nodeType": "YulTypedName", + "src": "14616:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "14624:3:43", + "nodeType": "YulTypedName", + "src": "14624:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "14632:5:43", + "nodeType": "YulTypedName", + "src": "14632:5:43", + "type": "" + } + ], + "src": "14575:143:43" + }, + { + "body": { + "nativeSrc": "14801:274:43", + "nodeType": "YulBlock", + "src": "14801:274:43", + "statements": [ + { + "body": { + "nativeSrc": "14847:83:43", + "nodeType": "YulBlock", + "src": "14847:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "14849:77:43", + "nodeType": "YulIdentifier", + "src": "14849:77:43" + }, + "nativeSrc": "14849:79:43", + "nodeType": "YulFunctionCall", + "src": "14849:79:43" + }, + "nativeSrc": "14849:79:43", + "nodeType": "YulExpressionStatement", + "src": "14849:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14822:7:43", + "nodeType": "YulIdentifier", + "src": "14822:7:43" + }, + { + "name": "headStart", + "nativeSrc": "14831:9:43", + "nodeType": "YulIdentifier", + "src": "14831:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14818:3:43", + "nodeType": "YulIdentifier", + "src": "14818:3:43" + }, + "nativeSrc": "14818:23:43", + "nodeType": "YulFunctionCall", + "src": "14818:23:43" + }, + { + "kind": "number", + "nativeSrc": "14843:2:43", + "nodeType": "YulLiteral", + "src": "14843:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14814:3:43", + "nodeType": "YulIdentifier", + "src": "14814:3:43" + }, + "nativeSrc": "14814:32:43", + "nodeType": "YulFunctionCall", + "src": "14814:32:43" + }, + "nativeSrc": "14811:119:43", + "nodeType": "YulIf", + "src": "14811:119:43" + }, + { + "nativeSrc": "14940:128:43", + "nodeType": "YulBlock", + "src": "14940:128:43", + "statements": [ + { + "nativeSrc": "14955:15:43", + "nodeType": "YulVariableDeclaration", + "src": "14955:15:43", + "value": { + "kind": "number", + "nativeSrc": "14969:1:43", + "nodeType": "YulLiteral", + "src": "14969:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14959:6:43", + "nodeType": "YulTypedName", + "src": "14959:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "14984:74:43", + "nodeType": "YulAssignment", + "src": "14984:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15030:9:43", + "nodeType": "YulIdentifier", + "src": "15030:9:43" + }, + { + "name": "offset", + "nativeSrc": "15041:6:43", + "nodeType": "YulIdentifier", + "src": "15041:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15026:3:43", + "nodeType": "YulIdentifier", + "src": "15026:3:43" + }, + "nativeSrc": "15026:22:43", + "nodeType": "YulFunctionCall", + "src": "15026:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "15050:7:43", + "nodeType": "YulIdentifier", + "src": "15050:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "14994:31:43", + "nodeType": "YulIdentifier", + "src": "14994:31:43" + }, + "nativeSrc": "14994:64:43", + "nodeType": "YulFunctionCall", + "src": "14994:64:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "14984:6:43", + "nodeType": "YulIdentifier", + "src": "14984:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "14724:351:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14771:9:43", + "nodeType": "YulTypedName", + "src": "14771:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "14782:7:43", + "nodeType": "YulTypedName", + "src": "14782:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "14794:6:43", + "nodeType": "YulTypedName", + "src": "14794:6:43", + "type": "" + } + ], + "src": "14724:351:43" + }, + { + "body": { + "nativeSrc": "15109:152:43", + "nodeType": "YulBlock", + "src": "15109:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15126:1:43", + "nodeType": "YulLiteral", + "src": "15126:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15129:77:43", + "nodeType": "YulLiteral", + "src": "15129:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15119:6:43", + "nodeType": "YulIdentifier", + "src": "15119:6:43" + }, + "nativeSrc": "15119:88:43", + "nodeType": "YulFunctionCall", + "src": "15119:88:43" + }, + "nativeSrc": "15119:88:43", + "nodeType": "YulExpressionStatement", + "src": "15119:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15223:1:43", + "nodeType": "YulLiteral", + "src": "15223:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "15226:4:43", + "nodeType": "YulLiteral", + "src": "15226:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15216:6:43", + "nodeType": "YulIdentifier", + "src": "15216:6:43" + }, + "nativeSrc": "15216:15:43", + "nodeType": "YulFunctionCall", + "src": "15216:15:43" + }, + "nativeSrc": "15216:15:43", + "nodeType": "YulExpressionStatement", + "src": "15216:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15247:1:43", + "nodeType": "YulLiteral", + "src": "15247:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15250:4:43", + "nodeType": "YulLiteral", + "src": "15250:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "15240:6:43", + "nodeType": "YulIdentifier", + "src": "15240:6:43" + }, + "nativeSrc": "15240:15:43", + "nodeType": "YulFunctionCall", + "src": "15240:15:43" + }, + "nativeSrc": "15240:15:43", + "nodeType": "YulExpressionStatement", + "src": "15240:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "15081:180:43", + "nodeType": "YulFunctionDefinition", + "src": "15081:180:43" + }, + { + "body": { + "nativeSrc": "15318:269:43", + "nodeType": "YulBlock", + "src": "15318:269:43", + "statements": [ + { + "nativeSrc": "15328:22:43", + "nodeType": "YulAssignment", + "src": "15328:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "15342:4:43", + "nodeType": "YulIdentifier", + "src": "15342:4:43" + }, + { + "kind": "number", + "nativeSrc": "15348:1:43", + "nodeType": "YulLiteral", + "src": "15348:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "15338:3:43", + "nodeType": "YulIdentifier", + "src": "15338:3:43" + }, + "nativeSrc": "15338:12:43", + "nodeType": "YulFunctionCall", + "src": "15338:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "15328:6:43", + "nodeType": "YulIdentifier", + "src": "15328:6:43" + } + ] + }, + { + "nativeSrc": "15359:38:43", + "nodeType": "YulVariableDeclaration", + "src": "15359:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "15389:4:43", + "nodeType": "YulIdentifier", + "src": "15389:4:43" + }, + { + "kind": "number", + "nativeSrc": "15395:1:43", + "nodeType": "YulLiteral", + "src": "15395:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "15385:3:43", + "nodeType": "YulIdentifier", + "src": "15385:3:43" + }, + "nativeSrc": "15385:12:43", + "nodeType": "YulFunctionCall", + "src": "15385:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "15363:18:43", + "nodeType": "YulTypedName", + "src": "15363:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15436:51:43", + "nodeType": "YulBlock", + "src": "15436:51:43", + "statements": [ + { + "nativeSrc": "15450:27:43", + "nodeType": "YulAssignment", + "src": "15450:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "15464:6:43", + "nodeType": "YulIdentifier", + "src": "15464:6:43" + }, + { + "kind": "number", + "nativeSrc": "15472:4:43", + "nodeType": "YulLiteral", + "src": "15472:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "15460:3:43", + "nodeType": "YulIdentifier", + "src": "15460:3:43" + }, + "nativeSrc": "15460:17:43", + "nodeType": "YulFunctionCall", + "src": "15460:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "15450:6:43", + "nodeType": "YulIdentifier", + "src": "15450:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "15416:18:43", + "nodeType": "YulIdentifier", + "src": "15416:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "15409:6:43", + "nodeType": "YulIdentifier", + "src": "15409:6:43" + }, + "nativeSrc": "15409:26:43", + "nodeType": "YulFunctionCall", + "src": "15409:26:43" + }, + "nativeSrc": "15406:81:43", + "nodeType": "YulIf", + "src": "15406:81:43" + }, + { + "body": { + "nativeSrc": "15539:42:43", + "nodeType": "YulBlock", + "src": "15539:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "15553:16:43", + "nodeType": "YulIdentifier", + "src": "15553:16:43" + }, + "nativeSrc": "15553:18:43", + "nodeType": "YulFunctionCall", + "src": "15553:18:43" + }, + "nativeSrc": "15553:18:43", + "nodeType": "YulExpressionStatement", + "src": "15553:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "15503:18:43", + "nodeType": "YulIdentifier", + "src": "15503:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "15526:6:43", + "nodeType": "YulIdentifier", + "src": "15526:6:43" + }, + { + "kind": "number", + "nativeSrc": "15534:2:43", + "nodeType": "YulLiteral", + "src": "15534:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "15523:2:43", + "nodeType": "YulIdentifier", + "src": "15523:2:43" + }, + "nativeSrc": "15523:14:43", + "nodeType": "YulFunctionCall", + "src": "15523:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "15500:2:43", + "nodeType": "YulIdentifier", + "src": "15500:2:43" + }, + "nativeSrc": "15500:38:43", + "nodeType": "YulFunctionCall", + "src": "15500:38:43" + }, + "nativeSrc": "15497:84:43", + "nodeType": "YulIf", + "src": "15497:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "15267:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "15302:4:43", + "nodeType": "YulTypedName", + "src": "15302:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "15311:6:43", + "nodeType": "YulTypedName", + "src": "15311:6:43", + "type": "" + } + ], + "src": "15267:320:43" + }, + { + "body": { + "nativeSrc": "15699:68:43", + "nodeType": "YulBlock", + "src": "15699:68:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15721:6:43", + "nodeType": "YulIdentifier", + "src": "15721:6:43" + }, + { + "kind": "number", + "nativeSrc": "15729:1:43", + "nodeType": "YulLiteral", + "src": "15729:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15717:3:43", + "nodeType": "YulIdentifier", + "src": "15717:3:43" + }, + "nativeSrc": "15717:14:43", + "nodeType": "YulFunctionCall", + "src": "15717:14:43" + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "kind": "string", + "nativeSrc": "15733:26:43", + "nodeType": "YulLiteral", + "src": "15733:26:43", + "type": "", + "value": "Airdrop already expired." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15710:6:43", + "nodeType": "YulIdentifier", + "src": "15710:6:43" + }, + "nativeSrc": "15710:50:43", + "nodeType": "YulFunctionCall", + "src": "15710:50:43" + }, + "nativeSrc": "15710:50:43", + "nodeType": "YulExpressionStatement", + "src": "15710:50:43" + } + ] + }, + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "15593:174:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "15691:6:43", + "nodeType": "YulTypedName", + "src": "15691:6:43", + "type": "" + } + ], + "src": "15593:174:43" + }, + { + "body": { + "nativeSrc": "15919:220:43", + "nodeType": "YulBlock", + "src": "15919:220:43", + "statements": [ + { + "nativeSrc": "15929:74:43", + "nodeType": "YulAssignment", + "src": "15929:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15995:3:43", + "nodeType": "YulIdentifier", + "src": "15995:3:43" + }, + { + "kind": "number", + "nativeSrc": "16000:2:43", + "nodeType": "YulLiteral", + "src": "16000:2:43", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "15936:58:43", + "nodeType": "YulIdentifier", + "src": "15936:58:43" + }, + "nativeSrc": "15936:67:43", + "nodeType": "YulFunctionCall", + "src": "15936:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15929:3:43", + "nodeType": "YulIdentifier", + "src": "15929:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16101:3:43", + "nodeType": "YulIdentifier", + "src": "16101:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "16012:88:43", + "nodeType": "YulIdentifier", + "src": "16012:88:43" + }, + "nativeSrc": "16012:93:43", + "nodeType": "YulFunctionCall", + "src": "16012:93:43" + }, + "nativeSrc": "16012:93:43", + "nodeType": "YulExpressionStatement", + "src": "16012:93:43" + }, + { + "nativeSrc": "16114:19:43", + "nodeType": "YulAssignment", + "src": "16114:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16125:3:43", + "nodeType": "YulIdentifier", + "src": "16125:3:43" + }, + { + "kind": "number", + "nativeSrc": "16130:2:43", + "nodeType": "YulLiteral", + "src": "16130:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16121:3:43", + "nodeType": "YulIdentifier", + "src": "16121:3:43" + }, + "nativeSrc": "16121:12:43", + "nodeType": "YulFunctionCall", + "src": "16121:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "16114:3:43", + "nodeType": "YulIdentifier", + "src": "16114:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15773:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15907:3:43", + "nodeType": "YulTypedName", + "src": "15907:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15915:3:43", + "nodeType": "YulTypedName", + "src": "15915:3:43", + "type": "" + } + ], + "src": "15773:366:43" + }, + { + "body": { + "nativeSrc": "16316:248:43", + "nodeType": "YulBlock", + "src": "16316:248:43", + "statements": [ + { + "nativeSrc": "16326:26:43", + "nodeType": "YulAssignment", + "src": "16326:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16338:9:43", + "nodeType": "YulIdentifier", + "src": "16338:9:43" + }, + { + "kind": "number", + "nativeSrc": "16349:2:43", + "nodeType": "YulLiteral", + "src": "16349:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16334:3:43", + "nodeType": "YulIdentifier", + "src": "16334:3:43" + }, + "nativeSrc": "16334:18:43", + "nodeType": "YulFunctionCall", + "src": "16334:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16326:4:43", + "nodeType": "YulIdentifier", + "src": "16326:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16373:9:43", + "nodeType": "YulIdentifier", + "src": "16373:9:43" + }, + { + "kind": "number", + "nativeSrc": "16384:1:43", + "nodeType": "YulLiteral", + "src": "16384:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16369:3:43", + "nodeType": "YulIdentifier", + "src": "16369:3:43" + }, + "nativeSrc": "16369:17:43", + "nodeType": "YulFunctionCall", + "src": "16369:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16392:4:43", + "nodeType": "YulIdentifier", + "src": "16392:4:43" + }, + { + "name": "headStart", + "nativeSrc": "16398:9:43", + "nodeType": "YulIdentifier", + "src": "16398:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16388:3:43", + "nodeType": "YulIdentifier", + "src": "16388:3:43" + }, + "nativeSrc": "16388:20:43", + "nodeType": "YulFunctionCall", + "src": "16388:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16362:6:43", + "nodeType": "YulIdentifier", + "src": "16362:6:43" + }, + "nativeSrc": "16362:47:43", + "nodeType": "YulFunctionCall", + "src": "16362:47:43" + }, + "nativeSrc": "16362:47:43", + "nodeType": "YulExpressionStatement", + "src": "16362:47:43" + }, + { + "nativeSrc": "16418:139:43", + "nodeType": "YulAssignment", + "src": "16418:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16552:4:43", + "nodeType": "YulIdentifier", + "src": "16552:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16426:124:43", + "nodeType": "YulIdentifier", + "src": "16426:124:43" + }, + "nativeSrc": "16426:131:43", + "nodeType": "YulFunctionCall", + "src": "16426:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16418:4:43", + "nodeType": "YulIdentifier", + "src": "16418:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "16145:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16296:9:43", + "nodeType": "YulTypedName", + "src": "16296:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16311:4:43", + "nodeType": "YulTypedName", + "src": "16311:4:43", + "type": "" + } + ], + "src": "16145:419:43" + }, + { + "body": { + "nativeSrc": "16676:122:43", + "nodeType": "YulBlock", + "src": "16676:122:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16698:6:43", + "nodeType": "YulIdentifier", + "src": "16698:6:43" + }, + { + "kind": "number", + "nativeSrc": "16706:1:43", + "nodeType": "YulLiteral", + "src": "16706:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16694:3:43", + "nodeType": "YulIdentifier", + "src": "16694:3:43" + }, + "nativeSrc": "16694:14:43", + "nodeType": "YulFunctionCall", + "src": "16694:14:43" + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d6564", + "kind": "string", + "nativeSrc": "16710:34:43", + "nodeType": "YulLiteral", + "src": "16710:34:43", + "type": "", + "value": "Airdrop has been totally claimed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16687:6:43", + "nodeType": "YulIdentifier", + "src": "16687:6:43" + }, + "nativeSrc": "16687:58:43", + "nodeType": "YulFunctionCall", + "src": "16687:58:43" + }, + "nativeSrc": "16687:58:43", + "nodeType": "YulExpressionStatement", + "src": "16687:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "16766:6:43", + "nodeType": "YulIdentifier", + "src": "16766:6:43" + }, + { + "kind": "number", + "nativeSrc": "16774:2:43", + "nodeType": "YulLiteral", + "src": "16774:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16762:3:43", + "nodeType": "YulIdentifier", + "src": "16762:3:43" + }, + "nativeSrc": "16762:15:43", + "nodeType": "YulFunctionCall", + "src": "16762:15:43" + }, + { + "hexValue": "20616c72656164792e", + "kind": "string", + "nativeSrc": "16779:11:43", + "nodeType": "YulLiteral", + "src": "16779:11:43", + "type": "", + "value": " already." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16755:6:43", + "nodeType": "YulIdentifier", + "src": "16755:6:43" + }, + "nativeSrc": "16755:36:43", + "nodeType": "YulFunctionCall", + "src": "16755:36:43" + }, + "nativeSrc": "16755:36:43", + "nodeType": "YulExpressionStatement", + "src": "16755:36:43" + } + ] + }, + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "16570:228:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "16668:6:43", + "nodeType": "YulTypedName", + "src": "16668:6:43", + "type": "" + } + ], + "src": "16570:228:43" + }, + { + "body": { + "nativeSrc": "16950:220:43", + "nodeType": "YulBlock", + "src": "16950:220:43", + "statements": [ + { + "nativeSrc": "16960:74:43", + "nodeType": "YulAssignment", + "src": "16960:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17026:3:43", + "nodeType": "YulIdentifier", + "src": "17026:3:43" + }, + { + "kind": "number", + "nativeSrc": "17031:2:43", + "nodeType": "YulLiteral", + "src": "17031:2:43", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "16967:58:43", + "nodeType": "YulIdentifier", + "src": "16967:58:43" + }, + "nativeSrc": "16967:67:43", + "nodeType": "YulFunctionCall", + "src": "16967:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16960:3:43", + "nodeType": "YulIdentifier", + "src": "16960:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17132:3:43", + "nodeType": "YulIdentifier", + "src": "17132:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "17043:88:43", + "nodeType": "YulIdentifier", + "src": "17043:88:43" + }, + "nativeSrc": "17043:93:43", + "nodeType": "YulFunctionCall", + "src": "17043:93:43" + }, + "nativeSrc": "17043:93:43", + "nodeType": "YulExpressionStatement", + "src": "17043:93:43" + }, + { + "nativeSrc": "17145:19:43", + "nodeType": "YulAssignment", + "src": "17145:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17156:3:43", + "nodeType": "YulIdentifier", + "src": "17156:3:43" + }, + { + "kind": "number", + "nativeSrc": "17161:2:43", + "nodeType": "YulLiteral", + "src": "17161:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17152:3:43", + "nodeType": "YulIdentifier", + "src": "17152:3:43" + }, + "nativeSrc": "17152:12:43", + "nodeType": "YulFunctionCall", + "src": "17152:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17145:3:43", + "nodeType": "YulIdentifier", + "src": "17145:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16804:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "16938:3:43", + "nodeType": "YulTypedName", + "src": "16938:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "16946:3:43", + "nodeType": "YulTypedName", + "src": "16946:3:43", + "type": "" + } + ], + "src": "16804:366:43" + }, + { + "body": { + "nativeSrc": "17347:248:43", + "nodeType": "YulBlock", + "src": "17347:248:43", + "statements": [ + { + "nativeSrc": "17357:26:43", + "nodeType": "YulAssignment", + "src": "17357:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17369:9:43", + "nodeType": "YulIdentifier", + "src": "17369:9:43" + }, + { + "kind": "number", + "nativeSrc": "17380:2:43", + "nodeType": "YulLiteral", + "src": "17380:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17365:3:43", + "nodeType": "YulIdentifier", + "src": "17365:3:43" + }, + "nativeSrc": "17365:18:43", + "nodeType": "YulFunctionCall", + "src": "17365:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17357:4:43", + "nodeType": "YulIdentifier", + "src": "17357:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17404:9:43", + "nodeType": "YulIdentifier", + "src": "17404:9:43" + }, + { + "kind": "number", + "nativeSrc": "17415:1:43", + "nodeType": "YulLiteral", + "src": "17415:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17400:3:43", + "nodeType": "YulIdentifier", + "src": "17400:3:43" + }, + "nativeSrc": "17400:17:43", + "nodeType": "YulFunctionCall", + "src": "17400:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17423:4:43", + "nodeType": "YulIdentifier", + "src": "17423:4:43" + }, + { + "name": "headStart", + "nativeSrc": "17429:9:43", + "nodeType": "YulIdentifier", + "src": "17429:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17419:3:43", + "nodeType": "YulIdentifier", + "src": "17419:3:43" + }, + "nativeSrc": "17419:20:43", + "nodeType": "YulFunctionCall", + "src": "17419:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17393:6:43", + "nodeType": "YulIdentifier", + "src": "17393:6:43" + }, + "nativeSrc": "17393:47:43", + "nodeType": "YulFunctionCall", + "src": "17393:47:43" + }, + "nativeSrc": "17393:47:43", + "nodeType": "YulExpressionStatement", + "src": "17393:47:43" + }, + { + "nativeSrc": "17449:139:43", + "nodeType": "YulAssignment", + "src": "17449:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17583:4:43", + "nodeType": "YulIdentifier", + "src": "17583:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17457:124:43", + "nodeType": "YulIdentifier", + "src": "17457:124:43" + }, + "nativeSrc": "17457:131:43", + "nodeType": "YulFunctionCall", + "src": "17457:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17449:4:43", + "nodeType": "YulIdentifier", + "src": "17449:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17176:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17327:9:43", + "nodeType": "YulTypedName", + "src": "17327:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17342:4:43", + "nodeType": "YulTypedName", + "src": "17342:4:43", + "type": "" + } + ], + "src": "17176:419:43" + }, + { + "body": { + "nativeSrc": "17696:73:43", + "nodeType": "YulBlock", + "src": "17696:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17713:3:43", + "nodeType": "YulIdentifier", + "src": "17713:3:43" + }, + { + "name": "length", + "nativeSrc": "17718:6:43", + "nodeType": "YulIdentifier", + "src": "17718:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17706:6:43", + "nodeType": "YulIdentifier", + "src": "17706:6:43" + }, + "nativeSrc": "17706:19:43", + "nodeType": "YulFunctionCall", + "src": "17706:19:43" + }, + "nativeSrc": "17706:19:43", + "nodeType": "YulExpressionStatement", + "src": "17706:19:43" + }, + { + "nativeSrc": "17734:29:43", + "nodeType": "YulAssignment", + "src": "17734:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17753:3:43", + "nodeType": "YulIdentifier", + "src": "17753:3:43" + }, + { + "kind": "number", + "nativeSrc": "17758:4:43", + "nodeType": "YulLiteral", + "src": "17758:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17749:3:43", + "nodeType": "YulIdentifier", + "src": "17749:3:43" + }, + "nativeSrc": "17749:14:43", + "nodeType": "YulFunctionCall", + "src": "17749:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "17734:11:43", + "nodeType": "YulIdentifier", + "src": "17734:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "17601:168:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17668:3:43", + "nodeType": "YulTypedName", + "src": "17668:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "17673:6:43", + "nodeType": "YulTypedName", + "src": "17673:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "17684:11:43", + "nodeType": "YulTypedName", + "src": "17684:11:43", + "type": "" + } + ], + "src": "17601:168:43" + }, + { + "body": { + "nativeSrc": "17881:8:43", + "nodeType": "YulBlock", + "src": "17881:8:43", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "17775:114:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "17873:6:43", + "nodeType": "YulTypedName", + "src": "17873:6:43", + "type": "" + } + ], + "src": "17775:114:43" + }, + { + "body": { + "nativeSrc": "18040:217:43", + "nodeType": "YulBlock", + "src": "18040:217:43", + "statements": [ + { + "nativeSrc": "18050:72:43", + "nodeType": "YulAssignment", + "src": "18050:72:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18115:3:43", + "nodeType": "YulIdentifier", + "src": "18115:3:43" + }, + { + "kind": "number", + "nativeSrc": "18120:1:43", + "nodeType": "YulLiteral", + "src": "18120:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "18057:57:43", + "nodeType": "YulIdentifier", + "src": "18057:57:43" + }, + "nativeSrc": "18057:65:43", + "nodeType": "YulFunctionCall", + "src": "18057:65:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18050:3:43", + "nodeType": "YulIdentifier", + "src": "18050:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18220:3:43", + "nodeType": "YulIdentifier", + "src": "18220:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nativeSrc": "18131:88:43", + "nodeType": "YulIdentifier", + "src": "18131:88:43" + }, + "nativeSrc": "18131:93:43", + "nodeType": "YulFunctionCall", + "src": "18131:93:43" + }, + "nativeSrc": "18131:93:43", + "nodeType": "YulExpressionStatement", + "src": "18131:93:43" + }, + { + "nativeSrc": "18233:18:43", + "nodeType": "YulAssignment", + "src": "18233:18:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18244:3:43", + "nodeType": "YulIdentifier", + "src": "18244:3:43" + }, + { + "kind": "number", + "nativeSrc": "18249:1:43", + "nodeType": "YulLiteral", + "src": "18249:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18240:3:43", + "nodeType": "YulIdentifier", + "src": "18240:3:43" + }, + "nativeSrc": "18240:11:43", + "nodeType": "YulFunctionCall", + "src": "18240:11:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18233:3:43", + "nodeType": "YulIdentifier", + "src": "18233:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "17895:362:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18028:3:43", + "nodeType": "YulTypedName", + "src": "18028:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18036:3:43", + "nodeType": "YulTypedName", + "src": "18036:3:43", + "type": "" + } + ], + "src": "17895:362:43" + }, + { + "body": { + "nativeSrc": "18545:577:43", + "nodeType": "YulBlock", + "src": "18545:577:43", + "statements": [ + { + "nativeSrc": "18555:27:43", + "nodeType": "YulAssignment", + "src": "18555:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18567:9:43", + "nodeType": "YulIdentifier", + "src": "18567:9:43" + }, + { + "kind": "number", + "nativeSrc": "18578:3:43", + "nodeType": "YulLiteral", + "src": "18578:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18563:3:43", + "nodeType": "YulIdentifier", + "src": "18563:3:43" + }, + "nativeSrc": "18563:19:43", + "nodeType": "YulFunctionCall", + "src": "18563:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18555:4:43", + "nodeType": "YulIdentifier", + "src": "18555:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "18636:6:43", + "nodeType": "YulIdentifier", + "src": "18636:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18649:9:43", + "nodeType": "YulIdentifier", + "src": "18649:9:43" + }, + { + "kind": "number", + "nativeSrc": "18660:1:43", + "nodeType": "YulLiteral", + "src": "18660:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18645:3:43", + "nodeType": "YulIdentifier", + "src": "18645:3:43" + }, + "nativeSrc": "18645:17:43", + "nodeType": "YulFunctionCall", + "src": "18645:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "18592:43:43", + "nodeType": "YulIdentifier", + "src": "18592:43:43" + }, + "nativeSrc": "18592:71:43", + "nodeType": "YulFunctionCall", + "src": "18592:71:43" + }, + "nativeSrc": "18592:71:43", + "nodeType": "YulExpressionStatement", + "src": "18592:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "18717:6:43", + "nodeType": "YulIdentifier", + "src": "18717:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18730:9:43", + "nodeType": "YulIdentifier", + "src": "18730:9:43" + }, + { + "kind": "number", + "nativeSrc": "18741:2:43", + "nodeType": "YulLiteral", + "src": "18741:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18726:3:43", + "nodeType": "YulIdentifier", + "src": "18726:3:43" + }, + "nativeSrc": "18726:18:43", + "nodeType": "YulFunctionCall", + "src": "18726:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "18673:43:43", + "nodeType": "YulIdentifier", + "src": "18673:43:43" + }, + "nativeSrc": "18673:72:43", + "nodeType": "YulFunctionCall", + "src": "18673:72:43" + }, + "nativeSrc": "18673:72:43", + "nodeType": "YulExpressionStatement", + "src": "18673:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "18799:6:43", + "nodeType": "YulIdentifier", + "src": "18799:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18812:9:43", + "nodeType": "YulIdentifier", + "src": "18812:9:43" + }, + { + "kind": "number", + "nativeSrc": "18823:2:43", + "nodeType": "YulLiteral", + "src": "18823:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18808:3:43", + "nodeType": "YulIdentifier", + "src": "18808:3:43" + }, + "nativeSrc": "18808:18:43", + "nodeType": "YulFunctionCall", + "src": "18808:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "18755:43:43", + "nodeType": "YulIdentifier", + "src": "18755:43:43" + }, + "nativeSrc": "18755:72:43", + "nodeType": "YulFunctionCall", + "src": "18755:72:43" + }, + "nativeSrc": "18755:72:43", + "nodeType": "YulExpressionStatement", + "src": "18755:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "18881:6:43", + "nodeType": "YulIdentifier", + "src": "18881:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18894:9:43", + "nodeType": "YulIdentifier", + "src": "18894:9:43" + }, + { + "kind": "number", + "nativeSrc": "18905:2:43", + "nodeType": "YulLiteral", + "src": "18905:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18890:3:43", + "nodeType": "YulIdentifier", + "src": "18890:3:43" + }, + "nativeSrc": "18890:18:43", + "nodeType": "YulFunctionCall", + "src": "18890:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "18837:43:43", + "nodeType": "YulIdentifier", + "src": "18837:43:43" + }, + "nativeSrc": "18837:72:43", + "nodeType": "YulFunctionCall", + "src": "18837:72:43" + }, + "nativeSrc": "18837:72:43", + "nodeType": "YulExpressionStatement", + "src": "18837:72:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18930:9:43", + "nodeType": "YulIdentifier", + "src": "18930:9:43" + }, + { + "kind": "number", + "nativeSrc": "18941:3:43", + "nodeType": "YulLiteral", + "src": "18941:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18926:3:43", + "nodeType": "YulIdentifier", + "src": "18926:3:43" + }, + "nativeSrc": "18926:19:43", + "nodeType": "YulFunctionCall", + "src": "18926:19:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18951:4:43", + "nodeType": "YulIdentifier", + "src": "18951:4:43" + }, + { + "name": "headStart", + "nativeSrc": "18957:9:43", + "nodeType": "YulIdentifier", + "src": "18957:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18947:3:43", + "nodeType": "YulIdentifier", + "src": "18947:3:43" + }, + "nativeSrc": "18947:20:43", + "nodeType": "YulFunctionCall", + "src": "18947:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18919:6:43", + "nodeType": "YulIdentifier", + "src": "18919:6:43" + }, + "nativeSrc": "18919:49:43", + "nodeType": "YulFunctionCall", + "src": "18919:49:43" + }, + "nativeSrc": "18919:49:43", + "nodeType": "YulExpressionStatement", + "src": "18919:49:43" + }, + { + "nativeSrc": "18977:138:43", + "nodeType": "YulAssignment", + "src": "18977:138:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19110:4:43", + "nodeType": "YulIdentifier", + "src": "19110:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "18985:123:43", + "nodeType": "YulIdentifier", + "src": "18985:123:43" + }, + "nativeSrc": "18985:130:43", + "nodeType": "YulFunctionCall", + "src": "18985:130:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18977:4:43", + "nodeType": "YulIdentifier", + "src": "18977:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "18263:859:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18493:9:43", + "nodeType": "YulTypedName", + "src": "18493:9:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "18505:6:43", + "nodeType": "YulTypedName", + "src": "18505:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "18513:6:43", + "nodeType": "YulTypedName", + "src": "18513:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "18521:6:43", + "nodeType": "YulTypedName", + "src": "18521:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18529:6:43", + "nodeType": "YulTypedName", + "src": "18529:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18540:4:43", + "nodeType": "YulTypedName", + "src": "18540:4:43", + "type": "" + } + ], + "src": "18263:859:43" + }, + { + "body": { + "nativeSrc": "19156:152:43", + "nodeType": "YulBlock", + "src": "19156:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19173:1:43", + "nodeType": "YulLiteral", + "src": "19173:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "19176:77:43", + "nodeType": "YulLiteral", + "src": "19176:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19166:6:43", + "nodeType": "YulIdentifier", + "src": "19166:6:43" + }, + "nativeSrc": "19166:88:43", + "nodeType": "YulFunctionCall", + "src": "19166:88:43" + }, + "nativeSrc": "19166:88:43", + "nodeType": "YulExpressionStatement", + "src": "19166:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19270:1:43", + "nodeType": "YulLiteral", + "src": "19270:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "19273:4:43", + "nodeType": "YulLiteral", + "src": "19273:4:43", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19263:6:43", + "nodeType": "YulIdentifier", + "src": "19263:6:43" + }, + "nativeSrc": "19263:15:43", + "nodeType": "YulFunctionCall", + "src": "19263:15:43" + }, + "nativeSrc": "19263:15:43", + "nodeType": "YulExpressionStatement", + "src": "19263:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19294:1:43", + "nodeType": "YulLiteral", + "src": "19294:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "19297:4:43", + "nodeType": "YulLiteral", + "src": "19297:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "19287:6:43", + "nodeType": "YulIdentifier", + "src": "19287:6:43" + }, + "nativeSrc": "19287:15:43", + "nodeType": "YulFunctionCall", + "src": "19287:15:43" + }, + "nativeSrc": "19287:15:43", + "nodeType": "YulExpressionStatement", + "src": "19287:15:43" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "19128:180:43", + "nodeType": "YulFunctionDefinition", + "src": "19128:180:43" + }, + { + "body": { + "nativeSrc": "19359:149:43", + "nodeType": "YulBlock", + "src": "19359:149:43", + "statements": [ + { + "nativeSrc": "19369:25:43", + "nodeType": "YulAssignment", + "src": "19369:25:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "19392:1:43", + "nodeType": "YulIdentifier", + "src": "19392:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "19374:17:43", + "nodeType": "YulIdentifier", + "src": "19374:17:43" + }, + "nativeSrc": "19374:20:43", + "nodeType": "YulFunctionCall", + "src": "19374:20:43" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "19369:1:43", + "nodeType": "YulIdentifier", + "src": "19369:1:43" + } + ] + }, + { + "nativeSrc": "19403:25:43", + "nodeType": "YulAssignment", + "src": "19403:25:43", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "19426:1:43", + "nodeType": "YulIdentifier", + "src": "19426:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "19408:17:43", + "nodeType": "YulIdentifier", + "src": "19408:17:43" + }, + "nativeSrc": "19408:20:43", + "nodeType": "YulFunctionCall", + "src": "19408:20:43" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "19403:1:43", + "nodeType": "YulIdentifier", + "src": "19403:1:43" + } + ] + }, + { + "nativeSrc": "19437:17:43", + "nodeType": "YulAssignment", + "src": "19437:17:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "19449:1:43", + "nodeType": "YulIdentifier", + "src": "19449:1:43" + }, + { + "name": "y", + "nativeSrc": "19452:1:43", + "nodeType": "YulIdentifier", + "src": "19452:1:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19445:3:43", + "nodeType": "YulIdentifier", + "src": "19445:3:43" + }, + "nativeSrc": "19445:9:43", + "nodeType": "YulFunctionCall", + "src": "19445:9:43" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "19437:4:43", + "nodeType": "YulIdentifier", + "src": "19437:4:43" + } + ] + }, + { + "body": { + "nativeSrc": "19479:22:43", + "nodeType": "YulBlock", + "src": "19479:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "19481:16:43", + "nodeType": "YulIdentifier", + "src": "19481:16:43" + }, + "nativeSrc": "19481:18:43", + "nodeType": "YulFunctionCall", + "src": "19481:18:43" + }, + "nativeSrc": "19481:18:43", + "nodeType": "YulExpressionStatement", + "src": "19481:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "19470:4:43", + "nodeType": "YulIdentifier", + "src": "19470:4:43" + }, + { + "name": "x", + "nativeSrc": "19476:1:43", + "nodeType": "YulIdentifier", + "src": "19476:1:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "19467:2:43", + "nodeType": "YulIdentifier", + "src": "19467:2:43" + }, + "nativeSrc": "19467:11:43", + "nodeType": "YulFunctionCall", + "src": "19467:11:43" + }, + "nativeSrc": "19464:37:43", + "nodeType": "YulIf", + "src": "19464:37:43" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "19314:194:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "19345:1:43", + "nodeType": "YulTypedName", + "src": "19345:1:43", + "type": "" + }, + { + "name": "y", + "nativeSrc": "19348:1:43", + "nodeType": "YulTypedName", + "src": "19348:1:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "19354:4:43", + "nodeType": "YulTypedName", + "src": "19354:4:43", + "type": "" + } + ], + "src": "19314:194:43" + }, + { + "body": { + "nativeSrc": "19561:32:43", + "nodeType": "YulBlock", + "src": "19561:32:43", + "statements": [ + { + "nativeSrc": "19571:16:43", + "nodeType": "YulAssignment", + "src": "19571:16:43", + "value": { + "name": "value", + "nativeSrc": "19582:5:43", + "nodeType": "YulIdentifier", + "src": "19582:5:43" + }, + "variableNames": [ + { + "name": "aligned", + "nativeSrc": "19571:7:43", + "nodeType": "YulIdentifier", + "src": "19571:7:43" + } + ] + } + ] + }, + "name": "leftAlign_t_bytes32", + "nativeSrc": "19514:79:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "19543:5:43", + "nodeType": "YulTypedName", + "src": "19543:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nativeSrc": "19553:7:43", + "nodeType": "YulTypedName", + "src": "19553:7:43", + "type": "" + } + ], + "src": "19514:79:43" + }, + { + "body": { + "nativeSrc": "19682:74:43", + "nodeType": "YulBlock", + "src": "19682:74:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19699:3:43", + "nodeType": "YulIdentifier", + "src": "19699:3:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "19742:5:43", + "nodeType": "YulIdentifier", + "src": "19742:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "19724:17:43", + "nodeType": "YulIdentifier", + "src": "19724:17:43" + }, + "nativeSrc": "19724:24:43", + "nodeType": "YulFunctionCall", + "src": "19724:24:43" + } + ], + "functionName": { + "name": "leftAlign_t_bytes32", + "nativeSrc": "19704:19:43", + "nodeType": "YulIdentifier", + "src": "19704:19:43" + }, + "nativeSrc": "19704:45:43", + "nodeType": "YulFunctionCall", + "src": "19704:45:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19692:6:43", + "nodeType": "YulIdentifier", + "src": "19692:6:43" + }, + "nativeSrc": "19692:58:43", + "nodeType": "YulFunctionCall", + "src": "19692:58:43" + }, + "nativeSrc": "19692:58:43", + "nodeType": "YulExpressionStatement", + "src": "19692:58:43" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "19599:157:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "19670:5:43", + "nodeType": "YulTypedName", + "src": "19670:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "19677:3:43", + "nodeType": "YulTypedName", + "src": "19677:3:43", + "type": "" + } + ], + "src": "19599:157:43" + }, + { + "body": { + "nativeSrc": "19878:140:43", + "nodeType": "YulBlock", + "src": "19878:140:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "19951:6:43", + "nodeType": "YulIdentifier", + "src": "19951:6:43" + }, + { + "name": "pos", + "nativeSrc": "19960:3:43", + "nodeType": "YulIdentifier", + "src": "19960:3:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "19889:61:43", + "nodeType": "YulIdentifier", + "src": "19889:61:43" + }, + "nativeSrc": "19889:75:43", + "nodeType": "YulFunctionCall", + "src": "19889:75:43" + }, + "nativeSrc": "19889:75:43", + "nodeType": "YulExpressionStatement", + "src": "19889:75:43" + }, + { + "nativeSrc": "19973:19:43", + "nodeType": "YulAssignment", + "src": "19973:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19984:3:43", + "nodeType": "YulIdentifier", + "src": "19984:3:43" + }, + { + "kind": "number", + "nativeSrc": "19989:2:43", + "nodeType": "YulLiteral", + "src": "19989:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19980:3:43", + "nodeType": "YulIdentifier", + "src": "19980:3:43" + }, + "nativeSrc": "19980:12:43", + "nodeType": "YulFunctionCall", + "src": "19980:12:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19973:3:43", + "nodeType": "YulIdentifier", + "src": "19973:3:43" + } + ] + }, + { + "nativeSrc": "20002:10:43", + "nodeType": "YulAssignment", + "src": "20002:10:43", + "value": { + "name": "pos", + "nativeSrc": "20009:3:43", + "nodeType": "YulIdentifier", + "src": "20009:3:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "20002:3:43", + "nodeType": "YulIdentifier", + "src": "20002:3:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "19762:256:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19857:3:43", + "nodeType": "YulTypedName", + "src": "19857:3:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "19863:6:43", + "nodeType": "YulTypedName", + "src": "19863:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19874:3:43", + "nodeType": "YulTypedName", + "src": "19874:3:43", + "type": "" + } + ], + "src": "19762:256:43" + }, + { + "body": { + "nativeSrc": "20052:152:43", + "nodeType": "YulBlock", + "src": "20052:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20069:1:43", + "nodeType": "YulLiteral", + "src": "20069:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "20072:77:43", + "nodeType": "YulLiteral", + "src": "20072:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20062:6:43", + "nodeType": "YulIdentifier", + "src": "20062:6:43" + }, + "nativeSrc": "20062:88:43", + "nodeType": "YulFunctionCall", + "src": "20062:88:43" + }, + "nativeSrc": "20062:88:43", + "nodeType": "YulExpressionStatement", + "src": "20062:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20166:1:43", + "nodeType": "YulLiteral", + "src": "20166:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "20169:4:43", + "nodeType": "YulLiteral", + "src": "20169:4:43", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20159:6:43", + "nodeType": "YulIdentifier", + "src": "20159:6:43" + }, + "nativeSrc": "20159:15:43", + "nodeType": "YulFunctionCall", + "src": "20159:15:43" + }, + "nativeSrc": "20159:15:43", + "nodeType": "YulExpressionStatement", + "src": "20159:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20190:1:43", + "nodeType": "YulLiteral", + "src": "20190:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "20193:4:43", + "nodeType": "YulLiteral", + "src": "20193:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "20183:6:43", + "nodeType": "YulIdentifier", + "src": "20183:6:43" + }, + "nativeSrc": "20183:15:43", + "nodeType": "YulFunctionCall", + "src": "20183:15:43" + }, + "nativeSrc": "20183:15:43", + "nodeType": "YulExpressionStatement", + "src": "20183:15:43" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "20024:180:43", + "nodeType": "YulFunctionDefinition", + "src": "20024:180:43" + } + ] + }, + "contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$11645(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$11645(value)\n }\n\n function convert_t_enum$_AirdropType_$11645_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$11645_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\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_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already expired.\")\n\n }\n\n function abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__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_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop has been totally claimed\")\n\n mstore(add(memPtr, 32), \" already.\")\n\n }\n\n function abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__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_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220c89d20e715bb8b1741d20dd3617fd1af69293dba68a2aac4954cf6a82d0bd78764736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 SWAP14 KECCAK256 0xE7 ISZERO 0xBB DUP12 OR COINBASE 0xD2 0xD 0xD3 PUSH2 0x7FD1 0xAF PUSH10 0x293DBA68A2AAC4954CF6 0xA8 0x2D SIGNEXTEND 0xD7 DUP8 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "232:3603:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3335:124;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2443:209;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1434:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3115:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3708:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3012:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;2769:126:35;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;736:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2901:105:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2658;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3226:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1350:78;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;603:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3465:237;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3335:124:35;3377:7;3403:14;;;;;;;;;;;:24;;;3436:4;3443:8;;3403:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3396:56;;3335:124;:::o;2443:209::-;2489:18;;:::i;:::-;2526:119;;;;;;;;2538:12;2526:119;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2560:4;2526:119;;;;;;2567:19;;2526:119;;;;2588:18;;2526:119;;;;2608:1;2526:119;;;;2611:15;;2526:119;;;;2628:12;;;;;;;;;;;2526:119;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2519:126;;2443:209;:::o;1434:133::-;1531:13:0;:11;:13::i;:::-;1533:27:35::1;1540:4;1546:6;1554:5;;1533:6;:27::i;:::-;1434:133:::0;;;;:::o;3115:105::-;3168:7;3194:19;;3187:26;;3115:105;:::o;3708:125::-;3747:13;3802:24;;;;;;;;;;;;;;;;;;;3708:125;:::o;3012:97::-;3061:7;3087:15;;3080:22;;3012:97;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2769:126:35:-;2827:4;2850:28;:38;2879:8;2850:38;;;;;;;;;;;;;;;;;;;;;;;;;2843:45;;2769:126;;;:::o;736:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;2901:105:35:-;2943:4;2984:15;2966;;:33;2959:40;;2901:105;:::o;2658:::-;2711:4;2755:1;2734:18;;:22;2727:29;;2658:105;:::o;3226:103::-;3278:7;3304:18;;3297:25;;3226:103;:::o;1350:78::-;1531:13:0;:11;:13::i;:::-;1416:5:35::1;1409:4;:12;;;;1350:78:::0;:::o;603:19::-;;;;:::o;3465:237::-;3593:6;3625:69;3611:84;;3465:237;;;;;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;1573:684:35:-;1669:12;1684:28;1695:7;1704;1684:10;:28::i;:::-;1669:43;;1728:46;1755:6;;1763:4;;1769;1728:26;:46::i;:::-;1723:74;;1783:14;;;;;;;;;;;;;;1723:74;1811:11;:17;1823:4;1811:17;;;;;;;;;;;;;;;;;;;;;1807:40;;;1837:10;;;;;;;;;;;;;;1807:40;1877:4;1857:11;:17;1869:4;1857:17;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;1900:12;:10;:12::i;:::-;1899:13;1891:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1960:23;:21;:23::i;:::-;1959:24;1951:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2040:14;;;;;;;;;;;:31;;;2080:4;2087:7;2096:8;;2106:7;2040:78;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2150:7;2128:18;;:29;;;;;;;:::i;:::-;;;;;;;;2207:4;2167:28;:37;2196:7;2167:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;2227:23;2233:7;2242;2227:23;;;;;;;:::i;:::-;;;;;;;;1659:598;1573:684;;;;:::o;2912:187:0:-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:16:-;709:7;735:10;728:17;;656:96;:::o;2263:174:35:-;2340:7;2410;2419;2399:28;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2389:39;;;;;;2376:53;;;;;;;;:::i;:::-;;;;;;;;;;;;;2366:64;;;;;;2359:71;;2263:174;;;;:::o;4637:172:26:-;4738:4;4798;4761:33;4782:5;;4789:4;4761:20;:33::i;:::-;:41;4754:48;;4637:172;;;;;;:::o;5212:318::-;5305:7;5324:20;5347:4;5324:27;;5366:9;5361:134;5385:5;;:12;;5381:1;:16;5361:134;;;5433:51;5461:12;5475:5;;5481:1;5475:8;;;;;;;:::i;:::-;;;;;;;;5433:27;:51::i;:::-;5418:66;;5399:3;;;;;;;5361:134;;;;5511:12;5504:19;;;5212:318;;;;;:::o;504:169:25:-;579:7;609:1;605;:5;:61;;641:25;661:1;664;641:19;:25::i;:::-;605:61;;;613:25;633:1;636;613:19;:25::i;:::-;605:61;598:68;;504:169;;;;:::o;793:239::-;866:13;943:1;937:4;930:15;971:1;965:4;958:15;1011:4;1005;995:21;986:30;;793:239;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:77:43:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:159::-;621:11;655:6;650:3;643:19;695:4;690:3;686:14;671:29;;547:159;;;;:::o;712:246::-;793:1;803:113;817:6;814:1;811:13;803:113;;;902:1;897:3;893:11;887:18;883:1;878:3;874:11;867:39;839:2;836:1;832:10;827:15;;803:113;;;950:1;941:6;936:3;932:16;925:27;774:184;712:246;;;:::o;964:102::-;1005:6;1056:2;1052:7;1047:2;1040:5;1036:14;1032:28;1022:38;;964:102;;;:::o;1072:357::-;1150:3;1178:39;1211:5;1178:39;:::i;:::-;1233:61;1287:6;1282:3;1233:61;:::i;:::-;1226:68;;1303:65;1361:6;1356:3;1349:4;1342:5;1338:16;1303:65;:::i;:::-;1393:29;1415:6;1393:29;:::i;:::-;1388:3;1384:39;1377:46;;1154:275;1072:357;;;;:::o;1435:126::-;1472:7;1512:42;1505:5;1501:54;1490:65;;1435:126;;;:::o;1567:96::-;1604:7;1633:24;1651:5;1633:24;:::i;:::-;1622:35;;1567:96;;;:::o;1669:108::-;1746:24;1764:5;1746:24;:::i;:::-;1741:3;1734:37;1669:108;;:::o;1783:::-;1860:24;1878:5;1860:24;:::i;:::-;1855:3;1848:37;1783:108;;:::o;1897:180::-;1945:77;1942:1;1935:88;2042:4;2039:1;2032:15;2066:4;2063:1;2056:15;2083:122;2173:1;2166:5;2163:12;2153:46;;2179:18;;:::i;:::-;2153:46;2083:122;:::o;2211:145::-;2265:7;2294:5;2283:16;;2300:50;2344:5;2300:50;:::i;:::-;2211:145;;;:::o;2362:::-;2427:9;2460:41;2495:5;2460:41;:::i;:::-;2447:54;;2362:145;;;:::o;2513:151::-;2605:52;2651:5;2605:52;:::i;:::-;2600:3;2593:65;2513:151;;:::o;2718:1815::-;2847:3;2883:6;2878:3;2874:16;2979:4;2972:5;2968:16;2962:23;3032:3;3026:4;3022:14;3015:4;3010:3;3006:14;2999:38;3058:73;3126:4;3112:12;3058:73;:::i;:::-;3050:81;;2900:242;3234:4;3227:5;3223:16;3217:23;3253:63;3310:4;3305:3;3301:14;3287:12;3253:63;:::i;:::-;3152:174;3422:4;3415:5;3411:16;3405:23;3441:63;3498:4;3493:3;3489:14;3475:12;3441:63;:::i;:::-;3336:178;3609:4;3602:5;3598:16;3592:23;3628:63;3685:4;3680:3;3676:14;3662:12;3628:63;:::i;:::-;3524:177;3790:4;3783:5;3779:16;3773:23;3809:63;3866:4;3861:3;3857:14;3843:12;3809:63;:::i;:::-;3711:171;3974:4;3967:5;3963:16;3957:23;3993:63;4050:4;4045:3;4041:14;4027:12;3993:63;:::i;:::-;3892:174;4155:4;4148:5;4144:16;4138:23;4174:78;4246:4;4241:3;4237:14;4223:12;4174:78;:::i;:::-;4076:186;4343:4;4336:5;4332:16;4326:23;4396:3;4390:4;4386:14;4379:4;4374:3;4370:14;4363:38;4422:73;4490:4;4476:12;4422:73;:::i;:::-;4414:81;;4272:234;4523:4;4516:11;;2852:1681;2718:1815;;;;:::o;4539:393::-;4692:4;4730:2;4719:9;4715:18;4707:26;;4779:9;4773:4;4769:20;4765:1;4754:9;4750:17;4743:47;4807:118;4920:4;4911:6;4807:118;:::i;:::-;4799:126;;4539:393;;;;:::o;4938:75::-;4971:6;5004:2;4998:9;4988:19;;4938:75;:::o;5019:117::-;5128:1;5125;5118:12;5142:117;5251:1;5248;5241:12;5265:122;5338:24;5356:5;5338:24;:::i;:::-;5331:5;5328:35;5318:63;;5377:1;5374;5367:12;5318:63;5265:122;:::o;5393:139::-;5439:5;5477:6;5464:20;5455:29;;5493:33;5520:5;5493:33;:::i;:::-;5393:139;;;;:::o;5538:122::-;5611:24;5629:5;5611:24;:::i;:::-;5604:5;5601:35;5591:63;;5650:1;5647;5640:12;5591:63;5538:122;:::o;5666:139::-;5712:5;5750:6;5737:20;5728:29;;5766:33;5793:5;5766:33;:::i;:::-;5666:139;;;;:::o;5811:117::-;5920:1;5917;5910:12;5934:117;6043:1;6040;6033:12;6057:117;6166:1;6163;6156:12;6197:568;6270:8;6280:6;6330:3;6323:4;6315:6;6311:17;6307:27;6297:122;;6338:79;;:::i;:::-;6297:122;6451:6;6438:20;6428:30;;6481:18;6473:6;6470:30;6467:117;;;6503:79;;:::i;:::-;6467:117;6617:4;6609:6;6605:17;6593:29;;6671:3;6663:4;6655:6;6651:17;6641:8;6637:32;6634:41;6631:128;;;6678:79;;:::i;:::-;6631:128;6197:568;;;;;:::o;6771:849::-;6875:6;6883;6891;6899;6948:2;6936:9;6927:7;6923:23;6919:32;6916:119;;;6954:79;;:::i;:::-;6916:119;7074:1;7099:53;7144:7;7135:6;7124:9;7120:22;7099:53;:::i;:::-;7089:63;;7045:117;7201:2;7227:53;7272:7;7263:6;7252:9;7248:22;7227:53;:::i;:::-;7217:63;;7172:118;7357:2;7346:9;7342:18;7329:32;7388:18;7380:6;7377:30;7374:117;;;7410:79;;:::i;:::-;7374:117;7523:80;7595:7;7586:6;7575:9;7571:22;7523:80;:::i;:::-;7505:98;;;;7300:313;6771:849;;;;;;;:::o;7626:169::-;7710:11;7744:6;7739:3;7732:19;7784:4;7779:3;7775:14;7760:29;;7626:169;;;;:::o;7801:377::-;7889:3;7917:39;7950:5;7917:39;:::i;:::-;7972:71;8036:6;8031:3;7972:71;:::i;:::-;7965:78;;8052:65;8110:6;8105:3;8098:4;8091:5;8087:16;8052:65;:::i;:::-;8142:29;8164:6;8142:29;:::i;:::-;8137:3;8133:39;8126:46;;7893:285;7801:377;;;;:::o;8184:313::-;8297:4;8335:2;8324:9;8320:18;8312:26;;8384:9;8378:4;8374:20;8370:1;8359:9;8355:17;8348:47;8412:78;8485:4;8476:6;8412:78;:::i;:::-;8404:86;;8184:313;;;;:::o;8503:329::-;8562:6;8611:2;8599:9;8590:7;8586:23;8582:32;8579:119;;;8617:79;;:::i;:::-;8579:119;8737:1;8762:53;8807:7;8798:6;8787:9;8783:22;8762:53;:::i;:::-;8752:63;;8708:117;8503:329;;;;:::o;8838:90::-;8872:7;8915:5;8908:13;8901:21;8890:32;;8838:90;;;:::o;8934:109::-;9015:21;9030:5;9015:21;:::i;:::-;9010:3;9003:34;8934:109;;:::o;9049:210::-;9136:4;9174:2;9163:9;9159:18;9151:26;;9187:65;9249:1;9238:9;9234:17;9225:6;9187:65;:::i;:::-;9049:210;;;;:::o;9265:77::-;9302:7;9331:5;9320:16;;9265:77;;;:::o;9348:122::-;9421:24;9439:5;9421:24;:::i;:::-;9414:5;9411:35;9401:63;;9460:1;9457;9450:12;9401:63;9348:122;:::o;9476:139::-;9522:5;9560:6;9547:20;9538:29;;9576:33;9603:5;9576:33;:::i;:::-;9476:139;;;;:::o;9621:329::-;9680:6;9729:2;9717:9;9708:7;9704:23;9700:32;9697:119;;;9735:79;;:::i;:::-;9697:119;9855:1;9880:53;9925:7;9916:6;9905:9;9901:22;9880:53;:::i;:::-;9870:63;;9826:117;9621:329;;;;:::o;9956:118::-;10043:24;10061:5;10043:24;:::i;:::-;10038:3;10031:37;9956:118;;:::o;10080:222::-;10173:4;10211:2;10200:9;10196:18;10188:26;;10224:71;10292:1;10281:9;10277:17;10268:6;10224:71;:::i;:::-;10080:222;;;;:::o;10308:118::-;10395:24;10413:5;10395:24;:::i;:::-;10390:3;10383:37;10308:118;;:::o;10432:222::-;10525:4;10563:2;10552:9;10548:18;10540:26;;10576:71;10644:1;10633:9;10629:17;10620:6;10576:71;:::i;:::-;10432:222;;;;:::o;10660:117::-;10769:1;10766;10759:12;10783:180;10831:77;10828:1;10821:88;10928:4;10925:1;10918:15;10952:4;10949:1;10942:15;10969:281;11052:27;11074:4;11052:27;:::i;:::-;11044:6;11040:40;11182:6;11170:10;11167:22;11146:18;11134:10;11131:34;11128:62;11125:88;;;11193:18;;:::i;:::-;11125:88;11233:10;11229:2;11222:22;11012:238;10969:281;;:::o;11256:129::-;11290:6;11317:20;;:::i;:::-;11307:30;;11346:33;11374:4;11366:6;11346:33;:::i;:::-;11256:129;;;:::o;11391:307::-;11452:4;11542:18;11534:6;11531:30;11528:56;;;11564:18;;:::i;:::-;11528:56;11602:29;11624:6;11602:29;:::i;:::-;11594:37;;11686:4;11680;11676:15;11668:23;;11391:307;;;:::o;11704:146::-;11801:6;11796:3;11791;11778:30;11842:1;11833:6;11828:3;11824:16;11817:27;11704:146;;;:::o;11856:423::-;11933:5;11958:65;11974:48;12015:6;11974:48;:::i;:::-;11958:65;:::i;:::-;11949:74;;12046:6;12039:5;12032:21;12084:4;12077:5;12073:16;12122:3;12113:6;12108:3;12104:16;12101:25;12098:112;;;12129:79;;:::i;:::-;12098:112;12219:54;12266:6;12261:3;12256;12219:54;:::i;:::-;11939:340;11856:423;;;;;:::o;12298:338::-;12353:5;12402:3;12395:4;12387:6;12383:17;12379:27;12369:122;;12410:79;;:::i;:::-;12369:122;12527:6;12514:20;12552:78;12626:3;12618:6;12611:4;12603:6;12599:17;12552:78;:::i;:::-;12543:87;;12359:277;12298:338;;;;:::o;12642:1089::-;12746:6;12754;12762;12770;12778;12827:3;12815:9;12806:7;12802:23;12798:33;12795:120;;;12834:79;;:::i;:::-;12795:120;12954:1;12979:53;13024:7;13015:6;13004:9;13000:22;12979:53;:::i;:::-;12969:63;;12925:117;13081:2;13107:53;13152:7;13143:6;13132:9;13128:22;13107:53;:::i;:::-;13097:63;;13052:118;13209:2;13235:53;13280:7;13271:6;13260:9;13256:22;13235:53;:::i;:::-;13225:63;;13180:118;13337:2;13363:53;13408:7;13399:6;13388:9;13384:22;13363:53;:::i;:::-;13353:63;;13308:118;13493:3;13482:9;13478:19;13465:33;13525:18;13517:6;13514:30;13511:117;;;13547:79;;:::i;:::-;13511:117;13652:62;13706:7;13697:6;13686:9;13682:22;13652:62;:::i;:::-;13642:72;;13436:288;12642:1089;;;;;;;;:::o;13737:149::-;13773:7;13813:66;13806:5;13802:78;13791:89;;13737:149;;;:::o;13892:115::-;13977:23;13994:5;13977:23;:::i;:::-;13972:3;13965:36;13892:115;;:::o;14013:218::-;14104:4;14142:2;14131:9;14127:18;14119:26;;14155:69;14221:1;14210:9;14206:17;14197:6;14155:69;:::i;:::-;14013:218;;;;:::o;14237:332::-;14358:4;14396:2;14385:9;14381:18;14373:26;;14409:71;14477:1;14466:9;14462:17;14453:6;14409:71;:::i;:::-;14490:72;14558:2;14547:9;14543:18;14534:6;14490:72;:::i;:::-;14237:332;;;;;:::o;14575:143::-;14632:5;14663:6;14657:13;14648:22;;14679:33;14706:5;14679:33;:::i;:::-;14575:143;;;;:::o;14724:351::-;14794:6;14843:2;14831:9;14822:7;14818:23;14814:32;14811:119;;;14849:79;;:::i;:::-;14811:119;14969:1;14994:64;15050:7;15041:6;15030:9;15026:22;14994:64;:::i;:::-;14984:74;;14940:128;14724:351;;;;:::o;15081:180::-;15129:77;15126:1;15119:88;15226:4;15223:1;15216:15;15250:4;15247:1;15240:15;15267:320;15311:6;15348:1;15342:4;15338:12;15328:22;;15395:1;15389:4;15385:12;15416:18;15406:81;;15472:4;15464:6;15460:17;15450:27;;15406:81;15534:2;15526:6;15523:14;15503:18;15500:38;15497:84;;15553:18;;:::i;:::-;15497:84;15318:269;15267:320;;;:::o;15593:174::-;15733:26;15729:1;15721:6;15717:14;15710:50;15593:174;:::o;15773:366::-;15915:3;15936:67;16000:2;15995:3;15936:67;:::i;:::-;15929:74;;16012:93;16101:3;16012:93;:::i;:::-;16130:2;16125:3;16121:12;16114:19;;15773:366;;;:::o;16145:419::-;16311:4;16349:2;16338:9;16334:18;16326:26;;16398:9;16392:4;16388:20;16384:1;16373:9;16369:17;16362:47;16426:131;16552:4;16426:131;:::i;:::-;16418:139;;16145:419;;;:::o;16570:228::-;16710:34;16706:1;16698:6;16694:14;16687:58;16779:11;16774:2;16766:6;16762:15;16755:36;16570:228;:::o;16804:366::-;16946:3;16967:67;17031:2;17026:3;16967:67;:::i;:::-;16960:74;;17043:93;17132:3;17043:93;:::i;:::-;17161:2;17156:3;17152:12;17145:19;;16804:366;;;:::o;17176:419::-;17342:4;17380:2;17369:9;17365:18;17357:26;;17429:9;17423:4;17419:20;17415:1;17404:9;17400:17;17393:47;17457:131;17583:4;17457:131;:::i;:::-;17449:139;;17176:419;;;:::o;17601:168::-;17684:11;17718:6;17713:3;17706:19;17758:4;17753:3;17749:14;17734:29;;17601:168;;;;:::o;17775:114::-;;:::o;17895:362::-;18036:3;18057:65;18120:1;18115:3;18057:65;:::i;:::-;18050:72;;18131:93;18220:3;18131:93;:::i;:::-;18249:1;18244:3;18240:11;18233:18;;17895:362;;;:::o;18263:859::-;18540:4;18578:3;18567:9;18563:19;18555:27;;18592:71;18660:1;18649:9;18645:17;18636:6;18592:71;:::i;:::-;18673:72;18741:2;18730:9;18726:18;18717:6;18673:72;:::i;:::-;18755;18823:2;18812:9;18808:18;18799:6;18755:72;:::i;:::-;18837;18905:2;18894:9;18890:18;18881:6;18837:72;:::i;:::-;18957:9;18951:4;18947:20;18941:3;18930:9;18926:19;18919:49;18985:130;19110:4;18985:130;:::i;:::-;18977:138;;18263:859;;;;;;;:::o;19128:180::-;19176:77;19173:1;19166:88;19273:4;19270:1;19263:15;19297:4;19294:1;19287:15;19314:194;19354:4;19374:20;19392:1;19374:20;:::i;:::-;19369:25;;19408:20;19426:1;19408:20;:::i;:::-;19403:25;;19452:1;19449;19445:9;19437:17;;19476:1;19470:4;19467:11;19464:37;;;19481:18;;:::i;:::-;19464:37;19314:194;;;;:::o;19514:79::-;19553:7;19582:5;19571:16;;19514:79;;;:::o;19599:157::-;19704:45;19724:24;19742:5;19724:24;:::i;:::-;19704:45;:::i;:::-;19699:3;19692:58;19599:157;;:::o;19762:256::-;19874:3;19889:75;19960:3;19951:6;19889:75;:::i;:::-;19989:2;19984:3;19980:12;19973:19;;20009:3;20002:10;;19762:256;;;;:::o;20024:180::-;20072:77;20069:1;20062:88;20169:4;20166:1;20159:15;20193:4;20190:1;20183:15" + }, + "methodIdentifiers": { + "claim(address,uint256,bytes32[])": "3d13f874", + "claimedLeaf(bytes32)": "80bdc421", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "getUri()": "4e16fc8b", + "hasBeenTotallyClaimed()": "9592a2cd", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "root()": "ebf0c717", + "setRoot(bytes32)": "dab5f340", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UsedLeaf\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"claimedLeaf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBeenTotallyClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"root\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ERC1155/CustomAirdrop1155Merkle.sol\":\"CustomAirdrop1155Merkle\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]},\"contracts/ERC1155/CustomAirdrop1155Merkle.sol\":{\"keccak256\":\"0xe96b627c20e16ec609529709ba3e91ddcf19cb88393d8b27ba809e3ef56b9b36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80416dc1154b1ac1aeff3644b12973873469b3f77fb738381c48736f32463cb3\",\"dweb:/ipfs/QmYkjLLwqx7kxTQ7C8KqpPVkcoieCFMNs8WQ2G7wrefco6\"]},\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/ERC1155/Erc1155.sol": { + "MyToken": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC1155InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC1155InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "idsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256" + } + ], + "name": "ERC1155InvalidArrayLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC1155InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC1155InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC1155InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC1155MissingApprovalForAll", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "newuri", + "type": "string" + } + ], + "name": "setURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11008": { + "entryPoint": null, + "id": 11008, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_370": { + "entryPoint": null, + "id": 370, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_setURI_987": { + "entryPoint": 194, + "id": 987, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 215, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 465, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 482, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 669, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 511, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 990, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 445, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 413, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 805, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 951, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 825, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1145, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 690, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 616, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1115, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "identity": { + "entryPoint": 815, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1083, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x22": { + "entryPoint": 569, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 522, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 865, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 706, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1070, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 923, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 719, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 875, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 918, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:5817:43", + "nodeType": "YulBlock", + "src": "0:5817:43", + "statements": [ + { + "body": { + "nativeSrc": "52:81:43", + "nodeType": "YulBlock", + "src": "52:81:43", + "statements": [ + { + "nativeSrc": "62:65:43", + "nodeType": "YulAssignment", + "src": "62:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "77:5:43", + "nodeType": "YulIdentifier", + "src": "77:5:43" + }, + { + "kind": "number", + "nativeSrc": "84:42:43", + "nodeType": "YulLiteral", + "src": "84:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "73:3:43", + "nodeType": "YulIdentifier", + "src": "73:3:43" + }, + "nativeSrc": "73:54:43", + "nodeType": "YulFunctionCall", + "src": "73:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "62:7:43", + "nodeType": "YulIdentifier", + "src": "62:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "7:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "34:5:43", + "nodeType": "YulTypedName", + "src": "34:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "44:7:43", + "nodeType": "YulTypedName", + "src": "44:7:43", + "type": "" + } + ], + "src": "7:126:43" + }, + { + "body": { + "nativeSrc": "184:51:43", + "nodeType": "YulBlock", + "src": "184:51:43", + "statements": [ + { + "nativeSrc": "194:35:43", + "nodeType": "YulAssignment", + "src": "194:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "223:5:43", + "nodeType": "YulIdentifier", + "src": "223:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "205:17:43", + "nodeType": "YulIdentifier", + "src": "205:17:43" + }, + "nativeSrc": "205:24:43", + "nodeType": "YulFunctionCall", + "src": "205:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "194:7:43", + "nodeType": "YulIdentifier", + "src": "194:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "139:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "166:5:43", + "nodeType": "YulTypedName", + "src": "166:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "176:7:43", + "nodeType": "YulTypedName", + "src": "176:7:43", + "type": "" + } + ], + "src": "139:96:43" + }, + { + "body": { + "nativeSrc": "306:53:43", + "nodeType": "YulBlock", + "src": "306:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "323:3:43", + "nodeType": "YulIdentifier", + "src": "323:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "346:5:43", + "nodeType": "YulIdentifier", + "src": "346:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "328:17:43", + "nodeType": "YulIdentifier", + "src": "328:17:43" + }, + "nativeSrc": "328:24:43", + "nodeType": "YulFunctionCall", + "src": "328:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "316:6:43", + "nodeType": "YulIdentifier", + "src": "316:6:43" + }, + "nativeSrc": "316:37:43", + "nodeType": "YulFunctionCall", + "src": "316:37:43" + }, + "nativeSrc": "316:37:43", + "nodeType": "YulExpressionStatement", + "src": "316:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "241:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "294:5:43", + "nodeType": "YulTypedName", + "src": "294:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "301:3:43", + "nodeType": "YulTypedName", + "src": "301:3:43", + "type": "" + } + ], + "src": "241:118:43" + }, + { + "body": { + "nativeSrc": "463:124:43", + "nodeType": "YulBlock", + "src": "463:124:43", + "statements": [ + { + "nativeSrc": "473:26:43", + "nodeType": "YulAssignment", + "src": "473:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "485:9:43", + "nodeType": "YulIdentifier", + "src": "485:9:43" + }, + { + "kind": "number", + "nativeSrc": "496:2:43", + "nodeType": "YulLiteral", + "src": "496:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "481:3:43", + "nodeType": "YulIdentifier", + "src": "481:3:43" + }, + "nativeSrc": "481:18:43", + "nodeType": "YulFunctionCall", + "src": "481:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "473:4:43", + "nodeType": "YulIdentifier", + "src": "473:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "553:6:43", + "nodeType": "YulIdentifier", + "src": "553:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "566:9:43", + "nodeType": "YulIdentifier", + "src": "566:9:43" + }, + { + "kind": "number", + "nativeSrc": "577:1:43", + "nodeType": "YulLiteral", + "src": "577:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "562:3:43", + "nodeType": "YulIdentifier", + "src": "562:3:43" + }, + "nativeSrc": "562:17:43", + "nodeType": "YulFunctionCall", + "src": "562:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "509:43:43", + "nodeType": "YulIdentifier", + "src": "509:43:43" + }, + "nativeSrc": "509:71:43", + "nodeType": "YulFunctionCall", + "src": "509:71:43" + }, + "nativeSrc": "509:71:43", + "nodeType": "YulExpressionStatement", + "src": "509:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "365:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "435:9:43", + "nodeType": "YulTypedName", + "src": "435:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "447:6:43", + "nodeType": "YulTypedName", + "src": "447:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "458:4:43", + "nodeType": "YulTypedName", + "src": "458:4:43", + "type": "" + } + ], + "src": "365:222:43" + }, + { + "body": { + "nativeSrc": "652:40:43", + "nodeType": "YulBlock", + "src": "652:40:43", + "statements": [ + { + "nativeSrc": "663:22:43", + "nodeType": "YulAssignment", + "src": "663:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "679:5:43", + "nodeType": "YulIdentifier", + "src": "679:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "673:5:43", + "nodeType": "YulIdentifier", + "src": "673:5:43" + }, + "nativeSrc": "673:12:43", + "nodeType": "YulFunctionCall", + "src": "673:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "663:6:43", + "nodeType": "YulIdentifier", + "src": "663:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "593:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "635:5:43", + "nodeType": "YulTypedName", + "src": "635:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "645:6:43", + "nodeType": "YulTypedName", + "src": "645:6:43", + "type": "" + } + ], + "src": "593:99:43" + }, + { + "body": { + "nativeSrc": "726:152:43", + "nodeType": "YulBlock", + "src": "726:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "743:1:43", + "nodeType": "YulLiteral", + "src": "743:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "746:77:43", + "nodeType": "YulLiteral", + "src": "746:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "736:6:43", + "nodeType": "YulIdentifier", + "src": "736:6:43" + }, + "nativeSrc": "736:88:43", + "nodeType": "YulFunctionCall", + "src": "736:88:43" + }, + "nativeSrc": "736:88:43", + "nodeType": "YulExpressionStatement", + "src": "736:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "840:1:43", + "nodeType": "YulLiteral", + "src": "840:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "843:4:43", + "nodeType": "YulLiteral", + "src": "843:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "833:6:43", + "nodeType": "YulIdentifier", + "src": "833:6:43" + }, + "nativeSrc": "833:15:43", + "nodeType": "YulFunctionCall", + "src": "833:15:43" + }, + "nativeSrc": "833:15:43", + "nodeType": "YulExpressionStatement", + "src": "833:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "864:1:43", + "nodeType": "YulLiteral", + "src": "864:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "867:4:43", + "nodeType": "YulLiteral", + "src": "867:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "857:6:43", + "nodeType": "YulIdentifier", + "src": "857:6:43" + }, + "nativeSrc": "857:15:43", + "nodeType": "YulFunctionCall", + "src": "857:15:43" + }, + "nativeSrc": "857:15:43", + "nodeType": "YulExpressionStatement", + "src": "857:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "698:180:43", + "nodeType": "YulFunctionDefinition", + "src": "698:180:43" + }, + { + "body": { + "nativeSrc": "912:152:43", + "nodeType": "YulBlock", + "src": "912:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "929:1:43", + "nodeType": "YulLiteral", + "src": "929:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "932:77:43", + "nodeType": "YulLiteral", + "src": "932:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "922:6:43", + "nodeType": "YulIdentifier", + "src": "922:6:43" + }, + "nativeSrc": "922:88:43", + "nodeType": "YulFunctionCall", + "src": "922:88:43" + }, + "nativeSrc": "922:88:43", + "nodeType": "YulExpressionStatement", + "src": "922:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1026:1:43", + "nodeType": "YulLiteral", + "src": "1026:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "1029:4:43", + "nodeType": "YulLiteral", + "src": "1029:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1019:6:43", + "nodeType": "YulIdentifier", + "src": "1019:6:43" + }, + "nativeSrc": "1019:15:43", + "nodeType": "YulFunctionCall", + "src": "1019:15:43" + }, + "nativeSrc": "1019:15:43", + "nodeType": "YulExpressionStatement", + "src": "1019:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1050:1:43", + "nodeType": "YulLiteral", + "src": "1050:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1053:4:43", + "nodeType": "YulLiteral", + "src": "1053:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1043:6:43", + "nodeType": "YulIdentifier", + "src": "1043:6:43" + }, + "nativeSrc": "1043:15:43", + "nodeType": "YulFunctionCall", + "src": "1043:15:43" + }, + "nativeSrc": "1043:15:43", + "nodeType": "YulExpressionStatement", + "src": "1043:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "884:180:43", + "nodeType": "YulFunctionDefinition", + "src": "884:180:43" + }, + { + "body": { + "nativeSrc": "1121:269:43", + "nodeType": "YulBlock", + "src": "1121:269:43", + "statements": [ + { + "nativeSrc": "1131:22:43", + "nodeType": "YulAssignment", + "src": "1131:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "1145:4:43", + "nodeType": "YulIdentifier", + "src": "1145:4:43" + }, + { + "kind": "number", + "nativeSrc": "1151:1:43", + "nodeType": "YulLiteral", + "src": "1151:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "1141:3:43", + "nodeType": "YulIdentifier", + "src": "1141:3:43" + }, + "nativeSrc": "1141:12:43", + "nodeType": "YulFunctionCall", + "src": "1141:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "1131:6:43", + "nodeType": "YulIdentifier", + "src": "1131:6:43" + } + ] + }, + { + "nativeSrc": "1162:38:43", + "nodeType": "YulVariableDeclaration", + "src": "1162:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "1192:4:43", + "nodeType": "YulIdentifier", + "src": "1192:4:43" + }, + { + "kind": "number", + "nativeSrc": "1198:1:43", + "nodeType": "YulLiteral", + "src": "1198:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1188:3:43", + "nodeType": "YulIdentifier", + "src": "1188:3:43" + }, + "nativeSrc": "1188:12:43", + "nodeType": "YulFunctionCall", + "src": "1188:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "1166:18:43", + "nodeType": "YulTypedName", + "src": "1166:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1239:51:43", + "nodeType": "YulBlock", + "src": "1239:51:43", + "statements": [ + { + "nativeSrc": "1253:27:43", + "nodeType": "YulAssignment", + "src": "1253:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1267:6:43", + "nodeType": "YulIdentifier", + "src": "1267:6:43" + }, + { + "kind": "number", + "nativeSrc": "1275:4:43", + "nodeType": "YulLiteral", + "src": "1275:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1263:3:43", + "nodeType": "YulIdentifier", + "src": "1263:3:43" + }, + "nativeSrc": "1263:17:43", + "nodeType": "YulFunctionCall", + "src": "1263:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "1253:6:43", + "nodeType": "YulIdentifier", + "src": "1253:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "1219:18:43", + "nodeType": "YulIdentifier", + "src": "1219:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + }, + "nativeSrc": "1212:26:43", + "nodeType": "YulFunctionCall", + "src": "1212:26:43" + }, + "nativeSrc": "1209:81:43", + "nodeType": "YulIf", + "src": "1209:81:43" + }, + { + "body": { + "nativeSrc": "1342:42:43", + "nodeType": "YulBlock", + "src": "1342:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "1356:16:43", + "nodeType": "YulIdentifier", + "src": "1356:16:43" + }, + "nativeSrc": "1356:18:43", + "nodeType": "YulFunctionCall", + "src": "1356:18:43" + }, + "nativeSrc": "1356:18:43", + "nodeType": "YulExpressionStatement", + "src": "1356:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "1306:18:43", + "nodeType": "YulIdentifier", + "src": "1306:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1329:6:43", + "nodeType": "YulIdentifier", + "src": "1329:6:43" + }, + { + "kind": "number", + "nativeSrc": "1337:2:43", + "nodeType": "YulLiteral", + "src": "1337:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1326:2:43", + "nodeType": "YulIdentifier", + "src": "1326:2:43" + }, + "nativeSrc": "1326:14:43", + "nodeType": "YulFunctionCall", + "src": "1326:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1303:2:43", + "nodeType": "YulIdentifier", + "src": "1303:2:43" + }, + "nativeSrc": "1303:38:43", + "nodeType": "YulFunctionCall", + "src": "1303:38:43" + }, + "nativeSrc": "1300:84:43", + "nodeType": "YulIf", + "src": "1300:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "1070:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "1105:4:43", + "nodeType": "YulTypedName", + "src": "1105:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "1114:6:43", + "nodeType": "YulTypedName", + "src": "1114:6:43", + "type": "" + } + ], + "src": "1070:320:43" + }, + { + "body": { + "nativeSrc": "1450:87:43", + "nodeType": "YulBlock", + "src": "1450:87:43", + "statements": [ + { + "nativeSrc": "1460:11:43", + "nodeType": "YulAssignment", + "src": "1460:11:43", + "value": { + "name": "ptr", + "nativeSrc": "1468:3:43", + "nodeType": "YulIdentifier", + "src": "1468:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "1460:4:43", + "nodeType": "YulIdentifier", + "src": "1460:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1488:1:43", + "nodeType": "YulLiteral", + "src": "1488:1:43", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "1491:3:43", + "nodeType": "YulIdentifier", + "src": "1491:3:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1481:6:43", + "nodeType": "YulIdentifier", + "src": "1481:6:43" + }, + "nativeSrc": "1481:14:43", + "nodeType": "YulFunctionCall", + "src": "1481:14:43" + }, + "nativeSrc": "1481:14:43", + "nodeType": "YulExpressionStatement", + "src": "1481:14:43" + }, + { + "nativeSrc": "1504:26:43", + "nodeType": "YulAssignment", + "src": "1504:26:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1522:1:43", + "nodeType": "YulLiteral", + "src": "1522:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1525:4:43", + "nodeType": "YulLiteral", + "src": "1525:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "1512:9:43", + "nodeType": "YulIdentifier", + "src": "1512:9:43" + }, + "nativeSrc": "1512:18:43", + "nodeType": "YulFunctionCall", + "src": "1512:18:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "1504:4:43", + "nodeType": "YulIdentifier", + "src": "1504:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "1396:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "1437:3:43", + "nodeType": "YulTypedName", + "src": "1437:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "1445:4:43", + "nodeType": "YulTypedName", + "src": "1445:4:43", + "type": "" + } + ], + "src": "1396:141:43" + }, + { + "body": { + "nativeSrc": "1587:49:43", + "nodeType": "YulBlock", + "src": "1587:49:43", + "statements": [ + { + "nativeSrc": "1597:33:43", + "nodeType": "YulAssignment", + "src": "1597:33:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1615:5:43", + "nodeType": "YulIdentifier", + "src": "1615:5:43" + }, + { + "kind": "number", + "nativeSrc": "1622:2:43", + "nodeType": "YulLiteral", + "src": "1622:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1611:3:43", + "nodeType": "YulIdentifier", + "src": "1611:3:43" + }, + "nativeSrc": "1611:14:43", + "nodeType": "YulFunctionCall", + "src": "1611:14:43" + }, + { + "kind": "number", + "nativeSrc": "1627:2:43", + "nodeType": "YulLiteral", + "src": "1627:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "1607:3:43", + "nodeType": "YulIdentifier", + "src": "1607:3:43" + }, + "nativeSrc": "1607:23:43", + "nodeType": "YulFunctionCall", + "src": "1607:23:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1597:6:43", + "nodeType": "YulIdentifier", + "src": "1597:6:43" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "1543:93:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1570:5:43", + "nodeType": "YulTypedName", + "src": "1570:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1580:6:43", + "nodeType": "YulTypedName", + "src": "1580:6:43", + "type": "" + } + ], + "src": "1543:93:43" + }, + { + "body": { + "nativeSrc": "1695:54:43", + "nodeType": "YulBlock", + "src": "1695:54:43", + "statements": [ + { + "nativeSrc": "1705:37:43", + "nodeType": "YulAssignment", + "src": "1705:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "1730:4:43", + "nodeType": "YulIdentifier", + "src": "1730:4:43" + }, + { + "name": "value", + "nativeSrc": "1736:5:43", + "nodeType": "YulIdentifier", + "src": "1736:5:43" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "1726:3:43", + "nodeType": "YulIdentifier", + "src": "1726:3:43" + }, + "nativeSrc": "1726:16:43", + "nodeType": "YulFunctionCall", + "src": "1726:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "1705:8:43", + "nodeType": "YulIdentifier", + "src": "1705:8:43" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "1642:107:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "1670:4:43", + "nodeType": "YulTypedName", + "src": "1670:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "1676:5:43", + "nodeType": "YulTypedName", + "src": "1676:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "1686:8:43", + "nodeType": "YulTypedName", + "src": "1686:8:43", + "type": "" + } + ], + "src": "1642:107:43" + }, + { + "body": { + "nativeSrc": "1831:317:43", + "nodeType": "YulBlock", + "src": "1831:317:43", + "statements": [ + { + "nativeSrc": "1841:35:43", + "nodeType": "YulVariableDeclaration", + "src": "1841:35:43", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "1862:10:43", + "nodeType": "YulIdentifier", + "src": "1862:10:43" + }, + { + "kind": "number", + "nativeSrc": "1874:1:43", + "nodeType": "YulLiteral", + "src": "1874:1:43", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "1858:3:43", + "nodeType": "YulIdentifier", + "src": "1858:3:43" + }, + "nativeSrc": "1858:18:43", + "nodeType": "YulFunctionCall", + "src": "1858:18:43" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "1845:9:43", + "nodeType": "YulTypedName", + "src": "1845:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1885:109:43", + "nodeType": "YulVariableDeclaration", + "src": "1885:109:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "1916:9:43", + "nodeType": "YulIdentifier", + "src": "1916:9:43" + }, + { + "kind": "number", + "nativeSrc": "1927:66:43", + "nodeType": "YulLiteral", + "src": "1927:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "1897:18:43", + "nodeType": "YulIdentifier", + "src": "1897:18:43" + }, + "nativeSrc": "1897:97:43", + "nodeType": "YulFunctionCall", + "src": "1897:97:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "1889:4:43", + "nodeType": "YulTypedName", + "src": "1889:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2003:51:43", + "nodeType": "YulAssignment", + "src": "2003:51:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "2034:9:43", + "nodeType": "YulIdentifier", + "src": "2034:9:43" + }, + { + "name": "toInsert", + "nativeSrc": "2045:8:43", + "nodeType": "YulIdentifier", + "src": "2045:8:43" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "2015:18:43", + "nodeType": "YulIdentifier", + "src": "2015:18:43" + }, + "nativeSrc": "2015:39:43", + "nodeType": "YulFunctionCall", + "src": "2015:39:43" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "2003:8:43", + "nodeType": "YulIdentifier", + "src": "2003:8:43" + } + ] + }, + { + "nativeSrc": "2063:30:43", + "nodeType": "YulAssignment", + "src": "2063:30:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2076:5:43", + "nodeType": "YulIdentifier", + "src": "2076:5:43" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "2087:4:43", + "nodeType": "YulIdentifier", + "src": "2087:4:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2083:3:43", + "nodeType": "YulIdentifier", + "src": "2083:3:43" + }, + "nativeSrc": "2083:9:43", + "nodeType": "YulFunctionCall", + "src": "2083:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2072:3:43", + "nodeType": "YulIdentifier", + "src": "2072:3:43" + }, + "nativeSrc": "2072:21:43", + "nodeType": "YulFunctionCall", + "src": "2072:21:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2063:5:43", + "nodeType": "YulIdentifier", + "src": "2063:5:43" + } + ] + }, + { + "nativeSrc": "2102:40:43", + "nodeType": "YulAssignment", + "src": "2102:40:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2115:5:43", + "nodeType": "YulIdentifier", + "src": "2115:5:43" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "2126:8:43", + "nodeType": "YulIdentifier", + "src": "2126:8:43" + }, + { + "name": "mask", + "nativeSrc": "2136:4:43", + "nodeType": "YulIdentifier", + "src": "2136:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2122:3:43", + "nodeType": "YulIdentifier", + "src": "2122:3:43" + }, + "nativeSrc": "2122:19:43", + "nodeType": "YulFunctionCall", + "src": "2122:19:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2112:2:43", + "nodeType": "YulIdentifier", + "src": "2112:2:43" + }, + "nativeSrc": "2112:30:43", + "nodeType": "YulFunctionCall", + "src": "2112:30:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2102:6:43", + "nodeType": "YulIdentifier", + "src": "2102:6:43" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "1755:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1792:5:43", + "nodeType": "YulTypedName", + "src": "1792:5:43", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "1799:10:43", + "nodeType": "YulTypedName", + "src": "1799:10:43", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "1811:8:43", + "nodeType": "YulTypedName", + "src": "1811:8:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1824:6:43", + "nodeType": "YulTypedName", + "src": "1824:6:43", + "type": "" + } + ], + "src": "1755:393:43" + }, + { + "body": { + "nativeSrc": "2199:32:43", + "nodeType": "YulBlock", + "src": "2199:32:43", + "statements": [ + { + "nativeSrc": "2209:16:43", + "nodeType": "YulAssignment", + "src": "2209:16:43", + "value": { + "name": "value", + "nativeSrc": "2220:5:43", + "nodeType": "YulIdentifier", + "src": "2220:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2209:7:43", + "nodeType": "YulIdentifier", + "src": "2209:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "2154:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2181:5:43", + "nodeType": "YulTypedName", + "src": "2181:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2191:7:43", + "nodeType": "YulTypedName", + "src": "2191:7:43", + "type": "" + } + ], + "src": "2154:77:43" + }, + { + "body": { + "nativeSrc": "2269:28:43", + "nodeType": "YulBlock", + "src": "2269:28:43", + "statements": [ + { + "nativeSrc": "2279:12:43", + "nodeType": "YulAssignment", + "src": "2279:12:43", + "value": { + "name": "value", + "nativeSrc": "2286:5:43", + "nodeType": "YulIdentifier", + "src": "2286:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "2279:3:43", + "nodeType": "YulIdentifier", + "src": "2279:3:43" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "2237:60:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2255:5:43", + "nodeType": "YulTypedName", + "src": "2255:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "2265:3:43", + "nodeType": "YulTypedName", + "src": "2265:3:43", + "type": "" + } + ], + "src": "2237:60:43" + }, + { + "body": { + "nativeSrc": "2363:82:43", + "nodeType": "YulBlock", + "src": "2363:82:43", + "statements": [ + { + "nativeSrc": "2373:66:43", + "nodeType": "YulAssignment", + "src": "2373:66:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2431:5:43", + "nodeType": "YulIdentifier", + "src": "2431:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2413:17:43", + "nodeType": "YulIdentifier", + "src": "2413:17:43" + }, + "nativeSrc": "2413:24:43", + "nodeType": "YulFunctionCall", + "src": "2413:24:43" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "2404:8:43", + "nodeType": "YulIdentifier", + "src": "2404:8:43" + }, + "nativeSrc": "2404:34:43", + "nodeType": "YulFunctionCall", + "src": "2404:34:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2386:17:43", + "nodeType": "YulIdentifier", + "src": "2386:17:43" + }, + "nativeSrc": "2386:53:43", + "nodeType": "YulFunctionCall", + "src": "2386:53:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "2373:9:43", + "nodeType": "YulIdentifier", + "src": "2373:9:43" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "2303:142:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2343:5:43", + "nodeType": "YulTypedName", + "src": "2343:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "2353:9:43", + "nodeType": "YulTypedName", + "src": "2353:9:43", + "type": "" + } + ], + "src": "2303:142:43" + }, + { + "body": { + "nativeSrc": "2498:28:43", + "nodeType": "YulBlock", + "src": "2498:28:43", + "statements": [ + { + "nativeSrc": "2508:12:43", + "nodeType": "YulAssignment", + "src": "2508:12:43", + "value": { + "name": "value", + "nativeSrc": "2515:5:43", + "nodeType": "YulIdentifier", + "src": "2515:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "2508:3:43", + "nodeType": "YulIdentifier", + "src": "2508:3:43" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "2451:75:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2484:5:43", + "nodeType": "YulTypedName", + "src": "2484:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "2494:3:43", + "nodeType": "YulTypedName", + "src": "2494:3:43", + "type": "" + } + ], + "src": "2451:75:43" + }, + { + "body": { + "nativeSrc": "2608:193:43", + "nodeType": "YulBlock", + "src": "2608:193:43", + "statements": [ + { + "nativeSrc": "2618:63:43", + "nodeType": "YulVariableDeclaration", + "src": "2618:63:43", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "2673:7:43", + "nodeType": "YulIdentifier", + "src": "2673:7:43" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "2642:30:43", + "nodeType": "YulIdentifier", + "src": "2642:30:43" + }, + "nativeSrc": "2642:39:43", + "nodeType": "YulFunctionCall", + "src": "2642:39:43" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "2622:16:43", + "nodeType": "YulTypedName", + "src": "2622:16:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "2697:4:43", + "nodeType": "YulIdentifier", + "src": "2697:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "2737:4:43", + "nodeType": "YulIdentifier", + "src": "2737:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "2731:5:43", + "nodeType": "YulIdentifier", + "src": "2731:5:43" + }, + "nativeSrc": "2731:11:43", + "nodeType": "YulFunctionCall", + "src": "2731:11:43" + }, + { + "name": "offset", + "nativeSrc": "2744:6:43", + "nodeType": "YulIdentifier", + "src": "2744:6:43" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "2776:16:43", + "nodeType": "YulIdentifier", + "src": "2776:16:43" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "2752:23:43", + "nodeType": "YulIdentifier", + "src": "2752:23:43" + }, + "nativeSrc": "2752:41:43", + "nodeType": "YulFunctionCall", + "src": "2752:41:43" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "2703:27:43", + "nodeType": "YulIdentifier", + "src": "2703:27:43" + }, + "nativeSrc": "2703:91:43", + "nodeType": "YulFunctionCall", + "src": "2703:91:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "2690:6:43", + "nodeType": "YulIdentifier", + "src": "2690:6:43" + }, + "nativeSrc": "2690:105:43", + "nodeType": "YulFunctionCall", + "src": "2690:105:43" + }, + "nativeSrc": "2690:105:43", + "nodeType": "YulExpressionStatement", + "src": "2690:105:43" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "2532:269:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "2585:4:43", + "nodeType": "YulTypedName", + "src": "2585:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "2591:6:43", + "nodeType": "YulTypedName", + "src": "2591:6:43", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "2599:7:43", + "nodeType": "YulTypedName", + "src": "2599:7:43", + "type": "" + } + ], + "src": "2532:269:43" + }, + { + "body": { + "nativeSrc": "2856:24:43", + "nodeType": "YulBlock", + "src": "2856:24:43", + "statements": [ + { + "nativeSrc": "2866:8:43", + "nodeType": "YulAssignment", + "src": "2866:8:43", + "value": { + "kind": "number", + "nativeSrc": "2873:1:43", + "nodeType": "YulLiteral", + "src": "2873:1:43", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "2866:3:43", + "nodeType": "YulIdentifier", + "src": "2866:3:43" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "2807:73:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "2852:3:43", + "nodeType": "YulTypedName", + "src": "2852:3:43", + "type": "" + } + ], + "src": "2807:73:43" + }, + { + "body": { + "nativeSrc": "2939:136:43", + "nodeType": "YulBlock", + "src": "2939:136:43", + "statements": [ + { + "nativeSrc": "2949:46:43", + "nodeType": "YulVariableDeclaration", + "src": "2949:46:43", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "2963:30:43", + "nodeType": "YulIdentifier", + "src": "2963:30:43" + }, + "nativeSrc": "2963:32:43", + "nodeType": "YulFunctionCall", + "src": "2963:32:43" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "2953:6:43", + "nodeType": "YulTypedName", + "src": "2953:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "3048:4:43", + "nodeType": "YulIdentifier", + "src": "3048:4:43" + }, + { + "name": "offset", + "nativeSrc": "3054:6:43", + "nodeType": "YulIdentifier", + "src": "3054:6:43" + }, + { + "name": "zero_0", + "nativeSrc": "3062:6:43", + "nodeType": "YulIdentifier", + "src": "3062:6:43" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "3004:43:43", + "nodeType": "YulIdentifier", + "src": "3004:43:43" + }, + "nativeSrc": "3004:65:43", + "nodeType": "YulFunctionCall", + "src": "3004:65:43" + }, + "nativeSrc": "3004:65:43", + "nodeType": "YulExpressionStatement", + "src": "3004:65:43" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "2886:189:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "2925:4:43", + "nodeType": "YulTypedName", + "src": "2925:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "2931:6:43", + "nodeType": "YulTypedName", + "src": "2931:6:43", + "type": "" + } + ], + "src": "2886:189:43" + }, + { + "body": { + "nativeSrc": "3131:136:43", + "nodeType": "YulBlock", + "src": "3131:136:43", + "statements": [ + { + "body": { + "nativeSrc": "3198:63:43", + "nodeType": "YulBlock", + "src": "3198:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "3242:5:43", + "nodeType": "YulIdentifier", + "src": "3242:5:43" + }, + { + "kind": "number", + "nativeSrc": "3249:1:43", + "nodeType": "YulLiteral", + "src": "3249:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "3212:29:43", + "nodeType": "YulIdentifier", + "src": "3212:29:43" + }, + "nativeSrc": "3212:39:43", + "nodeType": "YulFunctionCall", + "src": "3212:39:43" + }, + "nativeSrc": "3212:39:43", + "nodeType": "YulExpressionStatement", + "src": "3212:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "3151:5:43", + "nodeType": "YulIdentifier", + "src": "3151:5:43" + }, + { + "name": "end", + "nativeSrc": "3158:3:43", + "nodeType": "YulIdentifier", + "src": "3158:3:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3148:2:43", + "nodeType": "YulIdentifier", + "src": "3148:2:43" + }, + "nativeSrc": "3148:14:43", + "nodeType": "YulFunctionCall", + "src": "3148:14:43" + }, + "nativeSrc": "3141:120:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "3163:26:43", + "nodeType": "YulBlock", + "src": "3163:26:43", + "statements": [ + { + "nativeSrc": "3165:22:43", + "nodeType": "YulAssignment", + "src": "3165:22:43", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "3178:5:43", + "nodeType": "YulIdentifier", + "src": "3178:5:43" + }, + { + "kind": "number", + "nativeSrc": "3185:1:43", + "nodeType": "YulLiteral", + "src": "3185:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3174:3:43", + "nodeType": "YulIdentifier", + "src": "3174:3:43" + }, + "nativeSrc": "3174:13:43", + "nodeType": "YulFunctionCall", + "src": "3174:13:43" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "3165:5:43", + "nodeType": "YulIdentifier", + "src": "3165:5:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "3145:2:43", + "nodeType": "YulBlock", + "src": "3145:2:43", + "statements": [] + }, + "src": "3141:120:43" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "3081:186:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "3119:5:43", + "nodeType": "YulTypedName", + "src": "3119:5:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3126:3:43", + "nodeType": "YulTypedName", + "src": "3126:3:43", + "type": "" + } + ], + "src": "3081:186:43" + }, + { + "body": { + "nativeSrc": "3352:464:43", + "nodeType": "YulBlock", + "src": "3352:464:43", + "statements": [ + { + "body": { + "nativeSrc": "3378:431:43", + "nodeType": "YulBlock", + "src": "3378:431:43", + "statements": [ + { + "nativeSrc": "3392:54:43", + "nodeType": "YulVariableDeclaration", + "src": "3392:54:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "3440:5:43", + "nodeType": "YulIdentifier", + "src": "3440:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "3408:31:43", + "nodeType": "YulIdentifier", + "src": "3408:31:43" + }, + "nativeSrc": "3408:38:43", + "nodeType": "YulFunctionCall", + "src": "3408:38:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "3396:8:43", + "nodeType": "YulTypedName", + "src": "3396:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "3459:63:43", + "nodeType": "YulVariableDeclaration", + "src": "3459:63:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "3482:8:43", + "nodeType": "YulIdentifier", + "src": "3482:8:43" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "3510:10:43", + "nodeType": "YulIdentifier", + "src": "3510:10:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "3492:17:43", + "nodeType": "YulIdentifier", + "src": "3492:17:43" + }, + "nativeSrc": "3492:29:43", + "nodeType": "YulFunctionCall", + "src": "3492:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3478:3:43", + "nodeType": "YulIdentifier", + "src": "3478:3:43" + }, + "nativeSrc": "3478:44:43", + "nodeType": "YulFunctionCall", + "src": "3478:44:43" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "3463:11:43", + "nodeType": "YulTypedName", + "src": "3463:11:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3679:27:43", + "nodeType": "YulBlock", + "src": "3679:27:43", + "statements": [ + { + "nativeSrc": "3681:23:43", + "nodeType": "YulAssignment", + "src": "3681:23:43", + "value": { + "name": "dataArea", + "nativeSrc": "3696:8:43", + "nodeType": "YulIdentifier", + "src": "3696:8:43" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "3681:11:43", + "nodeType": "YulIdentifier", + "src": "3681:11:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "3663:10:43", + "nodeType": "YulIdentifier", + "src": "3663:10:43" + }, + { + "kind": "number", + "nativeSrc": "3675:2:43", + "nodeType": "YulLiteral", + "src": "3675:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3660:2:43", + "nodeType": "YulIdentifier", + "src": "3660:2:43" + }, + "nativeSrc": "3660:18:43", + "nodeType": "YulFunctionCall", + "src": "3660:18:43" + }, + "nativeSrc": "3657:49:43", + "nodeType": "YulIf", + "src": "3657:49:43" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "3748:11:43", + "nodeType": "YulIdentifier", + "src": "3748:11:43" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "3765:8:43", + "nodeType": "YulIdentifier", + "src": "3765:8:43" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "3793:3:43", + "nodeType": "YulIdentifier", + "src": "3793:3:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "3775:17:43", + "nodeType": "YulIdentifier", + "src": "3775:17:43" + }, + "nativeSrc": "3775:22:43", + "nodeType": "YulFunctionCall", + "src": "3775:22:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3761:3:43", + "nodeType": "YulIdentifier", + "src": "3761:3:43" + }, + "nativeSrc": "3761:37:43", + "nodeType": "YulFunctionCall", + "src": "3761:37:43" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "3719:28:43", + "nodeType": "YulIdentifier", + "src": "3719:28:43" + }, + "nativeSrc": "3719:80:43", + "nodeType": "YulFunctionCall", + "src": "3719:80:43" + }, + "nativeSrc": "3719:80:43", + "nodeType": "YulExpressionStatement", + "src": "3719:80:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "3369:3:43", + "nodeType": "YulIdentifier", + "src": "3369:3:43" + }, + { + "kind": "number", + "nativeSrc": "3374:2:43", + "nodeType": "YulLiteral", + "src": "3374:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3366:2:43", + "nodeType": "YulIdentifier", + "src": "3366:2:43" + }, + "nativeSrc": "3366:11:43", + "nodeType": "YulFunctionCall", + "src": "3366:11:43" + }, + "nativeSrc": "3363:446:43", + "nodeType": "YulIf", + "src": "3363:446:43" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "3273:543:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "3328:5:43", + "nodeType": "YulTypedName", + "src": "3328:5:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "3335:3:43", + "nodeType": "YulTypedName", + "src": "3335:3:43", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "3340:10:43", + "nodeType": "YulTypedName", + "src": "3340:10:43", + "type": "" + } + ], + "src": "3273:543:43" + }, + { + "body": { + "nativeSrc": "3885:54:43", + "nodeType": "YulBlock", + "src": "3885:54:43", + "statements": [ + { + "nativeSrc": "3895:37:43", + "nodeType": "YulAssignment", + "src": "3895:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "3920:4:43", + "nodeType": "YulIdentifier", + "src": "3920:4:43" + }, + { + "name": "value", + "nativeSrc": "3926:5:43", + "nodeType": "YulIdentifier", + "src": "3926:5:43" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "3916:3:43", + "nodeType": "YulIdentifier", + "src": "3916:3:43" + }, + "nativeSrc": "3916:16:43", + "nodeType": "YulFunctionCall", + "src": "3916:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "3895:8:43", + "nodeType": "YulIdentifier", + "src": "3895:8:43" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "3822:117:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "3860:4:43", + "nodeType": "YulTypedName", + "src": "3860:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "3866:5:43", + "nodeType": "YulTypedName", + "src": "3866:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "3876:8:43", + "nodeType": "YulTypedName", + "src": "3876:8:43", + "type": "" + } + ], + "src": "3822:117:43" + }, + { + "body": { + "nativeSrc": "3996:118:43", + "nodeType": "YulBlock", + "src": "3996:118:43", + "statements": [ + { + "nativeSrc": "4006:68:43", + "nodeType": "YulVariableDeclaration", + "src": "4006:68:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4055:1:43", + "nodeType": "YulLiteral", + "src": "4055:1:43", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "4058:5:43", + "nodeType": "YulIdentifier", + "src": "4058:5:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "4051:3:43", + "nodeType": "YulIdentifier", + "src": "4051:3:43" + }, + "nativeSrc": "4051:13:43", + "nodeType": "YulFunctionCall", + "src": "4051:13:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4070:1:43", + "nodeType": "YulLiteral", + "src": "4070:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4066:3:43", + "nodeType": "YulIdentifier", + "src": "4066:3:43" + }, + "nativeSrc": "4066:6:43", + "nodeType": "YulFunctionCall", + "src": "4066:6:43" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "4022:28:43", + "nodeType": "YulIdentifier", + "src": "4022:28:43" + }, + "nativeSrc": "4022:51:43", + "nodeType": "YulFunctionCall", + "src": "4022:51:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4018:3:43", + "nodeType": "YulIdentifier", + "src": "4018:3:43" + }, + "nativeSrc": "4018:56:43", + "nodeType": "YulFunctionCall", + "src": "4018:56:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "4010:4:43", + "nodeType": "YulTypedName", + "src": "4010:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4083:25:43", + "nodeType": "YulAssignment", + "src": "4083:25:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "4097:4:43", + "nodeType": "YulIdentifier", + "src": "4097:4:43" + }, + { + "name": "mask", + "nativeSrc": "4103:4:43", + "nodeType": "YulIdentifier", + "src": "4103:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4093:3:43", + "nodeType": "YulIdentifier", + "src": "4093:3:43" + }, + "nativeSrc": "4093:15:43", + "nodeType": "YulFunctionCall", + "src": "4093:15:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4083:6:43", + "nodeType": "YulIdentifier", + "src": "4083:6:43" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "3945:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "3973:4:43", + "nodeType": "YulTypedName", + "src": "3973:4:43", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "3979:5:43", + "nodeType": "YulTypedName", + "src": "3979:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "3989:6:43", + "nodeType": "YulTypedName", + "src": "3989:6:43", + "type": "" + } + ], + "src": "3945:169:43" + }, + { + "body": { + "nativeSrc": "4200:214:43", + "nodeType": "YulBlock", + "src": "4200:214:43", + "statements": [ + { + "nativeSrc": "4333:37:43", + "nodeType": "YulAssignment", + "src": "4333:37:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "4360:4:43", + "nodeType": "YulIdentifier", + "src": "4360:4:43" + }, + { + "name": "len", + "nativeSrc": "4366:3:43", + "nodeType": "YulIdentifier", + "src": "4366:3:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "4341:18:43", + "nodeType": "YulIdentifier", + "src": "4341:18:43" + }, + "nativeSrc": "4341:29:43", + "nodeType": "YulFunctionCall", + "src": "4341:29:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "4333:4:43", + "nodeType": "YulIdentifier", + "src": "4333:4:43" + } + ] + }, + { + "nativeSrc": "4379:29:43", + "nodeType": "YulAssignment", + "src": "4379:29:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "4390:4:43", + "nodeType": "YulIdentifier", + "src": "4390:4:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4400:1:43", + "nodeType": "YulLiteral", + "src": "4400:1:43", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "4403:3:43", + "nodeType": "YulIdentifier", + "src": "4403:3:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "4396:3:43", + "nodeType": "YulIdentifier", + "src": "4396:3:43" + }, + "nativeSrc": "4396:11:43", + "nodeType": "YulFunctionCall", + "src": "4396:11:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "4387:2:43", + "nodeType": "YulIdentifier", + "src": "4387:2:43" + }, + "nativeSrc": "4387:21:43", + "nodeType": "YulFunctionCall", + "src": "4387:21:43" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "4379:4:43", + "nodeType": "YulIdentifier", + "src": "4379:4:43" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "4119:295:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "4181:4:43", + "nodeType": "YulTypedName", + "src": "4181:4:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "4187:3:43", + "nodeType": "YulTypedName", + "src": "4187:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "4195:4:43", + "nodeType": "YulTypedName", + "src": "4195:4:43", + "type": "" + } + ], + "src": "4119:295:43" + }, + { + "body": { + "nativeSrc": "4511:1303:43", + "nodeType": "YulBlock", + "src": "4511:1303:43", + "statements": [ + { + "nativeSrc": "4522:51:43", + "nodeType": "YulVariableDeclaration", + "src": "4522:51:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "4569:3:43", + "nodeType": "YulIdentifier", + "src": "4569:3:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "4536:32:43", + "nodeType": "YulIdentifier", + "src": "4536:32:43" + }, + "nativeSrc": "4536:37:43", + "nodeType": "YulFunctionCall", + "src": "4536:37:43" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "4526:6:43", + "nodeType": "YulTypedName", + "src": "4526:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4658:22:43", + "nodeType": "YulBlock", + "src": "4658:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "4660:16:43", + "nodeType": "YulIdentifier", + "src": "4660:16:43" + }, + "nativeSrc": "4660:18:43", + "nodeType": "YulFunctionCall", + "src": "4660:18:43" + }, + "nativeSrc": "4660:18:43", + "nodeType": "YulExpressionStatement", + "src": "4660:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4630:6:43", + "nodeType": "YulIdentifier", + "src": "4630:6:43" + }, + { + "kind": "number", + "nativeSrc": "4638:18:43", + "nodeType": "YulLiteral", + "src": "4638:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4627:2:43", + "nodeType": "YulIdentifier", + "src": "4627:2:43" + }, + "nativeSrc": "4627:30:43", + "nodeType": "YulFunctionCall", + "src": "4627:30:43" + }, + "nativeSrc": "4624:56:43", + "nodeType": "YulIf", + "src": "4624:56:43" + }, + { + "nativeSrc": "4690:52:43", + "nodeType": "YulVariableDeclaration", + "src": "4690:52:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "4736:4:43", + "nodeType": "YulIdentifier", + "src": "4736:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "4730:5:43", + "nodeType": "YulIdentifier", + "src": "4730:5:43" + }, + "nativeSrc": "4730:11:43", + "nodeType": "YulFunctionCall", + "src": "4730:11:43" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "4704:25:43", + "nodeType": "YulIdentifier", + "src": "4704:25:43" + }, + "nativeSrc": "4704:38:43", + "nodeType": "YulFunctionCall", + "src": "4704:38:43" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "4694:6:43", + "nodeType": "YulTypedName", + "src": "4694:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "4835:4:43", + "nodeType": "YulIdentifier", + "src": "4835:4:43" + }, + { + "name": "oldLen", + "nativeSrc": "4841:6:43", + "nodeType": "YulIdentifier", + "src": "4841:6:43" + }, + { + "name": "newLen", + "nativeSrc": "4849:6:43", + "nodeType": "YulIdentifier", + "src": "4849:6:43" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "4789:45:43", + "nodeType": "YulIdentifier", + "src": "4789:45:43" + }, + "nativeSrc": "4789:67:43", + "nodeType": "YulFunctionCall", + "src": "4789:67:43" + }, + "nativeSrc": "4789:67:43", + "nodeType": "YulExpressionStatement", + "src": "4789:67:43" + }, + { + "nativeSrc": "4866:18:43", + "nodeType": "YulVariableDeclaration", + "src": "4866:18:43", + "value": { + "kind": "number", + "nativeSrc": "4883:1:43", + "nodeType": "YulLiteral", + "src": "4883:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "4870:9:43", + "nodeType": "YulTypedName", + "src": "4870:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4894:17:43", + "nodeType": "YulAssignment", + "src": "4894:17:43", + "value": { + "kind": "number", + "nativeSrc": "4907:4:43", + "nodeType": "YulLiteral", + "src": "4907:4:43", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "4894:9:43", + "nodeType": "YulIdentifier", + "src": "4894:9:43" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "4958:611:43", + "nodeType": "YulBlock", + "src": "4958:611:43", + "statements": [ + { + "nativeSrc": "4972:37:43", + "nodeType": "YulVariableDeclaration", + "src": "4972:37:43", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4991:6:43", + "nodeType": "YulIdentifier", + "src": "4991:6:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5003:4:43", + "nodeType": "YulLiteral", + "src": "5003:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4999:3:43", + "nodeType": "YulIdentifier", + "src": "4999:3:43" + }, + "nativeSrc": "4999:9:43", + "nodeType": "YulFunctionCall", + "src": "4999:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4987:3:43", + "nodeType": "YulIdentifier", + "src": "4987:3:43" + }, + "nativeSrc": "4987:22:43", + "nodeType": "YulFunctionCall", + "src": "4987:22:43" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "4976:7:43", + "nodeType": "YulTypedName", + "src": "4976:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5023:51:43", + "nodeType": "YulVariableDeclaration", + "src": "5023:51:43", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5069:4:43", + "nodeType": "YulIdentifier", + "src": "5069:4:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "5037:31:43", + "nodeType": "YulIdentifier", + "src": "5037:31:43" + }, + "nativeSrc": "5037:37:43", + "nodeType": "YulFunctionCall", + "src": "5037:37:43" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "5027:6:43", + "nodeType": "YulTypedName", + "src": "5027:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5087:10:43", + "nodeType": "YulVariableDeclaration", + "src": "5087:10:43", + "value": { + "kind": "number", + "nativeSrc": "5096:1:43", + "nodeType": "YulLiteral", + "src": "5096:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5091:1:43", + "nodeType": "YulTypedName", + "src": "5091:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5155:163:43", + "nodeType": "YulBlock", + "src": "5155:163:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "5180:6:43", + "nodeType": "YulIdentifier", + "src": "5180:6:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5198:3:43", + "nodeType": "YulIdentifier", + "src": "5198:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "5203:9:43", + "nodeType": "YulIdentifier", + "src": "5203:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5194:3:43", + "nodeType": "YulIdentifier", + "src": "5194:3:43" + }, + "nativeSrc": "5194:19:43", + "nodeType": "YulFunctionCall", + "src": "5194:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5188:5:43", + "nodeType": "YulIdentifier", + "src": "5188:5:43" + }, + "nativeSrc": "5188:26:43", + "nodeType": "YulFunctionCall", + "src": "5188:26:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5173:6:43", + "nodeType": "YulIdentifier", + "src": "5173:6:43" + }, + "nativeSrc": "5173:42:43", + "nodeType": "YulFunctionCall", + "src": "5173:42:43" + }, + "nativeSrc": "5173:42:43", + "nodeType": "YulExpressionStatement", + "src": "5173:42:43" + }, + { + "nativeSrc": "5232:24:43", + "nodeType": "YulAssignment", + "src": "5232:24:43", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "5246:6:43", + "nodeType": "YulIdentifier", + "src": "5246:6:43" + }, + { + "kind": "number", + "nativeSrc": "5254:1:43", + "nodeType": "YulLiteral", + "src": "5254:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5242:3:43", + "nodeType": "YulIdentifier", + "src": "5242:3:43" + }, + "nativeSrc": "5242:14:43", + "nodeType": "YulFunctionCall", + "src": "5242:14:43" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "5232:6:43", + "nodeType": "YulIdentifier", + "src": "5232:6:43" + } + ] + }, + { + "nativeSrc": "5273:31:43", + "nodeType": "YulAssignment", + "src": "5273:31:43", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "5290:9:43", + "nodeType": "YulIdentifier", + "src": "5290:9:43" + }, + { + "kind": "number", + "nativeSrc": "5301:2:43", + "nodeType": "YulLiteral", + "src": "5301:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5286:3:43", + "nodeType": "YulIdentifier", + "src": "5286:3:43" + }, + "nativeSrc": "5286:18:43", + "nodeType": "YulFunctionCall", + "src": "5286:18:43" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "5273:9:43", + "nodeType": "YulIdentifier", + "src": "5273:9:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5121:1:43", + "nodeType": "YulIdentifier", + "src": "5121:1:43" + }, + { + "name": "loopEnd", + "nativeSrc": "5124:7:43", + "nodeType": "YulIdentifier", + "src": "5124:7:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5118:2:43", + "nodeType": "YulIdentifier", + "src": "5118:2:43" + }, + "nativeSrc": "5118:14:43", + "nodeType": "YulFunctionCall", + "src": "5118:14:43" + }, + "nativeSrc": "5110:208:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5133:21:43", + "nodeType": "YulBlock", + "src": "5133:21:43", + "statements": [ + { + "nativeSrc": "5135:17:43", + "nodeType": "YulAssignment", + "src": "5135:17:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5144:1:43", + "nodeType": "YulIdentifier", + "src": "5144:1:43" + }, + { + "kind": "number", + "nativeSrc": "5147:4:43", + "nodeType": "YulLiteral", + "src": "5147:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5140:3:43", + "nodeType": "YulIdentifier", + "src": "5140:3:43" + }, + "nativeSrc": "5140:12:43", + "nodeType": "YulFunctionCall", + "src": "5140:12:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5135:1:43", + "nodeType": "YulIdentifier", + "src": "5135:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5114:3:43", + "nodeType": "YulBlock", + "src": "5114:3:43", + "statements": [] + }, + "src": "5110:208:43" + }, + { + "body": { + "nativeSrc": "5354:156:43", + "nodeType": "YulBlock", + "src": "5354:156:43", + "statements": [ + { + "nativeSrc": "5372:43:43", + "nodeType": "YulVariableDeclaration", + "src": "5372:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5399:3:43", + "nodeType": "YulIdentifier", + "src": "5399:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "5404:9:43", + "nodeType": "YulIdentifier", + "src": "5404:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5395:3:43", + "nodeType": "YulIdentifier", + "src": "5395:3:43" + }, + "nativeSrc": "5395:19:43", + "nodeType": "YulFunctionCall", + "src": "5395:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5389:5:43", + "nodeType": "YulIdentifier", + "src": "5389:5:43" + }, + "nativeSrc": "5389:26:43", + "nodeType": "YulFunctionCall", + "src": "5389:26:43" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "5376:9:43", + "nodeType": "YulTypedName", + "src": "5376:9:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "5439:6:43", + "nodeType": "YulIdentifier", + "src": "5439:6:43" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "5466:9:43", + "nodeType": "YulIdentifier", + "src": "5466:9:43" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "5481:6:43", + "nodeType": "YulIdentifier", + "src": "5481:6:43" + }, + { + "kind": "number", + "nativeSrc": "5489:4:43", + "nodeType": "YulLiteral", + "src": "5489:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5477:3:43", + "nodeType": "YulIdentifier", + "src": "5477:3:43" + }, + "nativeSrc": "5477:17:43", + "nodeType": "YulFunctionCall", + "src": "5477:17:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "5447:18:43", + "nodeType": "YulIdentifier", + "src": "5447:18:43" + }, + "nativeSrc": "5447:48:43", + "nodeType": "YulFunctionCall", + "src": "5447:48:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5432:6:43", + "nodeType": "YulIdentifier", + "src": "5432:6:43" + }, + "nativeSrc": "5432:64:43", + "nodeType": "YulFunctionCall", + "src": "5432:64:43" + }, + "nativeSrc": "5432:64:43", + "nodeType": "YulExpressionStatement", + "src": "5432:64:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "5337:7:43", + "nodeType": "YulIdentifier", + "src": "5337:7:43" + }, + { + "name": "newLen", + "nativeSrc": "5346:6:43", + "nodeType": "YulIdentifier", + "src": "5346:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5334:2:43", + "nodeType": "YulIdentifier", + "src": "5334:2:43" + }, + "nativeSrc": "5334:19:43", + "nodeType": "YulFunctionCall", + "src": "5334:19:43" + }, + "nativeSrc": "5331:179:43", + "nodeType": "YulIf", + "src": "5331:179:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5530:4:43", + "nodeType": "YulIdentifier", + "src": "5530:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "5544:6:43", + "nodeType": "YulIdentifier", + "src": "5544:6:43" + }, + { + "kind": "number", + "nativeSrc": "5552:1:43", + "nodeType": "YulLiteral", + "src": "5552:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5540:3:43", + "nodeType": "YulIdentifier", + "src": "5540:3:43" + }, + "nativeSrc": "5540:14:43", + "nodeType": "YulFunctionCall", + "src": "5540:14:43" + }, + { + "kind": "number", + "nativeSrc": "5556:1:43", + "nodeType": "YulLiteral", + "src": "5556:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5536:3:43", + "nodeType": "YulIdentifier", + "src": "5536:3:43" + }, + "nativeSrc": "5536:22:43", + "nodeType": "YulFunctionCall", + "src": "5536:22:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5523:6:43", + "nodeType": "YulIdentifier", + "src": "5523:6:43" + }, + "nativeSrc": "5523:36:43", + "nodeType": "YulFunctionCall", + "src": "5523:36:43" + }, + "nativeSrc": "5523:36:43", + "nodeType": "YulExpressionStatement", + "src": "5523:36:43" + } + ] + }, + "nativeSrc": "4951:618:43", + "nodeType": "YulCase", + "src": "4951:618:43", + "value": { + "kind": "number", + "nativeSrc": "4956:1:43", + "nodeType": "YulLiteral", + "src": "4956:1:43", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "5586:222:43", + "nodeType": "YulBlock", + "src": "5586:222:43", + "statements": [ + { + "nativeSrc": "5600:14:43", + "nodeType": "YulVariableDeclaration", + "src": "5600:14:43", + "value": { + "kind": "number", + "nativeSrc": "5613:1:43", + "nodeType": "YulLiteral", + "src": "5613:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "5604:5:43", + "nodeType": "YulTypedName", + "src": "5604:5:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5637:67:43", + "nodeType": "YulBlock", + "src": "5637:67:43", + "statements": [ + { + "nativeSrc": "5655:35:43", + "nodeType": "YulAssignment", + "src": "5655:35:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5674:3:43", + "nodeType": "YulIdentifier", + "src": "5674:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "5679:9:43", + "nodeType": "YulIdentifier", + "src": "5679:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5670:3:43", + "nodeType": "YulIdentifier", + "src": "5670:3:43" + }, + "nativeSrc": "5670:19:43", + "nodeType": "YulFunctionCall", + "src": "5670:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5664:5:43", + "nodeType": "YulIdentifier", + "src": "5664:5:43" + }, + "nativeSrc": "5664:26:43", + "nodeType": "YulFunctionCall", + "src": "5664:26:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5655:5:43", + "nodeType": "YulIdentifier", + "src": "5655:5:43" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "5630:6:43", + "nodeType": "YulIdentifier", + "src": "5630:6:43" + }, + "nativeSrc": "5627:77:43", + "nodeType": "YulIf", + "src": "5627:77:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5724:4:43", + "nodeType": "YulIdentifier", + "src": "5724:4:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5783:5:43", + "nodeType": "YulIdentifier", + "src": "5783:5:43" + }, + { + "name": "newLen", + "nativeSrc": "5790:6:43", + "nodeType": "YulIdentifier", + "src": "5790:6:43" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "5730:52:43", + "nodeType": "YulIdentifier", + "src": "5730:52:43" + }, + "nativeSrc": "5730:67:43", + "nodeType": "YulFunctionCall", + "src": "5730:67:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5717:6:43", + "nodeType": "YulIdentifier", + "src": "5717:6:43" + }, + "nativeSrc": "5717:81:43", + "nodeType": "YulFunctionCall", + "src": "5717:81:43" + }, + "nativeSrc": "5717:81:43", + "nodeType": "YulExpressionStatement", + "src": "5717:81:43" + } + ] + }, + "nativeSrc": "5578:230:43", + "nodeType": "YulCase", + "src": "5578:230:43", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4931:6:43", + "nodeType": "YulIdentifier", + "src": "4931:6:43" + }, + { + "kind": "number", + "nativeSrc": "4939:2:43", + "nodeType": "YulLiteral", + "src": "4939:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4928:2:43", + "nodeType": "YulIdentifier", + "src": "4928:2:43" + }, + "nativeSrc": "4928:14:43", + "nodeType": "YulFunctionCall", + "src": "4928:14:43" + }, + "nativeSrc": "4921:887:43", + "nodeType": "YulSwitch", + "src": "4921:887:43" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "4419:1395:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "4500:4:43", + "nodeType": "YulTypedName", + "src": "4500:4:43", + "type": "" + }, + { + "name": "src", + "nativeSrc": "4506:3:43", + "nodeType": "YulTypedName", + "src": "4506:3:43", + "type": "" + } + ], + "src": "4419:1395:43" + } + ] + }, + "contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5033604051806020016040528060008152506200003481620000c260201b60201c565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000aa5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a19190620001e2565b60405180910390fd5b620000bb81620000d760201b60201c565b5062000560565b8060029081620000d3919062000479565b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001ca826200019d565b9050919050565b620001dc81620001bd565b82525050565b6000602082019050620001f96000830184620001d1565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028157607f821691505b60208210810362000297576200029662000239565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002c2565b6200030d8683620002c2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200035a620003546200034e8462000325565b6200032f565b62000325565b9050919050565b6000819050919050565b620003768362000339565b6200038e620003858262000361565b848454620002cf565b825550505050565b600090565b620003a562000396565b620003b28184846200036b565b505050565b5b81811015620003da57620003ce6000826200039b565b600181019050620003b8565b5050565b601f8211156200042957620003f3816200029d565b620003fe84620002b2565b810160208510156200040e578190505b620004266200041d85620002b2565b830182620003b7565b50505b505050565b600082821c905092915050565b60006200044e600019846008026200042e565b1980831691505092915050565b60006200046983836200043b565b9150826002028217905092915050565b6200048482620001ff565b67ffffffffffffffff811115620004a0576200049f6200020a565b5b620004ac825462000268565b620004b9828285620003de565b600060209050601f831160018114620004f15760008415620004dc578287015190505b620004e885826200045b565b86555062000558565b601f19841662000501866200029d565b60005b828110156200052b5784890151825560018201915060208501945060208101905062000504565b868310156200054b578489015162000547601f8916826200043b565b8355505b6001600288020188555050505b505050505050565b61284980620005706000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063715018a61161008c578063a22cb46511610066578063a22cb46514610246578063e985e9c514610262578063f242432a14610292578063f2fde38b146102ae576100e9565b8063715018a614610202578063731133e91461020c5780638da5cb5b14610228576100e9565b80630e89341c116100c85780630e89341c1461016a5780631f7fdffa1461019a5780632eb2c2d6146101b65780634e1273f4146101d2576100e9565b8062fdd58e146100ee57806301ffc9a71461011e57806302fe53051461014e575b600080fd5b610108600480360381019061010391906117cf565b6102ca565b604051610115919061181e565b60405180910390f35b61013860048036038101906101339190611891565b610324565b60405161014591906118d9565b60405180910390f35b61016860048036038101906101639190611a3a565b610406565b005b610184600480360381019061017f9190611a83565b61041a565b6040516101919190611b2f565b60405180910390f35b6101b460048036038101906101af9190611cba565b6104ae565b005b6101d060048036038101906101cb9190611d75565b6104c8565b005b6101ec60048036038101906101e79190611f07565b610570565b6040516101f9919061203d565b60405180910390f35b61020a610679565b005b6102266004803603810190610221919061205f565b61068d565b005b6102306106a7565b60405161023d91906120f1565b60405180910390f35b610260600480360381019061025b9190612138565b6106d1565b005b61027c60048036038101906102779190612178565b6106e7565b60405161028991906118d9565b60405180910390f35b6102ac60048036038101906102a791906121b8565b61077b565b005b6102c860048036038101906102c3919061224f565b610823565b005b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103ef57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ff57506103fe826108a9565b5b9050919050565b61040e610913565b6104178161099a565b50565b606060028054610429906122ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610455906122ab565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050509050919050565b6104b6610913565b6104c2848484846109ad565b50505050565b60006104d2610a33565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610517575061051586826106e7565b155b1561055b5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016105529291906122dc565b60405180910390fd5b6105688686868686610a3b565b505050505050565b606081518351146105bc57815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016105b3929190612305565b60405180910390fd5b6000835167ffffffffffffffff8111156105d9576105d861190f565b5b6040519080825280602002602001820160405280156106075781602001602082028036833780820191505090505b50905060005b845181101561066e5761064461062c8287610b3390919063ffffffff16565b61063f8387610b4790919063ffffffff16565b6102ca565b8282815181106106575761065661232e565b5b60200260200101818152505080600101905061060d565b508091505092915050565b610681610913565b61068b6000610b5b565b565b610695610913565b6106a184848484610c21565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106e36106dc610a33565b8383610cba565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610785610a33565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156107ca57506107c886826106e7565b155b1561080e5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016108059291906122dc565b60405180910390fd5b61081b8686868686610e2a565b505050505050565b61082b610913565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361089d5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161089491906120f1565b60405180910390fd5b6108a681610b5b565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61091b610a33565b73ffffffffffffffffffffffffffffffffffffffff166109396106a7565b73ffffffffffffffffffffffffffffffffffffffff16146109985761095c610a33565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161098f91906120f1565b60405180910390fd5b565b80600290816109a99190612509565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a1f5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610a1691906120f1565b60405180910390fd5b610a2d600085858585610f35565b50505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610aad5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610aa491906120f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610b1f5760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610b1691906120f1565b60405180910390fd5b610b2c8585858585610f35565b5050505050565b600060208202602084010151905092915050565b600060208202602084010151905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c935760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610c8a91906120f1565b60405180910390fd5b600080610ca08585610fe7565b91509150610cb2600087848487610f35565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d2c5760006040517fced3e100000000000000000000000000000000000000000000000000000000008152600401610d2391906120f1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e1d91906118d9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e9c5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610e9391906120f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610f0e5760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610f0591906120f1565b60405180910390fd5b600080610f1b8585610fe7565b91509150610f2c8787848487610f35565b50505050505050565b610f4185858585611017565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610fe0576000610f7f610a33565b90506001845103610fcf576000610fa0600086610b4790919063ffffffff16565b90506000610fb8600086610b4790919063ffffffff16565b9050610fc88389898585896113bf565b5050610fde565b610fdd818787878787611573565b5b505b5050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b805182511461106157815181516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401611058929190612305565b60405180910390fd5b600061106b610a33565b905060005b835181101561127a57600061108e8286610b4790919063ffffffff16565b905060006110a58386610b4790919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146111d257600080600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561117a57888183856040517f03dee4c500000000000000000000000000000000000000000000000000000000815260040161117194939291906125db565b60405180910390fd5b81810360008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461126d578060008084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611265919061264f565b925050819055505b5050806001019050611070565b50600183510361133957600061129a600085610b4790919063ffffffff16565b905060006112b2600085610b4790919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62858560405161132a929190612305565b60405180910390a450506113b8565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516113af929190612683565b60405180910390a45b5050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b111561156b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161142095949392919061270f565b6020604051808303816000875af192505050801561145c57506040513d601f19601f82011682018060405250810190611459919061277e565b60015b6114e0573d806000811461148c576040519150601f19603f3d011682016040523d82523d6000602084013e611491565b606091505b5060008151036114d857846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016114cf91906120f1565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461156957846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161156091906120f1565b60405180910390fd5b505b505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b111561171f578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016115d49594939291906127ab565b6020604051808303816000875af192505050801561161057506040513d601f19601f8201168201806040525081019061160d919061277e565b60015b611694573d8060008114611640576040519150601f19603f3d011682016040523d82523d6000602084013e611645565b606091505b50600081510361168c57846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161168391906120f1565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461171d57846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161171491906120f1565b60405180910390fd5b505b505050505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117668261173b565b9050919050565b6117768161175b565b811461178157600080fd5b50565b6000813590506117938161176d565b92915050565b6000819050919050565b6117ac81611799565b81146117b757600080fd5b50565b6000813590506117c9816117a3565b92915050565b600080604083850312156117e6576117e5611731565b5b60006117f485828601611784565b9250506020611805858286016117ba565b9150509250929050565b61181881611799565b82525050565b6000602082019050611833600083018461180f565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61186e81611839565b811461187957600080fd5b50565b60008135905061188b81611865565b92915050565b6000602082840312156118a7576118a6611731565b5b60006118b58482850161187c565b91505092915050565b60008115159050919050565b6118d3816118be565b82525050565b60006020820190506118ee60008301846118ca565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611947826118fe565b810181811067ffffffffffffffff821117156119665761196561190f565b5b80604052505050565b6000611979611727565b9050611985828261193e565b919050565b600067ffffffffffffffff8211156119a5576119a461190f565b5b6119ae826118fe565b9050602081019050919050565b82818337600083830152505050565b60006119dd6119d88461198a565b61196f565b9050828152602081018484840111156119f9576119f86118f9565b5b611a048482856119bb565b509392505050565b600082601f830112611a2157611a206118f4565b5b8135611a318482602086016119ca565b91505092915050565b600060208284031215611a5057611a4f611731565b5b600082013567ffffffffffffffff811115611a6e57611a6d611736565b5b611a7a84828501611a0c565b91505092915050565b600060208284031215611a9957611a98611731565b5b6000611aa7848285016117ba565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611aea578082015181840152602081019050611acf565b60008484015250505050565b6000611b0182611ab0565b611b0b8185611abb565b9350611b1b818560208601611acc565b611b24816118fe565b840191505092915050565b60006020820190508181036000830152611b498184611af6565b905092915050565b600067ffffffffffffffff821115611b6c57611b6b61190f565b5b602082029050602081019050919050565b600080fd5b6000611b95611b9084611b51565b61196f565b90508083825260208201905060208402830185811115611bb857611bb7611b7d565b5b835b81811015611be15780611bcd88826117ba565b845260208401935050602081019050611bba565b5050509392505050565b600082601f830112611c0057611bff6118f4565b5b8135611c10848260208601611b82565b91505092915050565b600067ffffffffffffffff821115611c3457611c3361190f565b5b611c3d826118fe565b9050602081019050919050565b6000611c5d611c5884611c19565b61196f565b905082815260208101848484011115611c7957611c786118f9565b5b611c848482856119bb565b509392505050565b600082601f830112611ca157611ca06118f4565b5b8135611cb1848260208601611c4a565b91505092915050565b60008060008060808587031215611cd457611cd3611731565b5b6000611ce287828801611784565b945050602085013567ffffffffffffffff811115611d0357611d02611736565b5b611d0f87828801611beb565b935050604085013567ffffffffffffffff811115611d3057611d2f611736565b5b611d3c87828801611beb565b925050606085013567ffffffffffffffff811115611d5d57611d5c611736565b5b611d6987828801611c8c565b91505092959194509250565b600080600080600060a08688031215611d9157611d90611731565b5b6000611d9f88828901611784565b9550506020611db088828901611784565b945050604086013567ffffffffffffffff811115611dd157611dd0611736565b5b611ddd88828901611beb565b935050606086013567ffffffffffffffff811115611dfe57611dfd611736565b5b611e0a88828901611beb565b925050608086013567ffffffffffffffff811115611e2b57611e2a611736565b5b611e3788828901611c8c565b9150509295509295909350565b600067ffffffffffffffff821115611e5f57611e5e61190f565b5b602082029050602081019050919050565b6000611e83611e7e84611e44565b61196f565b90508083825260208201905060208402830185811115611ea657611ea5611b7d565b5b835b81811015611ecf5780611ebb8882611784565b845260208401935050602081019050611ea8565b5050509392505050565b600082601f830112611eee57611eed6118f4565b5b8135611efe848260208601611e70565b91505092915050565b60008060408385031215611f1e57611f1d611731565b5b600083013567ffffffffffffffff811115611f3c57611f3b611736565b5b611f4885828601611ed9565b925050602083013567ffffffffffffffff811115611f6957611f68611736565b5b611f7585828601611beb565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611fb481611799565b82525050565b6000611fc68383611fab565b60208301905092915050565b6000602082019050919050565b6000611fea82611f7f565b611ff48185611f8a565b9350611fff83611f9b565b8060005b838110156120305781516120178882611fba565b975061202283611fd2565b925050600181019050612003565b5085935050505092915050565b600060208201905081810360008301526120578184611fdf565b905092915050565b6000806000806080858703121561207957612078611731565b5b600061208787828801611784565b9450506020612098878288016117ba565b93505060406120a9878288016117ba565b925050606085013567ffffffffffffffff8111156120ca576120c9611736565b5b6120d687828801611c8c565b91505092959194509250565b6120eb8161175b565b82525050565b600060208201905061210660008301846120e2565b92915050565b612115816118be565b811461212057600080fd5b50565b6000813590506121328161210c565b92915050565b6000806040838503121561214f5761214e611731565b5b600061215d85828601611784565b925050602061216e85828601612123565b9150509250929050565b6000806040838503121561218f5761218e611731565b5b600061219d85828601611784565b92505060206121ae85828601611784565b9150509250929050565b600080600080600060a086880312156121d4576121d3611731565b5b60006121e288828901611784565b95505060206121f388828901611784565b9450506040612204888289016117ba565b9350506060612215888289016117ba565b925050608086013567ffffffffffffffff81111561223657612235611736565b5b61224288828901611c8c565b9150509295509295909350565b60006020828403121561226557612264611731565b5b600061227384828501611784565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122c357607f821691505b6020821081036122d6576122d561227c565b5b50919050565b60006040820190506122f160008301856120e2565b6122fe60208301846120e2565b9392505050565b600060408201905061231a600083018561180f565b612327602083018461180f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612382565b6123c98683612382565b95508019841693508086168417925050509392505050565b6000819050919050565b60006124066124016123fc84611799565b6123e1565b611799565b9050919050565b6000819050919050565b612420836123eb565b61243461242c8261240d565b84845461238f565b825550505050565b600090565b61244961243c565b612454818484612417565b505050565b5b818110156124785761246d600082612441565b60018101905061245a565b5050565b601f8211156124bd5761248e8161235d565b61249784612372565b810160208510156124a6578190505b6124ba6124b285612372565b830182612459565b50505b505050565b600082821c905092915050565b60006124e0600019846008026124c2565b1980831691505092915050565b60006124f983836124cf565b9150826002028217905092915050565b61251282611ab0565b67ffffffffffffffff81111561252b5761252a61190f565b5b61253582546122ab565b61254082828561247c565b600060209050601f8311600181146125735760008415612561578287015190505b61256b85826124ed565b8655506125d3565b601f1984166125818661235d565b60005b828110156125a957848901518255600182019150602085019450602081019050612584565b868310156125c657848901516125c2601f8916826124cf565b8355505b6001600288020188555050505b505050505050565b60006080820190506125f060008301876120e2565b6125fd602083018661180f565b61260a604083018561180f565b612617606083018461180f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061265a82611799565b915061266583611799565b925082820190508082111561267d5761267c612620565b5b92915050565b6000604082019050818103600083015261269d8185611fdf565b905081810360208301526126b18184611fdf565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006126e1826126ba565b6126eb81856126c5565b93506126fb818560208601611acc565b612704816118fe565b840191505092915050565b600060a08201905061272460008301886120e2565b61273160208301876120e2565b61273e604083018661180f565b61274b606083018561180f565b818103608083015261275d81846126d6565b90509695505050505050565b60008151905061277881611865565b92915050565b60006020828403121561279457612793611731565b5b60006127a284828501612769565b91505092915050565b600060a0820190506127c060008301886120e2565b6127cd60208301876120e2565b81810360408301526127df8186611fdf565b905081810360608301526127f38185611fdf565b9050818103608083015261280781846126d6565b9050969550505050505056fea2646970667358221220ebd1c50aaa453cb4ce3cc4a370efbfd3bf4ce73d0413e12527e44be855c5090764736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH3 0x34 DUP2 PUSH3 0xC2 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAA JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA1 SWAP2 SWAP1 PUSH3 0x1E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBB DUP2 PUSH3 0xD7 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP PUSH3 0x560 JUMP JUMPDEST DUP1 PUSH1 0x2 SWAP1 DUP2 PUSH3 0xD3 SWAP2 SWAP1 PUSH3 0x479 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 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 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1CA DUP3 PUSH3 0x19D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x1DC DUP2 PUSH3 0x1BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x1F9 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x1D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x281 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x297 JUMPI PUSH3 0x296 PUSH3 0x239 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x301 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x2C2 JUMP JUMPDEST PUSH3 0x30D DUP7 DUP4 PUSH3 0x2C2 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x35A PUSH3 0x354 PUSH3 0x34E DUP5 PUSH3 0x325 JUMP JUMPDEST PUSH3 0x32F JUMP JUMPDEST PUSH3 0x325 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x376 DUP4 PUSH3 0x339 JUMP JUMPDEST PUSH3 0x38E PUSH3 0x385 DUP3 PUSH3 0x361 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x2CF JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x3A5 PUSH3 0x396 JUMP JUMPDEST PUSH3 0x3B2 DUP2 DUP5 DUP5 PUSH3 0x36B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x3DA JUMPI PUSH3 0x3CE PUSH1 0x0 DUP3 PUSH3 0x39B JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x3B8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x429 JUMPI PUSH3 0x3F3 DUP2 PUSH3 0x29D JUMP JUMPDEST PUSH3 0x3FE DUP5 PUSH3 0x2B2 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x40E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x426 PUSH3 0x41D DUP6 PUSH3 0x2B2 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x3B7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x44E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x42E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x469 DUP4 DUP4 PUSH3 0x43B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x484 DUP3 PUSH3 0x1FF JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x20A JUMP JUMPDEST JUMPDEST PUSH3 0x4AC DUP3 SLOAD PUSH3 0x268 JUMP JUMPDEST PUSH3 0x4B9 DUP3 DUP3 DUP6 PUSH3 0x3DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x4F1 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x4DC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x4E8 DUP6 DUP3 PUSH3 0x45B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x558 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x501 DUP7 PUSH3 0x29D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x52B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x504 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x54B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x547 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x43B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2849 DUP1 PUSH3 0x570 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x246 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0xF242432A EQ PUSH2 0x292 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AE JUMPI PUSH2 0xE9 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x731133E9 EQ PUSH2 0x20C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x228 JUMPI PUSH2 0xE9 JUMP JUMPDEST DUP1 PUSH4 0xE89341C GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0xE89341C EQ PUSH2 0x16A JUMPI DUP1 PUSH4 0x1F7FDFFA EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x2EB2C2D6 EQ PUSH2 0x1B6 JUMPI DUP1 PUSH4 0x4E1273F4 EQ PUSH2 0x1D2 JUMPI PUSH2 0xE9 JUMP JUMPDEST DUP1 PUSH3 0xFDD58E EQ PUSH2 0xEE JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x11E JUMPI DUP1 PUSH4 0x2FE5305 EQ PUSH2 0x14E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x108 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x103 SWAP2 SWAP1 PUSH2 0x17CF JUMP JUMPDEST PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x133 SWAP2 SWAP1 PUSH2 0x1891 JUMP JUMPDEST PUSH2 0x324 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x1A3A JUMP JUMPDEST PUSH2 0x406 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x184 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17F SWAP2 SWAP1 PUSH2 0x1A83 JUMP JUMPDEST PUSH2 0x41A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP2 SWAP1 PUSH2 0x1B2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x1CBA JUMP JUMPDEST PUSH2 0x4AE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x1D75 JUMP JUMPDEST PUSH2 0x4C8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E7 SWAP2 SWAP1 PUSH2 0x1F07 JUMP JUMPDEST PUSH2 0x570 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x203D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20A PUSH2 0x679 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x226 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x221 SWAP2 SWAP1 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x68D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x230 PUSH2 0x6A7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x260 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25B SWAP2 SWAP1 PUSH2 0x2138 JUMP JUMPDEST PUSH2 0x6D1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x27C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x277 SWAP2 SWAP1 PUSH2 0x2178 JUMP JUMPDEST PUSH2 0x6E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x289 SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2AC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A7 SWAP2 SWAP1 PUSH2 0x21B8 JUMP JUMPDEST PUSH2 0x77B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C3 SWAP2 SWAP1 PUSH2 0x224F JUMP JUMPDEST PUSH2 0x823 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xD9B67A2600000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x3EF JUMPI POP PUSH32 0xE89341C00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x3FF JUMPI POP PUSH2 0x3FE DUP3 PUSH2 0x8A9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x40E PUSH2 0x913 JUMP JUMPDEST PUSH2 0x417 DUP2 PUSH2 0x99A JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x429 SWAP1 PUSH2 0x22AB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x455 SWAP1 PUSH2 0x22AB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4A2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x477 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4A2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x485 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B6 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x4C2 DUP5 DUP5 DUP5 DUP5 PUSH2 0x9AD JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D2 PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO DUP1 ISZERO PUSH2 0x517 JUMPI POP PUSH2 0x515 DUP7 DUP3 PUSH2 0x6E7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x55B JUMPI DUP1 DUP7 PUSH1 0x40 MLOAD PUSH32 0xE237D92200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x552 SWAP3 SWAP2 SWAP1 PUSH2 0x22DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x568 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0xA3B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x5BC JUMPI DUP2 MLOAD DUP4 MLOAD PUSH1 0x40 MLOAD PUSH32 0x5B05999100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5B3 SWAP3 SWAP2 SWAP1 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5D9 JUMPI PUSH2 0x5D8 PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x607 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x66E JUMPI PUSH2 0x644 PUSH2 0x62C DUP3 DUP8 PUSH2 0xB33 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x63F DUP4 DUP8 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x2CA JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x657 JUMPI PUSH2 0x656 PUSH2 0x232E JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0x1 ADD SWAP1 POP PUSH2 0x60D JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x681 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x68B PUSH1 0x0 PUSH2 0xB5B JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x695 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x6A1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xC21 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6E3 PUSH2 0x6DC PUSH2 0xA33 JUMP JUMPDEST DUP4 DUP4 PUSH2 0xCBA JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x785 PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO DUP1 ISZERO PUSH2 0x7CA JUMPI POP PUSH2 0x7C8 DUP7 DUP3 PUSH2 0x6E7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x80E JUMPI DUP1 DUP7 PUSH1 0x40 MLOAD PUSH32 0xE237D92200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x805 SWAP3 SWAP2 SWAP1 PUSH2 0x22DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x81B DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0xE2A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x82B PUSH2 0x913 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x89D JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x894 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A6 DUP2 PUSH2 0xB5B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x91B PUSH2 0xA33 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x939 PUSH2 0x6A7 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x998 JUMPI PUSH2 0x95C PUSH2 0xA33 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST DUP1 PUSH1 0x2 SWAP1 DUP2 PUSH2 0x9A9 SWAP2 SWAP1 PUSH2 0x2509 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA1F JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA16 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA2D PUSH1 0x0 DUP6 DUP6 DUP6 DUP6 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xAAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAA4 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB1F JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1A8351400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB16 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB2C DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MUL PUSH1 0x20 DUP5 ADD ADD MLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MUL PUSH1 0x20 DUP5 ADD ADD MLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 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 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xC93 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC8A SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCA0 DUP6 DUP6 PUSH2 0xFE7 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xCB2 PUSH1 0x0 DUP8 DUP5 DUP5 DUP8 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xD2C JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xCED3E10000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE1D SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE9C JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE93 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xF0E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1A8351400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF05 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF1B DUP6 DUP6 PUSH2 0xFE7 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xF2C DUP8 DUP8 DUP5 DUP5 DUP8 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xF41 DUP6 DUP6 DUP6 DUP6 PUSH2 0x1017 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xFE0 JUMPI PUSH1 0x0 PUSH2 0xF7F PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 MLOAD SUB PUSH2 0xFCF JUMPI PUSH1 0x0 PUSH2 0xFA0 PUSH1 0x0 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xFB8 PUSH1 0x0 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0xFC8 DUP4 DUP10 DUP10 DUP6 DUP6 DUP10 PUSH2 0x13BF JUMP JUMPDEST POP POP PUSH2 0xFDE JUMP JUMPDEST PUSH2 0xFDD DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x1573 JUMP JUMPDEST JUMPDEST POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH1 0x1 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD PUSH1 0x40 MSTORE SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1061 JUMPI DUP2 MLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH32 0x5B05999100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1058 SWAP3 SWAP2 SWAP1 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x106B PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x127A JUMPI PUSH1 0x0 PUSH2 0x108E DUP3 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x10A5 DUP4 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x117A JUMPI DUP9 DUP2 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH32 0x3DEE4C500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1171 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x126D JUMPI DUP1 PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 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 0x1265 SWAP2 SWAP1 PUSH2 0x264F JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP DUP1 PUSH1 0x1 ADD SWAP1 POP PUSH2 0x1070 JUMP JUMPDEST POP PUSH1 0x1 DUP4 MLOAD SUB PUSH2 0x1339 JUMPI PUSH1 0x0 PUSH2 0x129A PUSH1 0x0 DUP6 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x12B2 PUSH1 0x0 DUP6 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x132A SWAP3 SWAP2 SWAP1 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP PUSH2 0x13B8 JUMP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x13AF SWAP3 SWAP2 SWAP1 PUSH2 0x2683 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT ISZERO PUSH2 0x156B JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF23A6E61 DUP8 DUP8 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1420 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x270F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x145C JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1459 SWAP2 SWAP1 PUSH2 0x277E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14E0 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x148C 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 0x1491 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x14D8 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14CF SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ PUSH2 0x1569 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1560 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT ISZERO PUSH2 0x171F JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xBC197C81 DUP8 DUP8 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15D4 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x27AB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1610 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x160D SWAP2 SWAP1 PUSH2 0x277E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1694 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1640 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 0x1645 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x168C JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1683 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ PUSH2 0x171D JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1714 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1766 DUP3 PUSH2 0x173B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1776 DUP2 PUSH2 0x175B JUMP JUMPDEST DUP2 EQ PUSH2 0x1781 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1793 DUP2 PUSH2 0x176D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17AC DUP2 PUSH2 0x1799 JUMP JUMPDEST DUP2 EQ PUSH2 0x17B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x17C9 DUP2 PUSH2 0x17A3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17E6 JUMPI PUSH2 0x17E5 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17F4 DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1805 DUP6 DUP3 DUP7 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1818 DUP2 PUSH2 0x1799 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1833 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x186E DUP2 PUSH2 0x1839 JUMP JUMPDEST DUP2 EQ PUSH2 0x1879 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x188B DUP2 PUSH2 0x1865 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18A7 JUMPI PUSH2 0x18A6 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x18B5 DUP5 DUP3 DUP6 ADD PUSH2 0x187C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18D3 DUP2 PUSH2 0x18BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x18EE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18CA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1947 DUP3 PUSH2 0x18FE JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1966 JUMPI PUSH2 0x1965 PUSH2 0x190F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1979 PUSH2 0x1727 JUMP JUMPDEST SWAP1 POP PUSH2 0x1985 DUP3 DUP3 PUSH2 0x193E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x19A5 JUMPI PUSH2 0x19A4 PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH2 0x19AE DUP3 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19DD PUSH2 0x19D8 DUP5 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x19F9 JUMPI PUSH2 0x19F8 PUSH2 0x18F9 JUMP JUMPDEST JUMPDEST PUSH2 0x1A04 DUP5 DUP3 DUP6 PUSH2 0x19BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A21 JUMPI PUSH2 0x1A20 PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1A31 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x19CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A50 JUMPI PUSH2 0x1A4F PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A6E JUMPI PUSH2 0x1A6D PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1A7A DUP5 DUP3 DUP6 ADD PUSH2 0x1A0C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A99 JUMPI PUSH2 0x1A98 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AA7 DUP5 DUP3 DUP6 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP2 POP POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1AEA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1ACF JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B01 DUP3 PUSH2 0x1AB0 JUMP JUMPDEST PUSH2 0x1B0B DUP2 DUP6 PUSH2 0x1ABB JUMP JUMPDEST SWAP4 POP PUSH2 0x1B1B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1ACC JUMP JUMPDEST PUSH2 0x1B24 DUP2 PUSH2 0x18FE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B49 DUP2 DUP5 PUSH2 0x1AF6 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B6C JUMPI PUSH2 0x1B6B PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B95 PUSH2 0x1B90 DUP5 PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1BB8 JUMPI PUSH2 0x1BB7 PUSH2 0x1B7D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1BE1 JUMPI DUP1 PUSH2 0x1BCD DUP9 DUP3 PUSH2 0x17BA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1BBA JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C00 JUMPI PUSH2 0x1BFF PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1C10 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B82 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C34 JUMPI PUSH2 0x1C33 PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH2 0x1C3D DUP3 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5D PUSH2 0x1C58 DUP5 PUSH2 0x1C19 JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C79 JUMPI PUSH2 0x1C78 PUSH2 0x18F9 JUMP JUMPDEST JUMPDEST PUSH2 0x1C84 DUP5 DUP3 DUP6 PUSH2 0x19BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CA1 JUMPI PUSH2 0x1CA0 PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CB1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C4A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1CD4 JUMPI PUSH2 0x1CD3 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CE2 DUP8 DUP3 DUP9 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D03 JUMPI PUSH2 0x1D02 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1D0F DUP8 DUP3 DUP9 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D30 JUMPI PUSH2 0x1D2F PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1D3C DUP8 DUP3 DUP9 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D5D JUMPI PUSH2 0x1D5C PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1D69 DUP8 DUP3 DUP9 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1D91 JUMPI PUSH2 0x1D90 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D9F DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1DB0 DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DD1 JUMPI PUSH2 0x1DD0 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1DDD DUP9 DUP3 DUP10 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DFE JUMPI PUSH2 0x1DFD PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1E0A DUP9 DUP3 DUP10 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E2B JUMPI PUSH2 0x1E2A PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1E37 DUP9 DUP3 DUP10 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E5F JUMPI PUSH2 0x1E5E PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E83 PUSH2 0x1E7E DUP5 PUSH2 0x1E44 JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1EA6 JUMPI PUSH2 0x1EA5 PUSH2 0x1B7D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1ECF JUMPI DUP1 PUSH2 0x1EBB DUP9 DUP3 PUSH2 0x1784 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1EA8 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EEE JUMPI PUSH2 0x1EED PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1EFE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1E70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F1E JUMPI PUSH2 0x1F1D PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F3C JUMPI PUSH2 0x1F3B PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1F48 DUP6 DUP3 DUP7 ADD PUSH2 0x1ED9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F69 JUMPI PUSH2 0x1F68 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1F75 DUP6 DUP3 DUP7 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FB4 DUP2 PUSH2 0x1799 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FC6 DUP4 DUP4 PUSH2 0x1FAB JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FEA DUP3 PUSH2 0x1F7F JUMP JUMPDEST PUSH2 0x1FF4 DUP2 DUP6 PUSH2 0x1F8A JUMP JUMPDEST SWAP4 POP PUSH2 0x1FFF DUP4 PUSH2 0x1F9B JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2030 JUMPI DUP2 MLOAD PUSH2 0x2017 DUP9 DUP3 PUSH2 0x1FBA JUMP JUMPDEST SWAP8 POP PUSH2 0x2022 DUP4 PUSH2 0x1FD2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2003 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2057 DUP2 DUP5 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2079 JUMPI PUSH2 0x2078 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2087 DUP8 DUP3 DUP9 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x2098 DUP8 DUP3 DUP9 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x20A9 DUP8 DUP3 DUP9 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20CA JUMPI PUSH2 0x20C9 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x20D6 DUP8 DUP3 DUP9 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0x20EB DUP2 PUSH2 0x175B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2106 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x20E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2115 DUP2 PUSH2 0x18BE JUMP JUMPDEST DUP2 EQ PUSH2 0x2120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2132 DUP2 PUSH2 0x210C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x214F JUMPI PUSH2 0x214E PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x215D DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x216E DUP6 DUP3 DUP7 ADD PUSH2 0x2123 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218F JUMPI PUSH2 0x218E PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x219D DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x21AE DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x21D4 JUMPI PUSH2 0x21D3 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x21F3 DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x2204 DUP9 DUP3 DUP10 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x2215 DUP9 DUP3 DUP10 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2236 JUMPI PUSH2 0x2235 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x2242 DUP9 DUP3 DUP10 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2265 JUMPI PUSH2 0x2264 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2273 DUP5 DUP3 DUP6 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x22C3 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x22D6 JUMPI PUSH2 0x22D5 PUSH2 0x227C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x22F1 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x22FE PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20E2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x231A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x2327 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x23BF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x2382 JUMP JUMPDEST PUSH2 0x23C9 DUP7 DUP4 PUSH2 0x2382 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2406 PUSH2 0x2401 PUSH2 0x23FC DUP5 PUSH2 0x1799 JUMP JUMPDEST PUSH2 0x23E1 JUMP JUMPDEST PUSH2 0x1799 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2420 DUP4 PUSH2 0x23EB JUMP JUMPDEST PUSH2 0x2434 PUSH2 0x242C DUP3 PUSH2 0x240D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x238F JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x2449 PUSH2 0x243C JUMP JUMPDEST PUSH2 0x2454 DUP2 DUP5 DUP5 PUSH2 0x2417 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2478 JUMPI PUSH2 0x246D PUSH1 0x0 DUP3 PUSH2 0x2441 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x245A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x24BD JUMPI PUSH2 0x248E DUP2 PUSH2 0x235D JUMP JUMPDEST PUSH2 0x2497 DUP5 PUSH2 0x2372 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x24A6 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x24BA PUSH2 0x24B2 DUP6 PUSH2 0x2372 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x2459 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E0 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x24C2 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24F9 DUP4 DUP4 PUSH2 0x24CF JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2512 DUP3 PUSH2 0x1AB0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x252B JUMPI PUSH2 0x252A PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH2 0x2535 DUP3 SLOAD PUSH2 0x22AB JUMP JUMPDEST PUSH2 0x2540 DUP3 DUP3 DUP6 PUSH2 0x247C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2573 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2561 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x256B DUP6 DUP3 PUSH2 0x24ED JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x25D3 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x2581 DUP7 PUSH2 0x235D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x25A9 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2584 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x25C6 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x25C2 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x24CF JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x25F0 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x25FD PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x260A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x2617 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x265A DUP3 PUSH2 0x1799 JUMP JUMPDEST SWAP2 POP PUSH2 0x2665 DUP4 PUSH2 0x1799 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x267D JUMPI PUSH2 0x267C PUSH2 0x2620 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x269D DUP2 DUP6 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x26B1 DUP2 DUP5 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP 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 0x26E1 DUP3 PUSH2 0x26BA JUMP JUMPDEST PUSH2 0x26EB DUP2 DUP6 PUSH2 0x26C5 JUMP JUMPDEST SWAP4 POP PUSH2 0x26FB DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1ACC JUMP JUMPDEST PUSH2 0x2704 DUP2 PUSH2 0x18FE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2724 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x2731 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x273E PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x274B PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x275D DUP2 DUP5 PUSH2 0x26D6 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2778 DUP2 PUSH2 0x1865 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2794 JUMPI PUSH2 0x2793 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x27A2 DUP5 DUP3 DUP6 ADD PUSH2 0x2769 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x27C0 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x27CD PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x20E2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x27DF DUP2 DUP7 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x27F3 DUP2 DUP6 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2807 DUP2 DUP5 PUSH2 0x26D6 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0xD1 0xC5 EXP 0xAA GASLIMIT EXTCODECOPY 0xB4 0xCE EXTCODECOPY 0xC4 LOG3 PUSH17 0xEFBFD3BF4CE73D0413E12527E44BE855C5 MULMOD SMOD PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "221:548:36:-:0;;;264:48;;;;;;;;;;298:10;1249:62:3;;;;;;;;;;;;1291:13;1299:4;1291:7;;;:13;;:::i;:::-;1249:62;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;221:548:36;;10290:86:3;10363:6;10356:4;:13;;;;;;:::i;:::-;;10290:86;:::o;2912:187:0:-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:126:43:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:180::-;746:77;743:1;736:88;843:4;840:1;833:15;867:4;864:1;857:15;884:180;932:77;929:1;922:88;1029:4;1026:1;1019:15;1053:4;1050:1;1043:15;1070:320;1114:6;1151:1;1145:4;1141:12;1131:22;;1198:1;1192:4;1188:12;1219:18;1209:81;;1275:4;1267:6;1263:17;1253:27;;1209:81;1337:2;1329:6;1326:14;1306:18;1303:38;1300:84;;1356:18;;:::i;:::-;1300:84;1121:269;1070:320;;;:::o;1396:141::-;1445:4;1468:3;1460:11;;1491:3;1488:1;1481:14;1525:4;1522:1;1512:18;1504:26;;1396:141;;;:::o;1543:93::-;1580:6;1627:2;1622;1615:5;1611:14;1607:23;1597:33;;1543:93;;;:::o;1642:107::-;1686:8;1736:5;1730:4;1726:16;1705:37;;1642:107;;;;:::o;1755:393::-;1824:6;1874:1;1862:10;1858:18;1897:97;1927:66;1916:9;1897:97;:::i;:::-;2015:39;2045:8;2034:9;2015:39;:::i;:::-;2003:51;;2087:4;2083:9;2076:5;2072:21;2063:30;;2136:4;2126:8;2122:19;2115:5;2112:30;2102:40;;1831:317;;1755:393;;;;;:::o;2154:77::-;2191:7;2220:5;2209:16;;2154:77;;;:::o;2237:60::-;2265:3;2286:5;2279:12;;2237:60;;;:::o;2303:142::-;2353:9;2386:53;2404:34;2413:24;2431:5;2413:24;:::i;:::-;2404:34;:::i;:::-;2386:53;:::i;:::-;2373:66;;2303:142;;;:::o;2451:75::-;2494:3;2515:5;2508:12;;2451:75;;;:::o;2532:269::-;2642:39;2673:7;2642:39;:::i;:::-;2703:91;2752:41;2776:16;2752:41;:::i;:::-;2744:6;2737:4;2731:11;2703:91;:::i;:::-;2697:4;2690:105;2608:193;2532:269;;;:::o;2807:73::-;2852:3;2807:73;:::o;2886:189::-;2963:32;;:::i;:::-;3004:65;3062:6;3054;3048:4;3004:65;:::i;:::-;2939:136;2886:189;;:::o;3081:186::-;3141:120;3158:3;3151:5;3148:14;3141:120;;;3212:39;3249:1;3242:5;3212:39;:::i;:::-;3185:1;3178:5;3174:13;3165:22;;3141:120;;;3081:186;;:::o;3273:543::-;3374:2;3369:3;3366:11;3363:446;;;3408:38;3440:5;3408:38;:::i;:::-;3492:29;3510:10;3492:29;:::i;:::-;3482:8;3478:44;3675:2;3663:10;3660:18;3657:49;;;3696:8;3681:23;;3657:49;3719:80;3775:22;3793:3;3775:22;:::i;:::-;3765:8;3761:37;3748:11;3719:80;:::i;:::-;3378:431;;3363:446;3273:543;;;:::o;3822:117::-;3876:8;3926:5;3920:4;3916:16;3895:37;;3822:117;;;;:::o;3945:169::-;3989:6;4022:51;4070:1;4066:6;4058:5;4055:1;4051:13;4022:51;:::i;:::-;4018:56;4103:4;4097;4093:15;4083:25;;3996:118;3945:169;;;;:::o;4119:295::-;4195:4;4341:29;4366:3;4360:4;4341:29;:::i;:::-;4333:37;;4403:3;4400:1;4396:11;4390:4;4387:21;4379:29;;4119:295;;;;:::o;4419:1395::-;4536:37;4569:3;4536:37;:::i;:::-;4638:18;4630:6;4627:30;4624:56;;;4660:18;;:::i;:::-;4624:56;4704:38;4736:4;4730:11;4704:38;:::i;:::-;4789:67;4849:6;4841;4835:4;4789:67;:::i;:::-;4883:1;4907:4;4894:17;;4939:2;4931:6;4928:14;4956:1;4951:618;;;;5613:1;5630:6;5627:77;;;5679:9;5674:3;5670:19;5664:26;5655:35;;5627:77;5730:67;5790:6;5783:5;5730:67;:::i;:::-;5724:4;5717:81;5586:222;4921:887;;4951:618;5003:4;4999:9;4991:6;4987:22;5037:37;5069:4;5037:37;:::i;:::-;5096:1;5110:208;5124:7;5121:1;5118:14;5110:208;;;5203:9;5198:3;5194:19;5188:26;5180:6;5173:42;5254:1;5246:6;5242:14;5232:24;;5301:2;5290:9;5286:18;5273:31;;5147:4;5144:1;5140:12;5135:17;;5110:208;;;5346:6;5337:7;5334:19;5331:179;;;5404:9;5399:3;5395:19;5389:26;5447:48;5489:4;5481:6;5477:17;5466:9;5447:48;:::i;:::-;5439:6;5432:64;5354:156;5331:179;5556:1;5552;5544:6;5540:14;5536:22;5530:4;5523:36;4958:611;;;4921:887;;4511:1303;;;4419:1395;;:::o;221:548:36:-;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_asSingletonArrays_1225": { + "entryPoint": 4071, + "id": 1225, + "parameterSlots": 2, + "returnSlots": 2 + }, + "@_checkOwner_84": { + "entryPoint": 2323, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_mintBatch_1080": { + "entryPoint": 2477, + "id": 1080, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_mint_1039": { + "entryPoint": 3105, + "id": 1039, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_msgSender_3338": { + "entryPoint": 2611, + "id": 3338, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_safeBatchTransferFrom_976": { + "entryPoint": 2619, + "id": 976, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@_safeTransferFrom_921": { + "entryPoint": 3626, + "id": 921, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@_setApprovalForAll_1209": { + "entryPoint": 3258, + "id": 1209, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_setURI_987": { + "entryPoint": 2458, + "id": 987, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 2907, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_updateWithAcceptanceCheck_855": { + "entryPoint": 3893, + "id": 855, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@_update_775": { + "entryPoint": 4119, + "id": 775, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@balanceOfBatch_499": { + "entryPoint": 1392, + "id": 499, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@balanceOf_429": { + "entryPoint": 714, + "id": 429, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@checkOnERC1155BatchReceived_1560": { + "entryPoint": 5491, + "id": 1560, + "parameterSlots": 6, + "returnSlots": 0 + }, + "@checkOnERC1155Received_1486": { + "entryPoint": 5055, + "id": 1486, + "parameterSlots": 6, + "returnSlots": 0 + }, + "@isApprovedForAll_532": { + "entryPoint": 1767, + "id": 532, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@mintBatch_11064": { + "entryPoint": 1198, + "id": 11064, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@mint_11041": { + "entryPoint": 1677, + "id": 11041, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@owner_67": { + "entryPoint": 1703, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 1657, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@safeBatchTransferFrom_622": { + "entryPoint": 1224, + "id": 622, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@safeTransferFrom_576": { + "entryPoint": 1915, + "id": 576, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@setApprovalForAll_515": { + "entryPoint": 1745, + "id": 515, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@setURI_11020": { + "entryPoint": 1030, + "id": 11020, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@supportsInterface_401": { + "entryPoint": 804, + "id": 401, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@supportsInterface_6052": { + "entryPoint": 2217, + "id": 6052, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@transferOwnership_126": { + "entryPoint": 2083, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@unsafeMemoryAccess_3234": { + "entryPoint": 2867, + "id": 3234, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@unsafeMemoryAccess_3260": { + "entryPoint": 2887, + "id": 3260, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@uri_412": { + "entryPoint": 1050, + "id": 412, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7792, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 7042, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 7242, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 6602, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 6020, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7897, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 7147, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bool": { + "entryPoint": 8483, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4": { + "entryPoint": 6268, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4_fromMemory": { + "entryPoint": 10089, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 7308, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 6668, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 6074, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 8783, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_address": { + "entryPoint": 8568, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr": { + "entryPoint": 7541, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr": { + "entryPoint": 8632, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr": { + "entryPoint": 7354, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_addresst_bool": { + "entryPoint": 8504, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_uint256": { + "entryPoint": 6095, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_uint256t_uint256t_bytes_memory_ptr": { + "entryPoint": 8287, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 7943, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bytes4": { + "entryPoint": 6289, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes4_fromMemory": { + "entryPoint": 10110, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptr": { + "entryPoint": 6714, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256": { + "entryPoint": 6787, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_uint256_to_t_uint256": { + "entryPoint": 8122, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 8418, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { + "entryPoint": 8159, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 6346, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 9942, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6902, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 8107, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 6159, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 8433, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed": { + "entryPoint": 8924, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 10155, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 9999, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 9691, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 8253, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 9859, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 6361, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6959, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 6174, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 8965, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 6511, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 5927, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 7748, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 6993, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 7193, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 6538, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 8091, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 9053, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 8063, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 9914, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 6832, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 8146, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { + "entryPoint": 8074, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 9925, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 6843, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_add_t_uint256": { + "entryPoint": 9807, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 9340, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 5979, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 6334, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 6201, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 5947, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 6041, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 9305, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 9195, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 9481, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 6587, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 6860, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 9074, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 8875, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 9453, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 6462, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 9185, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 9423, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 9760, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 8828, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 9006, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 6415, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 9229, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 6388, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 7037, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 6393, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 5942, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 5937, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 6398, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 9090, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 9410, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 9281, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 9103, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 9239, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 5997, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 8460, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes4": { + "entryPoint": 6245, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 6051, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 9276, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:31636:43", + "nodeType": "YulBlock", + "src": "0:31636:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "379:81:43", + "nodeType": "YulBlock", + "src": "379:81:43", + "statements": [ + { + "nativeSrc": "389:65:43", + "nodeType": "YulAssignment", + "src": "389:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:43", + "nodeType": "YulIdentifier", + "src": "404:5:43" + }, + { + "kind": "number", + "nativeSrc": "411:42:43", + "nodeType": "YulLiteral", + "src": "411:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:43", + "nodeType": "YulIdentifier", + "src": "400:3:43" + }, + "nativeSrc": "400:54:43", + "nodeType": "YulFunctionCall", + "src": "400:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:43", + "nodeType": "YulIdentifier", + "src": "389:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:43", + "nodeType": "YulTypedName", + "src": "361:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:43", + "nodeType": "YulTypedName", + "src": "371:7:43", + "type": "" + } + ], + "src": "334:126:43" + }, + { + "body": { + "nativeSrc": "511:51:43", + "nodeType": "YulBlock", + "src": "511:51:43", + "statements": [ + { + "nativeSrc": "521:35:43", + "nodeType": "YulAssignment", + "src": "521:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:43", + "nodeType": "YulIdentifier", + "src": "550:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:43", + "nodeType": "YulIdentifier", + "src": "532:17:43" + }, + "nativeSrc": "532:24:43", + "nodeType": "YulFunctionCall", + "src": "532:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:43", + "nodeType": "YulIdentifier", + "src": "521:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:43", + "nodeType": "YulTypedName", + "src": "493:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:43", + "nodeType": "YulTypedName", + "src": "503:7:43", + "type": "" + } + ], + "src": "466:96:43" + }, + { + "body": { + "nativeSrc": "611:79:43", + "nodeType": "YulBlock", + "src": "611:79:43", + "statements": [ + { + "body": { + "nativeSrc": "668:16:43", + "nodeType": "YulBlock", + "src": "668:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "677:1:43", + "nodeType": "YulLiteral", + "src": "677:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "680:1:43", + "nodeType": "YulLiteral", + "src": "680:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "670:6:43", + "nodeType": "YulIdentifier", + "src": "670:6:43" + }, + "nativeSrc": "670:12:43", + "nodeType": "YulFunctionCall", + "src": "670:12:43" + }, + "nativeSrc": "670:12:43", + "nodeType": "YulExpressionStatement", + "src": "670:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "634:5:43", + "nodeType": "YulIdentifier", + "src": "634:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "659:5:43", + "nodeType": "YulIdentifier", + "src": "659:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "641:17:43", + "nodeType": "YulIdentifier", + "src": "641:17:43" + }, + "nativeSrc": "641:24:43", + "nodeType": "YulFunctionCall", + "src": "641:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "631:2:43", + "nodeType": "YulIdentifier", + "src": "631:2:43" + }, + "nativeSrc": "631:35:43", + "nodeType": "YulFunctionCall", + "src": "631:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "624:6:43", + "nodeType": "YulIdentifier", + "src": "624:6:43" + }, + "nativeSrc": "624:43:43", + "nodeType": "YulFunctionCall", + "src": "624:43:43" + }, + "nativeSrc": "621:63:43", + "nodeType": "YulIf", + "src": "621:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "568:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "604:5:43", + "nodeType": "YulTypedName", + "src": "604:5:43", + "type": "" + } + ], + "src": "568:122:43" + }, + { + "body": { + "nativeSrc": "748:87:43", + "nodeType": "YulBlock", + "src": "748:87:43", + "statements": [ + { + "nativeSrc": "758:29:43", + "nodeType": "YulAssignment", + "src": "758:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "780:6:43", + "nodeType": "YulIdentifier", + "src": "780:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "767:12:43", + "nodeType": "YulIdentifier", + "src": "767:12:43" + }, + "nativeSrc": "767:20:43", + "nodeType": "YulFunctionCall", + "src": "767:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "758:5:43", + "nodeType": "YulIdentifier", + "src": "758:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "823:5:43", + "nodeType": "YulIdentifier", + "src": "823:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "796:26:43", + "nodeType": "YulIdentifier", + "src": "796:26:43" + }, + "nativeSrc": "796:33:43", + "nodeType": "YulFunctionCall", + "src": "796:33:43" + }, + "nativeSrc": "796:33:43", + "nodeType": "YulExpressionStatement", + "src": "796:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "696:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "726:6:43", + "nodeType": "YulTypedName", + "src": "726:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "734:3:43", + "nodeType": "YulTypedName", + "src": "734:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "742:5:43", + "nodeType": "YulTypedName", + "src": "742:5:43", + "type": "" + } + ], + "src": "696:139:43" + }, + { + "body": { + "nativeSrc": "886:32:43", + "nodeType": "YulBlock", + "src": "886:32:43", + "statements": [ + { + "nativeSrc": "896:16:43", + "nodeType": "YulAssignment", + "src": "896:16:43", + "value": { + "name": "value", + "nativeSrc": "907:5:43", + "nodeType": "YulIdentifier", + "src": "907:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "896:7:43", + "nodeType": "YulIdentifier", + "src": "896:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "841:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "868:5:43", + "nodeType": "YulTypedName", + "src": "868:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "878:7:43", + "nodeType": "YulTypedName", + "src": "878:7:43", + "type": "" + } + ], + "src": "841:77:43" + }, + { + "body": { + "nativeSrc": "967:79:43", + "nodeType": "YulBlock", + "src": "967:79:43", + "statements": [ + { + "body": { + "nativeSrc": "1024:16:43", + "nodeType": "YulBlock", + "src": "1024:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1033:1:43", + "nodeType": "YulLiteral", + "src": "1033:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1036:1:43", + "nodeType": "YulLiteral", + "src": "1036:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1026:6:43", + "nodeType": "YulIdentifier", + "src": "1026:6:43" + }, + "nativeSrc": "1026:12:43", + "nodeType": "YulFunctionCall", + "src": "1026:12:43" + }, + "nativeSrc": "1026:12:43", + "nodeType": "YulExpressionStatement", + "src": "1026:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "990:5:43", + "nodeType": "YulIdentifier", + "src": "990:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1015:5:43", + "nodeType": "YulIdentifier", + "src": "1015:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "997:17:43", + "nodeType": "YulIdentifier", + "src": "997:17:43" + }, + "nativeSrc": "997:24:43", + "nodeType": "YulFunctionCall", + "src": "997:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "987:2:43", + "nodeType": "YulIdentifier", + "src": "987:2:43" + }, + "nativeSrc": "987:35:43", + "nodeType": "YulFunctionCall", + "src": "987:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "980:6:43", + "nodeType": "YulIdentifier", + "src": "980:6:43" + }, + "nativeSrc": "980:43:43", + "nodeType": "YulFunctionCall", + "src": "980:43:43" + }, + "nativeSrc": "977:63:43", + "nodeType": "YulIf", + "src": "977:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "924:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "960:5:43", + "nodeType": "YulTypedName", + "src": "960:5:43", + "type": "" + } + ], + "src": "924:122:43" + }, + { + "body": { + "nativeSrc": "1104:87:43", + "nodeType": "YulBlock", + "src": "1104:87:43", + "statements": [ + { + "nativeSrc": "1114:29:43", + "nodeType": "YulAssignment", + "src": "1114:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1136:6:43", + "nodeType": "YulIdentifier", + "src": "1136:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1123:12:43", + "nodeType": "YulIdentifier", + "src": "1123:12:43" + }, + "nativeSrc": "1123:20:43", + "nodeType": "YulFunctionCall", + "src": "1123:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1114:5:43", + "nodeType": "YulIdentifier", + "src": "1114:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1179:5:43", + "nodeType": "YulIdentifier", + "src": "1179:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "1152:26:43", + "nodeType": "YulIdentifier", + "src": "1152:26:43" + }, + "nativeSrc": "1152:33:43", + "nodeType": "YulFunctionCall", + "src": "1152:33:43" + }, + "nativeSrc": "1152:33:43", + "nodeType": "YulExpressionStatement", + "src": "1152:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "1052:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1082:6:43", + "nodeType": "YulTypedName", + "src": "1082:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1090:3:43", + "nodeType": "YulTypedName", + "src": "1090:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1098:5:43", + "nodeType": "YulTypedName", + "src": "1098:5:43", + "type": "" + } + ], + "src": "1052:139:43" + }, + { + "body": { + "nativeSrc": "1280:391:43", + "nodeType": "YulBlock", + "src": "1280:391:43", + "statements": [ + { + "body": { + "nativeSrc": "1326:83:43", + "nodeType": "YulBlock", + "src": "1326:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1328:77:43", + "nodeType": "YulIdentifier", + "src": "1328:77:43" + }, + "nativeSrc": "1328:79:43", + "nodeType": "YulFunctionCall", + "src": "1328:79:43" + }, + "nativeSrc": "1328:79:43", + "nodeType": "YulExpressionStatement", + "src": "1328:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1301:7:43", + "nodeType": "YulIdentifier", + "src": "1301:7:43" + }, + { + "name": "headStart", + "nativeSrc": "1310:9:43", + "nodeType": "YulIdentifier", + "src": "1310:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1297:3:43", + "nodeType": "YulIdentifier", + "src": "1297:3:43" + }, + "nativeSrc": "1297:23:43", + "nodeType": "YulFunctionCall", + "src": "1297:23:43" + }, + { + "kind": "number", + "nativeSrc": "1322:2:43", + "nodeType": "YulLiteral", + "src": "1322:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1293:3:43", + "nodeType": "YulIdentifier", + "src": "1293:3:43" + }, + "nativeSrc": "1293:32:43", + "nodeType": "YulFunctionCall", + "src": "1293:32:43" + }, + "nativeSrc": "1290:119:43", + "nodeType": "YulIf", + "src": "1290:119:43" + }, + { + "nativeSrc": "1419:117:43", + "nodeType": "YulBlock", + "src": "1419:117:43", + "statements": [ + { + "nativeSrc": "1434:15:43", + "nodeType": "YulVariableDeclaration", + "src": "1434:15:43", + "value": { + "kind": "number", + "nativeSrc": "1448:1:43", + "nodeType": "YulLiteral", + "src": "1448:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1438:6:43", + "nodeType": "YulTypedName", + "src": "1438:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1463:63:43", + "nodeType": "YulAssignment", + "src": "1463:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1498:9:43", + "nodeType": "YulIdentifier", + "src": "1498:9:43" + }, + { + "name": "offset", + "nativeSrc": "1509:6:43", + "nodeType": "YulIdentifier", + "src": "1509:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1494:3:43", + "nodeType": "YulIdentifier", + "src": "1494:3:43" + }, + "nativeSrc": "1494:22:43", + "nodeType": "YulFunctionCall", + "src": "1494:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "1518:7:43", + "nodeType": "YulIdentifier", + "src": "1518:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "1473:20:43", + "nodeType": "YulIdentifier", + "src": "1473:20:43" + }, + "nativeSrc": "1473:53:43", + "nodeType": "YulFunctionCall", + "src": "1473:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1463:6:43", + "nodeType": "YulIdentifier", + "src": "1463:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "1546:118:43", + "nodeType": "YulBlock", + "src": "1546:118:43", + "statements": [ + { + "nativeSrc": "1561:16:43", + "nodeType": "YulVariableDeclaration", + "src": "1561:16:43", + "value": { + "kind": "number", + "nativeSrc": "1575:2:43", + "nodeType": "YulLiteral", + "src": "1575:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1565:6:43", + "nodeType": "YulTypedName", + "src": "1565:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1591:63:43", + "nodeType": "YulAssignment", + "src": "1591:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1626:9:43", + "nodeType": "YulIdentifier", + "src": "1626:9:43" + }, + { + "name": "offset", + "nativeSrc": "1637:6:43", + "nodeType": "YulIdentifier", + "src": "1637:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1622:3:43", + "nodeType": "YulIdentifier", + "src": "1622:3:43" + }, + "nativeSrc": "1622:22:43", + "nodeType": "YulFunctionCall", + "src": "1622:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "1646:7:43", + "nodeType": "YulIdentifier", + "src": "1646:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "1601:20:43", + "nodeType": "YulIdentifier", + "src": "1601:20:43" + }, + "nativeSrc": "1601:53:43", + "nodeType": "YulFunctionCall", + "src": "1601:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "1591:6:43", + "nodeType": "YulIdentifier", + "src": "1591:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nativeSrc": "1197:474:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1242:9:43", + "nodeType": "YulTypedName", + "src": "1242:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1253:7:43", + "nodeType": "YulTypedName", + "src": "1253:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1265:6:43", + "nodeType": "YulTypedName", + "src": "1265:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "1273:6:43", + "nodeType": "YulTypedName", + "src": "1273:6:43", + "type": "" + } + ], + "src": "1197:474:43" + }, + { + "body": { + "nativeSrc": "1742:53:43", + "nodeType": "YulBlock", + "src": "1742:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1759:3:43", + "nodeType": "YulIdentifier", + "src": "1759:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1782:5:43", + "nodeType": "YulIdentifier", + "src": "1782:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1764:17:43", + "nodeType": "YulIdentifier", + "src": "1764:17:43" + }, + "nativeSrc": "1764:24:43", + "nodeType": "YulFunctionCall", + "src": "1764:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1752:6:43", + "nodeType": "YulIdentifier", + "src": "1752:6:43" + }, + "nativeSrc": "1752:37:43", + "nodeType": "YulFunctionCall", + "src": "1752:37:43" + }, + "nativeSrc": "1752:37:43", + "nodeType": "YulExpressionStatement", + "src": "1752:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "1677:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1730:5:43", + "nodeType": "YulTypedName", + "src": "1730:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1737:3:43", + "nodeType": "YulTypedName", + "src": "1737:3:43", + "type": "" + } + ], + "src": "1677:118:43" + }, + { + "body": { + "nativeSrc": "1899:124:43", + "nodeType": "YulBlock", + "src": "1899:124:43", + "statements": [ + { + "nativeSrc": "1909:26:43", + "nodeType": "YulAssignment", + "src": "1909:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1921:9:43", + "nodeType": "YulIdentifier", + "src": "1921:9:43" + }, + { + "kind": "number", + "nativeSrc": "1932:2:43", + "nodeType": "YulLiteral", + "src": "1932:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1917:3:43", + "nodeType": "YulIdentifier", + "src": "1917:3:43" + }, + "nativeSrc": "1917:18:43", + "nodeType": "YulFunctionCall", + "src": "1917:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1909:4:43", + "nodeType": "YulIdentifier", + "src": "1909:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1989:6:43", + "nodeType": "YulIdentifier", + "src": "1989:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2002:9:43", + "nodeType": "YulIdentifier", + "src": "2002:9:43" + }, + { + "kind": "number", + "nativeSrc": "2013:1:43", + "nodeType": "YulLiteral", + "src": "2013:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1998:3:43", + "nodeType": "YulIdentifier", + "src": "1998:3:43" + }, + "nativeSrc": "1998:17:43", + "nodeType": "YulFunctionCall", + "src": "1998:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "1945:43:43", + "nodeType": "YulIdentifier", + "src": "1945:43:43" + }, + "nativeSrc": "1945:71:43", + "nodeType": "YulFunctionCall", + "src": "1945:71:43" + }, + "nativeSrc": "1945:71:43", + "nodeType": "YulExpressionStatement", + "src": "1945:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "1801:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1871:9:43", + "nodeType": "YulTypedName", + "src": "1871:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1883:6:43", + "nodeType": "YulTypedName", + "src": "1883:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1894:4:43", + "nodeType": "YulTypedName", + "src": "1894:4:43", + "type": "" + } + ], + "src": "1801:222:43" + }, + { + "body": { + "nativeSrc": "2073:105:43", + "nodeType": "YulBlock", + "src": "2073:105:43", + "statements": [ + { + "nativeSrc": "2083:89:43", + "nodeType": "YulAssignment", + "src": "2083:89:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2098:5:43", + "nodeType": "YulIdentifier", + "src": "2098:5:43" + }, + { + "kind": "number", + "nativeSrc": "2105:66:43", + "nodeType": "YulLiteral", + "src": "2105:66:43", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2094:3:43", + "nodeType": "YulIdentifier", + "src": "2094:3:43" + }, + "nativeSrc": "2094:78:43", + "nodeType": "YulFunctionCall", + "src": "2094:78:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2083:7:43", + "nodeType": "YulIdentifier", + "src": "2083:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "2029:149:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2055:5:43", + "nodeType": "YulTypedName", + "src": "2055:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2065:7:43", + "nodeType": "YulTypedName", + "src": "2065:7:43", + "type": "" + } + ], + "src": "2029:149:43" + }, + { + "body": { + "nativeSrc": "2226:78:43", + "nodeType": "YulBlock", + "src": "2226:78:43", + "statements": [ + { + "body": { + "nativeSrc": "2282:16:43", + "nodeType": "YulBlock", + "src": "2282:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2291:1:43", + "nodeType": "YulLiteral", + "src": "2291:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2294:1:43", + "nodeType": "YulLiteral", + "src": "2294:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2284:6:43", + "nodeType": "YulIdentifier", + "src": "2284:6:43" + }, + "nativeSrc": "2284:12:43", + "nodeType": "YulFunctionCall", + "src": "2284:12:43" + }, + "nativeSrc": "2284:12:43", + "nodeType": "YulExpressionStatement", + "src": "2284:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2249:5:43", + "nodeType": "YulIdentifier", + "src": "2249:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2273:5:43", + "nodeType": "YulIdentifier", + "src": "2273:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "2256:16:43", + "nodeType": "YulIdentifier", + "src": "2256:16:43" + }, + "nativeSrc": "2256:23:43", + "nodeType": "YulFunctionCall", + "src": "2256:23:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2246:2:43", + "nodeType": "YulIdentifier", + "src": "2246:2:43" + }, + "nativeSrc": "2246:34:43", + "nodeType": "YulFunctionCall", + "src": "2246:34:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2239:6:43", + "nodeType": "YulIdentifier", + "src": "2239:6:43" + }, + "nativeSrc": "2239:42:43", + "nodeType": "YulFunctionCall", + "src": "2239:42:43" + }, + "nativeSrc": "2236:62:43", + "nodeType": "YulIf", + "src": "2236:62:43" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nativeSrc": "2184:120:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2219:5:43", + "nodeType": "YulTypedName", + "src": "2219:5:43", + "type": "" + } + ], + "src": "2184:120:43" + }, + { + "body": { + "nativeSrc": "2361:86:43", + "nodeType": "YulBlock", + "src": "2361:86:43", + "statements": [ + { + "nativeSrc": "2371:29:43", + "nodeType": "YulAssignment", + "src": "2371:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2393:6:43", + "nodeType": "YulIdentifier", + "src": "2393:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2380:12:43", + "nodeType": "YulIdentifier", + "src": "2380:12:43" + }, + "nativeSrc": "2380:20:43", + "nodeType": "YulFunctionCall", + "src": "2380:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2371:5:43", + "nodeType": "YulIdentifier", + "src": "2371:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2435:5:43", + "nodeType": "YulIdentifier", + "src": "2435:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "2409:25:43", + "nodeType": "YulIdentifier", + "src": "2409:25:43" + }, + "nativeSrc": "2409:32:43", + "nodeType": "YulFunctionCall", + "src": "2409:32:43" + }, + "nativeSrc": "2409:32:43", + "nodeType": "YulExpressionStatement", + "src": "2409:32:43" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nativeSrc": "2310:137:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2339:6:43", + "nodeType": "YulTypedName", + "src": "2339:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2347:3:43", + "nodeType": "YulTypedName", + "src": "2347:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2355:5:43", + "nodeType": "YulTypedName", + "src": "2355:5:43", + "type": "" + } + ], + "src": "2310:137:43" + }, + { + "body": { + "nativeSrc": "2518:262:43", + "nodeType": "YulBlock", + "src": "2518:262:43", + "statements": [ + { + "body": { + "nativeSrc": "2564:83:43", + "nodeType": "YulBlock", + "src": "2564:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2566:77:43", + "nodeType": "YulIdentifier", + "src": "2566:77:43" + }, + "nativeSrc": "2566:79:43", + "nodeType": "YulFunctionCall", + "src": "2566:79:43" + }, + "nativeSrc": "2566:79:43", + "nodeType": "YulExpressionStatement", + "src": "2566:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2539:7:43", + "nodeType": "YulIdentifier", + "src": "2539:7:43" + }, + { + "name": "headStart", + "nativeSrc": "2548:9:43", + "nodeType": "YulIdentifier", + "src": "2548:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2535:3:43", + "nodeType": "YulIdentifier", + "src": "2535:3:43" + }, + "nativeSrc": "2535:23:43", + "nodeType": "YulFunctionCall", + "src": "2535:23:43" + }, + { + "kind": "number", + "nativeSrc": "2560:2:43", + "nodeType": "YulLiteral", + "src": "2560:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2531:3:43", + "nodeType": "YulIdentifier", + "src": "2531:3:43" + }, + "nativeSrc": "2531:32:43", + "nodeType": "YulFunctionCall", + "src": "2531:32:43" + }, + "nativeSrc": "2528:119:43", + "nodeType": "YulIf", + "src": "2528:119:43" + }, + { + "nativeSrc": "2657:116:43", + "nodeType": "YulBlock", + "src": "2657:116:43", + "statements": [ + { + "nativeSrc": "2672:15:43", + "nodeType": "YulVariableDeclaration", + "src": "2672:15:43", + "value": { + "kind": "number", + "nativeSrc": "2686:1:43", + "nodeType": "YulLiteral", + "src": "2686:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2676:6:43", + "nodeType": "YulTypedName", + "src": "2676:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2701:62:43", + "nodeType": "YulAssignment", + "src": "2701:62:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2735:9:43", + "nodeType": "YulIdentifier", + "src": "2735:9:43" + }, + { + "name": "offset", + "nativeSrc": "2746:6:43", + "nodeType": "YulIdentifier", + "src": "2746:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2731:3:43", + "nodeType": "YulIdentifier", + "src": "2731:3:43" + }, + "nativeSrc": "2731:22:43", + "nodeType": "YulFunctionCall", + "src": "2731:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "2755:7:43", + "nodeType": "YulIdentifier", + "src": "2755:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "2711:19:43", + "nodeType": "YulIdentifier", + "src": "2711:19:43" + }, + "nativeSrc": "2711:52:43", + "nodeType": "YulFunctionCall", + "src": "2711:52:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2701:6:43", + "nodeType": "YulIdentifier", + "src": "2701:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nativeSrc": "2453:327:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2488:9:43", + "nodeType": "YulTypedName", + "src": "2488:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2499:7:43", + "nodeType": "YulTypedName", + "src": "2499:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2511:6:43", + "nodeType": "YulTypedName", + "src": "2511:6:43", + "type": "" + } + ], + "src": "2453:327:43" + }, + { + "body": { + "nativeSrc": "2828:48:43", + "nodeType": "YulBlock", + "src": "2828:48:43", + "statements": [ + { + "nativeSrc": "2838:32:43", + "nodeType": "YulAssignment", + "src": "2838:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2863:5:43", + "nodeType": "YulIdentifier", + "src": "2863:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2856:6:43", + "nodeType": "YulIdentifier", + "src": "2856:6:43" + }, + "nativeSrc": "2856:13:43", + "nodeType": "YulFunctionCall", + "src": "2856:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2849:6:43", + "nodeType": "YulIdentifier", + "src": "2849:6:43" + }, + "nativeSrc": "2849:21:43", + "nodeType": "YulFunctionCall", + "src": "2849:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2838:7:43", + "nodeType": "YulIdentifier", + "src": "2838:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "2786:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2810:5:43", + "nodeType": "YulTypedName", + "src": "2810:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2820:7:43", + "nodeType": "YulTypedName", + "src": "2820:7:43", + "type": "" + } + ], + "src": "2786:90:43" + }, + { + "body": { + "nativeSrc": "2941:50:43", + "nodeType": "YulBlock", + "src": "2941:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2958:3:43", + "nodeType": "YulIdentifier", + "src": "2958:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2978:5:43", + "nodeType": "YulIdentifier", + "src": "2978:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "2963:14:43", + "nodeType": "YulIdentifier", + "src": "2963:14:43" + }, + "nativeSrc": "2963:21:43", + "nodeType": "YulFunctionCall", + "src": "2963:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2951:6:43", + "nodeType": "YulIdentifier", + "src": "2951:6:43" + }, + "nativeSrc": "2951:34:43", + "nodeType": "YulFunctionCall", + "src": "2951:34:43" + }, + "nativeSrc": "2951:34:43", + "nodeType": "YulExpressionStatement", + "src": "2951:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "2882:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2929:5:43", + "nodeType": "YulTypedName", + "src": "2929:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2936:3:43", + "nodeType": "YulTypedName", + "src": "2936:3:43", + "type": "" + } + ], + "src": "2882:109:43" + }, + { + "body": { + "nativeSrc": "3089:118:43", + "nodeType": "YulBlock", + "src": "3089:118:43", + "statements": [ + { + "nativeSrc": "3099:26:43", + "nodeType": "YulAssignment", + "src": "3099:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3111:9:43", + "nodeType": "YulIdentifier", + "src": "3111:9:43" + }, + { + "kind": "number", + "nativeSrc": "3122:2:43", + "nodeType": "YulLiteral", + "src": "3122:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3107:3:43", + "nodeType": "YulIdentifier", + "src": "3107:3:43" + }, + "nativeSrc": "3107:18:43", + "nodeType": "YulFunctionCall", + "src": "3107:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3099:4:43", + "nodeType": "YulIdentifier", + "src": "3099:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3173:6:43", + "nodeType": "YulIdentifier", + "src": "3173:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3186:9:43", + "nodeType": "YulIdentifier", + "src": "3186:9:43" + }, + { + "kind": "number", + "nativeSrc": "3197:1:43", + "nodeType": "YulLiteral", + "src": "3197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3182:3:43", + "nodeType": "YulIdentifier", + "src": "3182:3:43" + }, + "nativeSrc": "3182:17:43", + "nodeType": "YulFunctionCall", + "src": "3182:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "3135:37:43", + "nodeType": "YulIdentifier", + "src": "3135:37:43" + }, + "nativeSrc": "3135:65:43", + "nodeType": "YulFunctionCall", + "src": "3135:65:43" + }, + "nativeSrc": "3135:65:43", + "nodeType": "YulExpressionStatement", + "src": "3135:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "2997:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3061:9:43", + "nodeType": "YulTypedName", + "src": "3061:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3073:6:43", + "nodeType": "YulTypedName", + "src": "3073:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3084:4:43", + "nodeType": "YulTypedName", + "src": "3084:4:43", + "type": "" + } + ], + "src": "2997:210:43" + }, + { + "body": { + "nativeSrc": "3302:28:43", + "nodeType": "YulBlock", + "src": "3302:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3319:1:43", + "nodeType": "YulLiteral", + "src": "3319:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3322:1:43", + "nodeType": "YulLiteral", + "src": "3322:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3312:6:43", + "nodeType": "YulIdentifier", + "src": "3312:6:43" + }, + "nativeSrc": "3312:12:43", + "nodeType": "YulFunctionCall", + "src": "3312:12:43" + }, + "nativeSrc": "3312:12:43", + "nodeType": "YulExpressionStatement", + "src": "3312:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3213:117:43", + "nodeType": "YulFunctionDefinition", + "src": "3213:117:43" + }, + { + "body": { + "nativeSrc": "3425:28:43", + "nodeType": "YulBlock", + "src": "3425:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3442:1:43", + "nodeType": "YulLiteral", + "src": "3442:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3445:1:43", + "nodeType": "YulLiteral", + "src": "3445:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3435:6:43", + "nodeType": "YulIdentifier", + "src": "3435:6:43" + }, + "nativeSrc": "3435:12:43", + "nodeType": "YulFunctionCall", + "src": "3435:12:43" + }, + "nativeSrc": "3435:12:43", + "nodeType": "YulExpressionStatement", + "src": "3435:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "3336:117:43", + "nodeType": "YulFunctionDefinition", + "src": "3336:117:43" + }, + { + "body": { + "nativeSrc": "3507:54:43", + "nodeType": "YulBlock", + "src": "3507:54:43", + "statements": [ + { + "nativeSrc": "3517:38:43", + "nodeType": "YulAssignment", + "src": "3517:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3535:5:43", + "nodeType": "YulIdentifier", + "src": "3535:5:43" + }, + { + "kind": "number", + "nativeSrc": "3542:2:43", + "nodeType": "YulLiteral", + "src": "3542:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3531:3:43", + "nodeType": "YulIdentifier", + "src": "3531:3:43" + }, + "nativeSrc": "3531:14:43", + "nodeType": "YulFunctionCall", + "src": "3531:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3551:2:43", + "nodeType": "YulLiteral", + "src": "3551:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3547:3:43", + "nodeType": "YulIdentifier", + "src": "3547:3:43" + }, + "nativeSrc": "3547:7:43", + "nodeType": "YulFunctionCall", + "src": "3547:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3527:3:43", + "nodeType": "YulIdentifier", + "src": "3527:3:43" + }, + "nativeSrc": "3527:28:43", + "nodeType": "YulFunctionCall", + "src": "3527:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "3517:6:43", + "nodeType": "YulIdentifier", + "src": "3517:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "3459:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3490:5:43", + "nodeType": "YulTypedName", + "src": "3490:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "3500:6:43", + "nodeType": "YulTypedName", + "src": "3500:6:43", + "type": "" + } + ], + "src": "3459:102:43" + }, + { + "body": { + "nativeSrc": "3595:152:43", + "nodeType": "YulBlock", + "src": "3595:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3612:1:43", + "nodeType": "YulLiteral", + "src": "3612:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3615:77:43", + "nodeType": "YulLiteral", + "src": "3615:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3605:6:43", + "nodeType": "YulIdentifier", + "src": "3605:6:43" + }, + "nativeSrc": "3605:88:43", + "nodeType": "YulFunctionCall", + "src": "3605:88:43" + }, + "nativeSrc": "3605:88:43", + "nodeType": "YulExpressionStatement", + "src": "3605:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3709:1:43", + "nodeType": "YulLiteral", + "src": "3709:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3712:4:43", + "nodeType": "YulLiteral", + "src": "3712:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3702:6:43", + "nodeType": "YulIdentifier", + "src": "3702:6:43" + }, + "nativeSrc": "3702:15:43", + "nodeType": "YulFunctionCall", + "src": "3702:15:43" + }, + "nativeSrc": "3702:15:43", + "nodeType": "YulExpressionStatement", + "src": "3702:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3733:1:43", + "nodeType": "YulLiteral", + "src": "3733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3736:4:43", + "nodeType": "YulLiteral", + "src": "3736:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3726:6:43", + "nodeType": "YulIdentifier", + "src": "3726:6:43" + }, + "nativeSrc": "3726:15:43", + "nodeType": "YulFunctionCall", + "src": "3726:15:43" + }, + "nativeSrc": "3726:15:43", + "nodeType": "YulExpressionStatement", + "src": "3726:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "3567:180:43", + "nodeType": "YulFunctionDefinition", + "src": "3567:180:43" + }, + { + "body": { + "nativeSrc": "3796:238:43", + "nodeType": "YulBlock", + "src": "3796:238:43", + "statements": [ + { + "nativeSrc": "3806:58:43", + "nodeType": "YulVariableDeclaration", + "src": "3806:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "3828:6:43", + "nodeType": "YulIdentifier", + "src": "3828:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "3858:4:43", + "nodeType": "YulIdentifier", + "src": "3858:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "3836:21:43", + "nodeType": "YulIdentifier", + "src": "3836:21:43" + }, + "nativeSrc": "3836:27:43", + "nodeType": "YulFunctionCall", + "src": "3836:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3824:3:43", + "nodeType": "YulIdentifier", + "src": "3824:3:43" + }, + "nativeSrc": "3824:40:43", + "nodeType": "YulFunctionCall", + "src": "3824:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "3810:10:43", + "nodeType": "YulTypedName", + "src": "3810:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3975:22:43", + "nodeType": "YulBlock", + "src": "3975:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "3977:16:43", + "nodeType": "YulIdentifier", + "src": "3977:16:43" + }, + "nativeSrc": "3977:18:43", + "nodeType": "YulFunctionCall", + "src": "3977:18:43" + }, + "nativeSrc": "3977:18:43", + "nodeType": "YulExpressionStatement", + "src": "3977:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "3918:10:43", + "nodeType": "YulIdentifier", + "src": "3918:10:43" + }, + { + "kind": "number", + "nativeSrc": "3930:18:43", + "nodeType": "YulLiteral", + "src": "3930:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3915:2:43", + "nodeType": "YulIdentifier", + "src": "3915:2:43" + }, + "nativeSrc": "3915:34:43", + "nodeType": "YulFunctionCall", + "src": "3915:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "3954:10:43", + "nodeType": "YulIdentifier", + "src": "3954:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "3966:6:43", + "nodeType": "YulIdentifier", + "src": "3966:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3951:2:43", + "nodeType": "YulIdentifier", + "src": "3951:2:43" + }, + "nativeSrc": "3951:22:43", + "nodeType": "YulFunctionCall", + "src": "3951:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "3912:2:43", + "nodeType": "YulIdentifier", + "src": "3912:2:43" + }, + "nativeSrc": "3912:62:43", + "nodeType": "YulFunctionCall", + "src": "3912:62:43" + }, + "nativeSrc": "3909:88:43", + "nodeType": "YulIf", + "src": "3909:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4013:2:43", + "nodeType": "YulLiteral", + "src": "4013:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "4017:10:43", + "nodeType": "YulIdentifier", + "src": "4017:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4006:6:43", + "nodeType": "YulIdentifier", + "src": "4006:6:43" + }, + "nativeSrc": "4006:22:43", + "nodeType": "YulFunctionCall", + "src": "4006:22:43" + }, + "nativeSrc": "4006:22:43", + "nodeType": "YulExpressionStatement", + "src": "4006:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "3753:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "3782:6:43", + "nodeType": "YulTypedName", + "src": "3782:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "3790:4:43", + "nodeType": "YulTypedName", + "src": "3790:4:43", + "type": "" + } + ], + "src": "3753:281:43" + }, + { + "body": { + "nativeSrc": "4081:88:43", + "nodeType": "YulBlock", + "src": "4081:88:43", + "statements": [ + { + "nativeSrc": "4091:30:43", + "nodeType": "YulAssignment", + "src": "4091:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "4101:18:43", + "nodeType": "YulIdentifier", + "src": "4101:18:43" + }, + "nativeSrc": "4101:20:43", + "nodeType": "YulFunctionCall", + "src": "4101:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "4091:6:43", + "nodeType": "YulIdentifier", + "src": "4091:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "4150:6:43", + "nodeType": "YulIdentifier", + "src": "4150:6:43" + }, + { + "name": "size", + "nativeSrc": "4158:4:43", + "nodeType": "YulIdentifier", + "src": "4158:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "4130:19:43", + "nodeType": "YulIdentifier", + "src": "4130:19:43" + }, + "nativeSrc": "4130:33:43", + "nodeType": "YulFunctionCall", + "src": "4130:33:43" + }, + "nativeSrc": "4130:33:43", + "nodeType": "YulExpressionStatement", + "src": "4130:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "4040:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "4065:4:43", + "nodeType": "YulTypedName", + "src": "4065:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "4074:6:43", + "nodeType": "YulTypedName", + "src": "4074:6:43", + "type": "" + } + ], + "src": "4040:129:43" + }, + { + "body": { + "nativeSrc": "4242:241:43", + "nodeType": "YulBlock", + "src": "4242:241:43", + "statements": [ + { + "body": { + "nativeSrc": "4347:22:43", + "nodeType": "YulBlock", + "src": "4347:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "4349:16:43", + "nodeType": "YulIdentifier", + "src": "4349:16:43" + }, + "nativeSrc": "4349:18:43", + "nodeType": "YulFunctionCall", + "src": "4349:18:43" + }, + "nativeSrc": "4349:18:43", + "nodeType": "YulExpressionStatement", + "src": "4349:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "4319:6:43", + "nodeType": "YulIdentifier", + "src": "4319:6:43" + }, + { + "kind": "number", + "nativeSrc": "4327:18:43", + "nodeType": "YulLiteral", + "src": "4327:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4316:2:43", + "nodeType": "YulIdentifier", + "src": "4316:2:43" + }, + "nativeSrc": "4316:30:43", + "nodeType": "YulFunctionCall", + "src": "4316:30:43" + }, + "nativeSrc": "4313:56:43", + "nodeType": "YulIf", + "src": "4313:56:43" + }, + { + "nativeSrc": "4379:37:43", + "nodeType": "YulAssignment", + "src": "4379:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "4409:6:43", + "nodeType": "YulIdentifier", + "src": "4409:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "4387:21:43", + "nodeType": "YulIdentifier", + "src": "4387:21:43" + }, + "nativeSrc": "4387:29:43", + "nodeType": "YulFunctionCall", + "src": "4387:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "4379:4:43", + "nodeType": "YulIdentifier", + "src": "4379:4:43" + } + ] + }, + { + "nativeSrc": "4453:23:43", + "nodeType": "YulAssignment", + "src": "4453:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "4465:4:43", + "nodeType": "YulIdentifier", + "src": "4465:4:43" + }, + { + "kind": "number", + "nativeSrc": "4471:4:43", + "nodeType": "YulLiteral", + "src": "4471:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4461:3:43", + "nodeType": "YulIdentifier", + "src": "4461:3:43" + }, + "nativeSrc": "4461:15:43", + "nodeType": "YulFunctionCall", + "src": "4461:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "4453:4:43", + "nodeType": "YulIdentifier", + "src": "4453:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "4175:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "4226:6:43", + "nodeType": "YulTypedName", + "src": "4226:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "4237:4:43", + "nodeType": "YulTypedName", + "src": "4237:4:43", + "type": "" + } + ], + "src": "4175:308:43" + }, + { + "body": { + "nativeSrc": "4553:82:43", + "nodeType": "YulBlock", + "src": "4553:82:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "4576:3:43", + "nodeType": "YulIdentifier", + "src": "4576:3:43" + }, + { + "name": "src", + "nativeSrc": "4581:3:43", + "nodeType": "YulIdentifier", + "src": "4581:3:43" + }, + { + "name": "length", + "nativeSrc": "4586:6:43", + "nodeType": "YulIdentifier", + "src": "4586:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "4563:12:43", + "nodeType": "YulIdentifier", + "src": "4563:12:43" + }, + "nativeSrc": "4563:30:43", + "nodeType": "YulFunctionCall", + "src": "4563:30:43" + }, + "nativeSrc": "4563:30:43", + "nodeType": "YulExpressionStatement", + "src": "4563:30:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "4613:3:43", + "nodeType": "YulIdentifier", + "src": "4613:3:43" + }, + { + "name": "length", + "nativeSrc": "4618:6:43", + "nodeType": "YulIdentifier", + "src": "4618:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4609:3:43", + "nodeType": "YulIdentifier", + "src": "4609:3:43" + }, + "nativeSrc": "4609:16:43", + "nodeType": "YulFunctionCall", + "src": "4609:16:43" + }, + { + "kind": "number", + "nativeSrc": "4627:1:43", + "nodeType": "YulLiteral", + "src": "4627:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4602:6:43", + "nodeType": "YulIdentifier", + "src": "4602:6:43" + }, + "nativeSrc": "4602:27:43", + "nodeType": "YulFunctionCall", + "src": "4602:27:43" + }, + "nativeSrc": "4602:27:43", + "nodeType": "YulExpressionStatement", + "src": "4602:27:43" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "4489:146:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "4535:3:43", + "nodeType": "YulTypedName", + "src": "4535:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "4540:3:43", + "nodeType": "YulTypedName", + "src": "4540:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "4545:6:43", + "nodeType": "YulTypedName", + "src": "4545:6:43", + "type": "" + } + ], + "src": "4489:146:43" + }, + { + "body": { + "nativeSrc": "4725:341:43", + "nodeType": "YulBlock", + "src": "4725:341:43", + "statements": [ + { + "nativeSrc": "4735:75:43", + "nodeType": "YulAssignment", + "src": "4735:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "4802:6:43", + "nodeType": "YulIdentifier", + "src": "4802:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "4760:41:43", + "nodeType": "YulIdentifier", + "src": "4760:41:43" + }, + "nativeSrc": "4760:49:43", + "nodeType": "YulFunctionCall", + "src": "4760:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "4744:15:43", + "nodeType": "YulIdentifier", + "src": "4744:15:43" + }, + "nativeSrc": "4744:66:43", + "nodeType": "YulFunctionCall", + "src": "4744:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "4735:5:43", + "nodeType": "YulIdentifier", + "src": "4735:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "4826:5:43", + "nodeType": "YulIdentifier", + "src": "4826:5:43" + }, + { + "name": "length", + "nativeSrc": "4833:6:43", + "nodeType": "YulIdentifier", + "src": "4833:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4819:6:43", + "nodeType": "YulIdentifier", + "src": "4819:6:43" + }, + "nativeSrc": "4819:21:43", + "nodeType": "YulFunctionCall", + "src": "4819:21:43" + }, + "nativeSrc": "4819:21:43", + "nodeType": "YulExpressionStatement", + "src": "4819:21:43" + }, + { + "nativeSrc": "4849:27:43", + "nodeType": "YulVariableDeclaration", + "src": "4849:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "4864:5:43", + "nodeType": "YulIdentifier", + "src": "4864:5:43" + }, + { + "kind": "number", + "nativeSrc": "4871:4:43", + "nodeType": "YulLiteral", + "src": "4871:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4860:3:43", + "nodeType": "YulIdentifier", + "src": "4860:3:43" + }, + "nativeSrc": "4860:16:43", + "nodeType": "YulFunctionCall", + "src": "4860:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "4853:3:43", + "nodeType": "YulTypedName", + "src": "4853:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4914:83:43", + "nodeType": "YulBlock", + "src": "4914:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "4916:77:43", + "nodeType": "YulIdentifier", + "src": "4916:77:43" + }, + "nativeSrc": "4916:79:43", + "nodeType": "YulFunctionCall", + "src": "4916:79:43" + }, + "nativeSrc": "4916:79:43", + "nodeType": "YulExpressionStatement", + "src": "4916:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "4895:3:43", + "nodeType": "YulIdentifier", + "src": "4895:3:43" + }, + { + "name": "length", + "nativeSrc": "4900:6:43", + "nodeType": "YulIdentifier", + "src": "4900:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4891:3:43", + "nodeType": "YulIdentifier", + "src": "4891:3:43" + }, + "nativeSrc": "4891:16:43", + "nodeType": "YulFunctionCall", + "src": "4891:16:43" + }, + { + "name": "end", + "nativeSrc": "4909:3:43", + "nodeType": "YulIdentifier", + "src": "4909:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4888:2:43", + "nodeType": "YulIdentifier", + "src": "4888:2:43" + }, + "nativeSrc": "4888:25:43", + "nodeType": "YulFunctionCall", + "src": "4888:25:43" + }, + "nativeSrc": "4885:112:43", + "nodeType": "YulIf", + "src": "4885:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "5043:3:43", + "nodeType": "YulIdentifier", + "src": "5043:3:43" + }, + { + "name": "dst", + "nativeSrc": "5048:3:43", + "nodeType": "YulIdentifier", + "src": "5048:3:43" + }, + { + "name": "length", + "nativeSrc": "5053:6:43", + "nodeType": "YulIdentifier", + "src": "5053:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "5006:36:43", + "nodeType": "YulIdentifier", + "src": "5006:36:43" + }, + "nativeSrc": "5006:54:43", + "nodeType": "YulFunctionCall", + "src": "5006:54:43" + }, + "nativeSrc": "5006:54:43", + "nodeType": "YulExpressionStatement", + "src": "5006:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "4641:425:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "4698:3:43", + "nodeType": "YulTypedName", + "src": "4698:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "4703:6:43", + "nodeType": "YulTypedName", + "src": "4703:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "4711:3:43", + "nodeType": "YulTypedName", + "src": "4711:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "4719:5:43", + "nodeType": "YulTypedName", + "src": "4719:5:43", + "type": "" + } + ], + "src": "4641:425:43" + }, + { + "body": { + "nativeSrc": "5148:278:43", + "nodeType": "YulBlock", + "src": "5148:278:43", + "statements": [ + { + "body": { + "nativeSrc": "5197:83:43", + "nodeType": "YulBlock", + "src": "5197:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "5199:77:43", + "nodeType": "YulIdentifier", + "src": "5199:77:43" + }, + "nativeSrc": "5199:79:43", + "nodeType": "YulFunctionCall", + "src": "5199:79:43" + }, + "nativeSrc": "5199:79:43", + "nodeType": "YulExpressionStatement", + "src": "5199:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5176:6:43", + "nodeType": "YulIdentifier", + "src": "5176:6:43" + }, + { + "kind": "number", + "nativeSrc": "5184:4:43", + "nodeType": "YulLiteral", + "src": "5184:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5172:3:43", + "nodeType": "YulIdentifier", + "src": "5172:3:43" + }, + "nativeSrc": "5172:17:43", + "nodeType": "YulFunctionCall", + "src": "5172:17:43" + }, + { + "name": "end", + "nativeSrc": "5191:3:43", + "nodeType": "YulIdentifier", + "src": "5191:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5168:3:43", + "nodeType": "YulIdentifier", + "src": "5168:3:43" + }, + "nativeSrc": "5168:27:43", + "nodeType": "YulFunctionCall", + "src": "5168:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5161:6:43", + "nodeType": "YulIdentifier", + "src": "5161:6:43" + }, + "nativeSrc": "5161:35:43", + "nodeType": "YulFunctionCall", + "src": "5161:35:43" + }, + "nativeSrc": "5158:122:43", + "nodeType": "YulIf", + "src": "5158:122:43" + }, + { + "nativeSrc": "5289:34:43", + "nodeType": "YulVariableDeclaration", + "src": "5289:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5316:6:43", + "nodeType": "YulIdentifier", + "src": "5316:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5303:12:43", + "nodeType": "YulIdentifier", + "src": "5303:12:43" + }, + "nativeSrc": "5303:20:43", + "nodeType": "YulFunctionCall", + "src": "5303:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5293:6:43", + "nodeType": "YulTypedName", + "src": "5293:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5332:88:43", + "nodeType": "YulAssignment", + "src": "5332:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5393:6:43", + "nodeType": "YulIdentifier", + "src": "5393:6:43" + }, + { + "kind": "number", + "nativeSrc": "5401:4:43", + "nodeType": "YulLiteral", + "src": "5401:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5389:3:43", + "nodeType": "YulIdentifier", + "src": "5389:3:43" + }, + "nativeSrc": "5389:17:43", + "nodeType": "YulFunctionCall", + "src": "5389:17:43" + }, + { + "name": "length", + "nativeSrc": "5408:6:43", + "nodeType": "YulIdentifier", + "src": "5408:6:43" + }, + { + "name": "end", + "nativeSrc": "5416:3:43", + "nodeType": "YulIdentifier", + "src": "5416:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "5341:47:43", + "nodeType": "YulIdentifier", + "src": "5341:47:43" + }, + "nativeSrc": "5341:79:43", + "nodeType": "YulFunctionCall", + "src": "5341:79:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "5332:5:43", + "nodeType": "YulIdentifier", + "src": "5332:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "5086:340:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5126:6:43", + "nodeType": "YulTypedName", + "src": "5126:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5134:3:43", + "nodeType": "YulTypedName", + "src": "5134:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "5142:5:43", + "nodeType": "YulTypedName", + "src": "5142:5:43", + "type": "" + } + ], + "src": "5086:340:43" + }, + { + "body": { + "nativeSrc": "5508:433:43", + "nodeType": "YulBlock", + "src": "5508:433:43", + "statements": [ + { + "body": { + "nativeSrc": "5554:83:43", + "nodeType": "YulBlock", + "src": "5554:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5556:77:43", + "nodeType": "YulIdentifier", + "src": "5556:77:43" + }, + "nativeSrc": "5556:79:43", + "nodeType": "YulFunctionCall", + "src": "5556:79:43" + }, + "nativeSrc": "5556:79:43", + "nodeType": "YulExpressionStatement", + "src": "5556:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5529:7:43", + "nodeType": "YulIdentifier", + "src": "5529:7:43" + }, + { + "name": "headStart", + "nativeSrc": "5538:9:43", + "nodeType": "YulIdentifier", + "src": "5538:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5525:3:43", + "nodeType": "YulIdentifier", + "src": "5525:3:43" + }, + "nativeSrc": "5525:23:43", + "nodeType": "YulFunctionCall", + "src": "5525:23:43" + }, + { + "kind": "number", + "nativeSrc": "5550:2:43", + "nodeType": "YulLiteral", + "src": "5550:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5521:3:43", + "nodeType": "YulIdentifier", + "src": "5521:3:43" + }, + "nativeSrc": "5521:32:43", + "nodeType": "YulFunctionCall", + "src": "5521:32:43" + }, + "nativeSrc": "5518:119:43", + "nodeType": "YulIf", + "src": "5518:119:43" + }, + { + "nativeSrc": "5647:287:43", + "nodeType": "YulBlock", + "src": "5647:287:43", + "statements": [ + { + "nativeSrc": "5662:45:43", + "nodeType": "YulVariableDeclaration", + "src": "5662:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5693:9:43", + "nodeType": "YulIdentifier", + "src": "5693:9:43" + }, + { + "kind": "number", + "nativeSrc": "5704:1:43", + "nodeType": "YulLiteral", + "src": "5704:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5689:3:43", + "nodeType": "YulIdentifier", + "src": "5689:3:43" + }, + "nativeSrc": "5689:17:43", + "nodeType": "YulFunctionCall", + "src": "5689:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5676:12:43", + "nodeType": "YulIdentifier", + "src": "5676:12:43" + }, + "nativeSrc": "5676:31:43", + "nodeType": "YulFunctionCall", + "src": "5676:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5666:6:43", + "nodeType": "YulTypedName", + "src": "5666:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5754:83:43", + "nodeType": "YulBlock", + "src": "5754:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5756:77:43", + "nodeType": "YulIdentifier", + "src": "5756:77:43" + }, + "nativeSrc": "5756:79:43", + "nodeType": "YulFunctionCall", + "src": "5756:79:43" + }, + "nativeSrc": "5756:79:43", + "nodeType": "YulExpressionStatement", + "src": "5756:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5726:6:43", + "nodeType": "YulIdentifier", + "src": "5726:6:43" + }, + { + "kind": "number", + "nativeSrc": "5734:18:43", + "nodeType": "YulLiteral", + "src": "5734:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5723:2:43", + "nodeType": "YulIdentifier", + "src": "5723:2:43" + }, + "nativeSrc": "5723:30:43", + "nodeType": "YulFunctionCall", + "src": "5723:30:43" + }, + "nativeSrc": "5720:117:43", + "nodeType": "YulIf", + "src": "5720:117:43" + }, + { + "nativeSrc": "5851:73:43", + "nodeType": "YulAssignment", + "src": "5851:73:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5896:9:43", + "nodeType": "YulIdentifier", + "src": "5896:9:43" + }, + { + "name": "offset", + "nativeSrc": "5907:6:43", + "nodeType": "YulIdentifier", + "src": "5907:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5892:3:43", + "nodeType": "YulIdentifier", + "src": "5892:3:43" + }, + "nativeSrc": "5892:22:43", + "nodeType": "YulFunctionCall", + "src": "5892:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5916:7:43", + "nodeType": "YulIdentifier", + "src": "5916:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "5861:30:43", + "nodeType": "YulIdentifier", + "src": "5861:30:43" + }, + "nativeSrc": "5861:63:43", + "nodeType": "YulFunctionCall", + "src": "5861:63:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5851:6:43", + "nodeType": "YulIdentifier", + "src": "5851:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nativeSrc": "5432:509:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5478:9:43", + "nodeType": "YulTypedName", + "src": "5478:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5489:7:43", + "nodeType": "YulTypedName", + "src": "5489:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5501:6:43", + "nodeType": "YulTypedName", + "src": "5501:6:43", + "type": "" + } + ], + "src": "5432:509:43" + }, + { + "body": { + "nativeSrc": "6013:263:43", + "nodeType": "YulBlock", + "src": "6013:263:43", + "statements": [ + { + "body": { + "nativeSrc": "6059:83:43", + "nodeType": "YulBlock", + "src": "6059:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6061:77:43", + "nodeType": "YulIdentifier", + "src": "6061:77:43" + }, + "nativeSrc": "6061:79:43", + "nodeType": "YulFunctionCall", + "src": "6061:79:43" + }, + "nativeSrc": "6061:79:43", + "nodeType": "YulExpressionStatement", + "src": "6061:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6034:7:43", + "nodeType": "YulIdentifier", + "src": "6034:7:43" + }, + { + "name": "headStart", + "nativeSrc": "6043:9:43", + "nodeType": "YulIdentifier", + "src": "6043:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6030:3:43", + "nodeType": "YulIdentifier", + "src": "6030:3:43" + }, + "nativeSrc": "6030:23:43", + "nodeType": "YulFunctionCall", + "src": "6030:23:43" + }, + { + "kind": "number", + "nativeSrc": "6055:2:43", + "nodeType": "YulLiteral", + "src": "6055:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6026:3:43", + "nodeType": "YulIdentifier", + "src": "6026:3:43" + }, + "nativeSrc": "6026:32:43", + "nodeType": "YulFunctionCall", + "src": "6026:32:43" + }, + "nativeSrc": "6023:119:43", + "nodeType": "YulIf", + "src": "6023:119:43" + }, + { + "nativeSrc": "6152:117:43", + "nodeType": "YulBlock", + "src": "6152:117:43", + "statements": [ + { + "nativeSrc": "6167:15:43", + "nodeType": "YulVariableDeclaration", + "src": "6167:15:43", + "value": { + "kind": "number", + "nativeSrc": "6181:1:43", + "nodeType": "YulLiteral", + "src": "6181:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6171:6:43", + "nodeType": "YulTypedName", + "src": "6171:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6196:63:43", + "nodeType": "YulAssignment", + "src": "6196:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6231:9:43", + "nodeType": "YulIdentifier", + "src": "6231:9:43" + }, + { + "name": "offset", + "nativeSrc": "6242:6:43", + "nodeType": "YulIdentifier", + "src": "6242:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6227:3:43", + "nodeType": "YulIdentifier", + "src": "6227:3:43" + }, + "nativeSrc": "6227:22:43", + "nodeType": "YulFunctionCall", + "src": "6227:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "6251:7:43", + "nodeType": "YulIdentifier", + "src": "6251:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "6206:20:43", + "nodeType": "YulIdentifier", + "src": "6206:20:43" + }, + "nativeSrc": "6206:53:43", + "nodeType": "YulFunctionCall", + "src": "6206:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6196:6:43", + "nodeType": "YulIdentifier", + "src": "6196:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nativeSrc": "5947:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5983:9:43", + "nodeType": "YulTypedName", + "src": "5983:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5994:7:43", + "nodeType": "YulTypedName", + "src": "5994:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6006:6:43", + "nodeType": "YulTypedName", + "src": "6006:6:43", + "type": "" + } + ], + "src": "5947:329:43" + }, + { + "body": { + "nativeSrc": "6341:40:43", + "nodeType": "YulBlock", + "src": "6341:40:43", + "statements": [ + { + "nativeSrc": "6352:22:43", + "nodeType": "YulAssignment", + "src": "6352:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6368:5:43", + "nodeType": "YulIdentifier", + "src": "6368:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6362:5:43", + "nodeType": "YulIdentifier", + "src": "6362:5:43" + }, + "nativeSrc": "6362:12:43", + "nodeType": "YulFunctionCall", + "src": "6362:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6352:6:43", + "nodeType": "YulIdentifier", + "src": "6352:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "6282:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6324:5:43", + "nodeType": "YulTypedName", + "src": "6324:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "6334:6:43", + "nodeType": "YulTypedName", + "src": "6334:6:43", + "type": "" + } + ], + "src": "6282:99:43" + }, + { + "body": { + "nativeSrc": "6483:73:43", + "nodeType": "YulBlock", + "src": "6483:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6500:3:43", + "nodeType": "YulIdentifier", + "src": "6500:3:43" + }, + { + "name": "length", + "nativeSrc": "6505:6:43", + "nodeType": "YulIdentifier", + "src": "6505:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6493:6:43", + "nodeType": "YulIdentifier", + "src": "6493:6:43" + }, + "nativeSrc": "6493:19:43", + "nodeType": "YulFunctionCall", + "src": "6493:19:43" + }, + "nativeSrc": "6493:19:43", + "nodeType": "YulExpressionStatement", + "src": "6493:19:43" + }, + { + "nativeSrc": "6521:29:43", + "nodeType": "YulAssignment", + "src": "6521:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6540:3:43", + "nodeType": "YulIdentifier", + "src": "6540:3:43" + }, + { + "kind": "number", + "nativeSrc": "6545:4:43", + "nodeType": "YulLiteral", + "src": "6545:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6536:3:43", + "nodeType": "YulIdentifier", + "src": "6536:3:43" + }, + "nativeSrc": "6536:14:43", + "nodeType": "YulFunctionCall", + "src": "6536:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "6521:11:43", + "nodeType": "YulIdentifier", + "src": "6521:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "6387:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6455:3:43", + "nodeType": "YulTypedName", + "src": "6455:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6460:6:43", + "nodeType": "YulTypedName", + "src": "6460:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "6471:11:43", + "nodeType": "YulTypedName", + "src": "6471:11:43", + "type": "" + } + ], + "src": "6387:169:43" + }, + { + "body": { + "nativeSrc": "6624:184:43", + "nodeType": "YulBlock", + "src": "6624:184:43", + "statements": [ + { + "nativeSrc": "6634:10:43", + "nodeType": "YulVariableDeclaration", + "src": "6634:10:43", + "value": { + "kind": "number", + "nativeSrc": "6643:1:43", + "nodeType": "YulLiteral", + "src": "6643:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "6638:1:43", + "nodeType": "YulTypedName", + "src": "6638:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6703:63:43", + "nodeType": "YulBlock", + "src": "6703:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "6728:3:43", + "nodeType": "YulIdentifier", + "src": "6728:3:43" + }, + { + "name": "i", + "nativeSrc": "6733:1:43", + "nodeType": "YulIdentifier", + "src": "6733:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6724:3:43", + "nodeType": "YulIdentifier", + "src": "6724:3:43" + }, + "nativeSrc": "6724:11:43", + "nodeType": "YulFunctionCall", + "src": "6724:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "6747:3:43", + "nodeType": "YulIdentifier", + "src": "6747:3:43" + }, + { + "name": "i", + "nativeSrc": "6752:1:43", + "nodeType": "YulIdentifier", + "src": "6752:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6743:3:43", + "nodeType": "YulIdentifier", + "src": "6743:3:43" + }, + "nativeSrc": "6743:11:43", + "nodeType": "YulFunctionCall", + "src": "6743:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6737:5:43", + "nodeType": "YulIdentifier", + "src": "6737:5:43" + }, + "nativeSrc": "6737:18:43", + "nodeType": "YulFunctionCall", + "src": "6737:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6717:6:43", + "nodeType": "YulIdentifier", + "src": "6717:6:43" + }, + "nativeSrc": "6717:39:43", + "nodeType": "YulFunctionCall", + "src": "6717:39:43" + }, + "nativeSrc": "6717:39:43", + "nodeType": "YulExpressionStatement", + "src": "6717:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6664:1:43", + "nodeType": "YulIdentifier", + "src": "6664:1:43" + }, + { + "name": "length", + "nativeSrc": "6667:6:43", + "nodeType": "YulIdentifier", + "src": "6667:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6661:2:43", + "nodeType": "YulIdentifier", + "src": "6661:2:43" + }, + "nativeSrc": "6661:13:43", + "nodeType": "YulFunctionCall", + "src": "6661:13:43" + }, + "nativeSrc": "6653:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "6675:19:43", + "nodeType": "YulBlock", + "src": "6675:19:43", + "statements": [ + { + "nativeSrc": "6677:15:43", + "nodeType": "YulAssignment", + "src": "6677:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "6686:1:43", + "nodeType": "YulIdentifier", + "src": "6686:1:43" + }, + { + "kind": "number", + "nativeSrc": "6689:2:43", + "nodeType": "YulLiteral", + "src": "6689:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6682:3:43", + "nodeType": "YulIdentifier", + "src": "6682:3:43" + }, + "nativeSrc": "6682:10:43", + "nodeType": "YulFunctionCall", + "src": "6682:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "6677:1:43", + "nodeType": "YulIdentifier", + "src": "6677:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "6657:3:43", + "nodeType": "YulBlock", + "src": "6657:3:43", + "statements": [] + }, + "src": "6653:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "6786:3:43", + "nodeType": "YulIdentifier", + "src": "6786:3:43" + }, + { + "name": "length", + "nativeSrc": "6791:6:43", + "nodeType": "YulIdentifier", + "src": "6791:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6782:3:43", + "nodeType": "YulIdentifier", + "src": "6782:3:43" + }, + "nativeSrc": "6782:16:43", + "nodeType": "YulFunctionCall", + "src": "6782:16:43" + }, + { + "kind": "number", + "nativeSrc": "6800:1:43", + "nodeType": "YulLiteral", + "src": "6800:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6775:6:43", + "nodeType": "YulIdentifier", + "src": "6775:6:43" + }, + "nativeSrc": "6775:27:43", + "nodeType": "YulFunctionCall", + "src": "6775:27:43" + }, + "nativeSrc": "6775:27:43", + "nodeType": "YulExpressionStatement", + "src": "6775:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "6562:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "6606:3:43", + "nodeType": "YulTypedName", + "src": "6606:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "6611:3:43", + "nodeType": "YulTypedName", + "src": "6611:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6616:6:43", + "nodeType": "YulTypedName", + "src": "6616:6:43", + "type": "" + } + ], + "src": "6562:246:43" + }, + { + "body": { + "nativeSrc": "6906:285:43", + "nodeType": "YulBlock", + "src": "6906:285:43", + "statements": [ + { + "nativeSrc": "6916:53:43", + "nodeType": "YulVariableDeclaration", + "src": "6916:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6963:5:43", + "nodeType": "YulIdentifier", + "src": "6963:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "6930:32:43", + "nodeType": "YulIdentifier", + "src": "6930:32:43" + }, + "nativeSrc": "6930:39:43", + "nodeType": "YulFunctionCall", + "src": "6930:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "6920:6:43", + "nodeType": "YulTypedName", + "src": "6920:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6978:78:43", + "nodeType": "YulAssignment", + "src": "6978:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7044:3:43", + "nodeType": "YulIdentifier", + "src": "7044:3:43" + }, + { + "name": "length", + "nativeSrc": "7049:6:43", + "nodeType": "YulIdentifier", + "src": "7049:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "6985:58:43", + "nodeType": "YulIdentifier", + "src": "6985:58:43" + }, + "nativeSrc": "6985:71:43", + "nodeType": "YulFunctionCall", + "src": "6985:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "6978:3:43", + "nodeType": "YulIdentifier", + "src": "6978:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7104:5:43", + "nodeType": "YulIdentifier", + "src": "7104:5:43" + }, + { + "kind": "number", + "nativeSrc": "7111:4:43", + "nodeType": "YulLiteral", + "src": "7111:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7100:3:43", + "nodeType": "YulIdentifier", + "src": "7100:3:43" + }, + "nativeSrc": "7100:16:43", + "nodeType": "YulFunctionCall", + "src": "7100:16:43" + }, + { + "name": "pos", + "nativeSrc": "7118:3:43", + "nodeType": "YulIdentifier", + "src": "7118:3:43" + }, + { + "name": "length", + "nativeSrc": "7123:6:43", + "nodeType": "YulIdentifier", + "src": "7123:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "7065:34:43", + "nodeType": "YulIdentifier", + "src": "7065:34:43" + }, + "nativeSrc": "7065:65:43", + "nodeType": "YulFunctionCall", + "src": "7065:65:43" + }, + "nativeSrc": "7065:65:43", + "nodeType": "YulExpressionStatement", + "src": "7065:65:43" + }, + { + "nativeSrc": "7139:46:43", + "nodeType": "YulAssignment", + "src": "7139:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7150:3:43", + "nodeType": "YulIdentifier", + "src": "7150:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7177:6:43", + "nodeType": "YulIdentifier", + "src": "7177:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "7155:21:43", + "nodeType": "YulIdentifier", + "src": "7155:21:43" + }, + "nativeSrc": "7155:29:43", + "nodeType": "YulFunctionCall", + "src": "7155:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7146:3:43", + "nodeType": "YulIdentifier", + "src": "7146:3:43" + }, + "nativeSrc": "7146:39:43", + "nodeType": "YulFunctionCall", + "src": "7146:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "7139:3:43", + "nodeType": "YulIdentifier", + "src": "7139:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6814:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6887:5:43", + "nodeType": "YulTypedName", + "src": "6887:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6894:3:43", + "nodeType": "YulTypedName", + "src": "6894:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "6902:3:43", + "nodeType": "YulTypedName", + "src": "6902:3:43", + "type": "" + } + ], + "src": "6814:377:43" + }, + { + "body": { + "nativeSrc": "7315:195:43", + "nodeType": "YulBlock", + "src": "7315:195:43", + "statements": [ + { + "nativeSrc": "7325:26:43", + "nodeType": "YulAssignment", + "src": "7325:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7337:9:43", + "nodeType": "YulIdentifier", + "src": "7337:9:43" + }, + { + "kind": "number", + "nativeSrc": "7348:2:43", + "nodeType": "YulLiteral", + "src": "7348:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7333:3:43", + "nodeType": "YulIdentifier", + "src": "7333:3:43" + }, + "nativeSrc": "7333:18:43", + "nodeType": "YulFunctionCall", + "src": "7333:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7325:4:43", + "nodeType": "YulIdentifier", + "src": "7325:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7372:9:43", + "nodeType": "YulIdentifier", + "src": "7372:9:43" + }, + { + "kind": "number", + "nativeSrc": "7383:1:43", + "nodeType": "YulLiteral", + "src": "7383:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7368:3:43", + "nodeType": "YulIdentifier", + "src": "7368:3:43" + }, + "nativeSrc": "7368:17:43", + "nodeType": "YulFunctionCall", + "src": "7368:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7391:4:43", + "nodeType": "YulIdentifier", + "src": "7391:4:43" + }, + { + "name": "headStart", + "nativeSrc": "7397:9:43", + "nodeType": "YulIdentifier", + "src": "7397:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7387:3:43", + "nodeType": "YulIdentifier", + "src": "7387:3:43" + }, + "nativeSrc": "7387:20:43", + "nodeType": "YulFunctionCall", + "src": "7387:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7361:6:43", + "nodeType": "YulIdentifier", + "src": "7361:6:43" + }, + "nativeSrc": "7361:47:43", + "nodeType": "YulFunctionCall", + "src": "7361:47:43" + }, + "nativeSrc": "7361:47:43", + "nodeType": "YulExpressionStatement", + "src": "7361:47:43" + }, + { + "nativeSrc": "7417:86:43", + "nodeType": "YulAssignment", + "src": "7417:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7489:6:43", + "nodeType": "YulIdentifier", + "src": "7489:6:43" + }, + { + "name": "tail", + "nativeSrc": "7498:4:43", + "nodeType": "YulIdentifier", + "src": "7498:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7425:63:43", + "nodeType": "YulIdentifier", + "src": "7425:63:43" + }, + "nativeSrc": "7425:78:43", + "nodeType": "YulFunctionCall", + "src": "7425:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7417:4:43", + "nodeType": "YulIdentifier", + "src": "7417:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "7197:313:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7287:9:43", + "nodeType": "YulTypedName", + "src": "7287:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7299:6:43", + "nodeType": "YulTypedName", + "src": "7299:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7310:4:43", + "nodeType": "YulTypedName", + "src": "7310:4:43", + "type": "" + } + ], + "src": "7197:313:43" + }, + { + "body": { + "nativeSrc": "7598:229:43", + "nodeType": "YulBlock", + "src": "7598:229:43", + "statements": [ + { + "body": { + "nativeSrc": "7703:22:43", + "nodeType": "YulBlock", + "src": "7703:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7705:16:43", + "nodeType": "YulIdentifier", + "src": "7705:16:43" + }, + "nativeSrc": "7705:18:43", + "nodeType": "YulFunctionCall", + "src": "7705:18:43" + }, + "nativeSrc": "7705:18:43", + "nodeType": "YulExpressionStatement", + "src": "7705:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7675:6:43", + "nodeType": "YulIdentifier", + "src": "7675:6:43" + }, + { + "kind": "number", + "nativeSrc": "7683:18:43", + "nodeType": "YulLiteral", + "src": "7683:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7672:2:43", + "nodeType": "YulIdentifier", + "src": "7672:2:43" + }, + "nativeSrc": "7672:30:43", + "nodeType": "YulFunctionCall", + "src": "7672:30:43" + }, + "nativeSrc": "7669:56:43", + "nodeType": "YulIf", + "src": "7669:56:43" + }, + { + "nativeSrc": "7735:25:43", + "nodeType": "YulAssignment", + "src": "7735:25:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7747:6:43", + "nodeType": "YulIdentifier", + "src": "7747:6:43" + }, + { + "kind": "number", + "nativeSrc": "7755:4:43", + "nodeType": "YulLiteral", + "src": "7755:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7743:3:43", + "nodeType": "YulIdentifier", + "src": "7743:3:43" + }, + "nativeSrc": "7743:17:43", + "nodeType": "YulFunctionCall", + "src": "7743:17:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7735:4:43", + "nodeType": "YulIdentifier", + "src": "7735:4:43" + } + ] + }, + { + "nativeSrc": "7797:23:43", + "nodeType": "YulAssignment", + "src": "7797:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "7809:4:43", + "nodeType": "YulIdentifier", + "src": "7809:4:43" + }, + { + "kind": "number", + "nativeSrc": "7815:4:43", + "nodeType": "YulLiteral", + "src": "7815:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7805:3:43", + "nodeType": "YulIdentifier", + "src": "7805:3:43" + }, + "nativeSrc": "7805:15:43", + "nodeType": "YulFunctionCall", + "src": "7805:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7797:4:43", + "nodeType": "YulIdentifier", + "src": "7797:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "7516:311:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "7582:6:43", + "nodeType": "YulTypedName", + "src": "7582:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "7593:4:43", + "nodeType": "YulTypedName", + "src": "7593:4:43", + "type": "" + } + ], + "src": "7516:311:43" + }, + { + "body": { + "nativeSrc": "7922:28:43", + "nodeType": "YulBlock", + "src": "7922:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7939:1:43", + "nodeType": "YulLiteral", + "src": "7939:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7942:1:43", + "nodeType": "YulLiteral", + "src": "7942:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7932:6:43", + "nodeType": "YulIdentifier", + "src": "7932:6:43" + }, + "nativeSrc": "7932:12:43", + "nodeType": "YulFunctionCall", + "src": "7932:12:43" + }, + "nativeSrc": "7932:12:43", + "nodeType": "YulExpressionStatement", + "src": "7932:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7833:117:43", + "nodeType": "YulFunctionDefinition", + "src": "7833:117:43" + }, + { + "body": { + "nativeSrc": "8075:608:43", + "nodeType": "YulBlock", + "src": "8075:608:43", + "statements": [ + { + "nativeSrc": "8085:90:43", + "nodeType": "YulAssignment", + "src": "8085:90:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8167:6:43", + "nodeType": "YulIdentifier", + "src": "8167:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "8110:56:43", + "nodeType": "YulIdentifier", + "src": "8110:56:43" + }, + "nativeSrc": "8110:64:43", + "nodeType": "YulFunctionCall", + "src": "8110:64:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "8094:15:43", + "nodeType": "YulIdentifier", + "src": "8094:15:43" + }, + "nativeSrc": "8094:81:43", + "nodeType": "YulFunctionCall", + "src": "8094:81:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8085:5:43", + "nodeType": "YulIdentifier", + "src": "8085:5:43" + } + ] + }, + { + "nativeSrc": "8184:16:43", + "nodeType": "YulVariableDeclaration", + "src": "8184:16:43", + "value": { + "name": "array", + "nativeSrc": "8195:5:43", + "nodeType": "YulIdentifier", + "src": "8195:5:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "8188:3:43", + "nodeType": "YulTypedName", + "src": "8188:3:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8217:5:43", + "nodeType": "YulIdentifier", + "src": "8217:5:43" + }, + { + "name": "length", + "nativeSrc": "8224:6:43", + "nodeType": "YulIdentifier", + "src": "8224:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8210:6:43", + "nodeType": "YulIdentifier", + "src": "8210:6:43" + }, + "nativeSrc": "8210:21:43", + "nodeType": "YulFunctionCall", + "src": "8210:21:43" + }, + "nativeSrc": "8210:21:43", + "nodeType": "YulExpressionStatement", + "src": "8210:21:43" + }, + { + "nativeSrc": "8240:23:43", + "nodeType": "YulAssignment", + "src": "8240:23:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8251:5:43", + "nodeType": "YulIdentifier", + "src": "8251:5:43" + }, + { + "kind": "number", + "nativeSrc": "8258:4:43", + "nodeType": "YulLiteral", + "src": "8258:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8247:3:43", + "nodeType": "YulIdentifier", + "src": "8247:3:43" + }, + "nativeSrc": "8247:16:43", + "nodeType": "YulFunctionCall", + "src": "8247:16:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "8240:3:43", + "nodeType": "YulIdentifier", + "src": "8240:3:43" + } + ] + }, + { + "nativeSrc": "8273:44:43", + "nodeType": "YulVariableDeclaration", + "src": "8273:44:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8291:6:43", + "nodeType": "YulIdentifier", + "src": "8291:6:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8303:6:43", + "nodeType": "YulIdentifier", + "src": "8303:6:43" + }, + { + "kind": "number", + "nativeSrc": "8311:4:43", + "nodeType": "YulLiteral", + "src": "8311:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8299:3:43", + "nodeType": "YulIdentifier", + "src": "8299:3:43" + }, + "nativeSrc": "8299:17:43", + "nodeType": "YulFunctionCall", + "src": "8299:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8287:3:43", + "nodeType": "YulIdentifier", + "src": "8287:3:43" + }, + "nativeSrc": "8287:30:43", + "nodeType": "YulFunctionCall", + "src": "8287:30:43" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "8277:6:43", + "nodeType": "YulTypedName", + "src": "8277:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8345:103:43", + "nodeType": "YulBlock", + "src": "8345:103:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "8359:77:43", + "nodeType": "YulIdentifier", + "src": "8359:77:43" + }, + "nativeSrc": "8359:79:43", + "nodeType": "YulFunctionCall", + "src": "8359:79:43" + }, + "nativeSrc": "8359:79:43", + "nodeType": "YulExpressionStatement", + "src": "8359:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "8332:6:43", + "nodeType": "YulIdentifier", + "src": "8332:6:43" + }, + { + "name": "end", + "nativeSrc": "8340:3:43", + "nodeType": "YulIdentifier", + "src": "8340:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8329:2:43", + "nodeType": "YulIdentifier", + "src": "8329:2:43" + }, + "nativeSrc": "8329:15:43", + "nodeType": "YulFunctionCall", + "src": "8329:15:43" + }, + "nativeSrc": "8326:122:43", + "nodeType": "YulIf", + "src": "8326:122:43" + }, + { + "body": { + "nativeSrc": "8533:144:43", + "nodeType": "YulBlock", + "src": "8533:144:43", + "statements": [ + { + "nativeSrc": "8548:21:43", + "nodeType": "YulVariableDeclaration", + "src": "8548:21:43", + "value": { + "name": "src", + "nativeSrc": "8566:3:43", + "nodeType": "YulIdentifier", + "src": "8566:3:43" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "8552:10:43", + "nodeType": "YulTypedName", + "src": "8552:10:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8590:3:43", + "nodeType": "YulIdentifier", + "src": "8590:3:43" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "8616:10:43", + "nodeType": "YulIdentifier", + "src": "8616:10:43" + }, + { + "name": "end", + "nativeSrc": "8628:3:43", + "nodeType": "YulIdentifier", + "src": "8628:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "8595:20:43", + "nodeType": "YulIdentifier", + "src": "8595:20:43" + }, + "nativeSrc": "8595:37:43", + "nodeType": "YulFunctionCall", + "src": "8595:37:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8583:6:43", + "nodeType": "YulIdentifier", + "src": "8583:6:43" + }, + "nativeSrc": "8583:50:43", + "nodeType": "YulFunctionCall", + "src": "8583:50:43" + }, + "nativeSrc": "8583:50:43", + "nodeType": "YulExpressionStatement", + "src": "8583:50:43" + }, + { + "nativeSrc": "8646:21:43", + "nodeType": "YulAssignment", + "src": "8646:21:43", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8657:3:43", + "nodeType": "YulIdentifier", + "src": "8657:3:43" + }, + { + "kind": "number", + "nativeSrc": "8662:4:43", + "nodeType": "YulLiteral", + "src": "8662:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8653:3:43", + "nodeType": "YulIdentifier", + "src": "8653:3:43" + }, + "nativeSrc": "8653:14:43", + "nodeType": "YulFunctionCall", + "src": "8653:14:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "8646:3:43", + "nodeType": "YulIdentifier", + "src": "8646:3:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8486:3:43", + "nodeType": "YulIdentifier", + "src": "8486:3:43" + }, + { + "name": "srcEnd", + "nativeSrc": "8491:6:43", + "nodeType": "YulIdentifier", + "src": "8491:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8483:2:43", + "nodeType": "YulIdentifier", + "src": "8483:2:43" + }, + "nativeSrc": "8483:15:43", + "nodeType": "YulFunctionCall", + "src": "8483:15:43" + }, + "nativeSrc": "8457:220:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8499:25:43", + "nodeType": "YulBlock", + "src": "8499:25:43", + "statements": [ + { + "nativeSrc": "8501:21:43", + "nodeType": "YulAssignment", + "src": "8501:21:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8512:3:43", + "nodeType": "YulIdentifier", + "src": "8512:3:43" + }, + { + "kind": "number", + "nativeSrc": "8517:4:43", + "nodeType": "YulLiteral", + "src": "8517:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8508:3:43", + "nodeType": "YulIdentifier", + "src": "8508:3:43" + }, + "nativeSrc": "8508:14:43", + "nodeType": "YulFunctionCall", + "src": "8508:14:43" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "8501:3:43", + "nodeType": "YulIdentifier", + "src": "8501:3:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "8461:21:43", + "nodeType": "YulBlock", + "src": "8461:21:43", + "statements": [ + { + "nativeSrc": "8463:17:43", + "nodeType": "YulVariableDeclaration", + "src": "8463:17:43", + "value": { + "name": "offset", + "nativeSrc": "8474:6:43", + "nodeType": "YulIdentifier", + "src": "8474:6:43" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "8467:3:43", + "nodeType": "YulTypedName", + "src": "8467:3:43", + "type": "" + } + ] + } + ] + }, + "src": "8457:220:43" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "7973:710:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8045:6:43", + "nodeType": "YulTypedName", + "src": "8045:6:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8053:6:43", + "nodeType": "YulTypedName", + "src": "8053:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8061:3:43", + "nodeType": "YulTypedName", + "src": "8061:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8069:5:43", + "nodeType": "YulTypedName", + "src": "8069:5:43", + "type": "" + } + ], + "src": "7973:710:43" + }, + { + "body": { + "nativeSrc": "8783:293:43", + "nodeType": "YulBlock", + "src": "8783:293:43", + "statements": [ + { + "body": { + "nativeSrc": "8832:83:43", + "nodeType": "YulBlock", + "src": "8832:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "8834:77:43", + "nodeType": "YulIdentifier", + "src": "8834:77:43" + }, + "nativeSrc": "8834:79:43", + "nodeType": "YulFunctionCall", + "src": "8834:79:43" + }, + "nativeSrc": "8834:79:43", + "nodeType": "YulExpressionStatement", + "src": "8834:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8811:6:43", + "nodeType": "YulIdentifier", + "src": "8811:6:43" + }, + { + "kind": "number", + "nativeSrc": "8819:4:43", + "nodeType": "YulLiteral", + "src": "8819:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8807:3:43", + "nodeType": "YulIdentifier", + "src": "8807:3:43" + }, + "nativeSrc": "8807:17:43", + "nodeType": "YulFunctionCall", + "src": "8807:17:43" + }, + { + "name": "end", + "nativeSrc": "8826:3:43", + "nodeType": "YulIdentifier", + "src": "8826:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8803:3:43", + "nodeType": "YulIdentifier", + "src": "8803:3:43" + }, + "nativeSrc": "8803:27:43", + "nodeType": "YulFunctionCall", + "src": "8803:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8796:6:43", + "nodeType": "YulIdentifier", + "src": "8796:6:43" + }, + "nativeSrc": "8796:35:43", + "nodeType": "YulFunctionCall", + "src": "8796:35:43" + }, + "nativeSrc": "8793:122:43", + "nodeType": "YulIf", + "src": "8793:122:43" + }, + { + "nativeSrc": "8924:34:43", + "nodeType": "YulVariableDeclaration", + "src": "8924:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8951:6:43", + "nodeType": "YulIdentifier", + "src": "8951:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8938:12:43", + "nodeType": "YulIdentifier", + "src": "8938:12:43" + }, + "nativeSrc": "8938:20:43", + "nodeType": "YulFunctionCall", + "src": "8938:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "8928:6:43", + "nodeType": "YulTypedName", + "src": "8928:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8967:103:43", + "nodeType": "YulAssignment", + "src": "8967:103:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9043:6:43", + "nodeType": "YulIdentifier", + "src": "9043:6:43" + }, + { + "kind": "number", + "nativeSrc": "9051:4:43", + "nodeType": "YulLiteral", + "src": "9051:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9039:3:43", + "nodeType": "YulIdentifier", + "src": "9039:3:43" + }, + "nativeSrc": "9039:17:43", + "nodeType": "YulFunctionCall", + "src": "9039:17:43" + }, + { + "name": "length", + "nativeSrc": "9058:6:43", + "nodeType": "YulIdentifier", + "src": "9058:6:43" + }, + { + "name": "end", + "nativeSrc": "9066:3:43", + "nodeType": "YulIdentifier", + "src": "9066:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "8976:62:43", + "nodeType": "YulIdentifier", + "src": "8976:62:43" + }, + "nativeSrc": "8976:94:43", + "nodeType": "YulFunctionCall", + "src": "8976:94:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8967:5:43", + "nodeType": "YulIdentifier", + "src": "8967:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "8706:370:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8761:6:43", + "nodeType": "YulTypedName", + "src": "8761:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8769:3:43", + "nodeType": "YulTypedName", + "src": "8769:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8777:5:43", + "nodeType": "YulTypedName", + "src": "8777:5:43", + "type": "" + } + ], + "src": "8706:370:43" + }, + { + "body": { + "nativeSrc": "9148:241:43", + "nodeType": "YulBlock", + "src": "9148:241:43", + "statements": [ + { + "body": { + "nativeSrc": "9253:22:43", + "nodeType": "YulBlock", + "src": "9253:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9255:16:43", + "nodeType": "YulIdentifier", + "src": "9255:16:43" + }, + "nativeSrc": "9255:18:43", + "nodeType": "YulFunctionCall", + "src": "9255:18:43" + }, + "nativeSrc": "9255:18:43", + "nodeType": "YulExpressionStatement", + "src": "9255:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "9225:6:43", + "nodeType": "YulIdentifier", + "src": "9225:6:43" + }, + { + "kind": "number", + "nativeSrc": "9233:18:43", + "nodeType": "YulLiteral", + "src": "9233:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9222:2:43", + "nodeType": "YulIdentifier", + "src": "9222:2:43" + }, + "nativeSrc": "9222:30:43", + "nodeType": "YulFunctionCall", + "src": "9222:30:43" + }, + "nativeSrc": "9219:56:43", + "nodeType": "YulIf", + "src": "9219:56:43" + }, + { + "nativeSrc": "9285:37:43", + "nodeType": "YulAssignment", + "src": "9285:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "9315:6:43", + "nodeType": "YulIdentifier", + "src": "9315:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "9293:21:43", + "nodeType": "YulIdentifier", + "src": "9293:21:43" + }, + "nativeSrc": "9293:29:43", + "nodeType": "YulFunctionCall", + "src": "9293:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "9285:4:43", + "nodeType": "YulIdentifier", + "src": "9285:4:43" + } + ] + }, + { + "nativeSrc": "9359:23:43", + "nodeType": "YulAssignment", + "src": "9359:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "9371:4:43", + "nodeType": "YulIdentifier", + "src": "9371:4:43" + }, + { + "kind": "number", + "nativeSrc": "9377:4:43", + "nodeType": "YulLiteral", + "src": "9377:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9367:3:43", + "nodeType": "YulIdentifier", + "src": "9367:3:43" + }, + "nativeSrc": "9367:15:43", + "nodeType": "YulFunctionCall", + "src": "9367:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "9359:4:43", + "nodeType": "YulIdentifier", + "src": "9359:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "9082:307:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "9132:6:43", + "nodeType": "YulTypedName", + "src": "9132:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "9143:4:43", + "nodeType": "YulTypedName", + "src": "9143:4:43", + "type": "" + } + ], + "src": "9082:307:43" + }, + { + "body": { + "nativeSrc": "9478:340:43", + "nodeType": "YulBlock", + "src": "9478:340:43", + "statements": [ + { + "nativeSrc": "9488:74:43", + "nodeType": "YulAssignment", + "src": "9488:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "9554:6:43", + "nodeType": "YulIdentifier", + "src": "9554:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "9513:40:43", + "nodeType": "YulIdentifier", + "src": "9513:40:43" + }, + "nativeSrc": "9513:48:43", + "nodeType": "YulFunctionCall", + "src": "9513:48:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "9497:15:43", + "nodeType": "YulIdentifier", + "src": "9497:15:43" + }, + "nativeSrc": "9497:65:43", + "nodeType": "YulFunctionCall", + "src": "9497:65:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "9488:5:43", + "nodeType": "YulIdentifier", + "src": "9488:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "9578:5:43", + "nodeType": "YulIdentifier", + "src": "9578:5:43" + }, + { + "name": "length", + "nativeSrc": "9585:6:43", + "nodeType": "YulIdentifier", + "src": "9585:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9571:6:43", + "nodeType": "YulIdentifier", + "src": "9571:6:43" + }, + "nativeSrc": "9571:21:43", + "nodeType": "YulFunctionCall", + "src": "9571:21:43" + }, + "nativeSrc": "9571:21:43", + "nodeType": "YulExpressionStatement", + "src": "9571:21:43" + }, + { + "nativeSrc": "9601:27:43", + "nodeType": "YulVariableDeclaration", + "src": "9601:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "9616:5:43", + "nodeType": "YulIdentifier", + "src": "9616:5:43" + }, + { + "kind": "number", + "nativeSrc": "9623:4:43", + "nodeType": "YulLiteral", + "src": "9623:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9612:3:43", + "nodeType": "YulIdentifier", + "src": "9612:3:43" + }, + "nativeSrc": "9612:16:43", + "nodeType": "YulFunctionCall", + "src": "9612:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "9605:3:43", + "nodeType": "YulTypedName", + "src": "9605:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9666:83:43", + "nodeType": "YulBlock", + "src": "9666:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "9668:77:43", + "nodeType": "YulIdentifier", + "src": "9668:77:43" + }, + "nativeSrc": "9668:79:43", + "nodeType": "YulFunctionCall", + "src": "9668:79:43" + }, + "nativeSrc": "9668:79:43", + "nodeType": "YulExpressionStatement", + "src": "9668:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9647:3:43", + "nodeType": "YulIdentifier", + "src": "9647:3:43" + }, + { + "name": "length", + "nativeSrc": "9652:6:43", + "nodeType": "YulIdentifier", + "src": "9652:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9643:3:43", + "nodeType": "YulIdentifier", + "src": "9643:3:43" + }, + "nativeSrc": "9643:16:43", + "nodeType": "YulFunctionCall", + "src": "9643:16:43" + }, + { + "name": "end", + "nativeSrc": "9661:3:43", + "nodeType": "YulIdentifier", + "src": "9661:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9640:2:43", + "nodeType": "YulIdentifier", + "src": "9640:2:43" + }, + "nativeSrc": "9640:25:43", + "nodeType": "YulFunctionCall", + "src": "9640:25:43" + }, + "nativeSrc": "9637:112:43", + "nodeType": "YulIf", + "src": "9637:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "9795:3:43", + "nodeType": "YulIdentifier", + "src": "9795:3:43" + }, + { + "name": "dst", + "nativeSrc": "9800:3:43", + "nodeType": "YulIdentifier", + "src": "9800:3:43" + }, + { + "name": "length", + "nativeSrc": "9805:6:43", + "nodeType": "YulIdentifier", + "src": "9805:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "9758:36:43", + "nodeType": "YulIdentifier", + "src": "9758:36:43" + }, + "nativeSrc": "9758:54:43", + "nodeType": "YulFunctionCall", + "src": "9758:54:43" + }, + "nativeSrc": "9758:54:43", + "nodeType": "YulExpressionStatement", + "src": "9758:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "9395:423:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "9451:3:43", + "nodeType": "YulTypedName", + "src": "9451:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9456:6:43", + "nodeType": "YulTypedName", + "src": "9456:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9464:3:43", + "nodeType": "YulTypedName", + "src": "9464:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "9472:5:43", + "nodeType": "YulTypedName", + "src": "9472:5:43", + "type": "" + } + ], + "src": "9395:423:43" + }, + { + "body": { + "nativeSrc": "9898:277:43", + "nodeType": "YulBlock", + "src": "9898:277:43", + "statements": [ + { + "body": { + "nativeSrc": "9947:83:43", + "nodeType": "YulBlock", + "src": "9947:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "9949:77:43", + "nodeType": "YulIdentifier", + "src": "9949:77:43" + }, + "nativeSrc": "9949:79:43", + "nodeType": "YulFunctionCall", + "src": "9949:79:43" + }, + "nativeSrc": "9949:79:43", + "nodeType": "YulExpressionStatement", + "src": "9949:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9926:6:43", + "nodeType": "YulIdentifier", + "src": "9926:6:43" + }, + { + "kind": "number", + "nativeSrc": "9934:4:43", + "nodeType": "YulLiteral", + "src": "9934:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9922:3:43", + "nodeType": "YulIdentifier", + "src": "9922:3:43" + }, + "nativeSrc": "9922:17:43", + "nodeType": "YulFunctionCall", + "src": "9922:17:43" + }, + { + "name": "end", + "nativeSrc": "9941:3:43", + "nodeType": "YulIdentifier", + "src": "9941:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9918:3:43", + "nodeType": "YulIdentifier", + "src": "9918:3:43" + }, + "nativeSrc": "9918:27:43", + "nodeType": "YulFunctionCall", + "src": "9918:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9911:6:43", + "nodeType": "YulIdentifier", + "src": "9911:6:43" + }, + "nativeSrc": "9911:35:43", + "nodeType": "YulFunctionCall", + "src": "9911:35:43" + }, + "nativeSrc": "9908:122:43", + "nodeType": "YulIf", + "src": "9908:122:43" + }, + { + "nativeSrc": "10039:34:43", + "nodeType": "YulVariableDeclaration", + "src": "10039:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10066:6:43", + "nodeType": "YulIdentifier", + "src": "10066:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10053:12:43", + "nodeType": "YulIdentifier", + "src": "10053:12:43" + }, + "nativeSrc": "10053:20:43", + "nodeType": "YulFunctionCall", + "src": "10053:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "10043:6:43", + "nodeType": "YulTypedName", + "src": "10043:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10082:87:43", + "nodeType": "YulAssignment", + "src": "10082:87:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10142:6:43", + "nodeType": "YulIdentifier", + "src": "10142:6:43" + }, + { + "kind": "number", + "nativeSrc": "10150:4:43", + "nodeType": "YulLiteral", + "src": "10150:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10138:3:43", + "nodeType": "YulIdentifier", + "src": "10138:3:43" + }, + "nativeSrc": "10138:17:43", + "nodeType": "YulFunctionCall", + "src": "10138:17:43" + }, + { + "name": "length", + "nativeSrc": "10157:6:43", + "nodeType": "YulIdentifier", + "src": "10157:6:43" + }, + { + "name": "end", + "nativeSrc": "10165:3:43", + "nodeType": "YulIdentifier", + "src": "10165:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "10091:46:43", + "nodeType": "YulIdentifier", + "src": "10091:46:43" + }, + "nativeSrc": "10091:78:43", + "nodeType": "YulFunctionCall", + "src": "10091:78:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "10082:5:43", + "nodeType": "YulIdentifier", + "src": "10082:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "9837:338:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9876:6:43", + "nodeType": "YulTypedName", + "src": "9876:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9884:3:43", + "nodeType": "YulTypedName", + "src": "9884:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "9892:5:43", + "nodeType": "YulTypedName", + "src": "9892:5:43", + "type": "" + } + ], + "src": "9837:338:43" + }, + { + "body": { + "nativeSrc": "10357:1187:43", + "nodeType": "YulBlock", + "src": "10357:1187:43", + "statements": [ + { + "body": { + "nativeSrc": "10404:83:43", + "nodeType": "YulBlock", + "src": "10404:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10406:77:43", + "nodeType": "YulIdentifier", + "src": "10406:77:43" + }, + "nativeSrc": "10406:79:43", + "nodeType": "YulFunctionCall", + "src": "10406:79:43" + }, + "nativeSrc": "10406:79:43", + "nodeType": "YulExpressionStatement", + "src": "10406:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10378:7:43", + "nodeType": "YulIdentifier", + "src": "10378:7:43" + }, + { + "name": "headStart", + "nativeSrc": "10387:9:43", + "nodeType": "YulIdentifier", + "src": "10387:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10374:3:43", + "nodeType": "YulIdentifier", + "src": "10374:3:43" + }, + "nativeSrc": "10374:23:43", + "nodeType": "YulFunctionCall", + "src": "10374:23:43" + }, + { + "kind": "number", + "nativeSrc": "10399:3:43", + "nodeType": "YulLiteral", + "src": "10399:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10370:3:43", + "nodeType": "YulIdentifier", + "src": "10370:3:43" + }, + "nativeSrc": "10370:33:43", + "nodeType": "YulFunctionCall", + "src": "10370:33:43" + }, + "nativeSrc": "10367:120:43", + "nodeType": "YulIf", + "src": "10367:120:43" + }, + { + "nativeSrc": "10497:117:43", + "nodeType": "YulBlock", + "src": "10497:117:43", + "statements": [ + { + "nativeSrc": "10512:15:43", + "nodeType": "YulVariableDeclaration", + "src": "10512:15:43", + "value": { + "kind": "number", + "nativeSrc": "10526:1:43", + "nodeType": "YulLiteral", + "src": "10526:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10516:6:43", + "nodeType": "YulTypedName", + "src": "10516:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10541:63:43", + "nodeType": "YulAssignment", + "src": "10541:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10576:9:43", + "nodeType": "YulIdentifier", + "src": "10576:9:43" + }, + { + "name": "offset", + "nativeSrc": "10587:6:43", + "nodeType": "YulIdentifier", + "src": "10587:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10572:3:43", + "nodeType": "YulIdentifier", + "src": "10572:3:43" + }, + "nativeSrc": "10572:22:43", + "nodeType": "YulFunctionCall", + "src": "10572:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10596:7:43", + "nodeType": "YulIdentifier", + "src": "10596:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10551:20:43", + "nodeType": "YulIdentifier", + "src": "10551:20:43" + }, + "nativeSrc": "10551:53:43", + "nodeType": "YulFunctionCall", + "src": "10551:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10541:6:43", + "nodeType": "YulIdentifier", + "src": "10541:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10624:303:43", + "nodeType": "YulBlock", + "src": "10624:303:43", + "statements": [ + { + "nativeSrc": "10639:46:43", + "nodeType": "YulVariableDeclaration", + "src": "10639:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10670:9:43", + "nodeType": "YulIdentifier", + "src": "10670:9:43" + }, + { + "kind": "number", + "nativeSrc": "10681:2:43", + "nodeType": "YulLiteral", + "src": "10681:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10666:3:43", + "nodeType": "YulIdentifier", + "src": "10666:3:43" + }, + "nativeSrc": "10666:18:43", + "nodeType": "YulFunctionCall", + "src": "10666:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10653:12:43", + "nodeType": "YulIdentifier", + "src": "10653:12:43" + }, + "nativeSrc": "10653:32:43", + "nodeType": "YulFunctionCall", + "src": "10653:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10643:6:43", + "nodeType": "YulTypedName", + "src": "10643:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10732:83:43", + "nodeType": "YulBlock", + "src": "10732:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "10734:77:43", + "nodeType": "YulIdentifier", + "src": "10734:77:43" + }, + "nativeSrc": "10734:79:43", + "nodeType": "YulFunctionCall", + "src": "10734:79:43" + }, + "nativeSrc": "10734:79:43", + "nodeType": "YulExpressionStatement", + "src": "10734:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10704:6:43", + "nodeType": "YulIdentifier", + "src": "10704:6:43" + }, + { + "kind": "number", + "nativeSrc": "10712:18:43", + "nodeType": "YulLiteral", + "src": "10712:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10701:2:43", + "nodeType": "YulIdentifier", + "src": "10701:2:43" + }, + "nativeSrc": "10701:30:43", + "nodeType": "YulFunctionCall", + "src": "10701:30:43" + }, + "nativeSrc": "10698:117:43", + "nodeType": "YulIf", + "src": "10698:117:43" + }, + { + "nativeSrc": "10829:88:43", + "nodeType": "YulAssignment", + "src": "10829:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10889:9:43", + "nodeType": "YulIdentifier", + "src": "10889:9:43" + }, + { + "name": "offset", + "nativeSrc": "10900:6:43", + "nodeType": "YulIdentifier", + "src": "10900:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10885:3:43", + "nodeType": "YulIdentifier", + "src": "10885:3:43" + }, + "nativeSrc": "10885:22:43", + "nodeType": "YulFunctionCall", + "src": "10885:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10909:7:43", + "nodeType": "YulIdentifier", + "src": "10909:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "10839:45:43", + "nodeType": "YulIdentifier", + "src": "10839:45:43" + }, + "nativeSrc": "10839:78:43", + "nodeType": "YulFunctionCall", + "src": "10839:78:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "10829:6:43", + "nodeType": "YulIdentifier", + "src": "10829:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10937:303:43", + "nodeType": "YulBlock", + "src": "10937:303:43", + "statements": [ + { + "nativeSrc": "10952:46:43", + "nodeType": "YulVariableDeclaration", + "src": "10952:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10983:9:43", + "nodeType": "YulIdentifier", + "src": "10983:9:43" + }, + { + "kind": "number", + "nativeSrc": "10994:2:43", + "nodeType": "YulLiteral", + "src": "10994:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10979:3:43", + "nodeType": "YulIdentifier", + "src": "10979:3:43" + }, + "nativeSrc": "10979:18:43", + "nodeType": "YulFunctionCall", + "src": "10979:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10966:12:43", + "nodeType": "YulIdentifier", + "src": "10966:12:43" + }, + "nativeSrc": "10966:32:43", + "nodeType": "YulFunctionCall", + "src": "10966:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10956:6:43", + "nodeType": "YulTypedName", + "src": "10956:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11045:83:43", + "nodeType": "YulBlock", + "src": "11045:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "11047:77:43", + "nodeType": "YulIdentifier", + "src": "11047:77:43" + }, + "nativeSrc": "11047:79:43", + "nodeType": "YulFunctionCall", + "src": "11047:79:43" + }, + "nativeSrc": "11047:79:43", + "nodeType": "YulExpressionStatement", + "src": "11047:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11017:6:43", + "nodeType": "YulIdentifier", + "src": "11017:6:43" + }, + { + "kind": "number", + "nativeSrc": "11025:18:43", + "nodeType": "YulLiteral", + "src": "11025:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11014:2:43", + "nodeType": "YulIdentifier", + "src": "11014:2:43" + }, + "nativeSrc": "11014:30:43", + "nodeType": "YulFunctionCall", + "src": "11014:30:43" + }, + "nativeSrc": "11011:117:43", + "nodeType": "YulIf", + "src": "11011:117:43" + }, + { + "nativeSrc": "11142:88:43", + "nodeType": "YulAssignment", + "src": "11142:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11202:9:43", + "nodeType": "YulIdentifier", + "src": "11202:9:43" + }, + { + "name": "offset", + "nativeSrc": "11213:6:43", + "nodeType": "YulIdentifier", + "src": "11213:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11198:3:43", + "nodeType": "YulIdentifier", + "src": "11198:3:43" + }, + "nativeSrc": "11198:22:43", + "nodeType": "YulFunctionCall", + "src": "11198:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11222:7:43", + "nodeType": "YulIdentifier", + "src": "11222:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "11152:45:43", + "nodeType": "YulIdentifier", + "src": "11152:45:43" + }, + "nativeSrc": "11152:78:43", + "nodeType": "YulFunctionCall", + "src": "11152:78:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "11142:6:43", + "nodeType": "YulIdentifier", + "src": "11142:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "11250:287:43", + "nodeType": "YulBlock", + "src": "11250:287:43", + "statements": [ + { + "nativeSrc": "11265:46:43", + "nodeType": "YulVariableDeclaration", + "src": "11265:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11296:9:43", + "nodeType": "YulIdentifier", + "src": "11296:9:43" + }, + { + "kind": "number", + "nativeSrc": "11307:2:43", + "nodeType": "YulLiteral", + "src": "11307:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11292:3:43", + "nodeType": "YulIdentifier", + "src": "11292:3:43" + }, + "nativeSrc": "11292:18:43", + "nodeType": "YulFunctionCall", + "src": "11292:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "11279:12:43", + "nodeType": "YulIdentifier", + "src": "11279:12:43" + }, + "nativeSrc": "11279:32:43", + "nodeType": "YulFunctionCall", + "src": "11279:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11269:6:43", + "nodeType": "YulTypedName", + "src": "11269:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11358:83:43", + "nodeType": "YulBlock", + "src": "11358:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "11360:77:43", + "nodeType": "YulIdentifier", + "src": "11360:77:43" + }, + "nativeSrc": "11360:79:43", + "nodeType": "YulFunctionCall", + "src": "11360:79:43" + }, + "nativeSrc": "11360:79:43", + "nodeType": "YulExpressionStatement", + "src": "11360:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11330:6:43", + "nodeType": "YulIdentifier", + "src": "11330:6:43" + }, + { + "kind": "number", + "nativeSrc": "11338:18:43", + "nodeType": "YulLiteral", + "src": "11338:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11327:2:43", + "nodeType": "YulIdentifier", + "src": "11327:2:43" + }, + "nativeSrc": "11327:30:43", + "nodeType": "YulFunctionCall", + "src": "11327:30:43" + }, + "nativeSrc": "11324:117:43", + "nodeType": "YulIf", + "src": "11324:117:43" + }, + { + "nativeSrc": "11455:72:43", + "nodeType": "YulAssignment", + "src": "11455:72:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11499:9:43", + "nodeType": "YulIdentifier", + "src": "11499:9:43" + }, + { + "name": "offset", + "nativeSrc": "11510:6:43", + "nodeType": "YulIdentifier", + "src": "11510:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11495:3:43", + "nodeType": "YulIdentifier", + "src": "11495:3:43" + }, + "nativeSrc": "11495:22:43", + "nodeType": "YulFunctionCall", + "src": "11495:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11519:7:43", + "nodeType": "YulIdentifier", + "src": "11519:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "11465:29:43", + "nodeType": "YulIdentifier", + "src": "11465:29:43" + }, + "nativeSrc": "11465:62:43", + "nodeType": "YulFunctionCall", + "src": "11465:62:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "11455:6:43", + "nodeType": "YulIdentifier", + "src": "11455:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr", + "nativeSrc": "10181:1363:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10303:9:43", + "nodeType": "YulTypedName", + "src": "10303:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10314:7:43", + "nodeType": "YulTypedName", + "src": "10314:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10326:6:43", + "nodeType": "YulTypedName", + "src": "10326:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "10334:6:43", + "nodeType": "YulTypedName", + "src": "10334:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "10342:6:43", + "nodeType": "YulTypedName", + "src": "10342:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "10350:6:43", + "nodeType": "YulTypedName", + "src": "10350:6:43", + "type": "" + } + ], + "src": "10181:1363:43" + }, + { + "body": { + "nativeSrc": "11743:1316:43", + "nodeType": "YulBlock", + "src": "11743:1316:43", + "statements": [ + { + "body": { + "nativeSrc": "11790:83:43", + "nodeType": "YulBlock", + "src": "11790:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "11792:77:43", + "nodeType": "YulIdentifier", + "src": "11792:77:43" + }, + "nativeSrc": "11792:79:43", + "nodeType": "YulFunctionCall", + "src": "11792:79:43" + }, + "nativeSrc": "11792:79:43", + "nodeType": "YulExpressionStatement", + "src": "11792:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "11764:7:43", + "nodeType": "YulIdentifier", + "src": "11764:7:43" + }, + { + "name": "headStart", + "nativeSrc": "11773:9:43", + "nodeType": "YulIdentifier", + "src": "11773:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11760:3:43", + "nodeType": "YulIdentifier", + "src": "11760:3:43" + }, + "nativeSrc": "11760:23:43", + "nodeType": "YulFunctionCall", + "src": "11760:23:43" + }, + { + "kind": "number", + "nativeSrc": "11785:3:43", + "nodeType": "YulLiteral", + "src": "11785:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "11756:3:43", + "nodeType": "YulIdentifier", + "src": "11756:3:43" + }, + "nativeSrc": "11756:33:43", + "nodeType": "YulFunctionCall", + "src": "11756:33:43" + }, + "nativeSrc": "11753:120:43", + "nodeType": "YulIf", + "src": "11753:120:43" + }, + { + "nativeSrc": "11883:117:43", + "nodeType": "YulBlock", + "src": "11883:117:43", + "statements": [ + { + "nativeSrc": "11898:15:43", + "nodeType": "YulVariableDeclaration", + "src": "11898:15:43", + "value": { + "kind": "number", + "nativeSrc": "11912:1:43", + "nodeType": "YulLiteral", + "src": "11912:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11902:6:43", + "nodeType": "YulTypedName", + "src": "11902:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "11927:63:43", + "nodeType": "YulAssignment", + "src": "11927:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11962:9:43", + "nodeType": "YulIdentifier", + "src": "11962:9:43" + }, + { + "name": "offset", + "nativeSrc": "11973:6:43", + "nodeType": "YulIdentifier", + "src": "11973:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11958:3:43", + "nodeType": "YulIdentifier", + "src": "11958:3:43" + }, + "nativeSrc": "11958:22:43", + "nodeType": "YulFunctionCall", + "src": "11958:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11982:7:43", + "nodeType": "YulIdentifier", + "src": "11982:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "11937:20:43", + "nodeType": "YulIdentifier", + "src": "11937:20:43" + }, + "nativeSrc": "11937:53:43", + "nodeType": "YulFunctionCall", + "src": "11937:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11927:6:43", + "nodeType": "YulIdentifier", + "src": "11927:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "12010:118:43", + "nodeType": "YulBlock", + "src": "12010:118:43", + "statements": [ + { + "nativeSrc": "12025:16:43", + "nodeType": "YulVariableDeclaration", + "src": "12025:16:43", + "value": { + "kind": "number", + "nativeSrc": "12039:2:43", + "nodeType": "YulLiteral", + "src": "12039:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12029:6:43", + "nodeType": "YulTypedName", + "src": "12029:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "12055:63:43", + "nodeType": "YulAssignment", + "src": "12055:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12090:9:43", + "nodeType": "YulIdentifier", + "src": "12090:9:43" + }, + { + "name": "offset", + "nativeSrc": "12101:6:43", + "nodeType": "YulIdentifier", + "src": "12101:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12086:3:43", + "nodeType": "YulIdentifier", + "src": "12086:3:43" + }, + "nativeSrc": "12086:22:43", + "nodeType": "YulFunctionCall", + "src": "12086:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "12110:7:43", + "nodeType": "YulIdentifier", + "src": "12110:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "12065:20:43", + "nodeType": "YulIdentifier", + "src": "12065:20:43" + }, + "nativeSrc": "12065:53:43", + "nodeType": "YulFunctionCall", + "src": "12065:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "12055:6:43", + "nodeType": "YulIdentifier", + "src": "12055:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "12138:303:43", + "nodeType": "YulBlock", + "src": "12138:303:43", + "statements": [ + { + "nativeSrc": "12153:46:43", + "nodeType": "YulVariableDeclaration", + "src": "12153:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12184:9:43", + "nodeType": "YulIdentifier", + "src": "12184:9:43" + }, + { + "kind": "number", + "nativeSrc": "12195:2:43", + "nodeType": "YulLiteral", + "src": "12195:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12180:3:43", + "nodeType": "YulIdentifier", + "src": "12180:3:43" + }, + "nativeSrc": "12180:18:43", + "nodeType": "YulFunctionCall", + "src": "12180:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12167:12:43", + "nodeType": "YulIdentifier", + "src": "12167:12:43" + }, + "nativeSrc": "12167:32:43", + "nodeType": "YulFunctionCall", + "src": "12167:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12157:6:43", + "nodeType": "YulTypedName", + "src": "12157:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12246:83:43", + "nodeType": "YulBlock", + "src": "12246:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "12248:77:43", + "nodeType": "YulIdentifier", + "src": "12248:77:43" + }, + "nativeSrc": "12248:79:43", + "nodeType": "YulFunctionCall", + "src": "12248:79:43" + }, + "nativeSrc": "12248:79:43", + "nodeType": "YulExpressionStatement", + "src": "12248:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12218:6:43", + "nodeType": "YulIdentifier", + "src": "12218:6:43" + }, + { + "kind": "number", + "nativeSrc": "12226:18:43", + "nodeType": "YulLiteral", + "src": "12226:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12215:2:43", + "nodeType": "YulIdentifier", + "src": "12215:2:43" + }, + "nativeSrc": "12215:30:43", + "nodeType": "YulFunctionCall", + "src": "12215:30:43" + }, + "nativeSrc": "12212:117:43", + "nodeType": "YulIf", + "src": "12212:117:43" + }, + { + "nativeSrc": "12343:88:43", + "nodeType": "YulAssignment", + "src": "12343:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12403:9:43", + "nodeType": "YulIdentifier", + "src": "12403:9:43" + }, + { + "name": "offset", + "nativeSrc": "12414:6:43", + "nodeType": "YulIdentifier", + "src": "12414:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12399:3:43", + "nodeType": "YulIdentifier", + "src": "12399:3:43" + }, + "nativeSrc": "12399:22:43", + "nodeType": "YulFunctionCall", + "src": "12399:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "12423:7:43", + "nodeType": "YulIdentifier", + "src": "12423:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "12353:45:43", + "nodeType": "YulIdentifier", + "src": "12353:45:43" + }, + "nativeSrc": "12353:78:43", + "nodeType": "YulFunctionCall", + "src": "12353:78:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "12343:6:43", + "nodeType": "YulIdentifier", + "src": "12343:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "12451:303:43", + "nodeType": "YulBlock", + "src": "12451:303:43", + "statements": [ + { + "nativeSrc": "12466:46:43", + "nodeType": "YulVariableDeclaration", + "src": "12466:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12497:9:43", + "nodeType": "YulIdentifier", + "src": "12497:9:43" + }, + { + "kind": "number", + "nativeSrc": "12508:2:43", + "nodeType": "YulLiteral", + "src": "12508:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12493:3:43", + "nodeType": "YulIdentifier", + "src": "12493:3:43" + }, + "nativeSrc": "12493:18:43", + "nodeType": "YulFunctionCall", + "src": "12493:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12480:12:43", + "nodeType": "YulIdentifier", + "src": "12480:12:43" + }, + "nativeSrc": "12480:32:43", + "nodeType": "YulFunctionCall", + "src": "12480:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12470:6:43", + "nodeType": "YulTypedName", + "src": "12470:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12559:83:43", + "nodeType": "YulBlock", + "src": "12559:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "12561:77:43", + "nodeType": "YulIdentifier", + "src": "12561:77:43" + }, + "nativeSrc": "12561:79:43", + "nodeType": "YulFunctionCall", + "src": "12561:79:43" + }, + "nativeSrc": "12561:79:43", + "nodeType": "YulExpressionStatement", + "src": "12561:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12531:6:43", + "nodeType": "YulIdentifier", + "src": "12531:6:43" + }, + { + "kind": "number", + "nativeSrc": "12539:18:43", + "nodeType": "YulLiteral", + "src": "12539:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12528:2:43", + "nodeType": "YulIdentifier", + "src": "12528:2:43" + }, + "nativeSrc": "12528:30:43", + "nodeType": "YulFunctionCall", + "src": "12528:30:43" + }, + "nativeSrc": "12525:117:43", + "nodeType": "YulIf", + "src": "12525:117:43" + }, + { + "nativeSrc": "12656:88:43", + "nodeType": "YulAssignment", + "src": "12656:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12716:9:43", + "nodeType": "YulIdentifier", + "src": "12716:9:43" + }, + { + "name": "offset", + "nativeSrc": "12727:6:43", + "nodeType": "YulIdentifier", + "src": "12727:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12712:3:43", + "nodeType": "YulIdentifier", + "src": "12712:3:43" + }, + "nativeSrc": "12712:22:43", + "nodeType": "YulFunctionCall", + "src": "12712:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "12736:7:43", + "nodeType": "YulIdentifier", + "src": "12736:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "12666:45:43", + "nodeType": "YulIdentifier", + "src": "12666:45:43" + }, + "nativeSrc": "12666:78:43", + "nodeType": "YulFunctionCall", + "src": "12666:78:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "12656:6:43", + "nodeType": "YulIdentifier", + "src": "12656:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "12764:288:43", + "nodeType": "YulBlock", + "src": "12764:288:43", + "statements": [ + { + "nativeSrc": "12779:47:43", + "nodeType": "YulVariableDeclaration", + "src": "12779:47:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12810:9:43", + "nodeType": "YulIdentifier", + "src": "12810:9:43" + }, + { + "kind": "number", + "nativeSrc": "12821:3:43", + "nodeType": "YulLiteral", + "src": "12821:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12806:3:43", + "nodeType": "YulIdentifier", + "src": "12806:3:43" + }, + "nativeSrc": "12806:19:43", + "nodeType": "YulFunctionCall", + "src": "12806:19:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12793:12:43", + "nodeType": "YulIdentifier", + "src": "12793:12:43" + }, + "nativeSrc": "12793:33:43", + "nodeType": "YulFunctionCall", + "src": "12793:33:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12783:6:43", + "nodeType": "YulTypedName", + "src": "12783:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12873:83:43", + "nodeType": "YulBlock", + "src": "12873:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "12875:77:43", + "nodeType": "YulIdentifier", + "src": "12875:77:43" + }, + "nativeSrc": "12875:79:43", + "nodeType": "YulFunctionCall", + "src": "12875:79:43" + }, + "nativeSrc": "12875:79:43", + "nodeType": "YulExpressionStatement", + "src": "12875:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12845:6:43", + "nodeType": "YulIdentifier", + "src": "12845:6:43" + }, + { + "kind": "number", + "nativeSrc": "12853:18:43", + "nodeType": "YulLiteral", + "src": "12853:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12842:2:43", + "nodeType": "YulIdentifier", + "src": "12842:2:43" + }, + "nativeSrc": "12842:30:43", + "nodeType": "YulFunctionCall", + "src": "12842:30:43" + }, + "nativeSrc": "12839:117:43", + "nodeType": "YulIf", + "src": "12839:117:43" + }, + { + "nativeSrc": "12970:72:43", + "nodeType": "YulAssignment", + "src": "12970:72:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13014:9:43", + "nodeType": "YulIdentifier", + "src": "13014:9:43" + }, + { + "name": "offset", + "nativeSrc": "13025:6:43", + "nodeType": "YulIdentifier", + "src": "13025:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13010:3:43", + "nodeType": "YulIdentifier", + "src": "13010:3:43" + }, + "nativeSrc": "13010:22:43", + "nodeType": "YulFunctionCall", + "src": "13010:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "13034:7:43", + "nodeType": "YulIdentifier", + "src": "13034:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "12980:29:43", + "nodeType": "YulIdentifier", + "src": "12980:29:43" + }, + "nativeSrc": "12980:62:43", + "nodeType": "YulFunctionCall", + "src": "12980:62:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "12970:6:43", + "nodeType": "YulIdentifier", + "src": "12970:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr", + "nativeSrc": "11550:1509:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11681:9:43", + "nodeType": "YulTypedName", + "src": "11681:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "11692:7:43", + "nodeType": "YulTypedName", + "src": "11692:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "11704:6:43", + "nodeType": "YulTypedName", + "src": "11704:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "11712:6:43", + "nodeType": "YulTypedName", + "src": "11712:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "11720:6:43", + "nodeType": "YulTypedName", + "src": "11720:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "11728:6:43", + "nodeType": "YulTypedName", + "src": "11728:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "11736:6:43", + "nodeType": "YulTypedName", + "src": "11736:6:43", + "type": "" + } + ], + "src": "11550:1509:43" + }, + { + "body": { + "nativeSrc": "13147:229:43", + "nodeType": "YulBlock", + "src": "13147:229:43", + "statements": [ + { + "body": { + "nativeSrc": "13252:22:43", + "nodeType": "YulBlock", + "src": "13252:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "13254:16:43", + "nodeType": "YulIdentifier", + "src": "13254:16:43" + }, + "nativeSrc": "13254:18:43", + "nodeType": "YulFunctionCall", + "src": "13254:18:43" + }, + "nativeSrc": "13254:18:43", + "nodeType": "YulExpressionStatement", + "src": "13254:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "13224:6:43", + "nodeType": "YulIdentifier", + "src": "13224:6:43" + }, + { + "kind": "number", + "nativeSrc": "13232:18:43", + "nodeType": "YulLiteral", + "src": "13232:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13221:2:43", + "nodeType": "YulIdentifier", + "src": "13221:2:43" + }, + "nativeSrc": "13221:30:43", + "nodeType": "YulFunctionCall", + "src": "13221:30:43" + }, + "nativeSrc": "13218:56:43", + "nodeType": "YulIf", + "src": "13218:56:43" + }, + { + "nativeSrc": "13284:25:43", + "nodeType": "YulAssignment", + "src": "13284:25:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "13296:6:43", + "nodeType": "YulIdentifier", + "src": "13296:6:43" + }, + { + "kind": "number", + "nativeSrc": "13304:4:43", + "nodeType": "YulLiteral", + "src": "13304:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "13292:3:43", + "nodeType": "YulIdentifier", + "src": "13292:3:43" + }, + "nativeSrc": "13292:17:43", + "nodeType": "YulFunctionCall", + "src": "13292:17:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "13284:4:43", + "nodeType": "YulIdentifier", + "src": "13284:4:43" + } + ] + }, + { + "nativeSrc": "13346:23:43", + "nodeType": "YulAssignment", + "src": "13346:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "13358:4:43", + "nodeType": "YulIdentifier", + "src": "13358:4:43" + }, + { + "kind": "number", + "nativeSrc": "13364:4:43", + "nodeType": "YulLiteral", + "src": "13364:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13354:3:43", + "nodeType": "YulIdentifier", + "src": "13354:3:43" + }, + "nativeSrc": "13354:15:43", + "nodeType": "YulFunctionCall", + "src": "13354:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "13346:4:43", + "nodeType": "YulIdentifier", + "src": "13346:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "13065:311:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "13131:6:43", + "nodeType": "YulTypedName", + "src": "13131:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "13142:4:43", + "nodeType": "YulTypedName", + "src": "13142:4:43", + "type": "" + } + ], + "src": "13065:311:43" + }, + { + "body": { + "nativeSrc": "13501:608:43", + "nodeType": "YulBlock", + "src": "13501:608:43", + "statements": [ + { + "nativeSrc": "13511:90:43", + "nodeType": "YulAssignment", + "src": "13511:90:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "13593:6:43", + "nodeType": "YulIdentifier", + "src": "13593:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "13536:56:43", + "nodeType": "YulIdentifier", + "src": "13536:56:43" + }, + "nativeSrc": "13536:64:43", + "nodeType": "YulFunctionCall", + "src": "13536:64:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "13520:15:43", + "nodeType": "YulIdentifier", + "src": "13520:15:43" + }, + "nativeSrc": "13520:81:43", + "nodeType": "YulFunctionCall", + "src": "13520:81:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "13511:5:43", + "nodeType": "YulIdentifier", + "src": "13511:5:43" + } + ] + }, + { + "nativeSrc": "13610:16:43", + "nodeType": "YulVariableDeclaration", + "src": "13610:16:43", + "value": { + "name": "array", + "nativeSrc": "13621:5:43", + "nodeType": "YulIdentifier", + "src": "13621:5:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "13614:3:43", + "nodeType": "YulTypedName", + "src": "13614:3:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13643:5:43", + "nodeType": "YulIdentifier", + "src": "13643:5:43" + }, + { + "name": "length", + "nativeSrc": "13650:6:43", + "nodeType": "YulIdentifier", + "src": "13650:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13636:6:43", + "nodeType": "YulIdentifier", + "src": "13636:6:43" + }, + "nativeSrc": "13636:21:43", + "nodeType": "YulFunctionCall", + "src": "13636:21:43" + }, + "nativeSrc": "13636:21:43", + "nodeType": "YulExpressionStatement", + "src": "13636:21:43" + }, + { + "nativeSrc": "13666:23:43", + "nodeType": "YulAssignment", + "src": "13666:23:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13677:5:43", + "nodeType": "YulIdentifier", + "src": "13677:5:43" + }, + { + "kind": "number", + "nativeSrc": "13684:4:43", + "nodeType": "YulLiteral", + "src": "13684:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13673:3:43", + "nodeType": "YulIdentifier", + "src": "13673:3:43" + }, + "nativeSrc": "13673:16:43", + "nodeType": "YulFunctionCall", + "src": "13673:16:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "13666:3:43", + "nodeType": "YulIdentifier", + "src": "13666:3:43" + } + ] + }, + { + "nativeSrc": "13699:44:43", + "nodeType": "YulVariableDeclaration", + "src": "13699:44:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13717:6:43", + "nodeType": "YulIdentifier", + "src": "13717:6:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "13729:6:43", + "nodeType": "YulIdentifier", + "src": "13729:6:43" + }, + { + "kind": "number", + "nativeSrc": "13737:4:43", + "nodeType": "YulLiteral", + "src": "13737:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "13725:3:43", + "nodeType": "YulIdentifier", + "src": "13725:3:43" + }, + "nativeSrc": "13725:17:43", + "nodeType": "YulFunctionCall", + "src": "13725:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13713:3:43", + "nodeType": "YulIdentifier", + "src": "13713:3:43" + }, + "nativeSrc": "13713:30:43", + "nodeType": "YulFunctionCall", + "src": "13713:30:43" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "13703:6:43", + "nodeType": "YulTypedName", + "src": "13703:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13771:103:43", + "nodeType": "YulBlock", + "src": "13771:103:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "13785:77:43", + "nodeType": "YulIdentifier", + "src": "13785:77:43" + }, + "nativeSrc": "13785:79:43", + "nodeType": "YulFunctionCall", + "src": "13785:79:43" + }, + "nativeSrc": "13785:79:43", + "nodeType": "YulExpressionStatement", + "src": "13785:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "13758:6:43", + "nodeType": "YulIdentifier", + "src": "13758:6:43" + }, + { + "name": "end", + "nativeSrc": "13766:3:43", + "nodeType": "YulIdentifier", + "src": "13766:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13755:2:43", + "nodeType": "YulIdentifier", + "src": "13755:2:43" + }, + "nativeSrc": "13755:15:43", + "nodeType": "YulFunctionCall", + "src": "13755:15:43" + }, + "nativeSrc": "13752:122:43", + "nodeType": "YulIf", + "src": "13752:122:43" + }, + { + "body": { + "nativeSrc": "13959:144:43", + "nodeType": "YulBlock", + "src": "13959:144:43", + "statements": [ + { + "nativeSrc": "13974:21:43", + "nodeType": "YulVariableDeclaration", + "src": "13974:21:43", + "value": { + "name": "src", + "nativeSrc": "13992:3:43", + "nodeType": "YulIdentifier", + "src": "13992:3:43" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "13978:10:43", + "nodeType": "YulTypedName", + "src": "13978:10:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "14016:3:43", + "nodeType": "YulIdentifier", + "src": "14016:3:43" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "14042:10:43", + "nodeType": "YulIdentifier", + "src": "14042:10:43" + }, + { + "name": "end", + "nativeSrc": "14054:3:43", + "nodeType": "YulIdentifier", + "src": "14054:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "14021:20:43", + "nodeType": "YulIdentifier", + "src": "14021:20:43" + }, + "nativeSrc": "14021:37:43", + "nodeType": "YulFunctionCall", + "src": "14021:37:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14009:6:43", + "nodeType": "YulIdentifier", + "src": "14009:6:43" + }, + "nativeSrc": "14009:50:43", + "nodeType": "YulFunctionCall", + "src": "14009:50:43" + }, + "nativeSrc": "14009:50:43", + "nodeType": "YulExpressionStatement", + "src": "14009:50:43" + }, + { + "nativeSrc": "14072:21:43", + "nodeType": "YulAssignment", + "src": "14072:21:43", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "14083:3:43", + "nodeType": "YulIdentifier", + "src": "14083:3:43" + }, + { + "kind": "number", + "nativeSrc": "14088:4:43", + "nodeType": "YulLiteral", + "src": "14088:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14079:3:43", + "nodeType": "YulIdentifier", + "src": "14079:3:43" + }, + "nativeSrc": "14079:14:43", + "nodeType": "YulFunctionCall", + "src": "14079:14:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "14072:3:43", + "nodeType": "YulIdentifier", + "src": "14072:3:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13912:3:43", + "nodeType": "YulIdentifier", + "src": "13912:3:43" + }, + { + "name": "srcEnd", + "nativeSrc": "13917:6:43", + "nodeType": "YulIdentifier", + "src": "13917:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "13909:2:43", + "nodeType": "YulIdentifier", + "src": "13909:2:43" + }, + "nativeSrc": "13909:15:43", + "nodeType": "YulFunctionCall", + "src": "13909:15:43" + }, + "nativeSrc": "13883:220:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "13925:25:43", + "nodeType": "YulBlock", + "src": "13925:25:43", + "statements": [ + { + "nativeSrc": "13927:21:43", + "nodeType": "YulAssignment", + "src": "13927:21:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13938:3:43", + "nodeType": "YulIdentifier", + "src": "13938:3:43" + }, + { + "kind": "number", + "nativeSrc": "13943:4:43", + "nodeType": "YulLiteral", + "src": "13943:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13934:3:43", + "nodeType": "YulIdentifier", + "src": "13934:3:43" + }, + "nativeSrc": "13934:14:43", + "nodeType": "YulFunctionCall", + "src": "13934:14:43" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "13927:3:43", + "nodeType": "YulIdentifier", + "src": "13927:3:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "13887:21:43", + "nodeType": "YulBlock", + "src": "13887:21:43", + "statements": [ + { + "nativeSrc": "13889:17:43", + "nodeType": "YulVariableDeclaration", + "src": "13889:17:43", + "value": { + "name": "offset", + "nativeSrc": "13900:6:43", + "nodeType": "YulIdentifier", + "src": "13900:6:43" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "13893:3:43", + "nodeType": "YulTypedName", + "src": "13893:3:43", + "type": "" + } + ] + } + ] + }, + "src": "13883:220:43" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "13399:710:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13471:6:43", + "nodeType": "YulTypedName", + "src": "13471:6:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "13479:6:43", + "nodeType": "YulTypedName", + "src": "13479:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "13487:3:43", + "nodeType": "YulTypedName", + "src": "13487:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "13495:5:43", + "nodeType": "YulTypedName", + "src": "13495:5:43", + "type": "" + } + ], + "src": "13399:710:43" + }, + { + "body": { + "nativeSrc": "14209:293:43", + "nodeType": "YulBlock", + "src": "14209:293:43", + "statements": [ + { + "body": { + "nativeSrc": "14258:83:43", + "nodeType": "YulBlock", + "src": "14258:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "14260:77:43", + "nodeType": "YulIdentifier", + "src": "14260:77:43" + }, + "nativeSrc": "14260:79:43", + "nodeType": "YulFunctionCall", + "src": "14260:79:43" + }, + "nativeSrc": "14260:79:43", + "nodeType": "YulExpressionStatement", + "src": "14260:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14237:6:43", + "nodeType": "YulIdentifier", + "src": "14237:6:43" + }, + { + "kind": "number", + "nativeSrc": "14245:4:43", + "nodeType": "YulLiteral", + "src": "14245:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14233:3:43", + "nodeType": "YulIdentifier", + "src": "14233:3:43" + }, + "nativeSrc": "14233:17:43", + "nodeType": "YulFunctionCall", + "src": "14233:17:43" + }, + { + "name": "end", + "nativeSrc": "14252:3:43", + "nodeType": "YulIdentifier", + "src": "14252:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14229:3:43", + "nodeType": "YulIdentifier", + "src": "14229:3:43" + }, + "nativeSrc": "14229:27:43", + "nodeType": "YulFunctionCall", + "src": "14229:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "14222:6:43", + "nodeType": "YulIdentifier", + "src": "14222:6:43" + }, + "nativeSrc": "14222:35:43", + "nodeType": "YulFunctionCall", + "src": "14222:35:43" + }, + "nativeSrc": "14219:122:43", + "nodeType": "YulIf", + "src": "14219:122:43" + }, + { + "nativeSrc": "14350:34:43", + "nodeType": "YulVariableDeclaration", + "src": "14350:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14377:6:43", + "nodeType": "YulIdentifier", + "src": "14377:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "14364:12:43", + "nodeType": "YulIdentifier", + "src": "14364:12:43" + }, + "nativeSrc": "14364:20:43", + "nodeType": "YulFunctionCall", + "src": "14364:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "14354:6:43", + "nodeType": "YulTypedName", + "src": "14354:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "14393:103:43", + "nodeType": "YulAssignment", + "src": "14393:103:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14469:6:43", + "nodeType": "YulIdentifier", + "src": "14469:6:43" + }, + { + "kind": "number", + "nativeSrc": "14477:4:43", + "nodeType": "YulLiteral", + "src": "14477:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14465:3:43", + "nodeType": "YulIdentifier", + "src": "14465:3:43" + }, + "nativeSrc": "14465:17:43", + "nodeType": "YulFunctionCall", + "src": "14465:17:43" + }, + { + "name": "length", + "nativeSrc": "14484:6:43", + "nodeType": "YulIdentifier", + "src": "14484:6:43" + }, + { + "name": "end", + "nativeSrc": "14492:3:43", + "nodeType": "YulIdentifier", + "src": "14492:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "14402:62:43", + "nodeType": "YulIdentifier", + "src": "14402:62:43" + }, + "nativeSrc": "14402:94:43", + "nodeType": "YulFunctionCall", + "src": "14402:94:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "14393:5:43", + "nodeType": "YulIdentifier", + "src": "14393:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "14132:370:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "14187:6:43", + "nodeType": "YulTypedName", + "src": "14187:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "14195:3:43", + "nodeType": "YulTypedName", + "src": "14195:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "14203:5:43", + "nodeType": "YulTypedName", + "src": "14203:5:43", + "type": "" + } + ], + "src": "14132:370:43" + }, + { + "body": { + "nativeSrc": "14641:761:43", + "nodeType": "YulBlock", + "src": "14641:761:43", + "statements": [ + { + "body": { + "nativeSrc": "14687:83:43", + "nodeType": "YulBlock", + "src": "14687:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "14689:77:43", + "nodeType": "YulIdentifier", + "src": "14689:77:43" + }, + "nativeSrc": "14689:79:43", + "nodeType": "YulFunctionCall", + "src": "14689:79:43" + }, + "nativeSrc": "14689:79:43", + "nodeType": "YulExpressionStatement", + "src": "14689:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14662:7:43", + "nodeType": "YulIdentifier", + "src": "14662:7:43" + }, + { + "name": "headStart", + "nativeSrc": "14671:9:43", + "nodeType": "YulIdentifier", + "src": "14671:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14658:3:43", + "nodeType": "YulIdentifier", + "src": "14658:3:43" + }, + "nativeSrc": "14658:23:43", + "nodeType": "YulFunctionCall", + "src": "14658:23:43" + }, + { + "kind": "number", + "nativeSrc": "14683:2:43", + "nodeType": "YulLiteral", + "src": "14683:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14654:3:43", + "nodeType": "YulIdentifier", + "src": "14654:3:43" + }, + "nativeSrc": "14654:32:43", + "nodeType": "YulFunctionCall", + "src": "14654:32:43" + }, + "nativeSrc": "14651:119:43", + "nodeType": "YulIf", + "src": "14651:119:43" + }, + { + "nativeSrc": "14780:302:43", + "nodeType": "YulBlock", + "src": "14780:302:43", + "statements": [ + { + "nativeSrc": "14795:45:43", + "nodeType": "YulVariableDeclaration", + "src": "14795:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14826:9:43", + "nodeType": "YulIdentifier", + "src": "14826:9:43" + }, + { + "kind": "number", + "nativeSrc": "14837:1:43", + "nodeType": "YulLiteral", + "src": "14837:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14822:3:43", + "nodeType": "YulIdentifier", + "src": "14822:3:43" + }, + "nativeSrc": "14822:17:43", + "nodeType": "YulFunctionCall", + "src": "14822:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "14809:12:43", + "nodeType": "YulIdentifier", + "src": "14809:12:43" + }, + "nativeSrc": "14809:31:43", + "nodeType": "YulFunctionCall", + "src": "14809:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14799:6:43", + "nodeType": "YulTypedName", + "src": "14799:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14887:83:43", + "nodeType": "YulBlock", + "src": "14887:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "14889:77:43", + "nodeType": "YulIdentifier", + "src": "14889:77:43" + }, + "nativeSrc": "14889:79:43", + "nodeType": "YulFunctionCall", + "src": "14889:79:43" + }, + "nativeSrc": "14889:79:43", + "nodeType": "YulExpressionStatement", + "src": "14889:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14859:6:43", + "nodeType": "YulIdentifier", + "src": "14859:6:43" + }, + { + "kind": "number", + "nativeSrc": "14867:18:43", + "nodeType": "YulLiteral", + "src": "14867:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14856:2:43", + "nodeType": "YulIdentifier", + "src": "14856:2:43" + }, + "nativeSrc": "14856:30:43", + "nodeType": "YulFunctionCall", + "src": "14856:30:43" + }, + "nativeSrc": "14853:117:43", + "nodeType": "YulIf", + "src": "14853:117:43" + }, + { + "nativeSrc": "14984:88:43", + "nodeType": "YulAssignment", + "src": "14984:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15044:9:43", + "nodeType": "YulIdentifier", + "src": "15044:9:43" + }, + { + "name": "offset", + "nativeSrc": "15055:6:43", + "nodeType": "YulIdentifier", + "src": "15055:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15040:3:43", + "nodeType": "YulIdentifier", + "src": "15040:3:43" + }, + "nativeSrc": "15040:22:43", + "nodeType": "YulFunctionCall", + "src": "15040:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "15064:7:43", + "nodeType": "YulIdentifier", + "src": "15064:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "14994:45:43", + "nodeType": "YulIdentifier", + "src": "14994:45:43" + }, + "nativeSrc": "14994:78:43", + "nodeType": "YulFunctionCall", + "src": "14994:78:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "14984:6:43", + "nodeType": "YulIdentifier", + "src": "14984:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "15092:303:43", + "nodeType": "YulBlock", + "src": "15092:303:43", + "statements": [ + { + "nativeSrc": "15107:46:43", + "nodeType": "YulVariableDeclaration", + "src": "15107:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15138:9:43", + "nodeType": "YulIdentifier", + "src": "15138:9:43" + }, + { + "kind": "number", + "nativeSrc": "15149:2:43", + "nodeType": "YulLiteral", + "src": "15149:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15134:3:43", + "nodeType": "YulIdentifier", + "src": "15134:3:43" + }, + "nativeSrc": "15134:18:43", + "nodeType": "YulFunctionCall", + "src": "15134:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15121:12:43", + "nodeType": "YulIdentifier", + "src": "15121:12:43" + }, + "nativeSrc": "15121:32:43", + "nodeType": "YulFunctionCall", + "src": "15121:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15111:6:43", + "nodeType": "YulTypedName", + "src": "15111:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15200:83:43", + "nodeType": "YulBlock", + "src": "15200:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "15202:77:43", + "nodeType": "YulIdentifier", + "src": "15202:77:43" + }, + "nativeSrc": "15202:79:43", + "nodeType": "YulFunctionCall", + "src": "15202:79:43" + }, + "nativeSrc": "15202:79:43", + "nodeType": "YulExpressionStatement", + "src": "15202:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15172:6:43", + "nodeType": "YulIdentifier", + "src": "15172:6:43" + }, + { + "kind": "number", + "nativeSrc": "15180:18:43", + "nodeType": "YulLiteral", + "src": "15180:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15169:2:43", + "nodeType": "YulIdentifier", + "src": "15169:2:43" + }, + "nativeSrc": "15169:30:43", + "nodeType": "YulFunctionCall", + "src": "15169:30:43" + }, + "nativeSrc": "15166:117:43", + "nodeType": "YulIf", + "src": "15166:117:43" + }, + { + "nativeSrc": "15297:88:43", + "nodeType": "YulAssignment", + "src": "15297:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15357:9:43", + "nodeType": "YulIdentifier", + "src": "15357:9:43" + }, + { + "name": "offset", + "nativeSrc": "15368:6:43", + "nodeType": "YulIdentifier", + "src": "15368:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15353:3:43", + "nodeType": "YulIdentifier", + "src": "15353:3:43" + }, + "nativeSrc": "15353:22:43", + "nodeType": "YulFunctionCall", + "src": "15353:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "15377:7:43", + "nodeType": "YulIdentifier", + "src": "15377:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "15307:45:43", + "nodeType": "YulIdentifier", + "src": "15307:45:43" + }, + "nativeSrc": "15307:78:43", + "nodeType": "YulFunctionCall", + "src": "15307:78:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "15297:6:43", + "nodeType": "YulIdentifier", + "src": "15297:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "14508:894:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14603:9:43", + "nodeType": "YulTypedName", + "src": "14603:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "14614:7:43", + "nodeType": "YulTypedName", + "src": "14614:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "14626:6:43", + "nodeType": "YulTypedName", + "src": "14626:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14634:6:43", + "nodeType": "YulTypedName", + "src": "14634:6:43", + "type": "" + } + ], + "src": "14508:894:43" + }, + { + "body": { + "nativeSrc": "15482:40:43", + "nodeType": "YulBlock", + "src": "15482:40:43", + "statements": [ + { + "nativeSrc": "15493:22:43", + "nodeType": "YulAssignment", + "src": "15493:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15509:5:43", + "nodeType": "YulIdentifier", + "src": "15509:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "15503:5:43", + "nodeType": "YulIdentifier", + "src": "15503:5:43" + }, + "nativeSrc": "15503:12:43", + "nodeType": "YulFunctionCall", + "src": "15503:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "15493:6:43", + "nodeType": "YulIdentifier", + "src": "15493:6:43" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "15408:114:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "15465:5:43", + "nodeType": "YulTypedName", + "src": "15465:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "15475:6:43", + "nodeType": "YulTypedName", + "src": "15475:6:43", + "type": "" + } + ], + "src": "15408:114:43" + }, + { + "body": { + "nativeSrc": "15639:73:43", + "nodeType": "YulBlock", + "src": "15639:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15656:3:43", + "nodeType": "YulIdentifier", + "src": "15656:3:43" + }, + { + "name": "length", + "nativeSrc": "15661:6:43", + "nodeType": "YulIdentifier", + "src": "15661:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15649:6:43", + "nodeType": "YulIdentifier", + "src": "15649:6:43" + }, + "nativeSrc": "15649:19:43", + "nodeType": "YulFunctionCall", + "src": "15649:19:43" + }, + "nativeSrc": "15649:19:43", + "nodeType": "YulExpressionStatement", + "src": "15649:19:43" + }, + { + "nativeSrc": "15677:29:43", + "nodeType": "YulAssignment", + "src": "15677:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15696:3:43", + "nodeType": "YulIdentifier", + "src": "15696:3:43" + }, + { + "kind": "number", + "nativeSrc": "15701:4:43", + "nodeType": "YulLiteral", + "src": "15701:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15692:3:43", + "nodeType": "YulIdentifier", + "src": "15692:3:43" + }, + "nativeSrc": "15692:14:43", + "nodeType": "YulFunctionCall", + "src": "15692:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "15677:11:43", + "nodeType": "YulIdentifier", + "src": "15677:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "15528:184:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15611:3:43", + "nodeType": "YulTypedName", + "src": "15611:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "15616:6:43", + "nodeType": "YulTypedName", + "src": "15616:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "15627:11:43", + "nodeType": "YulTypedName", + "src": "15627:11:43", + "type": "" + } + ], + "src": "15528:184:43" + }, + { + "body": { + "nativeSrc": "15790:60:43", + "nodeType": "YulBlock", + "src": "15790:60:43", + "statements": [ + { + "nativeSrc": "15800:11:43", + "nodeType": "YulAssignment", + "src": "15800:11:43", + "value": { + "name": "ptr", + "nativeSrc": "15808:3:43", + "nodeType": "YulIdentifier", + "src": "15808:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "15800:4:43", + "nodeType": "YulIdentifier", + "src": "15800:4:43" + } + ] + }, + { + "nativeSrc": "15821:22:43", + "nodeType": "YulAssignment", + "src": "15821:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "15833:3:43", + "nodeType": "YulIdentifier", + "src": "15833:3:43" + }, + { + "kind": "number", + "nativeSrc": "15838:4:43", + "nodeType": "YulLiteral", + "src": "15838:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15829:3:43", + "nodeType": "YulIdentifier", + "src": "15829:3:43" + }, + "nativeSrc": "15829:14:43", + "nodeType": "YulFunctionCall", + "src": "15829:14:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "15821:4:43", + "nodeType": "YulIdentifier", + "src": "15821:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "15718:132:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "15777:3:43", + "nodeType": "YulTypedName", + "src": "15777:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "15785:4:43", + "nodeType": "YulTypedName", + "src": "15785:4:43", + "type": "" + } + ], + "src": "15718:132:43" + }, + { + "body": { + "nativeSrc": "15911:53:43", + "nodeType": "YulBlock", + "src": "15911:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15928:3:43", + "nodeType": "YulIdentifier", + "src": "15928:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "15951:5:43", + "nodeType": "YulIdentifier", + "src": "15951:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "15933:17:43", + "nodeType": "YulIdentifier", + "src": "15933:17:43" + }, + "nativeSrc": "15933:24:43", + "nodeType": "YulFunctionCall", + "src": "15933:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15921:6:43", + "nodeType": "YulIdentifier", + "src": "15921:6:43" + }, + "nativeSrc": "15921:37:43", + "nodeType": "YulFunctionCall", + "src": "15921:37:43" + }, + "nativeSrc": "15921:37:43", + "nodeType": "YulExpressionStatement", + "src": "15921:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "15856:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "15899:5:43", + "nodeType": "YulTypedName", + "src": "15899:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "15906:3:43", + "nodeType": "YulTypedName", + "src": "15906:3:43", + "type": "" + } + ], + "src": "15856:108:43" + }, + { + "body": { + "nativeSrc": "16050:99:43", + "nodeType": "YulBlock", + "src": "16050:99:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "16094:6:43", + "nodeType": "YulIdentifier", + "src": "16094:6:43" + }, + { + "name": "pos", + "nativeSrc": "16102:3:43", + "nodeType": "YulIdentifier", + "src": "16102:3:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "16060:33:43", + "nodeType": "YulIdentifier", + "src": "16060:33:43" + }, + "nativeSrc": "16060:46:43", + "nodeType": "YulFunctionCall", + "src": "16060:46:43" + }, + "nativeSrc": "16060:46:43", + "nodeType": "YulExpressionStatement", + "src": "16060:46:43" + }, + { + "nativeSrc": "16115:28:43", + "nodeType": "YulAssignment", + "src": "16115:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16133:3:43", + "nodeType": "YulIdentifier", + "src": "16133:3:43" + }, + { + "kind": "number", + "nativeSrc": "16138:4:43", + "nodeType": "YulLiteral", + "src": "16138:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16129:3:43", + "nodeType": "YulIdentifier", + "src": "16129:3:43" + }, + "nativeSrc": "16129:14:43", + "nodeType": "YulFunctionCall", + "src": "16129:14:43" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "16115:10:43", + "nodeType": "YulIdentifier", + "src": "16115:10:43" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nativeSrc": "15970:179:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "16023:6:43", + "nodeType": "YulTypedName", + "src": "16023:6:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "16031:3:43", + "nodeType": "YulTypedName", + "src": "16031:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "16039:10:43", + "nodeType": "YulTypedName", + "src": "16039:10:43", + "type": "" + } + ], + "src": "15970:179:43" + }, + { + "body": { + "nativeSrc": "16230:38:43", + "nodeType": "YulBlock", + "src": "16230:38:43", + "statements": [ + { + "nativeSrc": "16240:22:43", + "nodeType": "YulAssignment", + "src": "16240:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "16252:3:43", + "nodeType": "YulIdentifier", + "src": "16252:3:43" + }, + { + "kind": "number", + "nativeSrc": "16257:4:43", + "nodeType": "YulLiteral", + "src": "16257:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16248:3:43", + "nodeType": "YulIdentifier", + "src": "16248:3:43" + }, + "nativeSrc": "16248:14:43", + "nodeType": "YulFunctionCall", + "src": "16248:14:43" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "16240:4:43", + "nodeType": "YulIdentifier", + "src": "16240:4:43" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "16155:113:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "16217:3:43", + "nodeType": "YulTypedName", + "src": "16217:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "16225:4:43", + "nodeType": "YulTypedName", + "src": "16225:4:43", + "type": "" + } + ], + "src": "16155:113:43" + }, + { + "body": { + "nativeSrc": "16428:608:43", + "nodeType": "YulBlock", + "src": "16428:608:43", + "statements": [ + { + "nativeSrc": "16438:68:43", + "nodeType": "YulVariableDeclaration", + "src": "16438:68:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "16500:5:43", + "nodeType": "YulIdentifier", + "src": "16500:5:43" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "16452:47:43", + "nodeType": "YulIdentifier", + "src": "16452:47:43" + }, + "nativeSrc": "16452:54:43", + "nodeType": "YulFunctionCall", + "src": "16452:54:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "16442:6:43", + "nodeType": "YulTypedName", + "src": "16442:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16515:93:43", + "nodeType": "YulAssignment", + "src": "16515:93:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16596:3:43", + "nodeType": "YulIdentifier", + "src": "16596:3:43" + }, + { + "name": "length", + "nativeSrc": "16601:6:43", + "nodeType": "YulIdentifier", + "src": "16601:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "16522:73:43", + "nodeType": "YulIdentifier", + "src": "16522:73:43" + }, + "nativeSrc": "16522:86:43", + "nodeType": "YulFunctionCall", + "src": "16522:86:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16515:3:43", + "nodeType": "YulIdentifier", + "src": "16515:3:43" + } + ] + }, + { + "nativeSrc": "16617:71:43", + "nodeType": "YulVariableDeclaration", + "src": "16617:71:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "16682:5:43", + "nodeType": "YulIdentifier", + "src": "16682:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "16632:49:43", + "nodeType": "YulIdentifier", + "src": "16632:49:43" + }, + "nativeSrc": "16632:56:43", + "nodeType": "YulFunctionCall", + "src": "16632:56:43" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "16621:7:43", + "nodeType": "YulTypedName", + "src": "16621:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16697:21:43", + "nodeType": "YulVariableDeclaration", + "src": "16697:21:43", + "value": { + "name": "baseRef", + "nativeSrc": "16711:7:43", + "nodeType": "YulIdentifier", + "src": "16711:7:43" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "16701:6:43", + "nodeType": "YulTypedName", + "src": "16701:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16787:224:43", + "nodeType": "YulBlock", + "src": "16787:224:43", + "statements": [ + { + "nativeSrc": "16801:34:43", + "nodeType": "YulVariableDeclaration", + "src": "16801:34:43", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "16828:6:43", + "nodeType": "YulIdentifier", + "src": "16828:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "16822:5:43", + "nodeType": "YulIdentifier", + "src": "16822:5:43" + }, + "nativeSrc": "16822:13:43", + "nodeType": "YulFunctionCall", + "src": "16822:13:43" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "16805:13:43", + "nodeType": "YulTypedName", + "src": "16805:13:43", + "type": "" + } + ] + }, + { + "nativeSrc": "16848:70:43", + "nodeType": "YulAssignment", + "src": "16848:70:43", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "16899:13:43", + "nodeType": "YulIdentifier", + "src": "16899:13:43" + }, + { + "name": "pos", + "nativeSrc": "16914:3:43", + "nodeType": "YulIdentifier", + "src": "16914:3:43" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nativeSrc": "16855:43:43", + "nodeType": "YulIdentifier", + "src": "16855:43:43" + }, + "nativeSrc": "16855:63:43", + "nodeType": "YulFunctionCall", + "src": "16855:63:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16848:3:43", + "nodeType": "YulIdentifier", + "src": "16848:3:43" + } + ] + }, + { + "nativeSrc": "16931:70:43", + "nodeType": "YulAssignment", + "src": "16931:70:43", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "16994:6:43", + "nodeType": "YulIdentifier", + "src": "16994:6:43" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "16941:52:43", + "nodeType": "YulIdentifier", + "src": "16941:52:43" + }, + "nativeSrc": "16941:60:43", + "nodeType": "YulFunctionCall", + "src": "16941:60:43" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "16931:6:43", + "nodeType": "YulIdentifier", + "src": "16931:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "16749:1:43", + "nodeType": "YulIdentifier", + "src": "16749:1:43" + }, + { + "name": "length", + "nativeSrc": "16752:6:43", + "nodeType": "YulIdentifier", + "src": "16752:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "16746:2:43", + "nodeType": "YulIdentifier", + "src": "16746:2:43" + }, + "nativeSrc": "16746:13:43", + "nodeType": "YulFunctionCall", + "src": "16746:13:43" + }, + "nativeSrc": "16727:284:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "16760:18:43", + "nodeType": "YulBlock", + "src": "16760:18:43", + "statements": [ + { + "nativeSrc": "16762:14:43", + "nodeType": "YulAssignment", + "src": "16762:14:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "16771:1:43", + "nodeType": "YulIdentifier", + "src": "16771:1:43" + }, + { + "kind": "number", + "nativeSrc": "16774:1:43", + "nodeType": "YulLiteral", + "src": "16774:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16767:3:43", + "nodeType": "YulIdentifier", + "src": "16767:3:43" + }, + "nativeSrc": "16767:9:43", + "nodeType": "YulFunctionCall", + "src": "16767:9:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "16762:1:43", + "nodeType": "YulIdentifier", + "src": "16762:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "16731:14:43", + "nodeType": "YulBlock", + "src": "16731:14:43", + "statements": [ + { + "nativeSrc": "16733:10:43", + "nodeType": "YulVariableDeclaration", + "src": "16733:10:43", + "value": { + "kind": "number", + "nativeSrc": "16742:1:43", + "nodeType": "YulLiteral", + "src": "16742:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "16737:1:43", + "nodeType": "YulTypedName", + "src": "16737:1:43", + "type": "" + } + ] + } + ] + }, + "src": "16727:284:43" + }, + { + "nativeSrc": "17020:10:43", + "nodeType": "YulAssignment", + "src": "17020:10:43", + "value": { + "name": "pos", + "nativeSrc": "17027:3:43", + "nodeType": "YulIdentifier", + "src": "17027:3:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17020:3:43", + "nodeType": "YulIdentifier", + "src": "17020:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "16304:732:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "16407:5:43", + "nodeType": "YulTypedName", + "src": "16407:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "16414:3:43", + "nodeType": "YulTypedName", + "src": "16414:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "16423:3:43", + "nodeType": "YulTypedName", + "src": "16423:3:43", + "type": "" + } + ], + "src": "16304:732:43" + }, + { + "body": { + "nativeSrc": "17190:225:43", + "nodeType": "YulBlock", + "src": "17190:225:43", + "statements": [ + { + "nativeSrc": "17200:26:43", + "nodeType": "YulAssignment", + "src": "17200:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17212:9:43", + "nodeType": "YulIdentifier", + "src": "17212:9:43" + }, + { + "kind": "number", + "nativeSrc": "17223:2:43", + "nodeType": "YulLiteral", + "src": "17223:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17208:3:43", + "nodeType": "YulIdentifier", + "src": "17208:3:43" + }, + "nativeSrc": "17208:18:43", + "nodeType": "YulFunctionCall", + "src": "17208:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17200:4:43", + "nodeType": "YulIdentifier", + "src": "17200:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17247:9:43", + "nodeType": "YulIdentifier", + "src": "17247:9:43" + }, + { + "kind": "number", + "nativeSrc": "17258:1:43", + "nodeType": "YulLiteral", + "src": "17258:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17243:3:43", + "nodeType": "YulIdentifier", + "src": "17243:3:43" + }, + "nativeSrc": "17243:17:43", + "nodeType": "YulFunctionCall", + "src": "17243:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17266:4:43", + "nodeType": "YulIdentifier", + "src": "17266:4:43" + }, + { + "name": "headStart", + "nativeSrc": "17272:9:43", + "nodeType": "YulIdentifier", + "src": "17272:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17262:3:43", + "nodeType": "YulIdentifier", + "src": "17262:3:43" + }, + "nativeSrc": "17262:20:43", + "nodeType": "YulFunctionCall", + "src": "17262:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17236:6:43", + "nodeType": "YulIdentifier", + "src": "17236:6:43" + }, + "nativeSrc": "17236:47:43", + "nodeType": "YulFunctionCall", + "src": "17236:47:43" + }, + "nativeSrc": "17236:47:43", + "nodeType": "YulExpressionStatement", + "src": "17236:47:43" + }, + { + "nativeSrc": "17292:116:43", + "nodeType": "YulAssignment", + "src": "17292:116:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "17394:6:43", + "nodeType": "YulIdentifier", + "src": "17394:6:43" + }, + { + "name": "tail", + "nativeSrc": "17403:4:43", + "nodeType": "YulIdentifier", + "src": "17403:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "17300:93:43", + "nodeType": "YulIdentifier", + "src": "17300:93:43" + }, + "nativeSrc": "17300:108:43", + "nodeType": "YulFunctionCall", + "src": "17300:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17292:4:43", + "nodeType": "YulIdentifier", + "src": "17292:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "17042:373:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17162:9:43", + "nodeType": "YulTypedName", + "src": "17162:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "17174:6:43", + "nodeType": "YulTypedName", + "src": "17174:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17185:4:43", + "nodeType": "YulTypedName", + "src": "17185:4:43", + "type": "" + } + ], + "src": "17042:373:43" + }, + { + "body": { + "nativeSrc": "17547:817:43", + "nodeType": "YulBlock", + "src": "17547:817:43", + "statements": [ + { + "body": { + "nativeSrc": "17594:83:43", + "nodeType": "YulBlock", + "src": "17594:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "17596:77:43", + "nodeType": "YulIdentifier", + "src": "17596:77:43" + }, + "nativeSrc": "17596:79:43", + "nodeType": "YulFunctionCall", + "src": "17596:79:43" + }, + "nativeSrc": "17596:79:43", + "nodeType": "YulExpressionStatement", + "src": "17596:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "17568:7:43", + "nodeType": "YulIdentifier", + "src": "17568:7:43" + }, + { + "name": "headStart", + "nativeSrc": "17577:9:43", + "nodeType": "YulIdentifier", + "src": "17577:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17564:3:43", + "nodeType": "YulIdentifier", + "src": "17564:3:43" + }, + "nativeSrc": "17564:23:43", + "nodeType": "YulFunctionCall", + "src": "17564:23:43" + }, + { + "kind": "number", + "nativeSrc": "17589:3:43", + "nodeType": "YulLiteral", + "src": "17589:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17560:3:43", + "nodeType": "YulIdentifier", + "src": "17560:3:43" + }, + "nativeSrc": "17560:33:43", + "nodeType": "YulFunctionCall", + "src": "17560:33:43" + }, + "nativeSrc": "17557:120:43", + "nodeType": "YulIf", + "src": "17557:120:43" + }, + { + "nativeSrc": "17687:117:43", + "nodeType": "YulBlock", + "src": "17687:117:43", + "statements": [ + { + "nativeSrc": "17702:15:43", + "nodeType": "YulVariableDeclaration", + "src": "17702:15:43", + "value": { + "kind": "number", + "nativeSrc": "17716:1:43", + "nodeType": "YulLiteral", + "src": "17716:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "17706:6:43", + "nodeType": "YulTypedName", + "src": "17706:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "17731:63:43", + "nodeType": "YulAssignment", + "src": "17731:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17766:9:43", + "nodeType": "YulIdentifier", + "src": "17766:9:43" + }, + { + "name": "offset", + "nativeSrc": "17777:6:43", + "nodeType": "YulIdentifier", + "src": "17777:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17762:3:43", + "nodeType": "YulIdentifier", + "src": "17762:3:43" + }, + "nativeSrc": "17762:22:43", + "nodeType": "YulFunctionCall", + "src": "17762:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "17786:7:43", + "nodeType": "YulIdentifier", + "src": "17786:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "17741:20:43", + "nodeType": "YulIdentifier", + "src": "17741:20:43" + }, + "nativeSrc": "17741:53:43", + "nodeType": "YulFunctionCall", + "src": "17741:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "17731:6:43", + "nodeType": "YulIdentifier", + "src": "17731:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "17814:118:43", + "nodeType": "YulBlock", + "src": "17814:118:43", + "statements": [ + { + "nativeSrc": "17829:16:43", + "nodeType": "YulVariableDeclaration", + "src": "17829:16:43", + "value": { + "kind": "number", + "nativeSrc": "17843:2:43", + "nodeType": "YulLiteral", + "src": "17843:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "17833:6:43", + "nodeType": "YulTypedName", + "src": "17833:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "17859:63:43", + "nodeType": "YulAssignment", + "src": "17859:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17894:9:43", + "nodeType": "YulIdentifier", + "src": "17894:9:43" + }, + { + "name": "offset", + "nativeSrc": "17905:6:43", + "nodeType": "YulIdentifier", + "src": "17905:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17890:3:43", + "nodeType": "YulIdentifier", + "src": "17890:3:43" + }, + "nativeSrc": "17890:22:43", + "nodeType": "YulFunctionCall", + "src": "17890:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "17914:7:43", + "nodeType": "YulIdentifier", + "src": "17914:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "17869:20:43", + "nodeType": "YulIdentifier", + "src": "17869:20:43" + }, + "nativeSrc": "17869:53:43", + "nodeType": "YulFunctionCall", + "src": "17869:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "17859:6:43", + "nodeType": "YulIdentifier", + "src": "17859:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "17942:118:43", + "nodeType": "YulBlock", + "src": "17942:118:43", + "statements": [ + { + "nativeSrc": "17957:16:43", + "nodeType": "YulVariableDeclaration", + "src": "17957:16:43", + "value": { + "kind": "number", + "nativeSrc": "17971:2:43", + "nodeType": "YulLiteral", + "src": "17971:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "17961:6:43", + "nodeType": "YulTypedName", + "src": "17961:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "17987:63:43", + "nodeType": "YulAssignment", + "src": "17987:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18022:9:43", + "nodeType": "YulIdentifier", + "src": "18022:9:43" + }, + { + "name": "offset", + "nativeSrc": "18033:6:43", + "nodeType": "YulIdentifier", + "src": "18033:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18018:3:43", + "nodeType": "YulIdentifier", + "src": "18018:3:43" + }, + "nativeSrc": "18018:22:43", + "nodeType": "YulFunctionCall", + "src": "18018:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "18042:7:43", + "nodeType": "YulIdentifier", + "src": "18042:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "17997:20:43", + "nodeType": "YulIdentifier", + "src": "17997:20:43" + }, + "nativeSrc": "17997:53:43", + "nodeType": "YulFunctionCall", + "src": "17997:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "17987:6:43", + "nodeType": "YulIdentifier", + "src": "17987:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "18070:287:43", + "nodeType": "YulBlock", + "src": "18070:287:43", + "statements": [ + { + "nativeSrc": "18085:46:43", + "nodeType": "YulVariableDeclaration", + "src": "18085:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18116:9:43", + "nodeType": "YulIdentifier", + "src": "18116:9:43" + }, + { + "kind": "number", + "nativeSrc": "18127:2:43", + "nodeType": "YulLiteral", + "src": "18127:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18112:3:43", + "nodeType": "YulIdentifier", + "src": "18112:3:43" + }, + "nativeSrc": "18112:18:43", + "nodeType": "YulFunctionCall", + "src": "18112:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "18099:12:43", + "nodeType": "YulIdentifier", + "src": "18099:12:43" + }, + "nativeSrc": "18099:32:43", + "nodeType": "YulFunctionCall", + "src": "18099:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "18089:6:43", + "nodeType": "YulTypedName", + "src": "18089:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "18178:83:43", + "nodeType": "YulBlock", + "src": "18178:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "18180:77:43", + "nodeType": "YulIdentifier", + "src": "18180:77:43" + }, + "nativeSrc": "18180:79:43", + "nodeType": "YulFunctionCall", + "src": "18180:79:43" + }, + "nativeSrc": "18180:79:43", + "nodeType": "YulExpressionStatement", + "src": "18180:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "18150:6:43", + "nodeType": "YulIdentifier", + "src": "18150:6:43" + }, + { + "kind": "number", + "nativeSrc": "18158:18:43", + "nodeType": "YulLiteral", + "src": "18158:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "18147:2:43", + "nodeType": "YulIdentifier", + "src": "18147:2:43" + }, + "nativeSrc": "18147:30:43", + "nodeType": "YulFunctionCall", + "src": "18147:30:43" + }, + "nativeSrc": "18144:117:43", + "nodeType": "YulIf", + "src": "18144:117:43" + }, + { + "nativeSrc": "18275:72:43", + "nodeType": "YulAssignment", + "src": "18275:72:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18319:9:43", + "nodeType": "YulIdentifier", + "src": "18319:9:43" + }, + { + "name": "offset", + "nativeSrc": "18330:6:43", + "nodeType": "YulIdentifier", + "src": "18330:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18315:3:43", + "nodeType": "YulIdentifier", + "src": "18315:3:43" + }, + "nativeSrc": "18315:22:43", + "nodeType": "YulFunctionCall", + "src": "18315:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "18339:7:43", + "nodeType": "YulIdentifier", + "src": "18339:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "18285:29:43", + "nodeType": "YulIdentifier", + "src": "18285:29:43" + }, + "nativeSrc": "18285:62:43", + "nodeType": "YulFunctionCall", + "src": "18285:62:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "18275:6:43", + "nodeType": "YulIdentifier", + "src": "18275:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_uint256t_bytes_memory_ptr", + "nativeSrc": "17421:943:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17493:9:43", + "nodeType": "YulTypedName", + "src": "17493:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "17504:7:43", + "nodeType": "YulTypedName", + "src": "17504:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "17516:6:43", + "nodeType": "YulTypedName", + "src": "17516:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "17524:6:43", + "nodeType": "YulTypedName", + "src": "17524:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "17532:6:43", + "nodeType": "YulTypedName", + "src": "17532:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "17540:6:43", + "nodeType": "YulTypedName", + "src": "17540:6:43", + "type": "" + } + ], + "src": "17421:943:43" + }, + { + "body": { + "nativeSrc": "18435:53:43", + "nodeType": "YulBlock", + "src": "18435:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18452:3:43", + "nodeType": "YulIdentifier", + "src": "18452:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18475:5:43", + "nodeType": "YulIdentifier", + "src": "18475:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "18457:17:43", + "nodeType": "YulIdentifier", + "src": "18457:17:43" + }, + "nativeSrc": "18457:24:43", + "nodeType": "YulFunctionCall", + "src": "18457:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18445:6:43", + "nodeType": "YulIdentifier", + "src": "18445:6:43" + }, + "nativeSrc": "18445:37:43", + "nodeType": "YulFunctionCall", + "src": "18445:37:43" + }, + "nativeSrc": "18445:37:43", + "nodeType": "YulExpressionStatement", + "src": "18445:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "18370:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "18423:5:43", + "nodeType": "YulTypedName", + "src": "18423:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "18430:3:43", + "nodeType": "YulTypedName", + "src": "18430:3:43", + "type": "" + } + ], + "src": "18370:118:43" + }, + { + "body": { + "nativeSrc": "18592:124:43", + "nodeType": "YulBlock", + "src": "18592:124:43", + "statements": [ + { + "nativeSrc": "18602:26:43", + "nodeType": "YulAssignment", + "src": "18602:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18614:9:43", + "nodeType": "YulIdentifier", + "src": "18614:9:43" + }, + { + "kind": "number", + "nativeSrc": "18625:2:43", + "nodeType": "YulLiteral", + "src": "18625:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18610:3:43", + "nodeType": "YulIdentifier", + "src": "18610:3:43" + }, + "nativeSrc": "18610:18:43", + "nodeType": "YulFunctionCall", + "src": "18610:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18602:4:43", + "nodeType": "YulIdentifier", + "src": "18602:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "18682:6:43", + "nodeType": "YulIdentifier", + "src": "18682:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18695:9:43", + "nodeType": "YulIdentifier", + "src": "18695:9:43" + }, + { + "kind": "number", + "nativeSrc": "18706:1:43", + "nodeType": "YulLiteral", + "src": "18706:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18691:3:43", + "nodeType": "YulIdentifier", + "src": "18691:3:43" + }, + "nativeSrc": "18691:17:43", + "nodeType": "YulFunctionCall", + "src": "18691:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "18638:43:43", + "nodeType": "YulIdentifier", + "src": "18638:43:43" + }, + "nativeSrc": "18638:71:43", + "nodeType": "YulFunctionCall", + "src": "18638:71:43" + }, + "nativeSrc": "18638:71:43", + "nodeType": "YulExpressionStatement", + "src": "18638:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "18494:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18564:9:43", + "nodeType": "YulTypedName", + "src": "18564:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18576:6:43", + "nodeType": "YulTypedName", + "src": "18576:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18587:4:43", + "nodeType": "YulTypedName", + "src": "18587:4:43", + "type": "" + } + ], + "src": "18494:222:43" + }, + { + "body": { + "nativeSrc": "18762:76:43", + "nodeType": "YulBlock", + "src": "18762:76:43", + "statements": [ + { + "body": { + "nativeSrc": "18816:16:43", + "nodeType": "YulBlock", + "src": "18816:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18825:1:43", + "nodeType": "YulLiteral", + "src": "18825:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "18828:1:43", + "nodeType": "YulLiteral", + "src": "18828:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "18818:6:43", + "nodeType": "YulIdentifier", + "src": "18818:6:43" + }, + "nativeSrc": "18818:12:43", + "nodeType": "YulFunctionCall", + "src": "18818:12:43" + }, + "nativeSrc": "18818:12:43", + "nodeType": "YulExpressionStatement", + "src": "18818:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18785:5:43", + "nodeType": "YulIdentifier", + "src": "18785:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18807:5:43", + "nodeType": "YulIdentifier", + "src": "18807:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "18792:14:43", + "nodeType": "YulIdentifier", + "src": "18792:14:43" + }, + "nativeSrc": "18792:21:43", + "nodeType": "YulFunctionCall", + "src": "18792:21:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "18782:2:43", + "nodeType": "YulIdentifier", + "src": "18782:2:43" + }, + "nativeSrc": "18782:32:43", + "nodeType": "YulFunctionCall", + "src": "18782:32:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "18775:6:43", + "nodeType": "YulIdentifier", + "src": "18775:6:43" + }, + "nativeSrc": "18775:40:43", + "nodeType": "YulFunctionCall", + "src": "18775:40:43" + }, + "nativeSrc": "18772:60:43", + "nodeType": "YulIf", + "src": "18772:60:43" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "18722:116:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "18755:5:43", + "nodeType": "YulTypedName", + "src": "18755:5:43", + "type": "" + } + ], + "src": "18722:116:43" + }, + { + "body": { + "nativeSrc": "18893:84:43", + "nodeType": "YulBlock", + "src": "18893:84:43", + "statements": [ + { + "nativeSrc": "18903:29:43", + "nodeType": "YulAssignment", + "src": "18903:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "18925:6:43", + "nodeType": "YulIdentifier", + "src": "18925:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "18912:12:43", + "nodeType": "YulIdentifier", + "src": "18912:12:43" + }, + "nativeSrc": "18912:20:43", + "nodeType": "YulFunctionCall", + "src": "18912:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "18903:5:43", + "nodeType": "YulIdentifier", + "src": "18903:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "18965:5:43", + "nodeType": "YulIdentifier", + "src": "18965:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "18941:23:43", + "nodeType": "YulIdentifier", + "src": "18941:23:43" + }, + "nativeSrc": "18941:30:43", + "nodeType": "YulFunctionCall", + "src": "18941:30:43" + }, + "nativeSrc": "18941:30:43", + "nodeType": "YulExpressionStatement", + "src": "18941:30:43" + } + ] + }, + "name": "abi_decode_t_bool", + "nativeSrc": "18844:133:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "18871:6:43", + "nodeType": "YulTypedName", + "src": "18871:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "18879:3:43", + "nodeType": "YulTypedName", + "src": "18879:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "18887:5:43", + "nodeType": "YulTypedName", + "src": "18887:5:43", + "type": "" + } + ], + "src": "18844:133:43" + }, + { + "body": { + "nativeSrc": "19063:388:43", + "nodeType": "YulBlock", + "src": "19063:388:43", + "statements": [ + { + "body": { + "nativeSrc": "19109:83:43", + "nodeType": "YulBlock", + "src": "19109:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "19111:77:43", + "nodeType": "YulIdentifier", + "src": "19111:77:43" + }, + "nativeSrc": "19111:79:43", + "nodeType": "YulFunctionCall", + "src": "19111:79:43" + }, + "nativeSrc": "19111:79:43", + "nodeType": "YulExpressionStatement", + "src": "19111:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "19084:7:43", + "nodeType": "YulIdentifier", + "src": "19084:7:43" + }, + { + "name": "headStart", + "nativeSrc": "19093:9:43", + "nodeType": "YulIdentifier", + "src": "19093:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19080:3:43", + "nodeType": "YulIdentifier", + "src": "19080:3:43" + }, + "nativeSrc": "19080:23:43", + "nodeType": "YulFunctionCall", + "src": "19080:23:43" + }, + { + "kind": "number", + "nativeSrc": "19105:2:43", + "nodeType": "YulLiteral", + "src": "19105:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "19076:3:43", + "nodeType": "YulIdentifier", + "src": "19076:3:43" + }, + "nativeSrc": "19076:32:43", + "nodeType": "YulFunctionCall", + "src": "19076:32:43" + }, + "nativeSrc": "19073:119:43", + "nodeType": "YulIf", + "src": "19073:119:43" + }, + { + "nativeSrc": "19202:117:43", + "nodeType": "YulBlock", + "src": "19202:117:43", + "statements": [ + { + "nativeSrc": "19217:15:43", + "nodeType": "YulVariableDeclaration", + "src": "19217:15:43", + "value": { + "kind": "number", + "nativeSrc": "19231:1:43", + "nodeType": "YulLiteral", + "src": "19231:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "19221:6:43", + "nodeType": "YulTypedName", + "src": "19221:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "19246:63:43", + "nodeType": "YulAssignment", + "src": "19246:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19281:9:43", + "nodeType": "YulIdentifier", + "src": "19281:9:43" + }, + { + "name": "offset", + "nativeSrc": "19292:6:43", + "nodeType": "YulIdentifier", + "src": "19292:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19277:3:43", + "nodeType": "YulIdentifier", + "src": "19277:3:43" + }, + "nativeSrc": "19277:22:43", + "nodeType": "YulFunctionCall", + "src": "19277:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "19301:7:43", + "nodeType": "YulIdentifier", + "src": "19301:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "19256:20:43", + "nodeType": "YulIdentifier", + "src": "19256:20:43" + }, + "nativeSrc": "19256:53:43", + "nodeType": "YulFunctionCall", + "src": "19256:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "19246:6:43", + "nodeType": "YulIdentifier", + "src": "19246:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "19329:115:43", + "nodeType": "YulBlock", + "src": "19329:115:43", + "statements": [ + { + "nativeSrc": "19344:16:43", + "nodeType": "YulVariableDeclaration", + "src": "19344:16:43", + "value": { + "kind": "number", + "nativeSrc": "19358:2:43", + "nodeType": "YulLiteral", + "src": "19358:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "19348:6:43", + "nodeType": "YulTypedName", + "src": "19348:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "19374:60:43", + "nodeType": "YulAssignment", + "src": "19374:60:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19406:9:43", + "nodeType": "YulIdentifier", + "src": "19406:9:43" + }, + { + "name": "offset", + "nativeSrc": "19417:6:43", + "nodeType": "YulIdentifier", + "src": "19417:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19402:3:43", + "nodeType": "YulIdentifier", + "src": "19402:3:43" + }, + "nativeSrc": "19402:22:43", + "nodeType": "YulFunctionCall", + "src": "19402:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "19426:7:43", + "nodeType": "YulIdentifier", + "src": "19426:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nativeSrc": "19384:17:43", + "nodeType": "YulIdentifier", + "src": "19384:17:43" + }, + "nativeSrc": "19384:50:43", + "nodeType": "YulFunctionCall", + "src": "19384:50:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "19374:6:43", + "nodeType": "YulIdentifier", + "src": "19374:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nativeSrc": "18983:468:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19025:9:43", + "nodeType": "YulTypedName", + "src": "19025:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "19036:7:43", + "nodeType": "YulTypedName", + "src": "19036:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "19048:6:43", + "nodeType": "YulTypedName", + "src": "19048:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "19056:6:43", + "nodeType": "YulTypedName", + "src": "19056:6:43", + "type": "" + } + ], + "src": "18983:468:43" + }, + { + "body": { + "nativeSrc": "19540:391:43", + "nodeType": "YulBlock", + "src": "19540:391:43", + "statements": [ + { + "body": { + "nativeSrc": "19586:83:43", + "nodeType": "YulBlock", + "src": "19586:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "19588:77:43", + "nodeType": "YulIdentifier", + "src": "19588:77:43" + }, + "nativeSrc": "19588:79:43", + "nodeType": "YulFunctionCall", + "src": "19588:79:43" + }, + "nativeSrc": "19588:79:43", + "nodeType": "YulExpressionStatement", + "src": "19588:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "19561:7:43", + "nodeType": "YulIdentifier", + "src": "19561:7:43" + }, + { + "name": "headStart", + "nativeSrc": "19570:9:43", + "nodeType": "YulIdentifier", + "src": "19570:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19557:3:43", + "nodeType": "YulIdentifier", + "src": "19557:3:43" + }, + "nativeSrc": "19557:23:43", + "nodeType": "YulFunctionCall", + "src": "19557:23:43" + }, + { + "kind": "number", + "nativeSrc": "19582:2:43", + "nodeType": "YulLiteral", + "src": "19582:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "19553:3:43", + "nodeType": "YulIdentifier", + "src": "19553:3:43" + }, + "nativeSrc": "19553:32:43", + "nodeType": "YulFunctionCall", + "src": "19553:32:43" + }, + "nativeSrc": "19550:119:43", + "nodeType": "YulIf", + "src": "19550:119:43" + }, + { + "nativeSrc": "19679:117:43", + "nodeType": "YulBlock", + "src": "19679:117:43", + "statements": [ + { + "nativeSrc": "19694:15:43", + "nodeType": "YulVariableDeclaration", + "src": "19694:15:43", + "value": { + "kind": "number", + "nativeSrc": "19708:1:43", + "nodeType": "YulLiteral", + "src": "19708:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "19698:6:43", + "nodeType": "YulTypedName", + "src": "19698:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "19723:63:43", + "nodeType": "YulAssignment", + "src": "19723:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19758:9:43", + "nodeType": "YulIdentifier", + "src": "19758:9:43" + }, + { + "name": "offset", + "nativeSrc": "19769:6:43", + "nodeType": "YulIdentifier", + "src": "19769:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19754:3:43", + "nodeType": "YulIdentifier", + "src": "19754:3:43" + }, + "nativeSrc": "19754:22:43", + "nodeType": "YulFunctionCall", + "src": "19754:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "19778:7:43", + "nodeType": "YulIdentifier", + "src": "19778:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "19733:20:43", + "nodeType": "YulIdentifier", + "src": "19733:20:43" + }, + "nativeSrc": "19733:53:43", + "nodeType": "YulFunctionCall", + "src": "19733:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "19723:6:43", + "nodeType": "YulIdentifier", + "src": "19723:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "19806:118:43", + "nodeType": "YulBlock", + "src": "19806:118:43", + "statements": [ + { + "nativeSrc": "19821:16:43", + "nodeType": "YulVariableDeclaration", + "src": "19821:16:43", + "value": { + "kind": "number", + "nativeSrc": "19835:2:43", + "nodeType": "YulLiteral", + "src": "19835:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "19825:6:43", + "nodeType": "YulTypedName", + "src": "19825:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "19851:63:43", + "nodeType": "YulAssignment", + "src": "19851:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19886:9:43", + "nodeType": "YulIdentifier", + "src": "19886:9:43" + }, + { + "name": "offset", + "nativeSrc": "19897:6:43", + "nodeType": "YulIdentifier", + "src": "19897:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19882:3:43", + "nodeType": "YulIdentifier", + "src": "19882:3:43" + }, + "nativeSrc": "19882:22:43", + "nodeType": "YulFunctionCall", + "src": "19882:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "19906:7:43", + "nodeType": "YulIdentifier", + "src": "19906:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "19861:20:43", + "nodeType": "YulIdentifier", + "src": "19861:20:43" + }, + "nativeSrc": "19861:53:43", + "nodeType": "YulFunctionCall", + "src": "19861:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "19851:6:43", + "nodeType": "YulIdentifier", + "src": "19851:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nativeSrc": "19457:474:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19502:9:43", + "nodeType": "YulTypedName", + "src": "19502:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "19513:7:43", + "nodeType": "YulTypedName", + "src": "19513:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "19525:6:43", + "nodeType": "YulTypedName", + "src": "19525:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "19533:6:43", + "nodeType": "YulTypedName", + "src": "19533:6:43", + "type": "" + } + ], + "src": "19457:474:43" + }, + { + "body": { + "nativeSrc": "20080:946:43", + "nodeType": "YulBlock", + "src": "20080:946:43", + "statements": [ + { + "body": { + "nativeSrc": "20127:83:43", + "nodeType": "YulBlock", + "src": "20127:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "20129:77:43", + "nodeType": "YulIdentifier", + "src": "20129:77:43" + }, + "nativeSrc": "20129:79:43", + "nodeType": "YulFunctionCall", + "src": "20129:79:43" + }, + "nativeSrc": "20129:79:43", + "nodeType": "YulExpressionStatement", + "src": "20129:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "20101:7:43", + "nodeType": "YulIdentifier", + "src": "20101:7:43" + }, + { + "name": "headStart", + "nativeSrc": "20110:9:43", + "nodeType": "YulIdentifier", + "src": "20110:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20097:3:43", + "nodeType": "YulIdentifier", + "src": "20097:3:43" + }, + "nativeSrc": "20097:23:43", + "nodeType": "YulFunctionCall", + "src": "20097:23:43" + }, + { + "kind": "number", + "nativeSrc": "20122:3:43", + "nodeType": "YulLiteral", + "src": "20122:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "20093:3:43", + "nodeType": "YulIdentifier", + "src": "20093:3:43" + }, + "nativeSrc": "20093:33:43", + "nodeType": "YulFunctionCall", + "src": "20093:33:43" + }, + "nativeSrc": "20090:120:43", + "nodeType": "YulIf", + "src": "20090:120:43" + }, + { + "nativeSrc": "20220:117:43", + "nodeType": "YulBlock", + "src": "20220:117:43", + "statements": [ + { + "nativeSrc": "20235:15:43", + "nodeType": "YulVariableDeclaration", + "src": "20235:15:43", + "value": { + "kind": "number", + "nativeSrc": "20249:1:43", + "nodeType": "YulLiteral", + "src": "20249:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20239:6:43", + "nodeType": "YulTypedName", + "src": "20239:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "20264:63:43", + "nodeType": "YulAssignment", + "src": "20264:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20299:9:43", + "nodeType": "YulIdentifier", + "src": "20299:9:43" + }, + { + "name": "offset", + "nativeSrc": "20310:6:43", + "nodeType": "YulIdentifier", + "src": "20310:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20295:3:43", + "nodeType": "YulIdentifier", + "src": "20295:3:43" + }, + "nativeSrc": "20295:22:43", + "nodeType": "YulFunctionCall", + "src": "20295:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "20319:7:43", + "nodeType": "YulIdentifier", + "src": "20319:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "20274:20:43", + "nodeType": "YulIdentifier", + "src": "20274:20:43" + }, + "nativeSrc": "20274:53:43", + "nodeType": "YulFunctionCall", + "src": "20274:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "20264:6:43", + "nodeType": "YulIdentifier", + "src": "20264:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "20347:118:43", + "nodeType": "YulBlock", + "src": "20347:118:43", + "statements": [ + { + "nativeSrc": "20362:16:43", + "nodeType": "YulVariableDeclaration", + "src": "20362:16:43", + "value": { + "kind": "number", + "nativeSrc": "20376:2:43", + "nodeType": "YulLiteral", + "src": "20376:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20366:6:43", + "nodeType": "YulTypedName", + "src": "20366:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "20392:63:43", + "nodeType": "YulAssignment", + "src": "20392:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20427:9:43", + "nodeType": "YulIdentifier", + "src": "20427:9:43" + }, + { + "name": "offset", + "nativeSrc": "20438:6:43", + "nodeType": "YulIdentifier", + "src": "20438:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20423:3:43", + "nodeType": "YulIdentifier", + "src": "20423:3:43" + }, + "nativeSrc": "20423:22:43", + "nodeType": "YulFunctionCall", + "src": "20423:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "20447:7:43", + "nodeType": "YulIdentifier", + "src": "20447:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "20402:20:43", + "nodeType": "YulIdentifier", + "src": "20402:20:43" + }, + "nativeSrc": "20402:53:43", + "nodeType": "YulFunctionCall", + "src": "20402:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "20392:6:43", + "nodeType": "YulIdentifier", + "src": "20392:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "20475:118:43", + "nodeType": "YulBlock", + "src": "20475:118:43", + "statements": [ + { + "nativeSrc": "20490:16:43", + "nodeType": "YulVariableDeclaration", + "src": "20490:16:43", + "value": { + "kind": "number", + "nativeSrc": "20504:2:43", + "nodeType": "YulLiteral", + "src": "20504:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20494:6:43", + "nodeType": "YulTypedName", + "src": "20494:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "20520:63:43", + "nodeType": "YulAssignment", + "src": "20520:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20555:9:43", + "nodeType": "YulIdentifier", + "src": "20555:9:43" + }, + { + "name": "offset", + "nativeSrc": "20566:6:43", + "nodeType": "YulIdentifier", + "src": "20566:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20551:3:43", + "nodeType": "YulIdentifier", + "src": "20551:3:43" + }, + "nativeSrc": "20551:22:43", + "nodeType": "YulFunctionCall", + "src": "20551:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "20575:7:43", + "nodeType": "YulIdentifier", + "src": "20575:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "20530:20:43", + "nodeType": "YulIdentifier", + "src": "20530:20:43" + }, + "nativeSrc": "20530:53:43", + "nodeType": "YulFunctionCall", + "src": "20530:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "20520:6:43", + "nodeType": "YulIdentifier", + "src": "20520:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "20603:118:43", + "nodeType": "YulBlock", + "src": "20603:118:43", + "statements": [ + { + "nativeSrc": "20618:16:43", + "nodeType": "YulVariableDeclaration", + "src": "20618:16:43", + "value": { + "kind": "number", + "nativeSrc": "20632:2:43", + "nodeType": "YulLiteral", + "src": "20632:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20622:6:43", + "nodeType": "YulTypedName", + "src": "20622:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "20648:63:43", + "nodeType": "YulAssignment", + "src": "20648:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20683:9:43", + "nodeType": "YulIdentifier", + "src": "20683:9:43" + }, + { + "name": "offset", + "nativeSrc": "20694:6:43", + "nodeType": "YulIdentifier", + "src": "20694:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20679:3:43", + "nodeType": "YulIdentifier", + "src": "20679:3:43" + }, + "nativeSrc": "20679:22:43", + "nodeType": "YulFunctionCall", + "src": "20679:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "20703:7:43", + "nodeType": "YulIdentifier", + "src": "20703:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "20658:20:43", + "nodeType": "YulIdentifier", + "src": "20658:20:43" + }, + "nativeSrc": "20658:53:43", + "nodeType": "YulFunctionCall", + "src": "20658:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "20648:6:43", + "nodeType": "YulIdentifier", + "src": "20648:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "20731:288:43", + "nodeType": "YulBlock", + "src": "20731:288:43", + "statements": [ + { + "nativeSrc": "20746:47:43", + "nodeType": "YulVariableDeclaration", + "src": "20746:47:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20777:9:43", + "nodeType": "YulIdentifier", + "src": "20777:9:43" + }, + { + "kind": "number", + "nativeSrc": "20788:3:43", + "nodeType": "YulLiteral", + "src": "20788:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20773:3:43", + "nodeType": "YulIdentifier", + "src": "20773:3:43" + }, + "nativeSrc": "20773:19:43", + "nodeType": "YulFunctionCall", + "src": "20773:19:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "20760:12:43", + "nodeType": "YulIdentifier", + "src": "20760:12:43" + }, + "nativeSrc": "20760:33:43", + "nodeType": "YulFunctionCall", + "src": "20760:33:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20750:6:43", + "nodeType": "YulTypedName", + "src": "20750:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "20840:83:43", + "nodeType": "YulBlock", + "src": "20840:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "20842:77:43", + "nodeType": "YulIdentifier", + "src": "20842:77:43" + }, + "nativeSrc": "20842:79:43", + "nodeType": "YulFunctionCall", + "src": "20842:79:43" + }, + "nativeSrc": "20842:79:43", + "nodeType": "YulExpressionStatement", + "src": "20842:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "20812:6:43", + "nodeType": "YulIdentifier", + "src": "20812:6:43" + }, + { + "kind": "number", + "nativeSrc": "20820:18:43", + "nodeType": "YulLiteral", + "src": "20820:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "20809:2:43", + "nodeType": "YulIdentifier", + "src": "20809:2:43" + }, + "nativeSrc": "20809:30:43", + "nodeType": "YulFunctionCall", + "src": "20809:30:43" + }, + "nativeSrc": "20806:117:43", + "nodeType": "YulIf", + "src": "20806:117:43" + }, + { + "nativeSrc": "20937:72:43", + "nodeType": "YulAssignment", + "src": "20937:72:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20981:9:43", + "nodeType": "YulIdentifier", + "src": "20981:9:43" + }, + { + "name": "offset", + "nativeSrc": "20992:6:43", + "nodeType": "YulIdentifier", + "src": "20992:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20977:3:43", + "nodeType": "YulIdentifier", + "src": "20977:3:43" + }, + "nativeSrc": "20977:22:43", + "nodeType": "YulFunctionCall", + "src": "20977:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "21001:7:43", + "nodeType": "YulIdentifier", + "src": "21001:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "20947:29:43", + "nodeType": "YulIdentifier", + "src": "20947:29:43" + }, + "nativeSrc": "20947:62:43", + "nodeType": "YulFunctionCall", + "src": "20947:62:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "20937:6:43", + "nodeType": "YulIdentifier", + "src": "20937:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr", + "nativeSrc": "19937:1089:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20018:9:43", + "nodeType": "YulTypedName", + "src": "20018:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "20029:7:43", + "nodeType": "YulTypedName", + "src": "20029:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "20041:6:43", + "nodeType": "YulTypedName", + "src": "20041:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "20049:6:43", + "nodeType": "YulTypedName", + "src": "20049:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "20057:6:43", + "nodeType": "YulTypedName", + "src": "20057:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "20065:6:43", + "nodeType": "YulTypedName", + "src": "20065:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "20073:6:43", + "nodeType": "YulTypedName", + "src": "20073:6:43", + "type": "" + } + ], + "src": "19937:1089:43" + }, + { + "body": { + "nativeSrc": "21098:263:43", + "nodeType": "YulBlock", + "src": "21098:263:43", + "statements": [ + { + "body": { + "nativeSrc": "21144:83:43", + "nodeType": "YulBlock", + "src": "21144:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "21146:77:43", + "nodeType": "YulIdentifier", + "src": "21146:77:43" + }, + "nativeSrc": "21146:79:43", + "nodeType": "YulFunctionCall", + "src": "21146:79:43" + }, + "nativeSrc": "21146:79:43", + "nodeType": "YulExpressionStatement", + "src": "21146:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21119:7:43", + "nodeType": "YulIdentifier", + "src": "21119:7:43" + }, + { + "name": "headStart", + "nativeSrc": "21128:9:43", + "nodeType": "YulIdentifier", + "src": "21128:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21115:3:43", + "nodeType": "YulIdentifier", + "src": "21115:3:43" + }, + "nativeSrc": "21115:23:43", + "nodeType": "YulFunctionCall", + "src": "21115:23:43" + }, + { + "kind": "number", + "nativeSrc": "21140:2:43", + "nodeType": "YulLiteral", + "src": "21140:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21111:3:43", + "nodeType": "YulIdentifier", + "src": "21111:3:43" + }, + "nativeSrc": "21111:32:43", + "nodeType": "YulFunctionCall", + "src": "21111:32:43" + }, + "nativeSrc": "21108:119:43", + "nodeType": "YulIf", + "src": "21108:119:43" + }, + { + "nativeSrc": "21237:117:43", + "nodeType": "YulBlock", + "src": "21237:117:43", + "statements": [ + { + "nativeSrc": "21252:15:43", + "nodeType": "YulVariableDeclaration", + "src": "21252:15:43", + "value": { + "kind": "number", + "nativeSrc": "21266:1:43", + "nodeType": "YulLiteral", + "src": "21266:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "21256:6:43", + "nodeType": "YulTypedName", + "src": "21256:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "21281:63:43", + "nodeType": "YulAssignment", + "src": "21281:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21316:9:43", + "nodeType": "YulIdentifier", + "src": "21316:9:43" + }, + { + "name": "offset", + "nativeSrc": "21327:6:43", + "nodeType": "YulIdentifier", + "src": "21327:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21312:3:43", + "nodeType": "YulIdentifier", + "src": "21312:3:43" + }, + "nativeSrc": "21312:22:43", + "nodeType": "YulFunctionCall", + "src": "21312:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "21336:7:43", + "nodeType": "YulIdentifier", + "src": "21336:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "21291:20:43", + "nodeType": "YulIdentifier", + "src": "21291:20:43" + }, + "nativeSrc": "21291:53:43", + "nodeType": "YulFunctionCall", + "src": "21291:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "21281:6:43", + "nodeType": "YulIdentifier", + "src": "21281:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "21032:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21068:9:43", + "nodeType": "YulTypedName", + "src": "21068:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21079:7:43", + "nodeType": "YulTypedName", + "src": "21079:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21091:6:43", + "nodeType": "YulTypedName", + "src": "21091:6:43", + "type": "" + } + ], + "src": "21032:329:43" + }, + { + "body": { + "nativeSrc": "21395:152:43", + "nodeType": "YulBlock", + "src": "21395:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21412:1:43", + "nodeType": "YulLiteral", + "src": "21412:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21415:77:43", + "nodeType": "YulLiteral", + "src": "21415:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21405:6:43", + "nodeType": "YulIdentifier", + "src": "21405:6:43" + }, + "nativeSrc": "21405:88:43", + "nodeType": "YulFunctionCall", + "src": "21405:88:43" + }, + "nativeSrc": "21405:88:43", + "nodeType": "YulExpressionStatement", + "src": "21405:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21509:1:43", + "nodeType": "YulLiteral", + "src": "21509:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "21512:4:43", + "nodeType": "YulLiteral", + "src": "21512:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21502:6:43", + "nodeType": "YulIdentifier", + "src": "21502:6:43" + }, + "nativeSrc": "21502:15:43", + "nodeType": "YulFunctionCall", + "src": "21502:15:43" + }, + "nativeSrc": "21502:15:43", + "nodeType": "YulExpressionStatement", + "src": "21502:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21533:1:43", + "nodeType": "YulLiteral", + "src": "21533:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21536:4:43", + "nodeType": "YulLiteral", + "src": "21536:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21526:6:43", + "nodeType": "YulIdentifier", + "src": "21526:6:43" + }, + "nativeSrc": "21526:15:43", + "nodeType": "YulFunctionCall", + "src": "21526:15:43" + }, + "nativeSrc": "21526:15:43", + "nodeType": "YulExpressionStatement", + "src": "21526:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "21367:180:43", + "nodeType": "YulFunctionDefinition", + "src": "21367:180:43" + }, + { + "body": { + "nativeSrc": "21604:269:43", + "nodeType": "YulBlock", + "src": "21604:269:43", + "statements": [ + { + "nativeSrc": "21614:22:43", + "nodeType": "YulAssignment", + "src": "21614:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "21628:4:43", + "nodeType": "YulIdentifier", + "src": "21628:4:43" + }, + { + "kind": "number", + "nativeSrc": "21634:1:43", + "nodeType": "YulLiteral", + "src": "21634:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "21624:3:43", + "nodeType": "YulIdentifier", + "src": "21624:3:43" + }, + "nativeSrc": "21624:12:43", + "nodeType": "YulFunctionCall", + "src": "21624:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "21614:6:43", + "nodeType": "YulIdentifier", + "src": "21614:6:43" + } + ] + }, + { + "nativeSrc": "21645:38:43", + "nodeType": "YulVariableDeclaration", + "src": "21645:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "21675:4:43", + "nodeType": "YulIdentifier", + "src": "21675:4:43" + }, + { + "kind": "number", + "nativeSrc": "21681:1:43", + "nodeType": "YulLiteral", + "src": "21681:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "21671:3:43", + "nodeType": "YulIdentifier", + "src": "21671:3:43" + }, + "nativeSrc": "21671:12:43", + "nodeType": "YulFunctionCall", + "src": "21671:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "21649:18:43", + "nodeType": "YulTypedName", + "src": "21649:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "21722:51:43", + "nodeType": "YulBlock", + "src": "21722:51:43", + "statements": [ + { + "nativeSrc": "21736:27:43", + "nodeType": "YulAssignment", + "src": "21736:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "21750:6:43", + "nodeType": "YulIdentifier", + "src": "21750:6:43" + }, + { + "kind": "number", + "nativeSrc": "21758:4:43", + "nodeType": "YulLiteral", + "src": "21758:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "21746:3:43", + "nodeType": "YulIdentifier", + "src": "21746:3:43" + }, + "nativeSrc": "21746:17:43", + "nodeType": "YulFunctionCall", + "src": "21746:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "21736:6:43", + "nodeType": "YulIdentifier", + "src": "21736:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "21702:18:43", + "nodeType": "YulIdentifier", + "src": "21702:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "21695:6:43", + "nodeType": "YulIdentifier", + "src": "21695:6:43" + }, + "nativeSrc": "21695:26:43", + "nodeType": "YulFunctionCall", + "src": "21695:26:43" + }, + "nativeSrc": "21692:81:43", + "nodeType": "YulIf", + "src": "21692:81:43" + }, + { + "body": { + "nativeSrc": "21825:42:43", + "nodeType": "YulBlock", + "src": "21825:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "21839:16:43", + "nodeType": "YulIdentifier", + "src": "21839:16:43" + }, + "nativeSrc": "21839:18:43", + "nodeType": "YulFunctionCall", + "src": "21839:18:43" + }, + "nativeSrc": "21839:18:43", + "nodeType": "YulExpressionStatement", + "src": "21839:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "21789:18:43", + "nodeType": "YulIdentifier", + "src": "21789:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "21812:6:43", + "nodeType": "YulIdentifier", + "src": "21812:6:43" + }, + { + "kind": "number", + "nativeSrc": "21820:2:43", + "nodeType": "YulLiteral", + "src": "21820:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "21809:2:43", + "nodeType": "YulIdentifier", + "src": "21809:2:43" + }, + "nativeSrc": "21809:14:43", + "nodeType": "YulFunctionCall", + "src": "21809:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "21786:2:43", + "nodeType": "YulIdentifier", + "src": "21786:2:43" + }, + "nativeSrc": "21786:38:43", + "nodeType": "YulFunctionCall", + "src": "21786:38:43" + }, + "nativeSrc": "21783:84:43", + "nodeType": "YulIf", + "src": "21783:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "21553:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "21588:4:43", + "nodeType": "YulTypedName", + "src": "21588:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "21597:6:43", + "nodeType": "YulTypedName", + "src": "21597:6:43", + "type": "" + } + ], + "src": "21553:320:43" + }, + { + "body": { + "nativeSrc": "22005:206:43", + "nodeType": "YulBlock", + "src": "22005:206:43", + "statements": [ + { + "nativeSrc": "22015:26:43", + "nodeType": "YulAssignment", + "src": "22015:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22027:9:43", + "nodeType": "YulIdentifier", + "src": "22027:9:43" + }, + { + "kind": "number", + "nativeSrc": "22038:2:43", + "nodeType": "YulLiteral", + "src": "22038:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22023:3:43", + "nodeType": "YulIdentifier", + "src": "22023:3:43" + }, + "nativeSrc": "22023:18:43", + "nodeType": "YulFunctionCall", + "src": "22023:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22015:4:43", + "nodeType": "YulIdentifier", + "src": "22015:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "22095:6:43", + "nodeType": "YulIdentifier", + "src": "22095:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22108:9:43", + "nodeType": "YulIdentifier", + "src": "22108:9:43" + }, + { + "kind": "number", + "nativeSrc": "22119:1:43", + "nodeType": "YulLiteral", + "src": "22119:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22104:3:43", + "nodeType": "YulIdentifier", + "src": "22104:3:43" + }, + "nativeSrc": "22104:17:43", + "nodeType": "YulFunctionCall", + "src": "22104:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22051:43:43", + "nodeType": "YulIdentifier", + "src": "22051:43:43" + }, + "nativeSrc": "22051:71:43", + "nodeType": "YulFunctionCall", + "src": "22051:71:43" + }, + "nativeSrc": "22051:71:43", + "nodeType": "YulExpressionStatement", + "src": "22051:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "22176:6:43", + "nodeType": "YulIdentifier", + "src": "22176:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22189:9:43", + "nodeType": "YulIdentifier", + "src": "22189:9:43" + }, + { + "kind": "number", + "nativeSrc": "22200:2:43", + "nodeType": "YulLiteral", + "src": "22200:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22185:3:43", + "nodeType": "YulIdentifier", + "src": "22185:3:43" + }, + "nativeSrc": "22185:18:43", + "nodeType": "YulFunctionCall", + "src": "22185:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22132:43:43", + "nodeType": "YulIdentifier", + "src": "22132:43:43" + }, + "nativeSrc": "22132:72:43", + "nodeType": "YulFunctionCall", + "src": "22132:72:43" + }, + "nativeSrc": "22132:72:43", + "nodeType": "YulExpressionStatement", + "src": "22132:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nativeSrc": "21879:332:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21969:9:43", + "nodeType": "YulTypedName", + "src": "21969:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "21981:6:43", + "nodeType": "YulTypedName", + "src": "21981:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "21989:6:43", + "nodeType": "YulTypedName", + "src": "21989:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "22000:4:43", + "nodeType": "YulTypedName", + "src": "22000:4:43", + "type": "" + } + ], + "src": "21879:332:43" + }, + { + "body": { + "nativeSrc": "22343:206:43", + "nodeType": "YulBlock", + "src": "22343:206:43", + "statements": [ + { + "nativeSrc": "22353:26:43", + "nodeType": "YulAssignment", + "src": "22353:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22365:9:43", + "nodeType": "YulIdentifier", + "src": "22365:9:43" + }, + { + "kind": "number", + "nativeSrc": "22376:2:43", + "nodeType": "YulLiteral", + "src": "22376:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22361:3:43", + "nodeType": "YulIdentifier", + "src": "22361:3:43" + }, + "nativeSrc": "22361:18:43", + "nodeType": "YulFunctionCall", + "src": "22361:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22353:4:43", + "nodeType": "YulIdentifier", + "src": "22353:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "22433:6:43", + "nodeType": "YulIdentifier", + "src": "22433:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22446:9:43", + "nodeType": "YulIdentifier", + "src": "22446:9:43" + }, + { + "kind": "number", + "nativeSrc": "22457:1:43", + "nodeType": "YulLiteral", + "src": "22457:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22442:3:43", + "nodeType": "YulIdentifier", + "src": "22442:3:43" + }, + "nativeSrc": "22442:17:43", + "nodeType": "YulFunctionCall", + "src": "22442:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "22389:43:43", + "nodeType": "YulIdentifier", + "src": "22389:43:43" + }, + "nativeSrc": "22389:71:43", + "nodeType": "YulFunctionCall", + "src": "22389:71:43" + }, + "nativeSrc": "22389:71:43", + "nodeType": "YulExpressionStatement", + "src": "22389:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "22514:6:43", + "nodeType": "YulIdentifier", + "src": "22514:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22527:9:43", + "nodeType": "YulIdentifier", + "src": "22527:9:43" + }, + { + "kind": "number", + "nativeSrc": "22538:2:43", + "nodeType": "YulLiteral", + "src": "22538:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22523:3:43", + "nodeType": "YulIdentifier", + "src": "22523:3:43" + }, + "nativeSrc": "22523:18:43", + "nodeType": "YulFunctionCall", + "src": "22523:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "22470:43:43", + "nodeType": "YulIdentifier", + "src": "22470:43:43" + }, + "nativeSrc": "22470:72:43", + "nodeType": "YulFunctionCall", + "src": "22470:72:43" + }, + "nativeSrc": "22470:72:43", + "nodeType": "YulExpressionStatement", + "src": "22470:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "22217:332:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22307:9:43", + "nodeType": "YulTypedName", + "src": "22307:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "22319:6:43", + "nodeType": "YulTypedName", + "src": "22319:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "22327:6:43", + "nodeType": "YulTypedName", + "src": "22327:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "22338:4:43", + "nodeType": "YulTypedName", + "src": "22338:4:43", + "type": "" + } + ], + "src": "22217:332:43" + }, + { + "body": { + "nativeSrc": "22583:152:43", + "nodeType": "YulBlock", + "src": "22583:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22600:1:43", + "nodeType": "YulLiteral", + "src": "22600:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22603:77:43", + "nodeType": "YulLiteral", + "src": "22603:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22593:6:43", + "nodeType": "YulIdentifier", + "src": "22593:6:43" + }, + "nativeSrc": "22593:88:43", + "nodeType": "YulFunctionCall", + "src": "22593:88:43" + }, + "nativeSrc": "22593:88:43", + "nodeType": "YulExpressionStatement", + "src": "22593:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22697:1:43", + "nodeType": "YulLiteral", + "src": "22697:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "22700:4:43", + "nodeType": "YulLiteral", + "src": "22700:4:43", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22690:6:43", + "nodeType": "YulIdentifier", + "src": "22690:6:43" + }, + "nativeSrc": "22690:15:43", + "nodeType": "YulFunctionCall", + "src": "22690:15:43" + }, + "nativeSrc": "22690:15:43", + "nodeType": "YulExpressionStatement", + "src": "22690:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22721:1:43", + "nodeType": "YulLiteral", + "src": "22721:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22724:4:43", + "nodeType": "YulLiteral", + "src": "22724:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22714:6:43", + "nodeType": "YulIdentifier", + "src": "22714:6:43" + }, + "nativeSrc": "22714:15:43", + "nodeType": "YulFunctionCall", + "src": "22714:15:43" + }, + "nativeSrc": "22714:15:43", + "nodeType": "YulExpressionStatement", + "src": "22714:15:43" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "22555:180:43", + "nodeType": "YulFunctionDefinition", + "src": "22555:180:43" + }, + { + "body": { + "nativeSrc": "22795:87:43", + "nodeType": "YulBlock", + "src": "22795:87:43", + "statements": [ + { + "nativeSrc": "22805:11:43", + "nodeType": "YulAssignment", + "src": "22805:11:43", + "value": { + "name": "ptr", + "nativeSrc": "22813:3:43", + "nodeType": "YulIdentifier", + "src": "22813:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "22805:4:43", + "nodeType": "YulIdentifier", + "src": "22805:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22833:1:43", + "nodeType": "YulLiteral", + "src": "22833:1:43", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "22836:3:43", + "nodeType": "YulIdentifier", + "src": "22836:3:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22826:6:43", + "nodeType": "YulIdentifier", + "src": "22826:6:43" + }, + "nativeSrc": "22826:14:43", + "nodeType": "YulFunctionCall", + "src": "22826:14:43" + }, + "nativeSrc": "22826:14:43", + "nodeType": "YulExpressionStatement", + "src": "22826:14:43" + }, + { + "nativeSrc": "22849:26:43", + "nodeType": "YulAssignment", + "src": "22849:26:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22867:1:43", + "nodeType": "YulLiteral", + "src": "22867:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22870:4:43", + "nodeType": "YulLiteral", + "src": "22870:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "22857:9:43", + "nodeType": "YulIdentifier", + "src": "22857:9:43" + }, + "nativeSrc": "22857:18:43", + "nodeType": "YulFunctionCall", + "src": "22857:18:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "22849:4:43", + "nodeType": "YulIdentifier", + "src": "22849:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "22741:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "22782:3:43", + "nodeType": "YulTypedName", + "src": "22782:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "22790:4:43", + "nodeType": "YulTypedName", + "src": "22790:4:43", + "type": "" + } + ], + "src": "22741:141:43" + }, + { + "body": { + "nativeSrc": "22932:49:43", + "nodeType": "YulBlock", + "src": "22932:49:43", + "statements": [ + { + "nativeSrc": "22942:33:43", + "nodeType": "YulAssignment", + "src": "22942:33:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22960:5:43", + "nodeType": "YulIdentifier", + "src": "22960:5:43" + }, + { + "kind": "number", + "nativeSrc": "22967:2:43", + "nodeType": "YulLiteral", + "src": "22967:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22956:3:43", + "nodeType": "YulIdentifier", + "src": "22956:3:43" + }, + "nativeSrc": "22956:14:43", + "nodeType": "YulFunctionCall", + "src": "22956:14:43" + }, + { + "kind": "number", + "nativeSrc": "22972:2:43", + "nodeType": "YulLiteral", + "src": "22972:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "22952:3:43", + "nodeType": "YulIdentifier", + "src": "22952:3:43" + }, + "nativeSrc": "22952:23:43", + "nodeType": "YulFunctionCall", + "src": "22952:23:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "22942:6:43", + "nodeType": "YulIdentifier", + "src": "22942:6:43" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "22888:93:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "22915:5:43", + "nodeType": "YulTypedName", + "src": "22915:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "22925:6:43", + "nodeType": "YulTypedName", + "src": "22925:6:43", + "type": "" + } + ], + "src": "22888:93:43" + }, + { + "body": { + "nativeSrc": "23040:54:43", + "nodeType": "YulBlock", + "src": "23040:54:43", + "statements": [ + { + "nativeSrc": "23050:37:43", + "nodeType": "YulAssignment", + "src": "23050:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "23075:4:43", + "nodeType": "YulIdentifier", + "src": "23075:4:43" + }, + { + "name": "value", + "nativeSrc": "23081:5:43", + "nodeType": "YulIdentifier", + "src": "23081:5:43" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "23071:3:43", + "nodeType": "YulIdentifier", + "src": "23071:3:43" + }, + "nativeSrc": "23071:16:43", + "nodeType": "YulFunctionCall", + "src": "23071:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "23050:8:43", + "nodeType": "YulIdentifier", + "src": "23050:8:43" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "22987:107:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "23015:4:43", + "nodeType": "YulTypedName", + "src": "23015:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "23021:5:43", + "nodeType": "YulTypedName", + "src": "23021:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "23031:8:43", + "nodeType": "YulTypedName", + "src": "23031:8:43", + "type": "" + } + ], + "src": "22987:107:43" + }, + { + "body": { + "nativeSrc": "23176:317:43", + "nodeType": "YulBlock", + "src": "23176:317:43", + "statements": [ + { + "nativeSrc": "23186:35:43", + "nodeType": "YulVariableDeclaration", + "src": "23186:35:43", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "23207:10:43", + "nodeType": "YulIdentifier", + "src": "23207:10:43" + }, + { + "kind": "number", + "nativeSrc": "23219:1:43", + "nodeType": "YulLiteral", + "src": "23219:1:43", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "23203:3:43", + "nodeType": "YulIdentifier", + "src": "23203:3:43" + }, + "nativeSrc": "23203:18:43", + "nodeType": "YulFunctionCall", + "src": "23203:18:43" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "23190:9:43", + "nodeType": "YulTypedName", + "src": "23190:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "23230:109:43", + "nodeType": "YulVariableDeclaration", + "src": "23230:109:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "23261:9:43", + "nodeType": "YulIdentifier", + "src": "23261:9:43" + }, + { + "kind": "number", + "nativeSrc": "23272:66:43", + "nodeType": "YulLiteral", + "src": "23272:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "23242:18:43", + "nodeType": "YulIdentifier", + "src": "23242:18:43" + }, + "nativeSrc": "23242:97:43", + "nodeType": "YulFunctionCall", + "src": "23242:97:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "23234:4:43", + "nodeType": "YulTypedName", + "src": "23234:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "23348:51:43", + "nodeType": "YulAssignment", + "src": "23348:51:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "23379:9:43", + "nodeType": "YulIdentifier", + "src": "23379:9:43" + }, + { + "name": "toInsert", + "nativeSrc": "23390:8:43", + "nodeType": "YulIdentifier", + "src": "23390:8:43" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "23360:18:43", + "nodeType": "YulIdentifier", + "src": "23360:18:43" + }, + "nativeSrc": "23360:39:43", + "nodeType": "YulFunctionCall", + "src": "23360:39:43" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "23348:8:43", + "nodeType": "YulIdentifier", + "src": "23348:8:43" + } + ] + }, + { + "nativeSrc": "23408:30:43", + "nodeType": "YulAssignment", + "src": "23408:30:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "23421:5:43", + "nodeType": "YulIdentifier", + "src": "23421:5:43" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "23432:4:43", + "nodeType": "YulIdentifier", + "src": "23432:4:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "23428:3:43", + "nodeType": "YulIdentifier", + "src": "23428:3:43" + }, + "nativeSrc": "23428:9:43", + "nodeType": "YulFunctionCall", + "src": "23428:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "23417:3:43", + "nodeType": "YulIdentifier", + "src": "23417:3:43" + }, + "nativeSrc": "23417:21:43", + "nodeType": "YulFunctionCall", + "src": "23417:21:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "23408:5:43", + "nodeType": "YulIdentifier", + "src": "23408:5:43" + } + ] + }, + { + "nativeSrc": "23447:40:43", + "nodeType": "YulAssignment", + "src": "23447:40:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "23460:5:43", + "nodeType": "YulIdentifier", + "src": "23460:5:43" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "23471:8:43", + "nodeType": "YulIdentifier", + "src": "23471:8:43" + }, + { + "name": "mask", + "nativeSrc": "23481:4:43", + "nodeType": "YulIdentifier", + "src": "23481:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "23467:3:43", + "nodeType": "YulIdentifier", + "src": "23467:3:43" + }, + "nativeSrc": "23467:19:43", + "nodeType": "YulFunctionCall", + "src": "23467:19:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "23457:2:43", + "nodeType": "YulIdentifier", + "src": "23457:2:43" + }, + "nativeSrc": "23457:30:43", + "nodeType": "YulFunctionCall", + "src": "23457:30:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "23447:6:43", + "nodeType": "YulIdentifier", + "src": "23447:6:43" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "23100:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "23137:5:43", + "nodeType": "YulTypedName", + "src": "23137:5:43", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "23144:10:43", + "nodeType": "YulTypedName", + "src": "23144:10:43", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "23156:8:43", + "nodeType": "YulTypedName", + "src": "23156:8:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "23169:6:43", + "nodeType": "YulTypedName", + "src": "23169:6:43", + "type": "" + } + ], + "src": "23100:393:43" + }, + { + "body": { + "nativeSrc": "23531:28:43", + "nodeType": "YulBlock", + "src": "23531:28:43", + "statements": [ + { + "nativeSrc": "23541:12:43", + "nodeType": "YulAssignment", + "src": "23541:12:43", + "value": { + "name": "value", + "nativeSrc": "23548:5:43", + "nodeType": "YulIdentifier", + "src": "23548:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "23541:3:43", + "nodeType": "YulIdentifier", + "src": "23541:3:43" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "23499:60:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "23517:5:43", + "nodeType": "YulTypedName", + "src": "23517:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "23527:3:43", + "nodeType": "YulTypedName", + "src": "23527:3:43", + "type": "" + } + ], + "src": "23499:60:43" + }, + { + "body": { + "nativeSrc": "23625:82:43", + "nodeType": "YulBlock", + "src": "23625:82:43", + "statements": [ + { + "nativeSrc": "23635:66:43", + "nodeType": "YulAssignment", + "src": "23635:66:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23693:5:43", + "nodeType": "YulIdentifier", + "src": "23693:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "23675:17:43", + "nodeType": "YulIdentifier", + "src": "23675:17:43" + }, + "nativeSrc": "23675:24:43", + "nodeType": "YulFunctionCall", + "src": "23675:24:43" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "23666:8:43", + "nodeType": "YulIdentifier", + "src": "23666:8:43" + }, + "nativeSrc": "23666:34:43", + "nodeType": "YulFunctionCall", + "src": "23666:34:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "23648:17:43", + "nodeType": "YulIdentifier", + "src": "23648:17:43" + }, + "nativeSrc": "23648:53:43", + "nodeType": "YulFunctionCall", + "src": "23648:53:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "23635:9:43", + "nodeType": "YulIdentifier", + "src": "23635:9:43" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "23565:142:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "23605:5:43", + "nodeType": "YulTypedName", + "src": "23605:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "23615:9:43", + "nodeType": "YulTypedName", + "src": "23615:9:43", + "type": "" + } + ], + "src": "23565:142:43" + }, + { + "body": { + "nativeSrc": "23760:28:43", + "nodeType": "YulBlock", + "src": "23760:28:43", + "statements": [ + { + "nativeSrc": "23770:12:43", + "nodeType": "YulAssignment", + "src": "23770:12:43", + "value": { + "name": "value", + "nativeSrc": "23777:5:43", + "nodeType": "YulIdentifier", + "src": "23777:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "23770:3:43", + "nodeType": "YulIdentifier", + "src": "23770:3:43" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "23713:75:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "23746:5:43", + "nodeType": "YulTypedName", + "src": "23746:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "23756:3:43", + "nodeType": "YulTypedName", + "src": "23756:3:43", + "type": "" + } + ], + "src": "23713:75:43" + }, + { + "body": { + "nativeSrc": "23870:193:43", + "nodeType": "YulBlock", + "src": "23870:193:43", + "statements": [ + { + "nativeSrc": "23880:63:43", + "nodeType": "YulVariableDeclaration", + "src": "23880:63:43", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "23935:7:43", + "nodeType": "YulIdentifier", + "src": "23935:7:43" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "23904:30:43", + "nodeType": "YulIdentifier", + "src": "23904:30:43" + }, + "nativeSrc": "23904:39:43", + "nodeType": "YulFunctionCall", + "src": "23904:39:43" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "23884:16:43", + "nodeType": "YulTypedName", + "src": "23884:16:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "23959:4:43", + "nodeType": "YulIdentifier", + "src": "23959:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "23999:4:43", + "nodeType": "YulIdentifier", + "src": "23999:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "23993:5:43", + "nodeType": "YulIdentifier", + "src": "23993:5:43" + }, + "nativeSrc": "23993:11:43", + "nodeType": "YulFunctionCall", + "src": "23993:11:43" + }, + { + "name": "offset", + "nativeSrc": "24006:6:43", + "nodeType": "YulIdentifier", + "src": "24006:6:43" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "24038:16:43", + "nodeType": "YulIdentifier", + "src": "24038:16:43" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "24014:23:43", + "nodeType": "YulIdentifier", + "src": "24014:23:43" + }, + "nativeSrc": "24014:41:43", + "nodeType": "YulFunctionCall", + "src": "24014:41:43" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "23965:27:43", + "nodeType": "YulIdentifier", + "src": "23965:27:43" + }, + "nativeSrc": "23965:91:43", + "nodeType": "YulFunctionCall", + "src": "23965:91:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "23952:6:43", + "nodeType": "YulIdentifier", + "src": "23952:6:43" + }, + "nativeSrc": "23952:105:43", + "nodeType": "YulFunctionCall", + "src": "23952:105:43" + }, + "nativeSrc": "23952:105:43", + "nodeType": "YulExpressionStatement", + "src": "23952:105:43" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "23794:269:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "23847:4:43", + "nodeType": "YulTypedName", + "src": "23847:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "23853:6:43", + "nodeType": "YulTypedName", + "src": "23853:6:43", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "23861:7:43", + "nodeType": "YulTypedName", + "src": "23861:7:43", + "type": "" + } + ], + "src": "23794:269:43" + }, + { + "body": { + "nativeSrc": "24118:24:43", + "nodeType": "YulBlock", + "src": "24118:24:43", + "statements": [ + { + "nativeSrc": "24128:8:43", + "nodeType": "YulAssignment", + "src": "24128:8:43", + "value": { + "kind": "number", + "nativeSrc": "24135:1:43", + "nodeType": "YulLiteral", + "src": "24135:1:43", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "24128:3:43", + "nodeType": "YulIdentifier", + "src": "24128:3:43" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "24069:73:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "24114:3:43", + "nodeType": "YulTypedName", + "src": "24114:3:43", + "type": "" + } + ], + "src": "24069:73:43" + }, + { + "body": { + "nativeSrc": "24201:136:43", + "nodeType": "YulBlock", + "src": "24201:136:43", + "statements": [ + { + "nativeSrc": "24211:46:43", + "nodeType": "YulVariableDeclaration", + "src": "24211:46:43", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "24225:30:43", + "nodeType": "YulIdentifier", + "src": "24225:30:43" + }, + "nativeSrc": "24225:32:43", + "nodeType": "YulFunctionCall", + "src": "24225:32:43" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "24215:6:43", + "nodeType": "YulTypedName", + "src": "24215:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "24310:4:43", + "nodeType": "YulIdentifier", + "src": "24310:4:43" + }, + { + "name": "offset", + "nativeSrc": "24316:6:43", + "nodeType": "YulIdentifier", + "src": "24316:6:43" + }, + { + "name": "zero_0", + "nativeSrc": "24324:6:43", + "nodeType": "YulIdentifier", + "src": "24324:6:43" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "24266:43:43", + "nodeType": "YulIdentifier", + "src": "24266:43:43" + }, + "nativeSrc": "24266:65:43", + "nodeType": "YulFunctionCall", + "src": "24266:65:43" + }, + "nativeSrc": "24266:65:43", + "nodeType": "YulExpressionStatement", + "src": "24266:65:43" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "24148:189:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "24187:4:43", + "nodeType": "YulTypedName", + "src": "24187:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "24193:6:43", + "nodeType": "YulTypedName", + "src": "24193:6:43", + "type": "" + } + ], + "src": "24148:189:43" + }, + { + "body": { + "nativeSrc": "24393:136:43", + "nodeType": "YulBlock", + "src": "24393:136:43", + "statements": [ + { + "body": { + "nativeSrc": "24460:63:43", + "nodeType": "YulBlock", + "src": "24460:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "24504:5:43", + "nodeType": "YulIdentifier", + "src": "24504:5:43" + }, + { + "kind": "number", + "nativeSrc": "24511:1:43", + "nodeType": "YulLiteral", + "src": "24511:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "24474:29:43", + "nodeType": "YulIdentifier", + "src": "24474:29:43" + }, + "nativeSrc": "24474:39:43", + "nodeType": "YulFunctionCall", + "src": "24474:39:43" + }, + "nativeSrc": "24474:39:43", + "nodeType": "YulExpressionStatement", + "src": "24474:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "24413:5:43", + "nodeType": "YulIdentifier", + "src": "24413:5:43" + }, + { + "name": "end", + "nativeSrc": "24420:3:43", + "nodeType": "YulIdentifier", + "src": "24420:3:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "24410:2:43", + "nodeType": "YulIdentifier", + "src": "24410:2:43" + }, + "nativeSrc": "24410:14:43", + "nodeType": "YulFunctionCall", + "src": "24410:14:43" + }, + "nativeSrc": "24403:120:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "24425:26:43", + "nodeType": "YulBlock", + "src": "24425:26:43", + "statements": [ + { + "nativeSrc": "24427:22:43", + "nodeType": "YulAssignment", + "src": "24427:22:43", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "24440:5:43", + "nodeType": "YulIdentifier", + "src": "24440:5:43" + }, + { + "kind": "number", + "nativeSrc": "24447:1:43", + "nodeType": "YulLiteral", + "src": "24447:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24436:3:43", + "nodeType": "YulIdentifier", + "src": "24436:3:43" + }, + "nativeSrc": "24436:13:43", + "nodeType": "YulFunctionCall", + "src": "24436:13:43" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "24427:5:43", + "nodeType": "YulIdentifier", + "src": "24427:5:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "24407:2:43", + "nodeType": "YulBlock", + "src": "24407:2:43", + "statements": [] + }, + "src": "24403:120:43" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "24343:186:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "24381:5:43", + "nodeType": "YulTypedName", + "src": "24381:5:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "24388:3:43", + "nodeType": "YulTypedName", + "src": "24388:3:43", + "type": "" + } + ], + "src": "24343:186:43" + }, + { + "body": { + "nativeSrc": "24614:464:43", + "nodeType": "YulBlock", + "src": "24614:464:43", + "statements": [ + { + "body": { + "nativeSrc": "24640:431:43", + "nodeType": "YulBlock", + "src": "24640:431:43", + "statements": [ + { + "nativeSrc": "24654:54:43", + "nodeType": "YulVariableDeclaration", + "src": "24654:54:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "24702:5:43", + "nodeType": "YulIdentifier", + "src": "24702:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "24670:31:43", + "nodeType": "YulIdentifier", + "src": "24670:31:43" + }, + "nativeSrc": "24670:38:43", + "nodeType": "YulFunctionCall", + "src": "24670:38:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "24658:8:43", + "nodeType": "YulTypedName", + "src": "24658:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "24721:63:43", + "nodeType": "YulVariableDeclaration", + "src": "24721:63:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "24744:8:43", + "nodeType": "YulIdentifier", + "src": "24744:8:43" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "24772:10:43", + "nodeType": "YulIdentifier", + "src": "24772:10:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "24754:17:43", + "nodeType": "YulIdentifier", + "src": "24754:17:43" + }, + "nativeSrc": "24754:29:43", + "nodeType": "YulFunctionCall", + "src": "24754:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24740:3:43", + "nodeType": "YulIdentifier", + "src": "24740:3:43" + }, + "nativeSrc": "24740:44:43", + "nodeType": "YulFunctionCall", + "src": "24740:44:43" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "24725:11:43", + "nodeType": "YulTypedName", + "src": "24725:11:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24941:27:43", + "nodeType": "YulBlock", + "src": "24941:27:43", + "statements": [ + { + "nativeSrc": "24943:23:43", + "nodeType": "YulAssignment", + "src": "24943:23:43", + "value": { + "name": "dataArea", + "nativeSrc": "24958:8:43", + "nodeType": "YulIdentifier", + "src": "24958:8:43" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "24943:11:43", + "nodeType": "YulIdentifier", + "src": "24943:11:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "24925:10:43", + "nodeType": "YulIdentifier", + "src": "24925:10:43" + }, + { + "kind": "number", + "nativeSrc": "24937:2:43", + "nodeType": "YulLiteral", + "src": "24937:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "24922:2:43", + "nodeType": "YulIdentifier", + "src": "24922:2:43" + }, + "nativeSrc": "24922:18:43", + "nodeType": "YulFunctionCall", + "src": "24922:18:43" + }, + "nativeSrc": "24919:49:43", + "nodeType": "YulIf", + "src": "24919:49:43" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "25010:11:43", + "nodeType": "YulIdentifier", + "src": "25010:11:43" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "25027:8:43", + "nodeType": "YulIdentifier", + "src": "25027:8:43" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "25055:3:43", + "nodeType": "YulIdentifier", + "src": "25055:3:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "25037:17:43", + "nodeType": "YulIdentifier", + "src": "25037:17:43" + }, + "nativeSrc": "25037:22:43", + "nodeType": "YulFunctionCall", + "src": "25037:22:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25023:3:43", + "nodeType": "YulIdentifier", + "src": "25023:3:43" + }, + "nativeSrc": "25023:37:43", + "nodeType": "YulFunctionCall", + "src": "25023:37:43" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "24981:28:43", + "nodeType": "YulIdentifier", + "src": "24981:28:43" + }, + "nativeSrc": "24981:80:43", + "nodeType": "YulFunctionCall", + "src": "24981:80:43" + }, + "nativeSrc": "24981:80:43", + "nodeType": "YulExpressionStatement", + "src": "24981:80:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "24631:3:43", + "nodeType": "YulIdentifier", + "src": "24631:3:43" + }, + { + "kind": "number", + "nativeSrc": "24636:2:43", + "nodeType": "YulLiteral", + "src": "24636:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24628:2:43", + "nodeType": "YulIdentifier", + "src": "24628:2:43" + }, + "nativeSrc": "24628:11:43", + "nodeType": "YulFunctionCall", + "src": "24628:11:43" + }, + "nativeSrc": "24625:446:43", + "nodeType": "YulIf", + "src": "24625:446:43" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "24535:543:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "24590:5:43", + "nodeType": "YulTypedName", + "src": "24590:5:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "24597:3:43", + "nodeType": "YulTypedName", + "src": "24597:3:43", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "24602:10:43", + "nodeType": "YulTypedName", + "src": "24602:10:43", + "type": "" + } + ], + "src": "24535:543:43" + }, + { + "body": { + "nativeSrc": "25147:54:43", + "nodeType": "YulBlock", + "src": "25147:54:43", + "statements": [ + { + "nativeSrc": "25157:37:43", + "nodeType": "YulAssignment", + "src": "25157:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "25182:4:43", + "nodeType": "YulIdentifier", + "src": "25182:4:43" + }, + { + "name": "value", + "nativeSrc": "25188:5:43", + "nodeType": "YulIdentifier", + "src": "25188:5:43" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "25178:3:43", + "nodeType": "YulIdentifier", + "src": "25178:3:43" + }, + "nativeSrc": "25178:16:43", + "nodeType": "YulFunctionCall", + "src": "25178:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "25157:8:43", + "nodeType": "YulIdentifier", + "src": "25157:8:43" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "25084:117:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "25122:4:43", + "nodeType": "YulTypedName", + "src": "25122:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "25128:5:43", + "nodeType": "YulTypedName", + "src": "25128:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "25138:8:43", + "nodeType": "YulTypedName", + "src": "25138:8:43", + "type": "" + } + ], + "src": "25084:117:43" + }, + { + "body": { + "nativeSrc": "25258:118:43", + "nodeType": "YulBlock", + "src": "25258:118:43", + "statements": [ + { + "nativeSrc": "25268:68:43", + "nodeType": "YulVariableDeclaration", + "src": "25268:68:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "25317:1:43", + "nodeType": "YulLiteral", + "src": "25317:1:43", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "25320:5:43", + "nodeType": "YulIdentifier", + "src": "25320:5:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "25313:3:43", + "nodeType": "YulIdentifier", + "src": "25313:3:43" + }, + "nativeSrc": "25313:13:43", + "nodeType": "YulFunctionCall", + "src": "25313:13:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "25332:1:43", + "nodeType": "YulLiteral", + "src": "25332:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "25328:3:43", + "nodeType": "YulIdentifier", + "src": "25328:3:43" + }, + "nativeSrc": "25328:6:43", + "nodeType": "YulFunctionCall", + "src": "25328:6:43" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "25284:28:43", + "nodeType": "YulIdentifier", + "src": "25284:28:43" + }, + "nativeSrc": "25284:51:43", + "nodeType": "YulFunctionCall", + "src": "25284:51:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "25280:3:43", + "nodeType": "YulIdentifier", + "src": "25280:3:43" + }, + "nativeSrc": "25280:56:43", + "nodeType": "YulFunctionCall", + "src": "25280:56:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "25272:4:43", + "nodeType": "YulTypedName", + "src": "25272:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "25345:25:43", + "nodeType": "YulAssignment", + "src": "25345:25:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "25359:4:43", + "nodeType": "YulIdentifier", + "src": "25359:4:43" + }, + { + "name": "mask", + "nativeSrc": "25365:4:43", + "nodeType": "YulIdentifier", + "src": "25365:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "25355:3:43", + "nodeType": "YulIdentifier", + "src": "25355:3:43" + }, + "nativeSrc": "25355:15:43", + "nodeType": "YulFunctionCall", + "src": "25355:15:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "25345:6:43", + "nodeType": "YulIdentifier", + "src": "25345:6:43" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "25207:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "25235:4:43", + "nodeType": "YulTypedName", + "src": "25235:4:43", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "25241:5:43", + "nodeType": "YulTypedName", + "src": "25241:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "25251:6:43", + "nodeType": "YulTypedName", + "src": "25251:6:43", + "type": "" + } + ], + "src": "25207:169:43" + }, + { + "body": { + "nativeSrc": "25462:214:43", + "nodeType": "YulBlock", + "src": "25462:214:43", + "statements": [ + { + "nativeSrc": "25595:37:43", + "nodeType": "YulAssignment", + "src": "25595:37:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "25622:4:43", + "nodeType": "YulIdentifier", + "src": "25622:4:43" + }, + { + "name": "len", + "nativeSrc": "25628:3:43", + "nodeType": "YulIdentifier", + "src": "25628:3:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "25603:18:43", + "nodeType": "YulIdentifier", + "src": "25603:18:43" + }, + "nativeSrc": "25603:29:43", + "nodeType": "YulFunctionCall", + "src": "25603:29:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "25595:4:43", + "nodeType": "YulIdentifier", + "src": "25595:4:43" + } + ] + }, + { + "nativeSrc": "25641:29:43", + "nodeType": "YulAssignment", + "src": "25641:29:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "25652:4:43", + "nodeType": "YulIdentifier", + "src": "25652:4:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "25662:1:43", + "nodeType": "YulLiteral", + "src": "25662:1:43", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "25665:3:43", + "nodeType": "YulIdentifier", + "src": "25665:3:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "25658:3:43", + "nodeType": "YulIdentifier", + "src": "25658:3:43" + }, + "nativeSrc": "25658:11:43", + "nodeType": "YulFunctionCall", + "src": "25658:11:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "25649:2:43", + "nodeType": "YulIdentifier", + "src": "25649:2:43" + }, + "nativeSrc": "25649:21:43", + "nodeType": "YulFunctionCall", + "src": "25649:21:43" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "25641:4:43", + "nodeType": "YulIdentifier", + "src": "25641:4:43" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "25381:295:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "25443:4:43", + "nodeType": "YulTypedName", + "src": "25443:4:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "25449:3:43", + "nodeType": "YulTypedName", + "src": "25449:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "25457:4:43", + "nodeType": "YulTypedName", + "src": "25457:4:43", + "type": "" + } + ], + "src": "25381:295:43" + }, + { + "body": { + "nativeSrc": "25773:1303:43", + "nodeType": "YulBlock", + "src": "25773:1303:43", + "statements": [ + { + "nativeSrc": "25784:51:43", + "nodeType": "YulVariableDeclaration", + "src": "25784:51:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "25831:3:43", + "nodeType": "YulIdentifier", + "src": "25831:3:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "25798:32:43", + "nodeType": "YulIdentifier", + "src": "25798:32:43" + }, + "nativeSrc": "25798:37:43", + "nodeType": "YulFunctionCall", + "src": "25798:37:43" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "25788:6:43", + "nodeType": "YulTypedName", + "src": "25788:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25920:22:43", + "nodeType": "YulBlock", + "src": "25920:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "25922:16:43", + "nodeType": "YulIdentifier", + "src": "25922:16:43" + }, + "nativeSrc": "25922:18:43", + "nodeType": "YulFunctionCall", + "src": "25922:18:43" + }, + "nativeSrc": "25922:18:43", + "nodeType": "YulExpressionStatement", + "src": "25922:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "25892:6:43", + "nodeType": "YulIdentifier", + "src": "25892:6:43" + }, + { + "kind": "number", + "nativeSrc": "25900:18:43", + "nodeType": "YulLiteral", + "src": "25900:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25889:2:43", + "nodeType": "YulIdentifier", + "src": "25889:2:43" + }, + "nativeSrc": "25889:30:43", + "nodeType": "YulFunctionCall", + "src": "25889:30:43" + }, + "nativeSrc": "25886:56:43", + "nodeType": "YulIf", + "src": "25886:56:43" + }, + { + "nativeSrc": "25952:52:43", + "nodeType": "YulVariableDeclaration", + "src": "25952:52:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "25998:4:43", + "nodeType": "YulIdentifier", + "src": "25998:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "25992:5:43", + "nodeType": "YulIdentifier", + "src": "25992:5:43" + }, + "nativeSrc": "25992:11:43", + "nodeType": "YulFunctionCall", + "src": "25992:11:43" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "25966:25:43", + "nodeType": "YulIdentifier", + "src": "25966:25:43" + }, + "nativeSrc": "25966:38:43", + "nodeType": "YulFunctionCall", + "src": "25966:38:43" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "25956:6:43", + "nodeType": "YulTypedName", + "src": "25956:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "26097:4:43", + "nodeType": "YulIdentifier", + "src": "26097:4:43" + }, + { + "name": "oldLen", + "nativeSrc": "26103:6:43", + "nodeType": "YulIdentifier", + "src": "26103:6:43" + }, + { + "name": "newLen", + "nativeSrc": "26111:6:43", + "nodeType": "YulIdentifier", + "src": "26111:6:43" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "26051:45:43", + "nodeType": "YulIdentifier", + "src": "26051:45:43" + }, + "nativeSrc": "26051:67:43", + "nodeType": "YulFunctionCall", + "src": "26051:67:43" + }, + "nativeSrc": "26051:67:43", + "nodeType": "YulExpressionStatement", + "src": "26051:67:43" + }, + { + "nativeSrc": "26128:18:43", + "nodeType": "YulVariableDeclaration", + "src": "26128:18:43", + "value": { + "kind": "number", + "nativeSrc": "26145:1:43", + "nodeType": "YulLiteral", + "src": "26145:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "26132:9:43", + "nodeType": "YulTypedName", + "src": "26132:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "26156:17:43", + "nodeType": "YulAssignment", + "src": "26156:17:43", + "value": { + "kind": "number", + "nativeSrc": "26169:4:43", + "nodeType": "YulLiteral", + "src": "26169:4:43", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "26156:9:43", + "nodeType": "YulIdentifier", + "src": "26156:9:43" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "26220:611:43", + "nodeType": "YulBlock", + "src": "26220:611:43", + "statements": [ + { + "nativeSrc": "26234:37:43", + "nodeType": "YulVariableDeclaration", + "src": "26234:37:43", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "26253:6:43", + "nodeType": "YulIdentifier", + "src": "26253:6:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "26265:4:43", + "nodeType": "YulLiteral", + "src": "26265:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "26261:3:43", + "nodeType": "YulIdentifier", + "src": "26261:3:43" + }, + "nativeSrc": "26261:9:43", + "nodeType": "YulFunctionCall", + "src": "26261:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "26249:3:43", + "nodeType": "YulIdentifier", + "src": "26249:3:43" + }, + "nativeSrc": "26249:22:43", + "nodeType": "YulFunctionCall", + "src": "26249:22:43" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "26238:7:43", + "nodeType": "YulTypedName", + "src": "26238:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "26285:51:43", + "nodeType": "YulVariableDeclaration", + "src": "26285:51:43", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "26331:4:43", + "nodeType": "YulIdentifier", + "src": "26331:4:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "26299:31:43", + "nodeType": "YulIdentifier", + "src": "26299:31:43" + }, + "nativeSrc": "26299:37:43", + "nodeType": "YulFunctionCall", + "src": "26299:37:43" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "26289:6:43", + "nodeType": "YulTypedName", + "src": "26289:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "26349:10:43", + "nodeType": "YulVariableDeclaration", + "src": "26349:10:43", + "value": { + "kind": "number", + "nativeSrc": "26358:1:43", + "nodeType": "YulLiteral", + "src": "26358:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "26353:1:43", + "nodeType": "YulTypedName", + "src": "26353:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "26417:163:43", + "nodeType": "YulBlock", + "src": "26417:163:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "26442:6:43", + "nodeType": "YulIdentifier", + "src": "26442:6:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "26460:3:43", + "nodeType": "YulIdentifier", + "src": "26460:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "26465:9:43", + "nodeType": "YulIdentifier", + "src": "26465:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26456:3:43", + "nodeType": "YulIdentifier", + "src": "26456:3:43" + }, + "nativeSrc": "26456:19:43", + "nodeType": "YulFunctionCall", + "src": "26456:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26450:5:43", + "nodeType": "YulIdentifier", + "src": "26450:5:43" + }, + "nativeSrc": "26450:26:43", + "nodeType": "YulFunctionCall", + "src": "26450:26:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "26435:6:43", + "nodeType": "YulIdentifier", + "src": "26435:6:43" + }, + "nativeSrc": "26435:42:43", + "nodeType": "YulFunctionCall", + "src": "26435:42:43" + }, + "nativeSrc": "26435:42:43", + "nodeType": "YulExpressionStatement", + "src": "26435:42:43" + }, + { + "nativeSrc": "26494:24:43", + "nodeType": "YulAssignment", + "src": "26494:24:43", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "26508:6:43", + "nodeType": "YulIdentifier", + "src": "26508:6:43" + }, + { + "kind": "number", + "nativeSrc": "26516:1:43", + "nodeType": "YulLiteral", + "src": "26516:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26504:3:43", + "nodeType": "YulIdentifier", + "src": "26504:3:43" + }, + "nativeSrc": "26504:14:43", + "nodeType": "YulFunctionCall", + "src": "26504:14:43" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "26494:6:43", + "nodeType": "YulIdentifier", + "src": "26494:6:43" + } + ] + }, + { + "nativeSrc": "26535:31:43", + "nodeType": "YulAssignment", + "src": "26535:31:43", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "26552:9:43", + "nodeType": "YulIdentifier", + "src": "26552:9:43" + }, + { + "kind": "number", + "nativeSrc": "26563:2:43", + "nodeType": "YulLiteral", + "src": "26563:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26548:3:43", + "nodeType": "YulIdentifier", + "src": "26548:3:43" + }, + "nativeSrc": "26548:18:43", + "nodeType": "YulFunctionCall", + "src": "26548:18:43" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "26535:9:43", + "nodeType": "YulIdentifier", + "src": "26535:9:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "26383:1:43", + "nodeType": "YulIdentifier", + "src": "26383:1:43" + }, + { + "name": "loopEnd", + "nativeSrc": "26386:7:43", + "nodeType": "YulIdentifier", + "src": "26386:7:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "26380:2:43", + "nodeType": "YulIdentifier", + "src": "26380:2:43" + }, + "nativeSrc": "26380:14:43", + "nodeType": "YulFunctionCall", + "src": "26380:14:43" + }, + "nativeSrc": "26372:208:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "26395:21:43", + "nodeType": "YulBlock", + "src": "26395:21:43", + "statements": [ + { + "nativeSrc": "26397:17:43", + "nodeType": "YulAssignment", + "src": "26397:17:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "26406:1:43", + "nodeType": "YulIdentifier", + "src": "26406:1:43" + }, + { + "kind": "number", + "nativeSrc": "26409:4:43", + "nodeType": "YulLiteral", + "src": "26409:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26402:3:43", + "nodeType": "YulIdentifier", + "src": "26402:3:43" + }, + "nativeSrc": "26402:12:43", + "nodeType": "YulFunctionCall", + "src": "26402:12:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "26397:1:43", + "nodeType": "YulIdentifier", + "src": "26397:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "26376:3:43", + "nodeType": "YulBlock", + "src": "26376:3:43", + "statements": [] + }, + "src": "26372:208:43" + }, + { + "body": { + "nativeSrc": "26616:156:43", + "nodeType": "YulBlock", + "src": "26616:156:43", + "statements": [ + { + "nativeSrc": "26634:43:43", + "nodeType": "YulVariableDeclaration", + "src": "26634:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "26661:3:43", + "nodeType": "YulIdentifier", + "src": "26661:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "26666:9:43", + "nodeType": "YulIdentifier", + "src": "26666:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26657:3:43", + "nodeType": "YulIdentifier", + "src": "26657:3:43" + }, + "nativeSrc": "26657:19:43", + "nodeType": "YulFunctionCall", + "src": "26657:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26651:5:43", + "nodeType": "YulIdentifier", + "src": "26651:5:43" + }, + "nativeSrc": "26651:26:43", + "nodeType": "YulFunctionCall", + "src": "26651:26:43" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "26638:9:43", + "nodeType": "YulTypedName", + "src": "26638:9:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "26701:6:43", + "nodeType": "YulIdentifier", + "src": "26701:6:43" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "26728:9:43", + "nodeType": "YulIdentifier", + "src": "26728:9:43" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "26743:6:43", + "nodeType": "YulIdentifier", + "src": "26743:6:43" + }, + { + "kind": "number", + "nativeSrc": "26751:4:43", + "nodeType": "YulLiteral", + "src": "26751:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "26739:3:43", + "nodeType": "YulIdentifier", + "src": "26739:3:43" + }, + "nativeSrc": "26739:17:43", + "nodeType": "YulFunctionCall", + "src": "26739:17:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "26709:18:43", + "nodeType": "YulIdentifier", + "src": "26709:18:43" + }, + "nativeSrc": "26709:48:43", + "nodeType": "YulFunctionCall", + "src": "26709:48:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "26694:6:43", + "nodeType": "YulIdentifier", + "src": "26694:6:43" + }, + "nativeSrc": "26694:64:43", + "nodeType": "YulFunctionCall", + "src": "26694:64:43" + }, + "nativeSrc": "26694:64:43", + "nodeType": "YulExpressionStatement", + "src": "26694:64:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "26599:7:43", + "nodeType": "YulIdentifier", + "src": "26599:7:43" + }, + { + "name": "newLen", + "nativeSrc": "26608:6:43", + "nodeType": "YulIdentifier", + "src": "26608:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "26596:2:43", + "nodeType": "YulIdentifier", + "src": "26596:2:43" + }, + "nativeSrc": "26596:19:43", + "nodeType": "YulFunctionCall", + "src": "26596:19:43" + }, + "nativeSrc": "26593:179:43", + "nodeType": "YulIf", + "src": "26593:179:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "26792:4:43", + "nodeType": "YulIdentifier", + "src": "26792:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "26806:6:43", + "nodeType": "YulIdentifier", + "src": "26806:6:43" + }, + { + "kind": "number", + "nativeSrc": "26814:1:43", + "nodeType": "YulLiteral", + "src": "26814:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "26802:3:43", + "nodeType": "YulIdentifier", + "src": "26802:3:43" + }, + "nativeSrc": "26802:14:43", + "nodeType": "YulFunctionCall", + "src": "26802:14:43" + }, + { + "kind": "number", + "nativeSrc": "26818:1:43", + "nodeType": "YulLiteral", + "src": "26818:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26798:3:43", + "nodeType": "YulIdentifier", + "src": "26798:3:43" + }, + "nativeSrc": "26798:22:43", + "nodeType": "YulFunctionCall", + "src": "26798:22:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "26785:6:43", + "nodeType": "YulIdentifier", + "src": "26785:6:43" + }, + "nativeSrc": "26785:36:43", + "nodeType": "YulFunctionCall", + "src": "26785:36:43" + }, + "nativeSrc": "26785:36:43", + "nodeType": "YulExpressionStatement", + "src": "26785:36:43" + } + ] + }, + "nativeSrc": "26213:618:43", + "nodeType": "YulCase", + "src": "26213:618:43", + "value": { + "kind": "number", + "nativeSrc": "26218:1:43", + "nodeType": "YulLiteral", + "src": "26218:1:43", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "26848:222:43", + "nodeType": "YulBlock", + "src": "26848:222:43", + "statements": [ + { + "nativeSrc": "26862:14:43", + "nodeType": "YulVariableDeclaration", + "src": "26862:14:43", + "value": { + "kind": "number", + "nativeSrc": "26875:1:43", + "nodeType": "YulLiteral", + "src": "26875:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "26866:5:43", + "nodeType": "YulTypedName", + "src": "26866:5:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "26899:67:43", + "nodeType": "YulBlock", + "src": "26899:67:43", + "statements": [ + { + "nativeSrc": "26917:35:43", + "nodeType": "YulAssignment", + "src": "26917:35:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "26936:3:43", + "nodeType": "YulIdentifier", + "src": "26936:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "26941:9:43", + "nodeType": "YulIdentifier", + "src": "26941:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26932:3:43", + "nodeType": "YulIdentifier", + "src": "26932:3:43" + }, + "nativeSrc": "26932:19:43", + "nodeType": "YulFunctionCall", + "src": "26932:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26926:5:43", + "nodeType": "YulIdentifier", + "src": "26926:5:43" + }, + "nativeSrc": "26926:26:43", + "nodeType": "YulFunctionCall", + "src": "26926:26:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "26917:5:43", + "nodeType": "YulIdentifier", + "src": "26917:5:43" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "26892:6:43", + "nodeType": "YulIdentifier", + "src": "26892:6:43" + }, + "nativeSrc": "26889:77:43", + "nodeType": "YulIf", + "src": "26889:77:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "26986:4:43", + "nodeType": "YulIdentifier", + "src": "26986:4:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "27045:5:43", + "nodeType": "YulIdentifier", + "src": "27045:5:43" + }, + { + "name": "newLen", + "nativeSrc": "27052:6:43", + "nodeType": "YulIdentifier", + "src": "27052:6:43" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "26992:52:43", + "nodeType": "YulIdentifier", + "src": "26992:52:43" + }, + "nativeSrc": "26992:67:43", + "nodeType": "YulFunctionCall", + "src": "26992:67:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "26979:6:43", + "nodeType": "YulIdentifier", + "src": "26979:6:43" + }, + "nativeSrc": "26979:81:43", + "nodeType": "YulFunctionCall", + "src": "26979:81:43" + }, + "nativeSrc": "26979:81:43", + "nodeType": "YulExpressionStatement", + "src": "26979:81:43" + } + ] + }, + "nativeSrc": "26840:230:43", + "nodeType": "YulCase", + "src": "26840:230:43", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "26193:6:43", + "nodeType": "YulIdentifier", + "src": "26193:6:43" + }, + { + "kind": "number", + "nativeSrc": "26201:2:43", + "nodeType": "YulLiteral", + "src": "26201:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "26190:2:43", + "nodeType": "YulIdentifier", + "src": "26190:2:43" + }, + "nativeSrc": "26190:14:43", + "nodeType": "YulFunctionCall", + "src": "26190:14:43" + }, + "nativeSrc": "26183:887:43", + "nodeType": "YulSwitch", + "src": "26183:887:43" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "25681:1395:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "25762:4:43", + "nodeType": "YulTypedName", + "src": "25762:4:43", + "type": "" + }, + { + "name": "src", + "nativeSrc": "25768:3:43", + "nodeType": "YulTypedName", + "src": "25768:3:43", + "type": "" + } + ], + "src": "25681:1395:43" + }, + { + "body": { + "nativeSrc": "27264:371:43", + "nodeType": "YulBlock", + "src": "27264:371:43", + "statements": [ + { + "nativeSrc": "27274:27:43", + "nodeType": "YulAssignment", + "src": "27274:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27286:9:43", + "nodeType": "YulIdentifier", + "src": "27286:9:43" + }, + { + "kind": "number", + "nativeSrc": "27297:3:43", + "nodeType": "YulLiteral", + "src": "27297:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27282:3:43", + "nodeType": "YulIdentifier", + "src": "27282:3:43" + }, + "nativeSrc": "27282:19:43", + "nodeType": "YulFunctionCall", + "src": "27282:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "27274:4:43", + "nodeType": "YulIdentifier", + "src": "27274:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "27355:6:43", + "nodeType": "YulIdentifier", + "src": "27355:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27368:9:43", + "nodeType": "YulIdentifier", + "src": "27368:9:43" + }, + { + "kind": "number", + "nativeSrc": "27379:1:43", + "nodeType": "YulLiteral", + "src": "27379:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27364:3:43", + "nodeType": "YulIdentifier", + "src": "27364:3:43" + }, + "nativeSrc": "27364:17:43", + "nodeType": "YulFunctionCall", + "src": "27364:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "27311:43:43", + "nodeType": "YulIdentifier", + "src": "27311:43:43" + }, + "nativeSrc": "27311:71:43", + "nodeType": "YulFunctionCall", + "src": "27311:71:43" + }, + "nativeSrc": "27311:71:43", + "nodeType": "YulExpressionStatement", + "src": "27311:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "27436:6:43", + "nodeType": "YulIdentifier", + "src": "27436:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27449:9:43", + "nodeType": "YulIdentifier", + "src": "27449:9:43" + }, + { + "kind": "number", + "nativeSrc": "27460:2:43", + "nodeType": "YulLiteral", + "src": "27460:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27445:3:43", + "nodeType": "YulIdentifier", + "src": "27445:3:43" + }, + "nativeSrc": "27445:18:43", + "nodeType": "YulFunctionCall", + "src": "27445:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27392:43:43", + "nodeType": "YulIdentifier", + "src": "27392:43:43" + }, + "nativeSrc": "27392:72:43", + "nodeType": "YulFunctionCall", + "src": "27392:72:43" + }, + "nativeSrc": "27392:72:43", + "nodeType": "YulExpressionStatement", + "src": "27392:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "27518:6:43", + "nodeType": "YulIdentifier", + "src": "27518:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27531:9:43", + "nodeType": "YulIdentifier", + "src": "27531:9:43" + }, + { + "kind": "number", + "nativeSrc": "27542:2:43", + "nodeType": "YulLiteral", + "src": "27542:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27527:3:43", + "nodeType": "YulIdentifier", + "src": "27527:3:43" + }, + "nativeSrc": "27527:18:43", + "nodeType": "YulFunctionCall", + "src": "27527:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27474:43:43", + "nodeType": "YulIdentifier", + "src": "27474:43:43" + }, + "nativeSrc": "27474:72:43", + "nodeType": "YulFunctionCall", + "src": "27474:72:43" + }, + "nativeSrc": "27474:72:43", + "nodeType": "YulExpressionStatement", + "src": "27474:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "27600:6:43", + "nodeType": "YulIdentifier", + "src": "27600:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "27613:9:43", + "nodeType": "YulIdentifier", + "src": "27613:9:43" + }, + { + "kind": "number", + "nativeSrc": "27624:2:43", + "nodeType": "YulLiteral", + "src": "27624:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27609:3:43", + "nodeType": "YulIdentifier", + "src": "27609:3:43" + }, + "nativeSrc": "27609:18:43", + "nodeType": "YulFunctionCall", + "src": "27609:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "27556:43:43", + "nodeType": "YulIdentifier", + "src": "27556:43:43" + }, + "nativeSrc": "27556:72:43", + "nodeType": "YulFunctionCall", + "src": "27556:72:43" + }, + "nativeSrc": "27556:72:43", + "nodeType": "YulExpressionStatement", + "src": "27556:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "27082:553:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "27212:9:43", + "nodeType": "YulTypedName", + "src": "27212:9:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "27224:6:43", + "nodeType": "YulTypedName", + "src": "27224:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "27232:6:43", + "nodeType": "YulTypedName", + "src": "27232:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "27240:6:43", + "nodeType": "YulTypedName", + "src": "27240:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "27248:6:43", + "nodeType": "YulTypedName", + "src": "27248:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "27259:4:43", + "nodeType": "YulTypedName", + "src": "27259:4:43", + "type": "" + } + ], + "src": "27082:553:43" + }, + { + "body": { + "nativeSrc": "27669:152:43", + "nodeType": "YulBlock", + "src": "27669:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "27686:1:43", + "nodeType": "YulLiteral", + "src": "27686:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "27689:77:43", + "nodeType": "YulLiteral", + "src": "27689:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27679:6:43", + "nodeType": "YulIdentifier", + "src": "27679:6:43" + }, + "nativeSrc": "27679:88:43", + "nodeType": "YulFunctionCall", + "src": "27679:88:43" + }, + "nativeSrc": "27679:88:43", + "nodeType": "YulExpressionStatement", + "src": "27679:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "27783:1:43", + "nodeType": "YulLiteral", + "src": "27783:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "27786:4:43", + "nodeType": "YulLiteral", + "src": "27786:4:43", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27776:6:43", + "nodeType": "YulIdentifier", + "src": "27776:6:43" + }, + "nativeSrc": "27776:15:43", + "nodeType": "YulFunctionCall", + "src": "27776:15:43" + }, + "nativeSrc": "27776:15:43", + "nodeType": "YulExpressionStatement", + "src": "27776:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "27807:1:43", + "nodeType": "YulLiteral", + "src": "27807:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "27810:4:43", + "nodeType": "YulLiteral", + "src": "27810:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "27800:6:43", + "nodeType": "YulIdentifier", + "src": "27800:6:43" + }, + "nativeSrc": "27800:15:43", + "nodeType": "YulFunctionCall", + "src": "27800:15:43" + }, + "nativeSrc": "27800:15:43", + "nodeType": "YulExpressionStatement", + "src": "27800:15:43" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "27641:180:43", + "nodeType": "YulFunctionDefinition", + "src": "27641:180:43" + }, + { + "body": { + "nativeSrc": "27871:147:43", + "nodeType": "YulBlock", + "src": "27871:147:43", + "statements": [ + { + "nativeSrc": "27881:25:43", + "nodeType": "YulAssignment", + "src": "27881:25:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "27904:1:43", + "nodeType": "YulIdentifier", + "src": "27904:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "27886:17:43", + "nodeType": "YulIdentifier", + "src": "27886:17:43" + }, + "nativeSrc": "27886:20:43", + "nodeType": "YulFunctionCall", + "src": "27886:20:43" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "27881:1:43", + "nodeType": "YulIdentifier", + "src": "27881:1:43" + } + ] + }, + { + "nativeSrc": "27915:25:43", + "nodeType": "YulAssignment", + "src": "27915:25:43", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "27938:1:43", + "nodeType": "YulIdentifier", + "src": "27938:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "27920:17:43", + "nodeType": "YulIdentifier", + "src": "27920:17:43" + }, + "nativeSrc": "27920:20:43", + "nodeType": "YulFunctionCall", + "src": "27920:20:43" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "27915:1:43", + "nodeType": "YulIdentifier", + "src": "27915:1:43" + } + ] + }, + { + "nativeSrc": "27949:16:43", + "nodeType": "YulAssignment", + "src": "27949:16:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "27960:1:43", + "nodeType": "YulIdentifier", + "src": "27960:1:43" + }, + { + "name": "y", + "nativeSrc": "27963:1:43", + "nodeType": "YulIdentifier", + "src": "27963:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27956:3:43", + "nodeType": "YulIdentifier", + "src": "27956:3:43" + }, + "nativeSrc": "27956:9:43", + "nodeType": "YulFunctionCall", + "src": "27956:9:43" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "27949:3:43", + "nodeType": "YulIdentifier", + "src": "27949:3:43" + } + ] + }, + { + "body": { + "nativeSrc": "27989:22:43", + "nodeType": "YulBlock", + "src": "27989:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "27991:16:43", + "nodeType": "YulIdentifier", + "src": "27991:16:43" + }, + "nativeSrc": "27991:18:43", + "nodeType": "YulFunctionCall", + "src": "27991:18:43" + }, + "nativeSrc": "27991:18:43", + "nodeType": "YulExpressionStatement", + "src": "27991:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "27981:1:43", + "nodeType": "YulIdentifier", + "src": "27981:1:43" + }, + { + "name": "sum", + "nativeSrc": "27984:3:43", + "nodeType": "YulIdentifier", + "src": "27984:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "27978:2:43", + "nodeType": "YulIdentifier", + "src": "27978:2:43" + }, + "nativeSrc": "27978:10:43", + "nodeType": "YulFunctionCall", + "src": "27978:10:43" + }, + "nativeSrc": "27975:36:43", + "nodeType": "YulIf", + "src": "27975:36:43" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "27827:191:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "27858:1:43", + "nodeType": "YulTypedName", + "src": "27858:1:43", + "type": "" + }, + { + "name": "y", + "nativeSrc": "27861:1:43", + "nodeType": "YulTypedName", + "src": "27861:1:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "27867:3:43", + "nodeType": "YulTypedName", + "src": "27867:3:43", + "type": "" + } + ], + "src": "27827:191:43" + }, + { + "body": { + "nativeSrc": "28250:408:43", + "nodeType": "YulBlock", + "src": "28250:408:43", + "statements": [ + { + "nativeSrc": "28260:26:43", + "nodeType": "YulAssignment", + "src": "28260:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28272:9:43", + "nodeType": "YulIdentifier", + "src": "28272:9:43" + }, + { + "kind": "number", + "nativeSrc": "28283:2:43", + "nodeType": "YulLiteral", + "src": "28283:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28268:3:43", + "nodeType": "YulIdentifier", + "src": "28268:3:43" + }, + "nativeSrc": "28268:18:43", + "nodeType": "YulFunctionCall", + "src": "28268:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28260:4:43", + "nodeType": "YulIdentifier", + "src": "28260:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28307:9:43", + "nodeType": "YulIdentifier", + "src": "28307:9:43" + }, + { + "kind": "number", + "nativeSrc": "28318:1:43", + "nodeType": "YulLiteral", + "src": "28318:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28303:3:43", + "nodeType": "YulIdentifier", + "src": "28303:3:43" + }, + "nativeSrc": "28303:17:43", + "nodeType": "YulFunctionCall", + "src": "28303:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28326:4:43", + "nodeType": "YulIdentifier", + "src": "28326:4:43" + }, + { + "name": "headStart", + "nativeSrc": "28332:9:43", + "nodeType": "YulIdentifier", + "src": "28332:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "28322:3:43", + "nodeType": "YulIdentifier", + "src": "28322:3:43" + }, + "nativeSrc": "28322:20:43", + "nodeType": "YulFunctionCall", + "src": "28322:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28296:6:43", + "nodeType": "YulIdentifier", + "src": "28296:6:43" + }, + "nativeSrc": "28296:47:43", + "nodeType": "YulFunctionCall", + "src": "28296:47:43" + }, + "nativeSrc": "28296:47:43", + "nodeType": "YulExpressionStatement", + "src": "28296:47:43" + }, + { + "nativeSrc": "28352:116:43", + "nodeType": "YulAssignment", + "src": "28352:116:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "28454:6:43", + "nodeType": "YulIdentifier", + "src": "28454:6:43" + }, + { + "name": "tail", + "nativeSrc": "28463:4:43", + "nodeType": "YulIdentifier", + "src": "28463:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "28360:93:43", + "nodeType": "YulIdentifier", + "src": "28360:93:43" + }, + "nativeSrc": "28360:108:43", + "nodeType": "YulFunctionCall", + "src": "28360:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28352:4:43", + "nodeType": "YulIdentifier", + "src": "28352:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "28489:9:43", + "nodeType": "YulIdentifier", + "src": "28489:9:43" + }, + { + "kind": "number", + "nativeSrc": "28500:2:43", + "nodeType": "YulLiteral", + "src": "28500:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28485:3:43", + "nodeType": "YulIdentifier", + "src": "28485:3:43" + }, + "nativeSrc": "28485:18:43", + "nodeType": "YulFunctionCall", + "src": "28485:18:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28509:4:43", + "nodeType": "YulIdentifier", + "src": "28509:4:43" + }, + { + "name": "headStart", + "nativeSrc": "28515:9:43", + "nodeType": "YulIdentifier", + "src": "28515:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "28505:3:43", + "nodeType": "YulIdentifier", + "src": "28505:3:43" + }, + "nativeSrc": "28505:20:43", + "nodeType": "YulFunctionCall", + "src": "28505:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28478:6:43", + "nodeType": "YulIdentifier", + "src": "28478:6:43" + }, + "nativeSrc": "28478:48:43", + "nodeType": "YulFunctionCall", + "src": "28478:48:43" + }, + "nativeSrc": "28478:48:43", + "nodeType": "YulExpressionStatement", + "src": "28478:48:43" + }, + { + "nativeSrc": "28535:116:43", + "nodeType": "YulAssignment", + "src": "28535:116:43", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "28637:6:43", + "nodeType": "YulIdentifier", + "src": "28637:6:43" + }, + { + "name": "tail", + "nativeSrc": "28646:4:43", + "nodeType": "YulIdentifier", + "src": "28646:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "28543:93:43", + "nodeType": "YulIdentifier", + "src": "28543:93:43" + }, + "nativeSrc": "28543:108:43", + "nodeType": "YulFunctionCall", + "src": "28543:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28535:4:43", + "nodeType": "YulIdentifier", + "src": "28535:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "28024:634:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "28214:9:43", + "nodeType": "YulTypedName", + "src": "28214:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "28226:6:43", + "nodeType": "YulTypedName", + "src": "28226:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "28234:6:43", + "nodeType": "YulTypedName", + "src": "28234:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "28245:4:43", + "nodeType": "YulTypedName", + "src": "28245:4:43", + "type": "" + } + ], + "src": "28024:634:43" + }, + { + "body": { + "nativeSrc": "28722:40:43", + "nodeType": "YulBlock", + "src": "28722:40:43", + "statements": [ + { + "nativeSrc": "28733:22:43", + "nodeType": "YulAssignment", + "src": "28733:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "28749:5:43", + "nodeType": "YulIdentifier", + "src": "28749:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "28743:5:43", + "nodeType": "YulIdentifier", + "src": "28743:5:43" + }, + "nativeSrc": "28743:12:43", + "nodeType": "YulFunctionCall", + "src": "28743:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "28733:6:43", + "nodeType": "YulIdentifier", + "src": "28733:6:43" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "28664:98:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "28705:5:43", + "nodeType": "YulTypedName", + "src": "28705:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "28715:6:43", + "nodeType": "YulTypedName", + "src": "28715:6:43", + "type": "" + } + ], + "src": "28664:98:43" + }, + { + "body": { + "nativeSrc": "28863:73:43", + "nodeType": "YulBlock", + "src": "28863:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28880:3:43", + "nodeType": "YulIdentifier", + "src": "28880:3:43" + }, + { + "name": "length", + "nativeSrc": "28885:6:43", + "nodeType": "YulIdentifier", + "src": "28885:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28873:6:43", + "nodeType": "YulIdentifier", + "src": "28873:6:43" + }, + "nativeSrc": "28873:19:43", + "nodeType": "YulFunctionCall", + "src": "28873:19:43" + }, + "nativeSrc": "28873:19:43", + "nodeType": "YulExpressionStatement", + "src": "28873:19:43" + }, + { + "nativeSrc": "28901:29:43", + "nodeType": "YulAssignment", + "src": "28901:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28920:3:43", + "nodeType": "YulIdentifier", + "src": "28920:3:43" + }, + { + "kind": "number", + "nativeSrc": "28925:4:43", + "nodeType": "YulLiteral", + "src": "28925:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28916:3:43", + "nodeType": "YulIdentifier", + "src": "28916:3:43" + }, + "nativeSrc": "28916:14:43", + "nodeType": "YulFunctionCall", + "src": "28916:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "28901:11:43", + "nodeType": "YulIdentifier", + "src": "28901:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "28768:168:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "28835:3:43", + "nodeType": "YulTypedName", + "src": "28835:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "28840:6:43", + "nodeType": "YulTypedName", + "src": "28840:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "28851:11:43", + "nodeType": "YulTypedName", + "src": "28851:11:43", + "type": "" + } + ], + "src": "28768:168:43" + }, + { + "body": { + "nativeSrc": "29032:283:43", + "nodeType": "YulBlock", + "src": "29032:283:43", + "statements": [ + { + "nativeSrc": "29042:52:43", + "nodeType": "YulVariableDeclaration", + "src": "29042:52:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "29088:5:43", + "nodeType": "YulIdentifier", + "src": "29088:5:43" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "29056:31:43", + "nodeType": "YulIdentifier", + "src": "29056:31:43" + }, + "nativeSrc": "29056:38:43", + "nodeType": "YulFunctionCall", + "src": "29056:38:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "29046:6:43", + "nodeType": "YulTypedName", + "src": "29046:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "29103:77:43", + "nodeType": "YulAssignment", + "src": "29103:77:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "29168:3:43", + "nodeType": "YulIdentifier", + "src": "29168:3:43" + }, + { + "name": "length", + "nativeSrc": "29173:6:43", + "nodeType": "YulIdentifier", + "src": "29173:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "29110:57:43", + "nodeType": "YulIdentifier", + "src": "29110:57:43" + }, + "nativeSrc": "29110:70:43", + "nodeType": "YulFunctionCall", + "src": "29110:70:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "29103:3:43", + "nodeType": "YulIdentifier", + "src": "29103:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "29228:5:43", + "nodeType": "YulIdentifier", + "src": "29228:5:43" + }, + { + "kind": "number", + "nativeSrc": "29235:4:43", + "nodeType": "YulLiteral", + "src": "29235:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29224:3:43", + "nodeType": "YulIdentifier", + "src": "29224:3:43" + }, + "nativeSrc": "29224:16:43", + "nodeType": "YulFunctionCall", + "src": "29224:16:43" + }, + { + "name": "pos", + "nativeSrc": "29242:3:43", + "nodeType": "YulIdentifier", + "src": "29242:3:43" + }, + { + "name": "length", + "nativeSrc": "29247:6:43", + "nodeType": "YulIdentifier", + "src": "29247:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "29189:34:43", + "nodeType": "YulIdentifier", + "src": "29189:34:43" + }, + "nativeSrc": "29189:65:43", + "nodeType": "YulFunctionCall", + "src": "29189:65:43" + }, + "nativeSrc": "29189:65:43", + "nodeType": "YulExpressionStatement", + "src": "29189:65:43" + }, + { + "nativeSrc": "29263:46:43", + "nodeType": "YulAssignment", + "src": "29263:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "29274:3:43", + "nodeType": "YulIdentifier", + "src": "29274:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "29301:6:43", + "nodeType": "YulIdentifier", + "src": "29301:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "29279:21:43", + "nodeType": "YulIdentifier", + "src": "29279:21:43" + }, + "nativeSrc": "29279:29:43", + "nodeType": "YulFunctionCall", + "src": "29279:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29270:3:43", + "nodeType": "YulIdentifier", + "src": "29270:3:43" + }, + "nativeSrc": "29270:39:43", + "nodeType": "YulFunctionCall", + "src": "29270:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "29263:3:43", + "nodeType": "YulIdentifier", + "src": "29263:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "28942:373:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "29013:5:43", + "nodeType": "YulTypedName", + "src": "29013:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "29020:3:43", + "nodeType": "YulTypedName", + "src": "29020:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "29028:3:43", + "nodeType": "YulTypedName", + "src": "29028:3:43", + "type": "" + } + ], + "src": "28942:373:43" + }, + { + "body": { + "nativeSrc": "29549:523:43", + "nodeType": "YulBlock", + "src": "29549:523:43", + "statements": [ + { + "nativeSrc": "29559:27:43", + "nodeType": "YulAssignment", + "src": "29559:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29571:9:43", + "nodeType": "YulIdentifier", + "src": "29571:9:43" + }, + { + "kind": "number", + "nativeSrc": "29582:3:43", + "nodeType": "YulLiteral", + "src": "29582:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29567:3:43", + "nodeType": "YulIdentifier", + "src": "29567:3:43" + }, + "nativeSrc": "29567:19:43", + "nodeType": "YulFunctionCall", + "src": "29567:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29559:4:43", + "nodeType": "YulIdentifier", + "src": "29559:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "29640:6:43", + "nodeType": "YulIdentifier", + "src": "29640:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29653:9:43", + "nodeType": "YulIdentifier", + "src": "29653:9:43" + }, + { + "kind": "number", + "nativeSrc": "29664:1:43", + "nodeType": "YulLiteral", + "src": "29664:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29649:3:43", + "nodeType": "YulIdentifier", + "src": "29649:3:43" + }, + "nativeSrc": "29649:17:43", + "nodeType": "YulFunctionCall", + "src": "29649:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "29596:43:43", + "nodeType": "YulIdentifier", + "src": "29596:43:43" + }, + "nativeSrc": "29596:71:43", + "nodeType": "YulFunctionCall", + "src": "29596:71:43" + }, + "nativeSrc": "29596:71:43", + "nodeType": "YulExpressionStatement", + "src": "29596:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "29721:6:43", + "nodeType": "YulIdentifier", + "src": "29721:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29734:9:43", + "nodeType": "YulIdentifier", + "src": "29734:9:43" + }, + { + "kind": "number", + "nativeSrc": "29745:2:43", + "nodeType": "YulLiteral", + "src": "29745:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29730:3:43", + "nodeType": "YulIdentifier", + "src": "29730:3:43" + }, + "nativeSrc": "29730:18:43", + "nodeType": "YulFunctionCall", + "src": "29730:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "29677:43:43", + "nodeType": "YulIdentifier", + "src": "29677:43:43" + }, + "nativeSrc": "29677:72:43", + "nodeType": "YulFunctionCall", + "src": "29677:72:43" + }, + "nativeSrc": "29677:72:43", + "nodeType": "YulExpressionStatement", + "src": "29677:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "29803:6:43", + "nodeType": "YulIdentifier", + "src": "29803:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29816:9:43", + "nodeType": "YulIdentifier", + "src": "29816:9:43" + }, + { + "kind": "number", + "nativeSrc": "29827:2:43", + "nodeType": "YulLiteral", + "src": "29827:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29812:3:43", + "nodeType": "YulIdentifier", + "src": "29812:3:43" + }, + "nativeSrc": "29812:18:43", + "nodeType": "YulFunctionCall", + "src": "29812:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "29759:43:43", + "nodeType": "YulIdentifier", + "src": "29759:43:43" + }, + "nativeSrc": "29759:72:43", + "nodeType": "YulFunctionCall", + "src": "29759:72:43" + }, + "nativeSrc": "29759:72:43", + "nodeType": "YulExpressionStatement", + "src": "29759:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "29885:6:43", + "nodeType": "YulIdentifier", + "src": "29885:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29898:9:43", + "nodeType": "YulIdentifier", + "src": "29898:9:43" + }, + { + "kind": "number", + "nativeSrc": "29909:2:43", + "nodeType": "YulLiteral", + "src": "29909:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29894:3:43", + "nodeType": "YulIdentifier", + "src": "29894:3:43" + }, + "nativeSrc": "29894:18:43", + "nodeType": "YulFunctionCall", + "src": "29894:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "29841:43:43", + "nodeType": "YulIdentifier", + "src": "29841:43:43" + }, + "nativeSrc": "29841:72:43", + "nodeType": "YulFunctionCall", + "src": "29841:72:43" + }, + "nativeSrc": "29841:72:43", + "nodeType": "YulExpressionStatement", + "src": "29841:72:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29934:9:43", + "nodeType": "YulIdentifier", + "src": "29934:9:43" + }, + { + "kind": "number", + "nativeSrc": "29945:3:43", + "nodeType": "YulLiteral", + "src": "29945:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29930:3:43", + "nodeType": "YulIdentifier", + "src": "29930:3:43" + }, + "nativeSrc": "29930:19:43", + "nodeType": "YulFunctionCall", + "src": "29930:19:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "29955:4:43", + "nodeType": "YulIdentifier", + "src": "29955:4:43" + }, + { + "name": "headStart", + "nativeSrc": "29961:9:43", + "nodeType": "YulIdentifier", + "src": "29961:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29951:3:43", + "nodeType": "YulIdentifier", + "src": "29951:3:43" + }, + "nativeSrc": "29951:20:43", + "nodeType": "YulFunctionCall", + "src": "29951:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29923:6:43", + "nodeType": "YulIdentifier", + "src": "29923:6:43" + }, + "nativeSrc": "29923:49:43", + "nodeType": "YulFunctionCall", + "src": "29923:49:43" + }, + "nativeSrc": "29923:49:43", + "nodeType": "YulExpressionStatement", + "src": "29923:49:43" + }, + { + "nativeSrc": "29981:84:43", + "nodeType": "YulAssignment", + "src": "29981:84:43", + "value": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "30051:6:43", + "nodeType": "YulIdentifier", + "src": "30051:6:43" + }, + { + "name": "tail", + "nativeSrc": "30060:4:43", + "nodeType": "YulIdentifier", + "src": "30060:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "29989:61:43", + "nodeType": "YulIdentifier", + "src": "29989:61:43" + }, + "nativeSrc": "29989:76:43", + "nodeType": "YulFunctionCall", + "src": "29989:76:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29981:4:43", + "nodeType": "YulIdentifier", + "src": "29981:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "29321:751:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "29489:9:43", + "nodeType": "YulTypedName", + "src": "29489:9:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "29501:6:43", + "nodeType": "YulTypedName", + "src": "29501:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "29509:6:43", + "nodeType": "YulTypedName", + "src": "29509:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "29517:6:43", + "nodeType": "YulTypedName", + "src": "29517:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "29525:6:43", + "nodeType": "YulTypedName", + "src": "29525:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "29533:6:43", + "nodeType": "YulTypedName", + "src": "29533:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "29544:4:43", + "nodeType": "YulTypedName", + "src": "29544:4:43", + "type": "" + } + ], + "src": "29321:751:43" + }, + { + "body": { + "nativeSrc": "30140:79:43", + "nodeType": "YulBlock", + "src": "30140:79:43", + "statements": [ + { + "nativeSrc": "30150:22:43", + "nodeType": "YulAssignment", + "src": "30150:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "30165:6:43", + "nodeType": "YulIdentifier", + "src": "30165:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "30159:5:43", + "nodeType": "YulIdentifier", + "src": "30159:5:43" + }, + "nativeSrc": "30159:13:43", + "nodeType": "YulFunctionCall", + "src": "30159:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "30150:5:43", + "nodeType": "YulIdentifier", + "src": "30150:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "30207:5:43", + "nodeType": "YulIdentifier", + "src": "30207:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "30181:25:43", + "nodeType": "YulIdentifier", + "src": "30181:25:43" + }, + "nativeSrc": "30181:32:43", + "nodeType": "YulFunctionCall", + "src": "30181:32:43" + }, + "nativeSrc": "30181:32:43", + "nodeType": "YulExpressionStatement", + "src": "30181:32:43" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nativeSrc": "30078:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "30118:6:43", + "nodeType": "YulTypedName", + "src": "30118:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "30126:3:43", + "nodeType": "YulTypedName", + "src": "30126:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "30134:5:43", + "nodeType": "YulTypedName", + "src": "30134:5:43", + "type": "" + } + ], + "src": "30078:141:43" + }, + { + "body": { + "nativeSrc": "30301:273:43", + "nodeType": "YulBlock", + "src": "30301:273:43", + "statements": [ + { + "body": { + "nativeSrc": "30347:83:43", + "nodeType": "YulBlock", + "src": "30347:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "30349:77:43", + "nodeType": "YulIdentifier", + "src": "30349:77:43" + }, + "nativeSrc": "30349:79:43", + "nodeType": "YulFunctionCall", + "src": "30349:79:43" + }, + "nativeSrc": "30349:79:43", + "nodeType": "YulExpressionStatement", + "src": "30349:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "30322:7:43", + "nodeType": "YulIdentifier", + "src": "30322:7:43" + }, + { + "name": "headStart", + "nativeSrc": "30331:9:43", + "nodeType": "YulIdentifier", + "src": "30331:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "30318:3:43", + "nodeType": "YulIdentifier", + "src": "30318:3:43" + }, + "nativeSrc": "30318:23:43", + "nodeType": "YulFunctionCall", + "src": "30318:23:43" + }, + { + "kind": "number", + "nativeSrc": "30343:2:43", + "nodeType": "YulLiteral", + "src": "30343:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "30314:3:43", + "nodeType": "YulIdentifier", + "src": "30314:3:43" + }, + "nativeSrc": "30314:32:43", + "nodeType": "YulFunctionCall", + "src": "30314:32:43" + }, + "nativeSrc": "30311:119:43", + "nodeType": "YulIf", + "src": "30311:119:43" + }, + { + "nativeSrc": "30440:127:43", + "nodeType": "YulBlock", + "src": "30440:127:43", + "statements": [ + { + "nativeSrc": "30455:15:43", + "nodeType": "YulVariableDeclaration", + "src": "30455:15:43", + "value": { + "kind": "number", + "nativeSrc": "30469:1:43", + "nodeType": "YulLiteral", + "src": "30469:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "30459:6:43", + "nodeType": "YulTypedName", + "src": "30459:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "30484:73:43", + "nodeType": "YulAssignment", + "src": "30484:73:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "30529:9:43", + "nodeType": "YulIdentifier", + "src": "30529:9:43" + }, + { + "name": "offset", + "nativeSrc": "30540:6:43", + "nodeType": "YulIdentifier", + "src": "30540:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30525:3:43", + "nodeType": "YulIdentifier", + "src": "30525:3:43" + }, + "nativeSrc": "30525:22:43", + "nodeType": "YulFunctionCall", + "src": "30525:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "30549:7:43", + "nodeType": "YulIdentifier", + "src": "30549:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nativeSrc": "30494:30:43", + "nodeType": "YulIdentifier", + "src": "30494:30:43" + }, + "nativeSrc": "30494:63:43", + "nodeType": "YulFunctionCall", + "src": "30494:63:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "30484:6:43", + "nodeType": "YulIdentifier", + "src": "30484:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nativeSrc": "30225:349:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "30271:9:43", + "nodeType": "YulTypedName", + "src": "30271:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "30282:7:43", + "nodeType": "YulTypedName", + "src": "30282:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "30294:6:43", + "nodeType": "YulTypedName", + "src": "30294:6:43", + "type": "" + } + ], + "src": "30225:349:43" + }, + { + "body": { + "nativeSrc": "30908:725:43", + "nodeType": "YulBlock", + "src": "30908:725:43", + "statements": [ + { + "nativeSrc": "30918:27:43", + "nodeType": "YulAssignment", + "src": "30918:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "30930:9:43", + "nodeType": "YulIdentifier", + "src": "30930:9:43" + }, + { + "kind": "number", + "nativeSrc": "30941:3:43", + "nodeType": "YulLiteral", + "src": "30941:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30926:3:43", + "nodeType": "YulIdentifier", + "src": "30926:3:43" + }, + "nativeSrc": "30926:19:43", + "nodeType": "YulFunctionCall", + "src": "30926:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "30918:4:43", + "nodeType": "YulIdentifier", + "src": "30918:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "30999:6:43", + "nodeType": "YulIdentifier", + "src": "30999:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31012:9:43", + "nodeType": "YulIdentifier", + "src": "31012:9:43" + }, + { + "kind": "number", + "nativeSrc": "31023:1:43", + "nodeType": "YulLiteral", + "src": "31023:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31008:3:43", + "nodeType": "YulIdentifier", + "src": "31008:3:43" + }, + "nativeSrc": "31008:17:43", + "nodeType": "YulFunctionCall", + "src": "31008:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "30955:43:43", + "nodeType": "YulIdentifier", + "src": "30955:43:43" + }, + "nativeSrc": "30955:71:43", + "nodeType": "YulFunctionCall", + "src": "30955:71:43" + }, + "nativeSrc": "30955:71:43", + "nodeType": "YulExpressionStatement", + "src": "30955:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "31080:6:43", + "nodeType": "YulIdentifier", + "src": "31080:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31093:9:43", + "nodeType": "YulIdentifier", + "src": "31093:9:43" + }, + { + "kind": "number", + "nativeSrc": "31104:2:43", + "nodeType": "YulLiteral", + "src": "31104:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31089:3:43", + "nodeType": "YulIdentifier", + "src": "31089:3:43" + }, + "nativeSrc": "31089:18:43", + "nodeType": "YulFunctionCall", + "src": "31089:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "31036:43:43", + "nodeType": "YulIdentifier", + "src": "31036:43:43" + }, + "nativeSrc": "31036:72:43", + "nodeType": "YulFunctionCall", + "src": "31036:72:43" + }, + "nativeSrc": "31036:72:43", + "nodeType": "YulExpressionStatement", + "src": "31036:72:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31129:9:43", + "nodeType": "YulIdentifier", + "src": "31129:9:43" + }, + { + "kind": "number", + "nativeSrc": "31140:2:43", + "nodeType": "YulLiteral", + "src": "31140:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31125:3:43", + "nodeType": "YulIdentifier", + "src": "31125:3:43" + }, + "nativeSrc": "31125:18:43", + "nodeType": "YulFunctionCall", + "src": "31125:18:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "31149:4:43", + "nodeType": "YulIdentifier", + "src": "31149:4:43" + }, + { + "name": "headStart", + "nativeSrc": "31155:9:43", + "nodeType": "YulIdentifier", + "src": "31155:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31145:3:43", + "nodeType": "YulIdentifier", + "src": "31145:3:43" + }, + "nativeSrc": "31145:20:43", + "nodeType": "YulFunctionCall", + "src": "31145:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31118:6:43", + "nodeType": "YulIdentifier", + "src": "31118:6:43" + }, + "nativeSrc": "31118:48:43", + "nodeType": "YulFunctionCall", + "src": "31118:48:43" + }, + "nativeSrc": "31118:48:43", + "nodeType": "YulExpressionStatement", + "src": "31118:48:43" + }, + { + "nativeSrc": "31175:116:43", + "nodeType": "YulAssignment", + "src": "31175:116:43", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "31277:6:43", + "nodeType": "YulIdentifier", + "src": "31277:6:43" + }, + { + "name": "tail", + "nativeSrc": "31286:4:43", + "nodeType": "YulIdentifier", + "src": "31286:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "31183:93:43", + "nodeType": "YulIdentifier", + "src": "31183:93:43" + }, + "nativeSrc": "31183:108:43", + "nodeType": "YulFunctionCall", + "src": "31183:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31175:4:43", + "nodeType": "YulIdentifier", + "src": "31175:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31312:9:43", + "nodeType": "YulIdentifier", + "src": "31312:9:43" + }, + { + "kind": "number", + "nativeSrc": "31323:2:43", + "nodeType": "YulLiteral", + "src": "31323:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31308:3:43", + "nodeType": "YulIdentifier", + "src": "31308:3:43" + }, + "nativeSrc": "31308:18:43", + "nodeType": "YulFunctionCall", + "src": "31308:18:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "31332:4:43", + "nodeType": "YulIdentifier", + "src": "31332:4:43" + }, + { + "name": "headStart", + "nativeSrc": "31338:9:43", + "nodeType": "YulIdentifier", + "src": "31338:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31328:3:43", + "nodeType": "YulIdentifier", + "src": "31328:3:43" + }, + "nativeSrc": "31328:20:43", + "nodeType": "YulFunctionCall", + "src": "31328:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31301:6:43", + "nodeType": "YulIdentifier", + "src": "31301:6:43" + }, + "nativeSrc": "31301:48:43", + "nodeType": "YulFunctionCall", + "src": "31301:48:43" + }, + "nativeSrc": "31301:48:43", + "nodeType": "YulExpressionStatement", + "src": "31301:48:43" + }, + { + "nativeSrc": "31358:116:43", + "nodeType": "YulAssignment", + "src": "31358:116:43", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "31460:6:43", + "nodeType": "YulIdentifier", + "src": "31460:6:43" + }, + { + "name": "tail", + "nativeSrc": "31469:4:43", + "nodeType": "YulIdentifier", + "src": "31469:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "31366:93:43", + "nodeType": "YulIdentifier", + "src": "31366:93:43" + }, + "nativeSrc": "31366:108:43", + "nodeType": "YulFunctionCall", + "src": "31366:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31358:4:43", + "nodeType": "YulIdentifier", + "src": "31358:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31495:9:43", + "nodeType": "YulIdentifier", + "src": "31495:9:43" + }, + { + "kind": "number", + "nativeSrc": "31506:3:43", + "nodeType": "YulLiteral", + "src": "31506:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31491:3:43", + "nodeType": "YulIdentifier", + "src": "31491:3:43" + }, + "nativeSrc": "31491:19:43", + "nodeType": "YulFunctionCall", + "src": "31491:19:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "31516:4:43", + "nodeType": "YulIdentifier", + "src": "31516:4:43" + }, + { + "name": "headStart", + "nativeSrc": "31522:9:43", + "nodeType": "YulIdentifier", + "src": "31522:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31512:3:43", + "nodeType": "YulIdentifier", + "src": "31512:3:43" + }, + "nativeSrc": "31512:20:43", + "nodeType": "YulFunctionCall", + "src": "31512:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31484:6:43", + "nodeType": "YulIdentifier", + "src": "31484:6:43" + }, + "nativeSrc": "31484:49:43", + "nodeType": "YulFunctionCall", + "src": "31484:49:43" + }, + "nativeSrc": "31484:49:43", + "nodeType": "YulExpressionStatement", + "src": "31484:49:43" + }, + { + "nativeSrc": "31542:84:43", + "nodeType": "YulAssignment", + "src": "31542:84:43", + "value": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "31612:6:43", + "nodeType": "YulIdentifier", + "src": "31612:6:43" + }, + { + "name": "tail", + "nativeSrc": "31621:4:43", + "nodeType": "YulIdentifier", + "src": "31621:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "31550:61:43", + "nodeType": "YulIdentifier", + "src": "31550:61:43" + }, + "nativeSrc": "31550:76:43", + "nodeType": "YulFunctionCall", + "src": "31550:76:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "31542:4:43", + "nodeType": "YulIdentifier", + "src": "31542:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "30580:1053:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "30848:9:43", + "nodeType": "YulTypedName", + "src": "30848:9:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "30860:6:43", + "nodeType": "YulTypedName", + "src": "30860:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "30868:6:43", + "nodeType": "YulTypedName", + "src": "30868:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "30876:6:43", + "nodeType": "YulTypedName", + "src": "30876:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "30884:6:43", + "nodeType": "YulTypedName", + "src": "30884:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "30892:6:43", + "nodeType": "YulTypedName", + "src": "30892:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "30903:4:43", + "nodeType": "YulTypedName", + "src": "30903:4:43", + "type": "" + } + ], + "src": "30580:1053:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\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 abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(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 function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__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_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, 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_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value3, tail)\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value4, tail)\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100e95760003560e01c8063715018a61161008c578063a22cb46511610066578063a22cb46514610246578063e985e9c514610262578063f242432a14610292578063f2fde38b146102ae576100e9565b8063715018a614610202578063731133e91461020c5780638da5cb5b14610228576100e9565b80630e89341c116100c85780630e89341c1461016a5780631f7fdffa1461019a5780632eb2c2d6146101b65780634e1273f4146101d2576100e9565b8062fdd58e146100ee57806301ffc9a71461011e57806302fe53051461014e575b600080fd5b610108600480360381019061010391906117cf565b6102ca565b604051610115919061181e565b60405180910390f35b61013860048036038101906101339190611891565b610324565b60405161014591906118d9565b60405180910390f35b61016860048036038101906101639190611a3a565b610406565b005b610184600480360381019061017f9190611a83565b61041a565b6040516101919190611b2f565b60405180910390f35b6101b460048036038101906101af9190611cba565b6104ae565b005b6101d060048036038101906101cb9190611d75565b6104c8565b005b6101ec60048036038101906101e79190611f07565b610570565b6040516101f9919061203d565b60405180910390f35b61020a610679565b005b6102266004803603810190610221919061205f565b61068d565b005b6102306106a7565b60405161023d91906120f1565b60405180910390f35b610260600480360381019061025b9190612138565b6106d1565b005b61027c60048036038101906102779190612178565b6106e7565b60405161028991906118d9565b60405180910390f35b6102ac60048036038101906102a791906121b8565b61077b565b005b6102c860048036038101906102c3919061224f565b610823565b005b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103ef57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ff57506103fe826108a9565b5b9050919050565b61040e610913565b6104178161099a565b50565b606060028054610429906122ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610455906122ab565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050509050919050565b6104b6610913565b6104c2848484846109ad565b50505050565b60006104d2610a33565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610517575061051586826106e7565b155b1561055b5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016105529291906122dc565b60405180910390fd5b6105688686868686610a3b565b505050505050565b606081518351146105bc57815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016105b3929190612305565b60405180910390fd5b6000835167ffffffffffffffff8111156105d9576105d861190f565b5b6040519080825280602002602001820160405280156106075781602001602082028036833780820191505090505b50905060005b845181101561066e5761064461062c8287610b3390919063ffffffff16565b61063f8387610b4790919063ffffffff16565b6102ca565b8282815181106106575761065661232e565b5b60200260200101818152505080600101905061060d565b508091505092915050565b610681610913565b61068b6000610b5b565b565b610695610913565b6106a184848484610c21565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106e36106dc610a33565b8383610cba565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610785610a33565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156107ca57506107c886826106e7565b155b1561080e5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016108059291906122dc565b60405180910390fd5b61081b8686868686610e2a565b505050505050565b61082b610913565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361089d5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161089491906120f1565b60405180910390fd5b6108a681610b5b565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61091b610a33565b73ffffffffffffffffffffffffffffffffffffffff166109396106a7565b73ffffffffffffffffffffffffffffffffffffffff16146109985761095c610a33565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161098f91906120f1565b60405180910390fd5b565b80600290816109a99190612509565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a1f5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610a1691906120f1565b60405180910390fd5b610a2d600085858585610f35565b50505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610aad5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610aa491906120f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610b1f5760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610b1691906120f1565b60405180910390fd5b610b2c8585858585610f35565b5050505050565b600060208202602084010151905092915050565b600060208202602084010151905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c935760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610c8a91906120f1565b60405180910390fd5b600080610ca08585610fe7565b91509150610cb2600087848487610f35565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d2c5760006040517fced3e100000000000000000000000000000000000000000000000000000000008152600401610d2391906120f1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e1d91906118d9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e9c5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610e9391906120f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610f0e5760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610f0591906120f1565b60405180910390fd5b600080610f1b8585610fe7565b91509150610f2c8787848487610f35565b50505050505050565b610f4185858585611017565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610fe0576000610f7f610a33565b90506001845103610fcf576000610fa0600086610b4790919063ffffffff16565b90506000610fb8600086610b4790919063ffffffff16565b9050610fc88389898585896113bf565b5050610fde565b610fdd818787878787611573565b5b505b5050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b805182511461106157815181516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401611058929190612305565b60405180910390fd5b600061106b610a33565b905060005b835181101561127a57600061108e8286610b4790919063ffffffff16565b905060006110a58386610b4790919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146111d257600080600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561117a57888183856040517f03dee4c500000000000000000000000000000000000000000000000000000000815260040161117194939291906125db565b60405180910390fd5b81810360008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461126d578060008084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611265919061264f565b925050819055505b5050806001019050611070565b50600183510361133957600061129a600085610b4790919063ffffffff16565b905060006112b2600085610b4790919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62858560405161132a929190612305565b60405180910390a450506113b8565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516113af929190612683565b60405180910390a45b5050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b111561156b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161142095949392919061270f565b6020604051808303816000875af192505050801561145c57506040513d601f19601f82011682018060405250810190611459919061277e565b60015b6114e0573d806000811461148c576040519150601f19603f3d011682016040523d82523d6000602084013e611491565b606091505b5060008151036114d857846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016114cf91906120f1565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461156957846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161156091906120f1565b60405180910390fd5b505b505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b111561171f578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016115d49594939291906127ab565b6020604051808303816000875af192505050801561161057506040513d601f19601f8201168201806040525081019061160d919061277e565b60015b611694573d8060008114611640576040519150601f19603f3d011682016040523d82523d6000602084013e611645565b606091505b50600081510361168c57846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161168391906120f1565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461171d57846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161171491906120f1565b60405180910390fd5b505b505050505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117668261173b565b9050919050565b6117768161175b565b811461178157600080fd5b50565b6000813590506117938161176d565b92915050565b6000819050919050565b6117ac81611799565b81146117b757600080fd5b50565b6000813590506117c9816117a3565b92915050565b600080604083850312156117e6576117e5611731565b5b60006117f485828601611784565b9250506020611805858286016117ba565b9150509250929050565b61181881611799565b82525050565b6000602082019050611833600083018461180f565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61186e81611839565b811461187957600080fd5b50565b60008135905061188b81611865565b92915050565b6000602082840312156118a7576118a6611731565b5b60006118b58482850161187c565b91505092915050565b60008115159050919050565b6118d3816118be565b82525050565b60006020820190506118ee60008301846118ca565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611947826118fe565b810181811067ffffffffffffffff821117156119665761196561190f565b5b80604052505050565b6000611979611727565b9050611985828261193e565b919050565b600067ffffffffffffffff8211156119a5576119a461190f565b5b6119ae826118fe565b9050602081019050919050565b82818337600083830152505050565b60006119dd6119d88461198a565b61196f565b9050828152602081018484840111156119f9576119f86118f9565b5b611a048482856119bb565b509392505050565b600082601f830112611a2157611a206118f4565b5b8135611a318482602086016119ca565b91505092915050565b600060208284031215611a5057611a4f611731565b5b600082013567ffffffffffffffff811115611a6e57611a6d611736565b5b611a7a84828501611a0c565b91505092915050565b600060208284031215611a9957611a98611731565b5b6000611aa7848285016117ba565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611aea578082015181840152602081019050611acf565b60008484015250505050565b6000611b0182611ab0565b611b0b8185611abb565b9350611b1b818560208601611acc565b611b24816118fe565b840191505092915050565b60006020820190508181036000830152611b498184611af6565b905092915050565b600067ffffffffffffffff821115611b6c57611b6b61190f565b5b602082029050602081019050919050565b600080fd5b6000611b95611b9084611b51565b61196f565b90508083825260208201905060208402830185811115611bb857611bb7611b7d565b5b835b81811015611be15780611bcd88826117ba565b845260208401935050602081019050611bba565b5050509392505050565b600082601f830112611c0057611bff6118f4565b5b8135611c10848260208601611b82565b91505092915050565b600067ffffffffffffffff821115611c3457611c3361190f565b5b611c3d826118fe565b9050602081019050919050565b6000611c5d611c5884611c19565b61196f565b905082815260208101848484011115611c7957611c786118f9565b5b611c848482856119bb565b509392505050565b600082601f830112611ca157611ca06118f4565b5b8135611cb1848260208601611c4a565b91505092915050565b60008060008060808587031215611cd457611cd3611731565b5b6000611ce287828801611784565b945050602085013567ffffffffffffffff811115611d0357611d02611736565b5b611d0f87828801611beb565b935050604085013567ffffffffffffffff811115611d3057611d2f611736565b5b611d3c87828801611beb565b925050606085013567ffffffffffffffff811115611d5d57611d5c611736565b5b611d6987828801611c8c565b91505092959194509250565b600080600080600060a08688031215611d9157611d90611731565b5b6000611d9f88828901611784565b9550506020611db088828901611784565b945050604086013567ffffffffffffffff811115611dd157611dd0611736565b5b611ddd88828901611beb565b935050606086013567ffffffffffffffff811115611dfe57611dfd611736565b5b611e0a88828901611beb565b925050608086013567ffffffffffffffff811115611e2b57611e2a611736565b5b611e3788828901611c8c565b9150509295509295909350565b600067ffffffffffffffff821115611e5f57611e5e61190f565b5b602082029050602081019050919050565b6000611e83611e7e84611e44565b61196f565b90508083825260208201905060208402830185811115611ea657611ea5611b7d565b5b835b81811015611ecf5780611ebb8882611784565b845260208401935050602081019050611ea8565b5050509392505050565b600082601f830112611eee57611eed6118f4565b5b8135611efe848260208601611e70565b91505092915050565b60008060408385031215611f1e57611f1d611731565b5b600083013567ffffffffffffffff811115611f3c57611f3b611736565b5b611f4885828601611ed9565b925050602083013567ffffffffffffffff811115611f6957611f68611736565b5b611f7585828601611beb565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611fb481611799565b82525050565b6000611fc68383611fab565b60208301905092915050565b6000602082019050919050565b6000611fea82611f7f565b611ff48185611f8a565b9350611fff83611f9b565b8060005b838110156120305781516120178882611fba565b975061202283611fd2565b925050600181019050612003565b5085935050505092915050565b600060208201905081810360008301526120578184611fdf565b905092915050565b6000806000806080858703121561207957612078611731565b5b600061208787828801611784565b9450506020612098878288016117ba565b93505060406120a9878288016117ba565b925050606085013567ffffffffffffffff8111156120ca576120c9611736565b5b6120d687828801611c8c565b91505092959194509250565b6120eb8161175b565b82525050565b600060208201905061210660008301846120e2565b92915050565b612115816118be565b811461212057600080fd5b50565b6000813590506121328161210c565b92915050565b6000806040838503121561214f5761214e611731565b5b600061215d85828601611784565b925050602061216e85828601612123565b9150509250929050565b6000806040838503121561218f5761218e611731565b5b600061219d85828601611784565b92505060206121ae85828601611784565b9150509250929050565b600080600080600060a086880312156121d4576121d3611731565b5b60006121e288828901611784565b95505060206121f388828901611784565b9450506040612204888289016117ba565b9350506060612215888289016117ba565b925050608086013567ffffffffffffffff81111561223657612235611736565b5b61224288828901611c8c565b9150509295509295909350565b60006020828403121561226557612264611731565b5b600061227384828501611784565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122c357607f821691505b6020821081036122d6576122d561227c565b5b50919050565b60006040820190506122f160008301856120e2565b6122fe60208301846120e2565b9392505050565b600060408201905061231a600083018561180f565b612327602083018461180f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612382565b6123c98683612382565b95508019841693508086168417925050509392505050565b6000819050919050565b60006124066124016123fc84611799565b6123e1565b611799565b9050919050565b6000819050919050565b612420836123eb565b61243461242c8261240d565b84845461238f565b825550505050565b600090565b61244961243c565b612454818484612417565b505050565b5b818110156124785761246d600082612441565b60018101905061245a565b5050565b601f8211156124bd5761248e8161235d565b61249784612372565b810160208510156124a6578190505b6124ba6124b285612372565b830182612459565b50505b505050565b600082821c905092915050565b60006124e0600019846008026124c2565b1980831691505092915050565b60006124f983836124cf565b9150826002028217905092915050565b61251282611ab0565b67ffffffffffffffff81111561252b5761252a61190f565b5b61253582546122ab565b61254082828561247c565b600060209050601f8311600181146125735760008415612561578287015190505b61256b85826124ed565b8655506125d3565b601f1984166125818661235d565b60005b828110156125a957848901518255600182019150602085019450602081019050612584565b868310156125c657848901516125c2601f8916826124cf565b8355505b6001600288020188555050505b505050505050565b60006080820190506125f060008301876120e2565b6125fd602083018661180f565b61260a604083018561180f565b612617606083018461180f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061265a82611799565b915061266583611799565b925082820190508082111561267d5761267c612620565b5b92915050565b6000604082019050818103600083015261269d8185611fdf565b905081810360208301526126b18184611fdf565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006126e1826126ba565b6126eb81856126c5565b93506126fb818560208601611acc565b612704816118fe565b840191505092915050565b600060a08201905061272460008301886120e2565b61273160208301876120e2565b61273e604083018661180f565b61274b606083018561180f565b818103608083015261275d81846126d6565b90509695505050505050565b60008151905061277881611865565b92915050565b60006020828403121561279457612793611731565b5b60006127a284828501612769565b91505092915050565b600060a0820190506127c060008301886120e2565b6127cd60208301876120e2565b81810360408301526127df8186611fdf565b905081810360608301526127f38185611fdf565b9050818103608083015261280781846126d6565b9050969550505050505056fea2646970667358221220ebd1c50aaa453cb4ce3cc4a370efbfd3bf4ce73d0413e12527e44be855c5090764736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x246 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0xF242432A EQ PUSH2 0x292 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AE JUMPI PUSH2 0xE9 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x731133E9 EQ PUSH2 0x20C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x228 JUMPI PUSH2 0xE9 JUMP JUMPDEST DUP1 PUSH4 0xE89341C GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0xE89341C EQ PUSH2 0x16A JUMPI DUP1 PUSH4 0x1F7FDFFA EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x2EB2C2D6 EQ PUSH2 0x1B6 JUMPI DUP1 PUSH4 0x4E1273F4 EQ PUSH2 0x1D2 JUMPI PUSH2 0xE9 JUMP JUMPDEST DUP1 PUSH3 0xFDD58E EQ PUSH2 0xEE JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x11E JUMPI DUP1 PUSH4 0x2FE5305 EQ PUSH2 0x14E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x108 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x103 SWAP2 SWAP1 PUSH2 0x17CF JUMP JUMPDEST PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x133 SWAP2 SWAP1 PUSH2 0x1891 JUMP JUMPDEST PUSH2 0x324 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x1A3A JUMP JUMPDEST PUSH2 0x406 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x184 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17F SWAP2 SWAP1 PUSH2 0x1A83 JUMP JUMPDEST PUSH2 0x41A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP2 SWAP1 PUSH2 0x1B2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x1CBA JUMP JUMPDEST PUSH2 0x4AE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x1D75 JUMP JUMPDEST PUSH2 0x4C8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E7 SWAP2 SWAP1 PUSH2 0x1F07 JUMP JUMPDEST PUSH2 0x570 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x203D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20A PUSH2 0x679 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x226 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x221 SWAP2 SWAP1 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x68D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x230 PUSH2 0x6A7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x260 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25B SWAP2 SWAP1 PUSH2 0x2138 JUMP JUMPDEST PUSH2 0x6D1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x27C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x277 SWAP2 SWAP1 PUSH2 0x2178 JUMP JUMPDEST PUSH2 0x6E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x289 SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2AC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A7 SWAP2 SWAP1 PUSH2 0x21B8 JUMP JUMPDEST PUSH2 0x77B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C3 SWAP2 SWAP1 PUSH2 0x224F JUMP JUMPDEST PUSH2 0x823 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xD9B67A2600000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x3EF JUMPI POP PUSH32 0xE89341C00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x3FF JUMPI POP PUSH2 0x3FE DUP3 PUSH2 0x8A9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x40E PUSH2 0x913 JUMP JUMPDEST PUSH2 0x417 DUP2 PUSH2 0x99A JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x429 SWAP1 PUSH2 0x22AB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x455 SWAP1 PUSH2 0x22AB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4A2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x477 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4A2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x485 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B6 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x4C2 DUP5 DUP5 DUP5 DUP5 PUSH2 0x9AD JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D2 PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO DUP1 ISZERO PUSH2 0x517 JUMPI POP PUSH2 0x515 DUP7 DUP3 PUSH2 0x6E7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x55B JUMPI DUP1 DUP7 PUSH1 0x40 MLOAD PUSH32 0xE237D92200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x552 SWAP3 SWAP2 SWAP1 PUSH2 0x22DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x568 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0xA3B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x5BC JUMPI DUP2 MLOAD DUP4 MLOAD PUSH1 0x40 MLOAD PUSH32 0x5B05999100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5B3 SWAP3 SWAP2 SWAP1 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5D9 JUMPI PUSH2 0x5D8 PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x607 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x66E JUMPI PUSH2 0x644 PUSH2 0x62C DUP3 DUP8 PUSH2 0xB33 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x63F DUP4 DUP8 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x2CA JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x657 JUMPI PUSH2 0x656 PUSH2 0x232E JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0x1 ADD SWAP1 POP PUSH2 0x60D JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x681 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x68B PUSH1 0x0 PUSH2 0xB5B JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x695 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x6A1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xC21 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6E3 PUSH2 0x6DC PUSH2 0xA33 JUMP JUMPDEST DUP4 DUP4 PUSH2 0xCBA JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x785 PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO DUP1 ISZERO PUSH2 0x7CA JUMPI POP PUSH2 0x7C8 DUP7 DUP3 PUSH2 0x6E7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x80E JUMPI DUP1 DUP7 PUSH1 0x40 MLOAD PUSH32 0xE237D92200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x805 SWAP3 SWAP2 SWAP1 PUSH2 0x22DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x81B DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0xE2A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x82B PUSH2 0x913 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x89D JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x894 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A6 DUP2 PUSH2 0xB5B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x91B PUSH2 0xA33 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x939 PUSH2 0x6A7 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x998 JUMPI PUSH2 0x95C PUSH2 0xA33 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST DUP1 PUSH1 0x2 SWAP1 DUP2 PUSH2 0x9A9 SWAP2 SWAP1 PUSH2 0x2509 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA1F JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA16 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA2D PUSH1 0x0 DUP6 DUP6 DUP6 DUP6 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xAAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAA4 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB1F JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1A8351400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB16 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB2C DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MUL PUSH1 0x20 DUP5 ADD ADD MLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MUL PUSH1 0x20 DUP5 ADD ADD MLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 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 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xC93 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC8A SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCA0 DUP6 DUP6 PUSH2 0xFE7 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xCB2 PUSH1 0x0 DUP8 DUP5 DUP5 DUP8 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xD2C JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xCED3E10000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE1D SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE9C JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE93 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xF0E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1A8351400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF05 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF1B DUP6 DUP6 PUSH2 0xFE7 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xF2C DUP8 DUP8 DUP5 DUP5 DUP8 PUSH2 0xF35 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xF41 DUP6 DUP6 DUP6 DUP6 PUSH2 0x1017 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xFE0 JUMPI PUSH1 0x0 PUSH2 0xF7F PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 MLOAD SUB PUSH2 0xFCF JUMPI PUSH1 0x0 PUSH2 0xFA0 PUSH1 0x0 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xFB8 PUSH1 0x0 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0xFC8 DUP4 DUP10 DUP10 DUP6 DUP6 DUP10 PUSH2 0x13BF JUMP JUMPDEST POP POP PUSH2 0xFDE JUMP JUMPDEST PUSH2 0xFDD DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x1573 JUMP JUMPDEST JUMPDEST POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH1 0x1 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD PUSH1 0x40 MSTORE SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1061 JUMPI DUP2 MLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH32 0x5B05999100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1058 SWAP3 SWAP2 SWAP1 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x106B PUSH2 0xA33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x127A JUMPI PUSH1 0x0 PUSH2 0x108E DUP3 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x10A5 DUP4 DUP7 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x117A JUMPI DUP9 DUP2 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH32 0x3DEE4C500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1171 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x126D JUMPI DUP1 PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 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 0x1265 SWAP2 SWAP1 PUSH2 0x264F JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP DUP1 PUSH1 0x1 ADD SWAP1 POP PUSH2 0x1070 JUMP JUMPDEST POP PUSH1 0x1 DUP4 MLOAD SUB PUSH2 0x1339 JUMPI PUSH1 0x0 PUSH2 0x129A PUSH1 0x0 DUP6 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x12B2 PUSH1 0x0 DUP6 PUSH2 0xB47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x132A SWAP3 SWAP2 SWAP1 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP PUSH2 0x13B8 JUMP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x13AF SWAP3 SWAP2 SWAP1 PUSH2 0x2683 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT ISZERO PUSH2 0x156B JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF23A6E61 DUP8 DUP8 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1420 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x270F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x145C JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1459 SWAP2 SWAP1 PUSH2 0x277E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14E0 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x148C 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 0x1491 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x14D8 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14CF SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ PUSH2 0x1569 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1560 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT ISZERO PUSH2 0x171F JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xBC197C81 DUP8 DUP8 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15D4 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x27AB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1610 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x160D SWAP2 SWAP1 PUSH2 0x277E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1694 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1640 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 0x1645 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x168C JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1683 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ PUSH2 0x171D JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x57F447CE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1714 SWAP2 SWAP1 PUSH2 0x20F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1766 DUP3 PUSH2 0x173B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1776 DUP2 PUSH2 0x175B JUMP JUMPDEST DUP2 EQ PUSH2 0x1781 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1793 DUP2 PUSH2 0x176D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17AC DUP2 PUSH2 0x1799 JUMP JUMPDEST DUP2 EQ PUSH2 0x17B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x17C9 DUP2 PUSH2 0x17A3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17E6 JUMPI PUSH2 0x17E5 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17F4 DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1805 DUP6 DUP3 DUP7 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1818 DUP2 PUSH2 0x1799 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1833 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x186E DUP2 PUSH2 0x1839 JUMP JUMPDEST DUP2 EQ PUSH2 0x1879 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x188B DUP2 PUSH2 0x1865 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18A7 JUMPI PUSH2 0x18A6 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x18B5 DUP5 DUP3 DUP6 ADD PUSH2 0x187C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18D3 DUP2 PUSH2 0x18BE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x18EE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18CA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1947 DUP3 PUSH2 0x18FE JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1966 JUMPI PUSH2 0x1965 PUSH2 0x190F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1979 PUSH2 0x1727 JUMP JUMPDEST SWAP1 POP PUSH2 0x1985 DUP3 DUP3 PUSH2 0x193E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x19A5 JUMPI PUSH2 0x19A4 PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH2 0x19AE DUP3 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19DD PUSH2 0x19D8 DUP5 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x19F9 JUMPI PUSH2 0x19F8 PUSH2 0x18F9 JUMP JUMPDEST JUMPDEST PUSH2 0x1A04 DUP5 DUP3 DUP6 PUSH2 0x19BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A21 JUMPI PUSH2 0x1A20 PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1A31 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x19CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A50 JUMPI PUSH2 0x1A4F PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A6E JUMPI PUSH2 0x1A6D PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1A7A DUP5 DUP3 DUP6 ADD PUSH2 0x1A0C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A99 JUMPI PUSH2 0x1A98 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AA7 DUP5 DUP3 DUP6 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP2 POP POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1AEA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1ACF JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B01 DUP3 PUSH2 0x1AB0 JUMP JUMPDEST PUSH2 0x1B0B DUP2 DUP6 PUSH2 0x1ABB JUMP JUMPDEST SWAP4 POP PUSH2 0x1B1B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1ACC JUMP JUMPDEST PUSH2 0x1B24 DUP2 PUSH2 0x18FE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B49 DUP2 DUP5 PUSH2 0x1AF6 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B6C JUMPI PUSH2 0x1B6B PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B95 PUSH2 0x1B90 DUP5 PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1BB8 JUMPI PUSH2 0x1BB7 PUSH2 0x1B7D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1BE1 JUMPI DUP1 PUSH2 0x1BCD DUP9 DUP3 PUSH2 0x17BA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1BBA JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C00 JUMPI PUSH2 0x1BFF PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1C10 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B82 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C34 JUMPI PUSH2 0x1C33 PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH2 0x1C3D DUP3 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5D PUSH2 0x1C58 DUP5 PUSH2 0x1C19 JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C79 JUMPI PUSH2 0x1C78 PUSH2 0x18F9 JUMP JUMPDEST JUMPDEST PUSH2 0x1C84 DUP5 DUP3 DUP6 PUSH2 0x19BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CA1 JUMPI PUSH2 0x1CA0 PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CB1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C4A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1CD4 JUMPI PUSH2 0x1CD3 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CE2 DUP8 DUP3 DUP9 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D03 JUMPI PUSH2 0x1D02 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1D0F DUP8 DUP3 DUP9 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D30 JUMPI PUSH2 0x1D2F PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1D3C DUP8 DUP3 DUP9 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D5D JUMPI PUSH2 0x1D5C PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1D69 DUP8 DUP3 DUP9 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1D91 JUMPI PUSH2 0x1D90 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D9F DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1DB0 DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DD1 JUMPI PUSH2 0x1DD0 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1DDD DUP9 DUP3 DUP10 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DFE JUMPI PUSH2 0x1DFD PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1E0A DUP9 DUP3 DUP10 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E2B JUMPI PUSH2 0x1E2A PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1E37 DUP9 DUP3 DUP10 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E5F JUMPI PUSH2 0x1E5E PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E83 PUSH2 0x1E7E DUP5 PUSH2 0x1E44 JUMP JUMPDEST PUSH2 0x196F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1EA6 JUMPI PUSH2 0x1EA5 PUSH2 0x1B7D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1ECF JUMPI DUP1 PUSH2 0x1EBB DUP9 DUP3 PUSH2 0x1784 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1EA8 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EEE JUMPI PUSH2 0x1EED PUSH2 0x18F4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1EFE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1E70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F1E JUMPI PUSH2 0x1F1D PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F3C JUMPI PUSH2 0x1F3B PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1F48 DUP6 DUP3 DUP7 ADD PUSH2 0x1ED9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F69 JUMPI PUSH2 0x1F68 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x1F75 DUP6 DUP3 DUP7 ADD PUSH2 0x1BEB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FB4 DUP2 PUSH2 0x1799 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FC6 DUP4 DUP4 PUSH2 0x1FAB JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FEA DUP3 PUSH2 0x1F7F JUMP JUMPDEST PUSH2 0x1FF4 DUP2 DUP6 PUSH2 0x1F8A JUMP JUMPDEST SWAP4 POP PUSH2 0x1FFF DUP4 PUSH2 0x1F9B JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2030 JUMPI DUP2 MLOAD PUSH2 0x2017 DUP9 DUP3 PUSH2 0x1FBA JUMP JUMPDEST SWAP8 POP PUSH2 0x2022 DUP4 PUSH2 0x1FD2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2003 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2057 DUP2 DUP5 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2079 JUMPI PUSH2 0x2078 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2087 DUP8 DUP3 DUP9 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x2098 DUP8 DUP3 DUP9 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x20A9 DUP8 DUP3 DUP9 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20CA JUMPI PUSH2 0x20C9 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x20D6 DUP8 DUP3 DUP9 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0x20EB DUP2 PUSH2 0x175B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2106 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x20E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2115 DUP2 PUSH2 0x18BE JUMP JUMPDEST DUP2 EQ PUSH2 0x2120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2132 DUP2 PUSH2 0x210C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x214F JUMPI PUSH2 0x214E PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x215D DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x216E DUP6 DUP3 DUP7 ADD PUSH2 0x2123 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218F JUMPI PUSH2 0x218E PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x219D DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x21AE DUP6 DUP3 DUP7 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x21D4 JUMPI PUSH2 0x21D3 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x21F3 DUP9 DUP3 DUP10 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x2204 DUP9 DUP3 DUP10 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x2215 DUP9 DUP3 DUP10 ADD PUSH2 0x17BA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2236 JUMPI PUSH2 0x2235 PUSH2 0x1736 JUMP JUMPDEST JUMPDEST PUSH2 0x2242 DUP9 DUP3 DUP10 ADD PUSH2 0x1C8C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2265 JUMPI PUSH2 0x2264 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2273 DUP5 DUP3 DUP6 ADD PUSH2 0x1784 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x22C3 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x22D6 JUMPI PUSH2 0x22D5 PUSH2 0x227C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x22F1 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x22FE PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20E2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x231A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x2327 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x23BF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x2382 JUMP JUMPDEST PUSH2 0x23C9 DUP7 DUP4 PUSH2 0x2382 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2406 PUSH2 0x2401 PUSH2 0x23FC DUP5 PUSH2 0x1799 JUMP JUMPDEST PUSH2 0x23E1 JUMP JUMPDEST PUSH2 0x1799 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2420 DUP4 PUSH2 0x23EB JUMP JUMPDEST PUSH2 0x2434 PUSH2 0x242C DUP3 PUSH2 0x240D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x238F JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x2449 PUSH2 0x243C JUMP JUMPDEST PUSH2 0x2454 DUP2 DUP5 DUP5 PUSH2 0x2417 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2478 JUMPI PUSH2 0x246D PUSH1 0x0 DUP3 PUSH2 0x2441 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x245A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x24BD JUMPI PUSH2 0x248E DUP2 PUSH2 0x235D JUMP JUMPDEST PUSH2 0x2497 DUP5 PUSH2 0x2372 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x24A6 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x24BA PUSH2 0x24B2 DUP6 PUSH2 0x2372 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x2459 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E0 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x24C2 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24F9 DUP4 DUP4 PUSH2 0x24CF JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2512 DUP3 PUSH2 0x1AB0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x252B JUMPI PUSH2 0x252A PUSH2 0x190F JUMP JUMPDEST JUMPDEST PUSH2 0x2535 DUP3 SLOAD PUSH2 0x22AB JUMP JUMPDEST PUSH2 0x2540 DUP3 DUP3 DUP6 PUSH2 0x247C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2573 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2561 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x256B DUP6 DUP3 PUSH2 0x24ED JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x25D3 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x2581 DUP7 PUSH2 0x235D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x25A9 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2584 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x25C6 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x25C2 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x24CF JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x25F0 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x25FD PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x260A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x2617 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x265A DUP3 PUSH2 0x1799 JUMP JUMPDEST SWAP2 POP PUSH2 0x2665 DUP4 PUSH2 0x1799 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x267D JUMPI PUSH2 0x267C PUSH2 0x2620 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x269D DUP2 DUP6 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x26B1 DUP2 DUP5 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP 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 0x26E1 DUP3 PUSH2 0x26BA JUMP JUMPDEST PUSH2 0x26EB DUP2 DUP6 PUSH2 0x26C5 JUMP JUMPDEST SWAP4 POP PUSH2 0x26FB DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1ACC JUMP JUMPDEST PUSH2 0x2704 DUP2 PUSH2 0x18FE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2724 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x2731 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x273E PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x180F JUMP JUMPDEST PUSH2 0x274B PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x275D DUP2 DUP5 PUSH2 0x26D6 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2778 DUP2 PUSH2 0x1865 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2794 JUMPI PUSH2 0x2793 PUSH2 0x1731 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x27A2 DUP5 DUP3 DUP6 ADD PUSH2 0x2769 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x27C0 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x20E2 JUMP JUMPDEST PUSH2 0x27CD PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x20E2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x27DF DUP2 DUP7 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x27F3 DUP2 DUP6 PUSH2 0x1FDF JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2807 DUP2 DUP5 PUSH2 0x26D6 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0xD1 0xC5 EXP 0xAA GASLIMIT EXTCODECOPY 0xB4 0xCE EXTCODECOPY 0xC4 LOG3 PUSH17 0xEFBFD3BF4CE73D0413E12527E44BE855C5 MULMOD SMOD PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "221:548:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2245:132:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1378:305;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;318:87:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2082:103:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;581:186:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4012:429:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2534:552;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;411:164:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3154:144:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3365:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3589:351;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2245:132:3;2322:7;2348:9;:13;2358:2;2348:13;;;;;;;;;;;:22;2362:7;2348:22;;;;;;;;;;;;;;;;2341:29;;2245:132;;;;:::o;1378:305::-;1480:4;1530:26;1515:41;;;:11;:41;;;;:109;;;;1587:37;1572:52;;;:11;:52;;;;1515:109;:161;;;;1640:36;1664:11;1640:23;:36::i;:::-;1515:161;1496:180;;1378:305;;;:::o;318:87:36:-;1531:13:0;:11;:13::i;:::-;383:15:36::1;391:6;383:7;:15::i;:::-;318:87:::0;:::o;2082:103:3:-;2142:13;2174:4;2167:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2082:103;;;:::o;581:186:36:-;1531:13:0;:11;:13::i;:::-;726:34:36::1;737:2;741:3;746:7;755:4;726:10;:34::i;:::-;581:186:::0;;;;:::o;4012:429:3:-;4206:14;4223:12;:10;:12::i;:::-;4206:29;;4257:6;4249:14;;:4;:14;;;;:49;;;;;4268:30;4285:4;4291:6;4268:16;:30::i;:::-;4267:31;4249:49;4245:129;;;4350:6;4358:4;4321:42;;;;;;;;;;;;:::i;:::-;;;;;;;;4245:129;4383:51;4406:4;4412:2;4416:3;4421:6;4429:4;4383:22;:51::i;:::-;4196:245;4012:429;;;;;:::o;2534:552::-;2658:16;2709:3;:10;2690:8;:15;:29;2686:121;;2768:3;:10;2780:8;:15;2742:54;;;;;;;;;;;;:::i;:::-;;;;;;;;2686:121;2817:30;2864:8;:15;2850:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2817:63;;2896:9;2891:158;2915:8;:15;2911:1;:19;2891:158;;;2970:68;2980:30;3008:1;2980:8;:27;;:30;;;;:::i;:::-;3012:25;3035:1;3012:3;:22;;:25;;;;:::i;:::-;2970:9;:68::i;:::-;2951:13;2965:1;2951:16;;;;;;;;:::i;:::-;;;;;;;:87;;;;;2932:3;;;;;2891:158;;;;3066:13;3059:20;;;2534:552;;;;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;411:164:36:-;1531:13:0;:11;:13::i;:::-;536:32:36::1;542:7;551:2;555:6;563:4;536:5;:32::i;:::-;411:164:::0;;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;3154:144:3:-;3239:52;3258:12;:10;:12::i;:::-;3272:8;3282;3239:18;:52::i;:::-;3154:144;;:::o;3365:157::-;3455:4;3478:18;:27;3497:7;3478:27;;;;;;;;;;;;;;;:37;3506:8;3478:37;;;;;;;;;;;;;;;;;;;;;;;;;3471:44;;3365:157;;;;:::o;3589:351::-;3712:14;3729:12;:10;:12::i;:::-;3712:29;;3763:6;3755:14;;:4;:14;;;;:49;;;;;3774:30;3791:4;3797:6;3774:16;:30::i;:::-;3773:31;3755:49;3751:129;;;3856:6;3864:4;3827:42;;;;;;;;;;;;:::i;:::-;;;;;;;;3751:129;3889:44;3907:4;3913:2;3917;3921:5;3928:4;3889:17;:44::i;:::-;3702:238;3589:351;;;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;763:146:28:-;839:4;877:25;862:40;;;:11;:40;;;;855:47;;763:146;;;:::o;1796:162:0:-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;10290:86:3:-;10363:6;10356:4;:13;;;;;;:::i;:::-;;10290:86;:::o;11531:282::-;11666:1;11652:16;;:2;:16;;;11648:88;;11722:1;11691:34;;;;;;;;;;;:::i;:::-;;;;;;;;11648:88;11745:61;11780:1;11784:2;11788:3;11793:6;11801:4;11745:26;:61::i;:::-;11531:282;;;;:::o;656:96:16:-;709:7;735:10;728:17;;656:96;:::o;9023:445:3:-;9230:1;9216:16;;:2;:16;;;9212:88;;9286:1;9255:34;;;;;;;;;;;:::i;:::-;;;;;;;;9212:88;9329:1;9313:18;;:4;:18;;;9309:88;;9383:1;9354:32;;;;;;;;;;;:::i;:::-;;;;;;;;9309:88;9406:55;9433:4;9439:2;9443:3;9448:6;9456:4;9406:26;:55::i;:::-;9023:445;;;;;:::o;16128:197:14:-;16214:11;16302:4;16297:3;16293:14;16286:4;16281:3;16277:14;16273:35;16267:42;16260:49;;16128:197;;;;:::o;16926:::-;17012:11;17100:4;17095:3;17091:14;17084:4;17079:3;17075:14;17071:35;17065:42;17058:49;;16926:197;;;;:::o;2912:187:0:-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;10754:346:3:-;10864:1;10850:16;;:2;:16;;;10846:88;;10920:1;10889:34;;;;;;;;;;;:::i;:::-;;;;;;;;10846:88;10944:20;10966:23;10993:29;11012:2;11016:5;10993:18;:29::i;:::-;10943:79;;;;11032:61;11067:1;11071:2;11075:3;11080:6;11088:4;11032:26;:61::i;:::-;10836:264;;10754:346;;;;:::o;13276:315::-;13403:1;13383:22;;:8;:22;;;13379:94;;13459:1;13428:34;;;;;;;;;;;:::i;:::-;;;;;;;;13379:94;13520:8;13482:18;:25;13501:5;13482:25;;;;;;;;;;;;;;;:35;13508:8;13482:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13565:8;13543:41;;13558:5;13543:41;;;13575:8;13543:41;;;;;;:::i;:::-;;;;;;;;13276:315;;;:::o;8159:463::-;8295:1;8281:16;;:2;:16;;;8277:88;;8351:1;8320:34;;;;;;;;;;;:::i;:::-;;;;;;;;8277:88;8394:1;8378:18;;:4;:18;;;8374:88;;8448:1;8419:32;;;;;;;;;;;:::i;:::-;;;;;;;;8374:88;8472:20;8494:23;8521:29;8540:2;8544:5;8521:18;:29::i;:::-;8471:79;;;;8560:55;8587:4;8593:2;8597:3;8602:6;8610:4;8560:26;:55::i;:::-;8267:355;;8159:463;;;;;:::o;7002:700::-;7203:30;7211:4;7217:2;7221:3;7226:6;7203:7;:30::i;:::-;7261:1;7247:16;;:2;:16;;;7243:453;;7279:16;7298:12;:10;:12::i;:::-;7279:31;;7342:1;7328:3;:10;:15;7324:362;;7363:10;7376:25;7399:1;7376:3;:22;;:25;;;;:::i;:::-;7363:38;;7419:13;7435:28;7461:1;7435:6;:25;;:28;;;;:::i;:::-;7419:44;;7481:72;7517:8;7527:4;7533:2;7537;7541:5;7548:4;7481:35;:72::i;:::-;7345:223;;7324:362;;;7592:79;7633:8;7643:4;7649:2;7653:3;7658:6;7666:4;7592:40;:79::i;:::-;7324:362;7265:431;7243:453;7002:700;;;;;:::o;13707:822::-;13815:23;13840;13974:4;13968:11;13958:21;;14044:1;14036:6;14029:17;14182:8;14175:4;14167:6;14163:17;14156:35;14304:4;14296:6;14292:17;14282:27;;14337:1;14329:6;14322:17;14378:8;14371:4;14363:6;14359:17;14352:35;14507:4;14499:6;14495:17;14489:4;14482:31;13707:822;;;;;:::o;5142:1281::-;5277:6;:13;5263:3;:10;:27;5259:117;;5339:3;:10;5351:6;:13;5313:52;;;;;;;;;;;;:::i;:::-;;;;;;;;5259:117;5386:16;5405:12;:10;:12::i;:::-;5386:31;;5433:9;5428:691;5452:3;:10;5448:1;:14;5428:691;;;5483:10;5496:25;5519:1;5496:3;:22;;:25;;;;:::i;:::-;5483:38;;5535:13;5551:28;5577:1;5551:6;:25;;:28;;;;:::i;:::-;5535:44;;5614:1;5598:18;;:4;:18;;;5594:420;;5636:19;5658:9;:13;5668:2;5658:13;;;;;;;;;;;:19;5672:4;5658:19;;;;;;;;;;;;;;;;5636:41;;5713:5;5699:11;:19;5695:129;;;5776:4;5782:11;5795:5;5802:2;5749:56;;;;;;;;;;;;;;:::i;:::-;;;;;;;;5695:129;5976:5;5962:11;:19;5940:9;:13;5950:2;5940:13;;;;;;;;;;;:19;5954:4;5940:19;;;;;;;;;;;;;;;:41;;;;5618:396;5594:420;6046:1;6032:16;;:2;:16;;;6028:81;;6089:5;6068:9;:13;6078:2;6068:13;;;;;;;;;;;:17;6082:2;6068:17;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;6028:81;5469:650;;5464:3;;;;;5428:691;;;;6147:1;6133:3;:10;:15;6129:288;;6164:10;6177:25;6200:1;6177:3;:22;;:25;;;;:::i;:::-;6164:38;;6216:13;6232:28;6258:1;6232:6;:25;;:28;;;;:::i;:::-;6216:44;;6310:2;6279:45;;6304:4;6279:45;;6294:8;6279:45;;;6314:2;6318:5;6279:45;;;;;;;:::i;:::-;;;;;;;;6150:185;;6129:288;;;6390:2;6360:46;;6384:4;6360:46;;6374:8;6360:46;;;6394:3;6399:6;6360:46;;;;;;;:::i;:::-;;;;;;;;6129:288;5249:1174;5142:1281;;;;:::o;998:959:7:-;1214:1;1197:2;:14;;;:18;1193:758;;;1252:2;1235:38;;;1274:8;1284:4;1290:2;1294:5;1301:4;1235:71;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1231:710;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1622:1;1605:6;:13;:18;1601:326;;1748:2;1710:41;;;;;;;;;;;:::i;:::-;;;;;;;;1601:326;1879:6;1873:13;1864:6;1860:2;1856:15;1849:38;1231:710;1367:43;;;1355:55;;;:8;:55;;;;1351:189;;1518:2;1480:41;;;;;;;;;;;:::i;:::-;;;;;;;;1351:189;1307:247;1193:758;998:959;;;;;;:::o;2505:1026::-;2746:1;2729:2;:14;;;:18;2725:800;;;2784:2;2767:43;;;2811:8;2821:4;2827:3;2832:6;2840:4;2767:78;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2763:752;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3196:1;3179:6;:13;:18;3175:326;;3322:2;3284:41;;;;;;;;;;;:::i;:::-;;;;;;;;3175:326;3453:6;3447:13;3438:6;3434:2;3430:15;3423:38;2763:752;2936:48;;;2924:60;;;:8;:60;;;;2920:194;;3092:2;3054:41;;;;;;;;;;;:::i;:::-;;;;;;;;2920:194;2846:282;2725:800;2505:1026;;;;;;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:474::-;1265:6;1273;1322:2;1310:9;1301:7;1297:23;1293:32;1290:119;;;1328:79;;:::i;:::-;1290:119;1448:1;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1419:117;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1197:474;;;;;:::o;1677:118::-;1764:24;1782:5;1764:24;:::i;:::-;1759:3;1752:37;1677:118;;:::o;1801:222::-;1894:4;1932:2;1921:9;1917:18;1909:26;;1945:71;2013:1;2002:9;1998:17;1989:6;1945:71;:::i;:::-;1801:222;;;;:::o;2029:149::-;2065:7;2105:66;2098:5;2094:78;2083:89;;2029:149;;;:::o;2184:120::-;2256:23;2273:5;2256:23;:::i;:::-;2249:5;2246:34;2236:62;;2294:1;2291;2284:12;2236:62;2184:120;:::o;2310:137::-;2355:5;2393:6;2380:20;2371:29;;2409:32;2435:5;2409:32;:::i;:::-;2310:137;;;;:::o;2453:327::-;2511:6;2560:2;2548:9;2539:7;2535:23;2531:32;2528:119;;;2566:79;;:::i;:::-;2528:119;2686:1;2711:52;2755:7;2746:6;2735:9;2731:22;2711:52;:::i;:::-;2701:62;;2657:116;2453:327;;;;:::o;2786:90::-;2820:7;2863:5;2856:13;2849:21;2838:32;;2786:90;;;:::o;2882:109::-;2963:21;2978:5;2963:21;:::i;:::-;2958:3;2951:34;2882:109;;:::o;2997:210::-;3084:4;3122:2;3111:9;3107:18;3099:26;;3135:65;3197:1;3186:9;3182:17;3173:6;3135:65;:::i;:::-;2997:210;;;;:::o;3213:117::-;3322:1;3319;3312:12;3336:117;3445:1;3442;3435:12;3459:102;3500:6;3551:2;3547:7;3542:2;3535:5;3531:14;3527:28;3517:38;;3459:102;;;:::o;3567:180::-;3615:77;3612:1;3605:88;3712:4;3709:1;3702:15;3736:4;3733:1;3726:15;3753:281;3836:27;3858:4;3836:27;:::i;:::-;3828:6;3824:40;3966:6;3954:10;3951:22;3930:18;3918:10;3915:34;3912:62;3909:88;;;3977:18;;:::i;:::-;3909:88;4017:10;4013:2;4006:22;3796:238;3753:281;;:::o;4040:129::-;4074:6;4101:20;;:::i;:::-;4091:30;;4130:33;4158:4;4150:6;4130:33;:::i;:::-;4040:129;;;:::o;4175:308::-;4237:4;4327:18;4319:6;4316:30;4313:56;;;4349:18;;:::i;:::-;4313:56;4387:29;4409:6;4387:29;:::i;:::-;4379:37;;4471:4;4465;4461:15;4453:23;;4175:308;;;:::o;4489:146::-;4586:6;4581:3;4576;4563:30;4627:1;4618:6;4613:3;4609:16;4602:27;4489:146;;;:::o;4641:425::-;4719:5;4744:66;4760:49;4802:6;4760:49;:::i;:::-;4744:66;:::i;:::-;4735:75;;4833:6;4826:5;4819:21;4871:4;4864:5;4860:16;4909:3;4900:6;4895:3;4891:16;4888:25;4885:112;;;4916:79;;:::i;:::-;4885:112;5006:54;5053:6;5048:3;5043;5006:54;:::i;:::-;4725:341;4641:425;;;;;:::o;5086:340::-;5142:5;5191:3;5184:4;5176:6;5172:17;5168:27;5158:122;;5199:79;;:::i;:::-;5158:122;5316:6;5303:20;5341:79;5416:3;5408:6;5401:4;5393:6;5389:17;5341:79;:::i;:::-;5332:88;;5148:278;5086:340;;;;:::o;5432:509::-;5501:6;5550:2;5538:9;5529:7;5525:23;5521:32;5518:119;;;5556:79;;:::i;:::-;5518:119;5704:1;5693:9;5689:17;5676:31;5734:18;5726:6;5723:30;5720:117;;;5756:79;;:::i;:::-;5720:117;5861:63;5916:7;5907:6;5896:9;5892:22;5861:63;:::i;:::-;5851:73;;5647:287;5432:509;;;;:::o;5947:329::-;6006:6;6055:2;6043:9;6034:7;6030:23;6026:32;6023:119;;;6061:79;;:::i;:::-;6023:119;6181:1;6206:53;6251:7;6242:6;6231:9;6227:22;6206:53;:::i;:::-;6196:63;;6152:117;5947:329;;;;:::o;6282:99::-;6334:6;6368:5;6362:12;6352:22;;6282:99;;;:::o;6387:169::-;6471:11;6505:6;6500:3;6493:19;6545:4;6540:3;6536:14;6521:29;;6387:169;;;;:::o;6562:246::-;6643:1;6653:113;6667:6;6664:1;6661:13;6653:113;;;6752:1;6747:3;6743:11;6737:18;6733:1;6728:3;6724:11;6717:39;6689:2;6686:1;6682:10;6677:15;;6653:113;;;6800:1;6791:6;6786:3;6782:16;6775:27;6624:184;6562:246;;;:::o;6814:377::-;6902:3;6930:39;6963:5;6930:39;:::i;:::-;6985:71;7049:6;7044:3;6985:71;:::i;:::-;6978:78;;7065:65;7123:6;7118:3;7111:4;7104:5;7100:16;7065:65;:::i;:::-;7155:29;7177:6;7155:29;:::i;:::-;7150:3;7146:39;7139:46;;6906:285;6814:377;;;;:::o;7197:313::-;7310:4;7348:2;7337:9;7333:18;7325:26;;7397:9;7391:4;7387:20;7383:1;7372:9;7368:17;7361:47;7425:78;7498:4;7489:6;7425:78;:::i;:::-;7417:86;;7197:313;;;;:::o;7516:311::-;7593:4;7683:18;7675:6;7672:30;7669:56;;;7705:18;;:::i;:::-;7669:56;7755:4;7747:6;7743:17;7735:25;;7815:4;7809;7805:15;7797:23;;7516:311;;;:::o;7833:117::-;7942:1;7939;7932:12;7973:710;8069:5;8094:81;8110:64;8167:6;8110:64;:::i;:::-;8094:81;:::i;:::-;8085:90;;8195:5;8224:6;8217:5;8210:21;8258:4;8251:5;8247:16;8240:23;;8311:4;8303:6;8299:17;8291:6;8287:30;8340:3;8332:6;8329:15;8326:122;;;8359:79;;:::i;:::-;8326:122;8474:6;8457:220;8491:6;8486:3;8483:15;8457:220;;;8566:3;8595:37;8628:3;8616:10;8595:37;:::i;:::-;8590:3;8583:50;8662:4;8657:3;8653:14;8646:21;;8533:144;8517:4;8512:3;8508:14;8501:21;;8457:220;;;8461:21;8075:608;;7973:710;;;;;:::o;8706:370::-;8777:5;8826:3;8819:4;8811:6;8807:17;8803:27;8793:122;;8834:79;;:::i;:::-;8793:122;8951:6;8938:20;8976:94;9066:3;9058:6;9051:4;9043:6;9039:17;8976:94;:::i;:::-;8967:103;;8783:293;8706:370;;;;:::o;9082:307::-;9143:4;9233:18;9225:6;9222:30;9219:56;;;9255:18;;:::i;:::-;9219:56;9293:29;9315:6;9293:29;:::i;:::-;9285:37;;9377:4;9371;9367:15;9359:23;;9082:307;;;:::o;9395:423::-;9472:5;9497:65;9513:48;9554:6;9513:48;:::i;:::-;9497:65;:::i;:::-;9488:74;;9585:6;9578:5;9571:21;9623:4;9616:5;9612:16;9661:3;9652:6;9647:3;9643:16;9640:25;9637:112;;;9668:79;;:::i;:::-;9637:112;9758:54;9805:6;9800:3;9795;9758:54;:::i;:::-;9478:340;9395:423;;;;;:::o;9837:338::-;9892:5;9941:3;9934:4;9926:6;9922:17;9918:27;9908:122;;9949:79;;:::i;:::-;9908:122;10066:6;10053:20;10091:78;10165:3;10157:6;10150:4;10142:6;10138:17;10091:78;:::i;:::-;10082:87;;9898:277;9837:338;;;;:::o;10181:1363::-;10326:6;10334;10342;10350;10399:3;10387:9;10378:7;10374:23;10370:33;10367:120;;;10406:79;;:::i;:::-;10367:120;10526:1;10551:53;10596:7;10587:6;10576:9;10572:22;10551:53;:::i;:::-;10541:63;;10497:117;10681:2;10670:9;10666:18;10653:32;10712:18;10704:6;10701:30;10698:117;;;10734:79;;:::i;:::-;10698:117;10839:78;10909:7;10900:6;10889:9;10885:22;10839:78;:::i;:::-;10829:88;;10624:303;10994:2;10983:9;10979:18;10966:32;11025:18;11017:6;11014:30;11011:117;;;11047:79;;:::i;:::-;11011:117;11152:78;11222:7;11213:6;11202:9;11198:22;11152:78;:::i;:::-;11142:88;;10937:303;11307:2;11296:9;11292:18;11279:32;11338:18;11330:6;11327:30;11324:117;;;11360:79;;:::i;:::-;11324:117;11465:62;11519:7;11510:6;11499:9;11495:22;11465:62;:::i;:::-;11455:72;;11250:287;10181:1363;;;;;;;:::o;11550:1509::-;11704:6;11712;11720;11728;11736;11785:3;11773:9;11764:7;11760:23;11756:33;11753:120;;;11792:79;;:::i;:::-;11753:120;11912:1;11937:53;11982:7;11973:6;11962:9;11958:22;11937:53;:::i;:::-;11927:63;;11883:117;12039:2;12065:53;12110:7;12101:6;12090:9;12086:22;12065:53;:::i;:::-;12055:63;;12010:118;12195:2;12184:9;12180:18;12167:32;12226:18;12218:6;12215:30;12212:117;;;12248:79;;:::i;:::-;12212:117;12353:78;12423:7;12414:6;12403:9;12399:22;12353:78;:::i;:::-;12343:88;;12138:303;12508:2;12497:9;12493:18;12480:32;12539:18;12531:6;12528:30;12525:117;;;12561:79;;:::i;:::-;12525:117;12666:78;12736:7;12727:6;12716:9;12712:22;12666:78;:::i;:::-;12656:88;;12451:303;12821:3;12810:9;12806:19;12793:33;12853:18;12845:6;12842:30;12839:117;;;12875:79;;:::i;:::-;12839:117;12980:62;13034:7;13025:6;13014:9;13010:22;12980:62;:::i;:::-;12970:72;;12764:288;11550:1509;;;;;;;;:::o;13065:311::-;13142:4;13232:18;13224:6;13221:30;13218:56;;;13254:18;;:::i;:::-;13218:56;13304:4;13296:6;13292:17;13284:25;;13364:4;13358;13354:15;13346:23;;13065:311;;;:::o;13399:710::-;13495:5;13520:81;13536:64;13593:6;13536:64;:::i;:::-;13520:81;:::i;:::-;13511:90;;13621:5;13650:6;13643:5;13636:21;13684:4;13677:5;13673:16;13666:23;;13737:4;13729:6;13725:17;13717:6;13713:30;13766:3;13758:6;13755:15;13752:122;;;13785:79;;:::i;:::-;13752:122;13900:6;13883:220;13917:6;13912:3;13909:15;13883:220;;;13992:3;14021:37;14054:3;14042:10;14021:37;:::i;:::-;14016:3;14009:50;14088:4;14083:3;14079:14;14072:21;;13959:144;13943:4;13938:3;13934:14;13927:21;;13883:220;;;13887:21;13501:608;;13399:710;;;;;:::o;14132:370::-;14203:5;14252:3;14245:4;14237:6;14233:17;14229:27;14219:122;;14260:79;;:::i;:::-;14219:122;14377:6;14364:20;14402:94;14492:3;14484:6;14477:4;14469:6;14465:17;14402:94;:::i;:::-;14393:103;;14209:293;14132:370;;;;:::o;14508:894::-;14626:6;14634;14683:2;14671:9;14662:7;14658:23;14654:32;14651:119;;;14689:79;;:::i;:::-;14651:119;14837:1;14826:9;14822:17;14809:31;14867:18;14859:6;14856:30;14853:117;;;14889:79;;:::i;:::-;14853:117;14994:78;15064:7;15055:6;15044:9;15040:22;14994:78;:::i;:::-;14984:88;;14780:302;15149:2;15138:9;15134:18;15121:32;15180:18;15172:6;15169:30;15166:117;;;15202:79;;:::i;:::-;15166:117;15307:78;15377:7;15368:6;15357:9;15353:22;15307:78;:::i;:::-;15297:88;;15092:303;14508:894;;;;;:::o;15408:114::-;15475:6;15509:5;15503:12;15493:22;;15408:114;;;:::o;15528:184::-;15627:11;15661:6;15656:3;15649:19;15701:4;15696:3;15692:14;15677:29;;15528:184;;;;:::o;15718:132::-;15785:4;15808:3;15800:11;;15838:4;15833:3;15829:14;15821:22;;15718:132;;;:::o;15856:108::-;15933:24;15951:5;15933:24;:::i;:::-;15928:3;15921:37;15856:108;;:::o;15970:179::-;16039:10;16060:46;16102:3;16094:6;16060:46;:::i;:::-;16138:4;16133:3;16129:14;16115:28;;15970:179;;;;:::o;16155:113::-;16225:4;16257;16252:3;16248:14;16240:22;;16155:113;;;:::o;16304:732::-;16423:3;16452:54;16500:5;16452:54;:::i;:::-;16522:86;16601:6;16596:3;16522:86;:::i;:::-;16515:93;;16632:56;16682:5;16632:56;:::i;:::-;16711:7;16742:1;16727:284;16752:6;16749:1;16746:13;16727:284;;;16828:6;16822:13;16855:63;16914:3;16899:13;16855:63;:::i;:::-;16848:70;;16941:60;16994:6;16941:60;:::i;:::-;16931:70;;16787:224;16774:1;16771;16767:9;16762:14;;16727:284;;;16731:14;17027:3;17020:10;;16428:608;;;16304:732;;;;:::o;17042:373::-;17185:4;17223:2;17212:9;17208:18;17200:26;;17272:9;17266:4;17262:20;17258:1;17247:9;17243:17;17236:47;17300:108;17403:4;17394:6;17300:108;:::i;:::-;17292:116;;17042:373;;;;:::o;17421:943::-;17516:6;17524;17532;17540;17589:3;17577:9;17568:7;17564:23;17560:33;17557:120;;;17596:79;;:::i;:::-;17557:120;17716:1;17741:53;17786:7;17777:6;17766:9;17762:22;17741:53;:::i;:::-;17731:63;;17687:117;17843:2;17869:53;17914:7;17905:6;17894:9;17890:22;17869:53;:::i;:::-;17859:63;;17814:118;17971:2;17997:53;18042:7;18033:6;18022:9;18018:22;17997:53;:::i;:::-;17987:63;;17942:118;18127:2;18116:9;18112:18;18099:32;18158:18;18150:6;18147:30;18144:117;;;18180:79;;:::i;:::-;18144:117;18285:62;18339:7;18330:6;18319:9;18315:22;18285:62;:::i;:::-;18275:72;;18070:287;17421:943;;;;;;;:::o;18370:118::-;18457:24;18475:5;18457:24;:::i;:::-;18452:3;18445:37;18370:118;;:::o;18494:222::-;18587:4;18625:2;18614:9;18610:18;18602:26;;18638:71;18706:1;18695:9;18691:17;18682:6;18638:71;:::i;:::-;18494:222;;;;:::o;18722:116::-;18792:21;18807:5;18792:21;:::i;:::-;18785:5;18782:32;18772:60;;18828:1;18825;18818:12;18772:60;18722:116;:::o;18844:133::-;18887:5;18925:6;18912:20;18903:29;;18941:30;18965:5;18941:30;:::i;:::-;18844:133;;;;:::o;18983:468::-;19048:6;19056;19105:2;19093:9;19084:7;19080:23;19076:32;19073:119;;;19111:79;;:::i;:::-;19073:119;19231:1;19256:53;19301:7;19292:6;19281:9;19277:22;19256:53;:::i;:::-;19246:63;;19202:117;19358:2;19384:50;19426:7;19417:6;19406:9;19402:22;19384:50;:::i;:::-;19374:60;;19329:115;18983:468;;;;;:::o;19457:474::-;19525:6;19533;19582:2;19570:9;19561:7;19557:23;19553:32;19550:119;;;19588:79;;:::i;:::-;19550:119;19708:1;19733:53;19778:7;19769:6;19758:9;19754:22;19733:53;:::i;:::-;19723:63;;19679:117;19835:2;19861:53;19906:7;19897:6;19886:9;19882:22;19861:53;:::i;:::-;19851:63;;19806:118;19457:474;;;;;:::o;19937:1089::-;20041:6;20049;20057;20065;20073;20122:3;20110:9;20101:7;20097:23;20093:33;20090:120;;;20129:79;;:::i;:::-;20090:120;20249:1;20274:53;20319:7;20310:6;20299:9;20295:22;20274:53;:::i;:::-;20264:63;;20220:117;20376:2;20402:53;20447:7;20438:6;20427:9;20423:22;20402:53;:::i;:::-;20392:63;;20347:118;20504:2;20530:53;20575:7;20566:6;20555:9;20551:22;20530:53;:::i;:::-;20520:63;;20475:118;20632:2;20658:53;20703:7;20694:6;20683:9;20679:22;20658:53;:::i;:::-;20648:63;;20603:118;20788:3;20777:9;20773:19;20760:33;20820:18;20812:6;20809:30;20806:117;;;20842:79;;:::i;:::-;20806:117;20947:62;21001:7;20992:6;20981:9;20977:22;20947:62;:::i;:::-;20937:72;;20731:288;19937:1089;;;;;;;;:::o;21032:329::-;21091:6;21140:2;21128:9;21119:7;21115:23;21111:32;21108:119;;;21146:79;;:::i;:::-;21108:119;21266:1;21291:53;21336:7;21327:6;21316:9;21312:22;21291:53;:::i;:::-;21281:63;;21237:117;21032:329;;;;:::o;21367:180::-;21415:77;21412:1;21405:88;21512:4;21509:1;21502:15;21536:4;21533:1;21526:15;21553:320;21597:6;21634:1;21628:4;21624:12;21614:22;;21681:1;21675:4;21671:12;21702:18;21692:81;;21758:4;21750:6;21746:17;21736:27;;21692:81;21820:2;21812:6;21809:14;21789:18;21786:38;21783:84;;21839:18;;:::i;:::-;21783:84;21604:269;21553:320;;;:::o;21879:332::-;22000:4;22038:2;22027:9;22023:18;22015:26;;22051:71;22119:1;22108:9;22104:17;22095:6;22051:71;:::i;:::-;22132:72;22200:2;22189:9;22185:18;22176:6;22132:72;:::i;:::-;21879:332;;;;;:::o;22217:::-;22338:4;22376:2;22365:9;22361:18;22353:26;;22389:71;22457:1;22446:9;22442:17;22433:6;22389:71;:::i;:::-;22470:72;22538:2;22527:9;22523:18;22514:6;22470:72;:::i;:::-;22217:332;;;;;:::o;22555:180::-;22603:77;22600:1;22593:88;22700:4;22697:1;22690:15;22724:4;22721:1;22714:15;22741:141;22790:4;22813:3;22805:11;;22836:3;22833:1;22826:14;22870:4;22867:1;22857:18;22849:26;;22741:141;;;:::o;22888:93::-;22925:6;22972:2;22967;22960:5;22956:14;22952:23;22942:33;;22888:93;;;:::o;22987:107::-;23031:8;23081:5;23075:4;23071:16;23050:37;;22987:107;;;;:::o;23100:393::-;23169:6;23219:1;23207:10;23203:18;23242:97;23272:66;23261:9;23242:97;:::i;:::-;23360:39;23390:8;23379:9;23360:39;:::i;:::-;23348:51;;23432:4;23428:9;23421:5;23417:21;23408:30;;23481:4;23471:8;23467:19;23460:5;23457:30;23447:40;;23176:317;;23100:393;;;;;:::o;23499:60::-;23527:3;23548:5;23541:12;;23499:60;;;:::o;23565:142::-;23615:9;23648:53;23666:34;23675:24;23693:5;23675:24;:::i;:::-;23666:34;:::i;:::-;23648:53;:::i;:::-;23635:66;;23565:142;;;:::o;23713:75::-;23756:3;23777:5;23770:12;;23713:75;;;:::o;23794:269::-;23904:39;23935:7;23904:39;:::i;:::-;23965:91;24014:41;24038:16;24014:41;:::i;:::-;24006:6;23999:4;23993:11;23965:91;:::i;:::-;23959:4;23952:105;23870:193;23794:269;;;:::o;24069:73::-;24114:3;24069:73;:::o;24148:189::-;24225:32;;:::i;:::-;24266:65;24324:6;24316;24310:4;24266:65;:::i;:::-;24201:136;24148:189;;:::o;24343:186::-;24403:120;24420:3;24413:5;24410:14;24403:120;;;24474:39;24511:1;24504:5;24474:39;:::i;:::-;24447:1;24440:5;24436:13;24427:22;;24403:120;;;24343:186;;:::o;24535:543::-;24636:2;24631:3;24628:11;24625:446;;;24670:38;24702:5;24670:38;:::i;:::-;24754:29;24772:10;24754:29;:::i;:::-;24744:8;24740:44;24937:2;24925:10;24922:18;24919:49;;;24958:8;24943:23;;24919:49;24981:80;25037:22;25055:3;25037:22;:::i;:::-;25027:8;25023:37;25010:11;24981:80;:::i;:::-;24640:431;;24625:446;24535:543;;;:::o;25084:117::-;25138:8;25188:5;25182:4;25178:16;25157:37;;25084:117;;;;:::o;25207:169::-;25251:6;25284:51;25332:1;25328:6;25320:5;25317:1;25313:13;25284:51;:::i;:::-;25280:56;25365:4;25359;25355:15;25345:25;;25258:118;25207:169;;;;:::o;25381:295::-;25457:4;25603:29;25628:3;25622:4;25603:29;:::i;:::-;25595:37;;25665:3;25662:1;25658:11;25652:4;25649:21;25641:29;;25381:295;;;;:::o;25681:1395::-;25798:37;25831:3;25798:37;:::i;:::-;25900:18;25892:6;25889:30;25886:56;;;25922:18;;:::i;:::-;25886:56;25966:38;25998:4;25992:11;25966:38;:::i;:::-;26051:67;26111:6;26103;26097:4;26051:67;:::i;:::-;26145:1;26169:4;26156:17;;26201:2;26193:6;26190:14;26218:1;26213:618;;;;26875:1;26892:6;26889:77;;;26941:9;26936:3;26932:19;26926:26;26917:35;;26889:77;26992:67;27052:6;27045:5;26992:67;:::i;:::-;26986:4;26979:81;26848:222;26183:887;;26213:618;26265:4;26261:9;26253:6;26249:22;26299:37;26331:4;26299:37;:::i;:::-;26358:1;26372:208;26386:7;26383:1;26380:14;26372:208;;;26465:9;26460:3;26456:19;26450:26;26442:6;26435:42;26516:1;26508:6;26504:14;26494:24;;26563:2;26552:9;26548:18;26535:31;;26409:4;26406:1;26402:12;26397:17;;26372:208;;;26608:6;26599:7;26596:19;26593:179;;;26666:9;26661:3;26657:19;26651:26;26709:48;26751:4;26743:6;26739:17;26728:9;26709:48;:::i;:::-;26701:6;26694:64;26616:156;26593:179;26818:1;26814;26806:6;26802:14;26798:22;26792:4;26785:36;26220:611;;;26183:887;;25773:1303;;;25681:1395;;:::o;27082:553::-;27259:4;27297:3;27286:9;27282:19;27274:27;;27311:71;27379:1;27368:9;27364:17;27355:6;27311:71;:::i;:::-;27392:72;27460:2;27449:9;27445:18;27436:6;27392:72;:::i;:::-;27474;27542:2;27531:9;27527:18;27518:6;27474:72;:::i;:::-;27556;27624:2;27613:9;27609:18;27600:6;27556:72;:::i;:::-;27082:553;;;;;;;:::o;27641:180::-;27689:77;27686:1;27679:88;27786:4;27783:1;27776:15;27810:4;27807:1;27800:15;27827:191;27867:3;27886:20;27904:1;27886:20;:::i;:::-;27881:25;;27920:20;27938:1;27920:20;:::i;:::-;27915:25;;27963:1;27960;27956:9;27949:16;;27984:3;27981:1;27978:10;27975:36;;;27991:18;;:::i;:::-;27975:36;27827:191;;;;:::o;28024:634::-;28245:4;28283:2;28272:9;28268:18;28260:26;;28332:9;28326:4;28322:20;28318:1;28307:9;28303:17;28296:47;28360:108;28463:4;28454:6;28360:108;:::i;:::-;28352:116;;28515:9;28509:4;28505:20;28500:2;28489:9;28485:18;28478:48;28543:108;28646:4;28637:6;28543:108;:::i;:::-;28535:116;;28024:634;;;;;:::o;28664:98::-;28715:6;28749:5;28743:12;28733:22;;28664:98;;;:::o;28768:168::-;28851:11;28885:6;28880:3;28873:19;28925:4;28920:3;28916:14;28901:29;;28768:168;;;;:::o;28942:373::-;29028:3;29056:38;29088:5;29056:38;:::i;:::-;29110:70;29173:6;29168:3;29110:70;:::i;:::-;29103:77;;29189:65;29247:6;29242:3;29235:4;29228:5;29224:16;29189:65;:::i;:::-;29279:29;29301:6;29279:29;:::i;:::-;29274:3;29270:39;29263:46;;29032:283;28942:373;;;;:::o;29321:751::-;29544:4;29582:3;29571:9;29567:19;29559:27;;29596:71;29664:1;29653:9;29649:17;29640:6;29596:71;:::i;:::-;29677:72;29745:2;29734:9;29730:18;29721:6;29677:72;:::i;:::-;29759;29827:2;29816:9;29812:18;29803:6;29759:72;:::i;:::-;29841;29909:2;29898:9;29894:18;29885:6;29841:72;:::i;:::-;29961:9;29955:4;29951:20;29945:3;29934:9;29930:19;29923:49;29989:76;30060:4;30051:6;29989:76;:::i;:::-;29981:84;;29321:751;;;;;;;;:::o;30078:141::-;30134:5;30165:6;30159:13;30150:22;;30181:32;30207:5;30181:32;:::i;:::-;30078:141;;;;:::o;30225:349::-;30294:6;30343:2;30331:9;30322:7;30318:23;30314:32;30311:119;;;30349:79;;:::i;:::-;30311:119;30469:1;30494:63;30549:7;30540:6;30529:9;30525:22;30494:63;:::i;:::-;30484:73;;30440:127;30225:349;;;;:::o;30580:1053::-;30903:4;30941:3;30930:9;30926:19;30918:27;;30955:71;31023:1;31012:9;31008:17;30999:6;30955:71;:::i;:::-;31036:72;31104:2;31093:9;31089:18;31080:6;31036:72;:::i;:::-;31155:9;31149:4;31145:20;31140:2;31129:9;31125:18;31118:48;31183:108;31286:4;31277:6;31183:108;:::i;:::-;31175:116;;31338:9;31332:4;31328:20;31323:2;31312:9;31308:18;31301:48;31366:108;31469:4;31460:6;31366:108;:::i;:::-;31358:116;;31522:9;31516:4;31512:20;31506:3;31495:9;31491:19;31484:49;31550:76;31621:4;31612:6;31550:76;:::i;:::-;31542:84;;30580:1053;;;;;;;;:::o" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "isApprovedForAll(address,address)": "e985e9c5", + "mint(address,uint256,uint256,bytes)": "731133e9", + "mintBatch(address,uint256[],uint256[],bytes)": "1f7fdffa", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "setURI(string)": "02fe5305", + "supportsInterface(bytes4)": "01ffc9a7", + "transferOwnership(address)": "f2fde38b", + "uri(uint256)": "0e89341c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mintBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newuri\",\"type\":\"string\"}],\"name\":\"setURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ERC1155/Erc1155.sol\":\"MyToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x22933f0f4897ff70a991c3baebfbc2574fd052dc4bae7fcafec45b07c1f23dd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13674cffad18cec55f013056496d7d2e3a34bd7bdbe23d1ef0c7588088c73367\",\"dweb:/ipfs/QmcBkrwxNvCApG48Gyby2L6qCNtuhaFncGpbJt3zuukTmu\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91\",\"dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x61a23d601c2ab69dd726ac55058604cbda98e1d728ba31a51c379a3f9eeea715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8cbb06152d82ebdd5ba1d33454e5759492040f309a82637c7e99c948a04fa20\",\"dweb:/ipfs/QmQQuLr6WSfLu97pMEh6XLefk99TSj9k5Qu1zXGPepwGiK\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0x35d120c427299af1525aaf07955314d9e36a62f14408eb93dec71a2e001f74d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://743e38acf441eece428c008be399c40a3ca5b2d595d58faf656cbdbac1a45374\",\"dweb:/ipfs/QmcWDuWkndox3dxa5P7ZgpKy3iuQKkxBq1cR9hPV1ZzAfa\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol\":{\"keccak256\":\"0x30afe9013aaeb3ba735284a9310792776f57a3b2db6fc1d99628f2c47287f5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c675b740746031092efcedb2e18179f05fce8ba482de64e982715e4aa16bc90\",\"dweb:/ipfs/QmVdUD89qYudLc88k5AsuQ6VWyz9SE1c6UXrVK32Yqh1YS\"]},\"@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xaf9586854de33dc9d3a7160cad8170fdfb4119d02a44bad90ba16d71d701cc92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c15a02762b0a51d66e36be135c27de656093fc09292fa743df8484b87d4486ea\",\"dweb:/ipfs/QmbEozFrt5XwC9nzDFuXvN1RF3hQVwKYNi8c2R4bFvYJ2X\"]},\"@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"contracts/ERC1155/Erc1155.sol\":{\"keccak256\":\"0xcd723c336e81431e488eb40a1c09ff5f931bf9b06b956adad103e0f37f78ad45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d745b123cb5087adbb212ab64d075d6e7a286111091c19043d44bf30f881c9e6\",\"dweb:/ipfs/QmcKBku75TBpu8FA8CFxNmBT7457NnoB633f8xgE3yrPCV\"]}},\"version\":1}" + } + }, + "contracts/ERC20/Erc20.sol": { + "MyERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ECDSAInvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "ECDSAInvalidSignatureS", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "ERC2612ExpiredSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC2612InvalidSigner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256" + } + ], + "name": "InvalidAccountNonce", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidShortString", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "str", + "type": "string" + } + ], + "name": "StringTooLong", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + { + "internalType": "bytes1", + "name": "fields", + "type": "bytes1" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "version", + "type": "string" + }, + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11095": { + "entryPoint": null, + "id": 11095, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_1613": { + "entryPoint": null, + "id": 1613, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_2249": { + "entryPoint": null, + "id": 2249, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_4712": { + "entryPoint": null, + "id": 4712, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_buildDomainSeparator_4759": { + "entryPoint": 917, + "id": 4759, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 631, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@getStringSlot_3924": { + "entryPoint": 1119, + "id": 3924, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@toShortStringWithFallback_3634": { + "entryPoint": 829, + "id": 3634, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@toShortString_3536": { + "entryPoint": 1010, + "id": 3536, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1212, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 1235, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 2150, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 2206, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 2411, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 2223, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 2167, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed": { + "entryPoint": 2240, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 2476, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_dataslot_t_bytes_memory_ptr": { + "entryPoint": 2523, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1443, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 2512, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1285, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 2333, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1764, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 1166, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 2196, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 1134, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1579, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1725, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_bytes_to_fixedbytes_from_t_bytes_memory_ptr_to_t_bytes32": { + "entryPoint": 2562, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1599, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1919, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 2350, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1464, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1390, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1889, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "identity": { + "entryPoint": 1589, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1857, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x22": { + "entryPoint": 1343, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 1296, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1639, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "read_from_memoryt_bytes32": { + "entryPoint": 2539, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 1129, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 2394, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1480, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1844, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1697, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1493, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1649, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1186, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1692, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:10002:43", + "nodeType": "YulBlock", + "src": "0:10002:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "379:81:43", + "nodeType": "YulBlock", + "src": "379:81:43", + "statements": [ + { + "nativeSrc": "389:65:43", + "nodeType": "YulAssignment", + "src": "389:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:43", + "nodeType": "YulIdentifier", + "src": "404:5:43" + }, + { + "kind": "number", + "nativeSrc": "411:42:43", + "nodeType": "YulLiteral", + "src": "411:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:43", + "nodeType": "YulIdentifier", + "src": "400:3:43" + }, + "nativeSrc": "400:54:43", + "nodeType": "YulFunctionCall", + "src": "400:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:43", + "nodeType": "YulIdentifier", + "src": "389:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:43", + "nodeType": "YulTypedName", + "src": "361:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:43", + "nodeType": "YulTypedName", + "src": "371:7:43", + "type": "" + } + ], + "src": "334:126:43" + }, + { + "body": { + "nativeSrc": "511:51:43", + "nodeType": "YulBlock", + "src": "511:51:43", + "statements": [ + { + "nativeSrc": "521:35:43", + "nodeType": "YulAssignment", + "src": "521:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:43", + "nodeType": "YulIdentifier", + "src": "550:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:43", + "nodeType": "YulIdentifier", + "src": "532:17:43" + }, + "nativeSrc": "532:24:43", + "nodeType": "YulFunctionCall", + "src": "532:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:43", + "nodeType": "YulIdentifier", + "src": "521:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:43", + "nodeType": "YulTypedName", + "src": "493:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:43", + "nodeType": "YulTypedName", + "src": "503:7:43", + "type": "" + } + ], + "src": "466:96:43" + }, + { + "body": { + "nativeSrc": "611:79:43", + "nodeType": "YulBlock", + "src": "611:79:43", + "statements": [ + { + "body": { + "nativeSrc": "668:16:43", + "nodeType": "YulBlock", + "src": "668:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "677:1:43", + "nodeType": "YulLiteral", + "src": "677:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "680:1:43", + "nodeType": "YulLiteral", + "src": "680:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "670:6:43", + "nodeType": "YulIdentifier", + "src": "670:6:43" + }, + "nativeSrc": "670:12:43", + "nodeType": "YulFunctionCall", + "src": "670:12:43" + }, + "nativeSrc": "670:12:43", + "nodeType": "YulExpressionStatement", + "src": "670:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "634:5:43", + "nodeType": "YulIdentifier", + "src": "634:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "659:5:43", + "nodeType": "YulIdentifier", + "src": "659:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "641:17:43", + "nodeType": "YulIdentifier", + "src": "641:17:43" + }, + "nativeSrc": "641:24:43", + "nodeType": "YulFunctionCall", + "src": "641:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "631:2:43", + "nodeType": "YulIdentifier", + "src": "631:2:43" + }, + "nativeSrc": "631:35:43", + "nodeType": "YulFunctionCall", + "src": "631:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "624:6:43", + "nodeType": "YulIdentifier", + "src": "624:6:43" + }, + "nativeSrc": "624:43:43", + "nodeType": "YulFunctionCall", + "src": "624:43:43" + }, + "nativeSrc": "621:63:43", + "nodeType": "YulIf", + "src": "621:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "568:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "604:5:43", + "nodeType": "YulTypedName", + "src": "604:5:43", + "type": "" + } + ], + "src": "568:122:43" + }, + { + "body": { + "nativeSrc": "759:80:43", + "nodeType": "YulBlock", + "src": "759:80:43", + "statements": [ + { + "nativeSrc": "769:22:43", + "nodeType": "YulAssignment", + "src": "769:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "784:6:43", + "nodeType": "YulIdentifier", + "src": "784:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "778:5:43", + "nodeType": "YulIdentifier", + "src": "778:5:43" + }, + "nativeSrc": "778:13:43", + "nodeType": "YulFunctionCall", + "src": "778:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "769:5:43", + "nodeType": "YulIdentifier", + "src": "769:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "827:5:43", + "nodeType": "YulIdentifier", + "src": "827:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "800:26:43", + "nodeType": "YulIdentifier", + "src": "800:26:43" + }, + "nativeSrc": "800:33:43", + "nodeType": "YulFunctionCall", + "src": "800:33:43" + }, + "nativeSrc": "800:33:43", + "nodeType": "YulExpressionStatement", + "src": "800:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "696:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "737:6:43", + "nodeType": "YulTypedName", + "src": "737:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "745:3:43", + "nodeType": "YulTypedName", + "src": "745:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "753:5:43", + "nodeType": "YulTypedName", + "src": "753:5:43", + "type": "" + } + ], + "src": "696:143:43" + }, + { + "body": { + "nativeSrc": "922:274:43", + "nodeType": "YulBlock", + "src": "922:274:43", + "statements": [ + { + "body": { + "nativeSrc": "968:83:43", + "nodeType": "YulBlock", + "src": "968:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "970:77:43", + "nodeType": "YulIdentifier", + "src": "970:77:43" + }, + "nativeSrc": "970:79:43", + "nodeType": "YulFunctionCall", + "src": "970:79:43" + }, + "nativeSrc": "970:79:43", + "nodeType": "YulExpressionStatement", + "src": "970:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "943:7:43", + "nodeType": "YulIdentifier", + "src": "943:7:43" + }, + { + "name": "headStart", + "nativeSrc": "952:9:43", + "nodeType": "YulIdentifier", + "src": "952:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "939:3:43", + "nodeType": "YulIdentifier", + "src": "939:3:43" + }, + "nativeSrc": "939:23:43", + "nodeType": "YulFunctionCall", + "src": "939:23:43" + }, + { + "kind": "number", + "nativeSrc": "964:2:43", + "nodeType": "YulLiteral", + "src": "964:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "935:3:43", + "nodeType": "YulIdentifier", + "src": "935:3:43" + }, + "nativeSrc": "935:32:43", + "nodeType": "YulFunctionCall", + "src": "935:32:43" + }, + "nativeSrc": "932:119:43", + "nodeType": "YulIf", + "src": "932:119:43" + }, + { + "nativeSrc": "1061:128:43", + "nodeType": "YulBlock", + "src": "1061:128:43", + "statements": [ + { + "nativeSrc": "1076:15:43", + "nodeType": "YulVariableDeclaration", + "src": "1076:15:43", + "value": { + "kind": "number", + "nativeSrc": "1090:1:43", + "nodeType": "YulLiteral", + "src": "1090:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1080:6:43", + "nodeType": "YulTypedName", + "src": "1080:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1105:74:43", + "nodeType": "YulAssignment", + "src": "1105:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1151:9:43", + "nodeType": "YulIdentifier", + "src": "1151:9:43" + }, + { + "name": "offset", + "nativeSrc": "1162:6:43", + "nodeType": "YulIdentifier", + "src": "1162:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1147:3:43", + "nodeType": "YulIdentifier", + "src": "1147:3:43" + }, + "nativeSrc": "1147:22:43", + "nodeType": "YulFunctionCall", + "src": "1147:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "1171:7:43", + "nodeType": "YulIdentifier", + "src": "1171:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "1115:31:43", + "nodeType": "YulIdentifier", + "src": "1115:31:43" + }, + "nativeSrc": "1115:64:43", + "nodeType": "YulFunctionCall", + "src": "1115:64:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1105:6:43", + "nodeType": "YulIdentifier", + "src": "1105:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "845:351:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "892:9:43", + "nodeType": "YulTypedName", + "src": "892:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "903:7:43", + "nodeType": "YulTypedName", + "src": "903:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "915:6:43", + "nodeType": "YulTypedName", + "src": "915:6:43", + "type": "" + } + ], + "src": "845:351:43" + }, + { + "body": { + "nativeSrc": "1261:40:43", + "nodeType": "YulBlock", + "src": "1261:40:43", + "statements": [ + { + "nativeSrc": "1272:22:43", + "nodeType": "YulAssignment", + "src": "1272:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1288:5:43", + "nodeType": "YulIdentifier", + "src": "1288:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1282:5:43", + "nodeType": "YulIdentifier", + "src": "1282:5:43" + }, + "nativeSrc": "1282:12:43", + "nodeType": "YulFunctionCall", + "src": "1282:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "1272:6:43", + "nodeType": "YulIdentifier", + "src": "1272:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1202:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1244:5:43", + "nodeType": "YulTypedName", + "src": "1244:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "1254:6:43", + "nodeType": "YulTypedName", + "src": "1254:6:43", + "type": "" + } + ], + "src": "1202:99:43" + }, + { + "body": { + "nativeSrc": "1335:152:43", + "nodeType": "YulBlock", + "src": "1335:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1352:1:43", + "nodeType": "YulLiteral", + "src": "1352:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1355:77:43", + "nodeType": "YulLiteral", + "src": "1355:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1345:6:43", + "nodeType": "YulIdentifier", + "src": "1345:6:43" + }, + "nativeSrc": "1345:88:43", + "nodeType": "YulFunctionCall", + "src": "1345:88:43" + }, + "nativeSrc": "1345:88:43", + "nodeType": "YulExpressionStatement", + "src": "1345:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1449:1:43", + "nodeType": "YulLiteral", + "src": "1449:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "1452:4:43", + "nodeType": "YulLiteral", + "src": "1452:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1442:6:43", + "nodeType": "YulIdentifier", + "src": "1442:6:43" + }, + "nativeSrc": "1442:15:43", + "nodeType": "YulFunctionCall", + "src": "1442:15:43" + }, + "nativeSrc": "1442:15:43", + "nodeType": "YulExpressionStatement", + "src": "1442:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1473:1:43", + "nodeType": "YulLiteral", + "src": "1473:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1476:4:43", + "nodeType": "YulLiteral", + "src": "1476:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1466:6:43", + "nodeType": "YulIdentifier", + "src": "1466:6:43" + }, + "nativeSrc": "1466:15:43", + "nodeType": "YulFunctionCall", + "src": "1466:15:43" + }, + "nativeSrc": "1466:15:43", + "nodeType": "YulExpressionStatement", + "src": "1466:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "1307:180:43", + "nodeType": "YulFunctionDefinition", + "src": "1307:180:43" + }, + { + "body": { + "nativeSrc": "1521:152:43", + "nodeType": "YulBlock", + "src": "1521:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1538:1:43", + "nodeType": "YulLiteral", + "src": "1538:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1541:77:43", + "nodeType": "YulLiteral", + "src": "1541:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1531:6:43", + "nodeType": "YulIdentifier", + "src": "1531:6:43" + }, + "nativeSrc": "1531:88:43", + "nodeType": "YulFunctionCall", + "src": "1531:88:43" + }, + "nativeSrc": "1531:88:43", + "nodeType": "YulExpressionStatement", + "src": "1531:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1635:1:43", + "nodeType": "YulLiteral", + "src": "1635:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "1638:4:43", + "nodeType": "YulLiteral", + "src": "1638:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1628:6:43", + "nodeType": "YulIdentifier", + "src": "1628:6:43" + }, + "nativeSrc": "1628:15:43", + "nodeType": "YulFunctionCall", + "src": "1628:15:43" + }, + "nativeSrc": "1628:15:43", + "nodeType": "YulExpressionStatement", + "src": "1628:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1659:1:43", + "nodeType": "YulLiteral", + "src": "1659:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1662:4:43", + "nodeType": "YulLiteral", + "src": "1662:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1652:6:43", + "nodeType": "YulIdentifier", + "src": "1652:6:43" + }, + "nativeSrc": "1652:15:43", + "nodeType": "YulFunctionCall", + "src": "1652:15:43" + }, + "nativeSrc": "1652:15:43", + "nodeType": "YulExpressionStatement", + "src": "1652:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "1493:180:43", + "nodeType": "YulFunctionDefinition", + "src": "1493:180:43" + }, + { + "body": { + "nativeSrc": "1730:269:43", + "nodeType": "YulBlock", + "src": "1730:269:43", + "statements": [ + { + "nativeSrc": "1740:22:43", + "nodeType": "YulAssignment", + "src": "1740:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "1754:4:43", + "nodeType": "YulIdentifier", + "src": "1754:4:43" + }, + { + "kind": "number", + "nativeSrc": "1760:1:43", + "nodeType": "YulLiteral", + "src": "1760:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "1750:3:43", + "nodeType": "YulIdentifier", + "src": "1750:3:43" + }, + "nativeSrc": "1750:12:43", + "nodeType": "YulFunctionCall", + "src": "1750:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "1740:6:43", + "nodeType": "YulIdentifier", + "src": "1740:6:43" + } + ] + }, + { + "nativeSrc": "1771:38:43", + "nodeType": "YulVariableDeclaration", + "src": "1771:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "1801:4:43", + "nodeType": "YulIdentifier", + "src": "1801:4:43" + }, + { + "kind": "number", + "nativeSrc": "1807:1:43", + "nodeType": "YulLiteral", + "src": "1807:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1797:3:43", + "nodeType": "YulIdentifier", + "src": "1797:3:43" + }, + "nativeSrc": "1797:12:43", + "nodeType": "YulFunctionCall", + "src": "1797:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "1775:18:43", + "nodeType": "YulTypedName", + "src": "1775:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1848:51:43", + "nodeType": "YulBlock", + "src": "1848:51:43", + "statements": [ + { + "nativeSrc": "1862:27:43", + "nodeType": "YulAssignment", + "src": "1862:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1876:6:43", + "nodeType": "YulIdentifier", + "src": "1876:6:43" + }, + { + "kind": "number", + "nativeSrc": "1884:4:43", + "nodeType": "YulLiteral", + "src": "1884:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1872:3:43", + "nodeType": "YulIdentifier", + "src": "1872:3:43" + }, + "nativeSrc": "1872:17:43", + "nodeType": "YulFunctionCall", + "src": "1872:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "1862:6:43", + "nodeType": "YulIdentifier", + "src": "1862:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "1828:18:43", + "nodeType": "YulIdentifier", + "src": "1828:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1821:6:43", + "nodeType": "YulIdentifier", + "src": "1821:6:43" + }, + "nativeSrc": "1821:26:43", + "nodeType": "YulFunctionCall", + "src": "1821:26:43" + }, + "nativeSrc": "1818:81:43", + "nodeType": "YulIf", + "src": "1818:81:43" + }, + { + "body": { + "nativeSrc": "1951:42:43", + "nodeType": "YulBlock", + "src": "1951:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "1965:16:43", + "nodeType": "YulIdentifier", + "src": "1965:16:43" + }, + "nativeSrc": "1965:18:43", + "nodeType": "YulFunctionCall", + "src": "1965:18:43" + }, + "nativeSrc": "1965:18:43", + "nodeType": "YulExpressionStatement", + "src": "1965:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "1915:18:43", + "nodeType": "YulIdentifier", + "src": "1915:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1938:6:43", + "nodeType": "YulIdentifier", + "src": "1938:6:43" + }, + { + "kind": "number", + "nativeSrc": "1946:2:43", + "nodeType": "YulLiteral", + "src": "1946:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1935:2:43", + "nodeType": "YulIdentifier", + "src": "1935:2:43" + }, + "nativeSrc": "1935:14:43", + "nodeType": "YulFunctionCall", + "src": "1935:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1912:2:43", + "nodeType": "YulIdentifier", + "src": "1912:2:43" + }, + "nativeSrc": "1912:38:43", + "nodeType": "YulFunctionCall", + "src": "1912:38:43" + }, + "nativeSrc": "1909:84:43", + "nodeType": "YulIf", + "src": "1909:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "1679:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "1714:4:43", + "nodeType": "YulTypedName", + "src": "1714:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "1723:6:43", + "nodeType": "YulTypedName", + "src": "1723:6:43", + "type": "" + } + ], + "src": "1679:320:43" + }, + { + "body": { + "nativeSrc": "2059:87:43", + "nodeType": "YulBlock", + "src": "2059:87:43", + "statements": [ + { + "nativeSrc": "2069:11:43", + "nodeType": "YulAssignment", + "src": "2069:11:43", + "value": { + "name": "ptr", + "nativeSrc": "2077:3:43", + "nodeType": "YulIdentifier", + "src": "2077:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "2069:4:43", + "nodeType": "YulIdentifier", + "src": "2069:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2097:1:43", + "nodeType": "YulLiteral", + "src": "2097:1:43", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "2100:3:43", + "nodeType": "YulIdentifier", + "src": "2100:3:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2090:6:43", + "nodeType": "YulIdentifier", + "src": "2090:6:43" + }, + "nativeSrc": "2090:14:43", + "nodeType": "YulFunctionCall", + "src": "2090:14:43" + }, + "nativeSrc": "2090:14:43", + "nodeType": "YulExpressionStatement", + "src": "2090:14:43" + }, + { + "nativeSrc": "2113:26:43", + "nodeType": "YulAssignment", + "src": "2113:26:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2131:1:43", + "nodeType": "YulLiteral", + "src": "2131:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2134:4:43", + "nodeType": "YulLiteral", + "src": "2134:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "2121:9:43", + "nodeType": "YulIdentifier", + "src": "2121:9:43" + }, + "nativeSrc": "2121:18:43", + "nodeType": "YulFunctionCall", + "src": "2121:18:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "2113:4:43", + "nodeType": "YulIdentifier", + "src": "2113:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "2005:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "2046:3:43", + "nodeType": "YulTypedName", + "src": "2046:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "2054:4:43", + "nodeType": "YulTypedName", + "src": "2054:4:43", + "type": "" + } + ], + "src": "2005:141:43" + }, + { + "body": { + "nativeSrc": "2196:49:43", + "nodeType": "YulBlock", + "src": "2196:49:43", + "statements": [ + { + "nativeSrc": "2206:33:43", + "nodeType": "YulAssignment", + "src": "2206:33:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2224:5:43", + "nodeType": "YulIdentifier", + "src": "2224:5:43" + }, + { + "kind": "number", + "nativeSrc": "2231:2:43", + "nodeType": "YulLiteral", + "src": "2231:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2220:3:43", + "nodeType": "YulIdentifier", + "src": "2220:3:43" + }, + "nativeSrc": "2220:14:43", + "nodeType": "YulFunctionCall", + "src": "2220:14:43" + }, + { + "kind": "number", + "nativeSrc": "2236:2:43", + "nodeType": "YulLiteral", + "src": "2236:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "2216:3:43", + "nodeType": "YulIdentifier", + "src": "2216:3:43" + }, + "nativeSrc": "2216:23:43", + "nodeType": "YulFunctionCall", + "src": "2216:23:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2206:6:43", + "nodeType": "YulIdentifier", + "src": "2206:6:43" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "2152:93:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2179:5:43", + "nodeType": "YulTypedName", + "src": "2179:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "2189:6:43", + "nodeType": "YulTypedName", + "src": "2189:6:43", + "type": "" + } + ], + "src": "2152:93:43" + }, + { + "body": { + "nativeSrc": "2304:54:43", + "nodeType": "YulBlock", + "src": "2304:54:43", + "statements": [ + { + "nativeSrc": "2314:37:43", + "nodeType": "YulAssignment", + "src": "2314:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "2339:4:43", + "nodeType": "YulIdentifier", + "src": "2339:4:43" + }, + { + "name": "value", + "nativeSrc": "2345:5:43", + "nodeType": "YulIdentifier", + "src": "2345:5:43" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "2335:3:43", + "nodeType": "YulIdentifier", + "src": "2335:3:43" + }, + "nativeSrc": "2335:16:43", + "nodeType": "YulFunctionCall", + "src": "2335:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "2314:8:43", + "nodeType": "YulIdentifier", + "src": "2314:8:43" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "2251:107:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "2279:4:43", + "nodeType": "YulTypedName", + "src": "2279:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "2285:5:43", + "nodeType": "YulTypedName", + "src": "2285:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "2295:8:43", + "nodeType": "YulTypedName", + "src": "2295:8:43", + "type": "" + } + ], + "src": "2251:107:43" + }, + { + "body": { + "nativeSrc": "2440:317:43", + "nodeType": "YulBlock", + "src": "2440:317:43", + "statements": [ + { + "nativeSrc": "2450:35:43", + "nodeType": "YulVariableDeclaration", + "src": "2450:35:43", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "2471:10:43", + "nodeType": "YulIdentifier", + "src": "2471:10:43" + }, + { + "kind": "number", + "nativeSrc": "2483:1:43", + "nodeType": "YulLiteral", + "src": "2483:1:43", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2467:3:43", + "nodeType": "YulIdentifier", + "src": "2467:3:43" + }, + "nativeSrc": "2467:18:43", + "nodeType": "YulFunctionCall", + "src": "2467:18:43" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "2454:9:43", + "nodeType": "YulTypedName", + "src": "2454:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2494:109:43", + "nodeType": "YulVariableDeclaration", + "src": "2494:109:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "2525:9:43", + "nodeType": "YulIdentifier", + "src": "2525:9:43" + }, + { + "kind": "number", + "nativeSrc": "2536:66:43", + "nodeType": "YulLiteral", + "src": "2536:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "2506:18:43", + "nodeType": "YulIdentifier", + "src": "2506:18:43" + }, + "nativeSrc": "2506:97:43", + "nodeType": "YulFunctionCall", + "src": "2506:97:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "2498:4:43", + "nodeType": "YulTypedName", + "src": "2498:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2612:51:43", + "nodeType": "YulAssignment", + "src": "2612:51:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "2643:9:43", + "nodeType": "YulIdentifier", + "src": "2643:9:43" + }, + { + "name": "toInsert", + "nativeSrc": "2654:8:43", + "nodeType": "YulIdentifier", + "src": "2654:8:43" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "2624:18:43", + "nodeType": "YulIdentifier", + "src": "2624:18:43" + }, + "nativeSrc": "2624:39:43", + "nodeType": "YulFunctionCall", + "src": "2624:39:43" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "2612:8:43", + "nodeType": "YulIdentifier", + "src": "2612:8:43" + } + ] + }, + { + "nativeSrc": "2672:30:43", + "nodeType": "YulAssignment", + "src": "2672:30:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2685:5:43", + "nodeType": "YulIdentifier", + "src": "2685:5:43" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "2696:4:43", + "nodeType": "YulIdentifier", + "src": "2696:4:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2692:3:43", + "nodeType": "YulIdentifier", + "src": "2692:3:43" + }, + "nativeSrc": "2692:9:43", + "nodeType": "YulFunctionCall", + "src": "2692:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2681:3:43", + "nodeType": "YulIdentifier", + "src": "2681:3:43" + }, + "nativeSrc": "2681:21:43", + "nodeType": "YulFunctionCall", + "src": "2681:21:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2672:5:43", + "nodeType": "YulIdentifier", + "src": "2672:5:43" + } + ] + }, + { + "nativeSrc": "2711:40:43", + "nodeType": "YulAssignment", + "src": "2711:40:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2724:5:43", + "nodeType": "YulIdentifier", + "src": "2724:5:43" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "2735:8:43", + "nodeType": "YulIdentifier", + "src": "2735:8:43" + }, + { + "name": "mask", + "nativeSrc": "2745:4:43", + "nodeType": "YulIdentifier", + "src": "2745:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2731:3:43", + "nodeType": "YulIdentifier", + "src": "2731:3:43" + }, + "nativeSrc": "2731:19:43", + "nodeType": "YulFunctionCall", + "src": "2731:19:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2721:2:43", + "nodeType": "YulIdentifier", + "src": "2721:2:43" + }, + "nativeSrc": "2721:30:43", + "nodeType": "YulFunctionCall", + "src": "2721:30:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2711:6:43", + "nodeType": "YulIdentifier", + "src": "2711:6:43" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "2364:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2401:5:43", + "nodeType": "YulTypedName", + "src": "2401:5:43", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "2408:10:43", + "nodeType": "YulTypedName", + "src": "2408:10:43", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "2420:8:43", + "nodeType": "YulTypedName", + "src": "2420:8:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "2433:6:43", + "nodeType": "YulTypedName", + "src": "2433:6:43", + "type": "" + } + ], + "src": "2364:393:43" + }, + { + "body": { + "nativeSrc": "2808:32:43", + "nodeType": "YulBlock", + "src": "2808:32:43", + "statements": [ + { + "nativeSrc": "2818:16:43", + "nodeType": "YulAssignment", + "src": "2818:16:43", + "value": { + "name": "value", + "nativeSrc": "2829:5:43", + "nodeType": "YulIdentifier", + "src": "2829:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2818:7:43", + "nodeType": "YulIdentifier", + "src": "2818:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "2763:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2790:5:43", + "nodeType": "YulTypedName", + "src": "2790:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2800:7:43", + "nodeType": "YulTypedName", + "src": "2800:7:43", + "type": "" + } + ], + "src": "2763:77:43" + }, + { + "body": { + "nativeSrc": "2878:28:43", + "nodeType": "YulBlock", + "src": "2878:28:43", + "statements": [ + { + "nativeSrc": "2888:12:43", + "nodeType": "YulAssignment", + "src": "2888:12:43", + "value": { + "name": "value", + "nativeSrc": "2895:5:43", + "nodeType": "YulIdentifier", + "src": "2895:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "2888:3:43", + "nodeType": "YulIdentifier", + "src": "2888:3:43" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "2846:60:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2864:5:43", + "nodeType": "YulTypedName", + "src": "2864:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "2874:3:43", + "nodeType": "YulTypedName", + "src": "2874:3:43", + "type": "" + } + ], + "src": "2846:60:43" + }, + { + "body": { + "nativeSrc": "2972:82:43", + "nodeType": "YulBlock", + "src": "2972:82:43", + "statements": [ + { + "nativeSrc": "2982:66:43", + "nodeType": "YulAssignment", + "src": "2982:66:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3040:5:43", + "nodeType": "YulIdentifier", + "src": "3040:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3022:17:43", + "nodeType": "YulIdentifier", + "src": "3022:17:43" + }, + "nativeSrc": "3022:24:43", + "nodeType": "YulFunctionCall", + "src": "3022:24:43" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "3013:8:43", + "nodeType": "YulIdentifier", + "src": "3013:8:43" + }, + "nativeSrc": "3013:34:43", + "nodeType": "YulFunctionCall", + "src": "3013:34:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2995:17:43", + "nodeType": "YulIdentifier", + "src": "2995:17:43" + }, + "nativeSrc": "2995:53:43", + "nodeType": "YulFunctionCall", + "src": "2995:53:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "2982:9:43", + "nodeType": "YulIdentifier", + "src": "2982:9:43" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "2912:142:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2952:5:43", + "nodeType": "YulTypedName", + "src": "2952:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "2962:9:43", + "nodeType": "YulTypedName", + "src": "2962:9:43", + "type": "" + } + ], + "src": "2912:142:43" + }, + { + "body": { + "nativeSrc": "3107:28:43", + "nodeType": "YulBlock", + "src": "3107:28:43", + "statements": [ + { + "nativeSrc": "3117:12:43", + "nodeType": "YulAssignment", + "src": "3117:12:43", + "value": { + "name": "value", + "nativeSrc": "3124:5:43", + "nodeType": "YulIdentifier", + "src": "3124:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "3117:3:43", + "nodeType": "YulIdentifier", + "src": "3117:3:43" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "3060:75:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3093:5:43", + "nodeType": "YulTypedName", + "src": "3093:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "3103:3:43", + "nodeType": "YulTypedName", + "src": "3103:3:43", + "type": "" + } + ], + "src": "3060:75:43" + }, + { + "body": { + "nativeSrc": "3217:193:43", + "nodeType": "YulBlock", + "src": "3217:193:43", + "statements": [ + { + "nativeSrc": "3227:63:43", + "nodeType": "YulVariableDeclaration", + "src": "3227:63:43", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "3282:7:43", + "nodeType": "YulIdentifier", + "src": "3282:7:43" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "3251:30:43", + "nodeType": "YulIdentifier", + "src": "3251:30:43" + }, + "nativeSrc": "3251:39:43", + "nodeType": "YulFunctionCall", + "src": "3251:39:43" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "3231:16:43", + "nodeType": "YulTypedName", + "src": "3231:16:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "3306:4:43", + "nodeType": "YulIdentifier", + "src": "3306:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "3346:4:43", + "nodeType": "YulIdentifier", + "src": "3346:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "3340:5:43", + "nodeType": "YulIdentifier", + "src": "3340:5:43" + }, + "nativeSrc": "3340:11:43", + "nodeType": "YulFunctionCall", + "src": "3340:11:43" + }, + { + "name": "offset", + "nativeSrc": "3353:6:43", + "nodeType": "YulIdentifier", + "src": "3353:6:43" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "3385:16:43", + "nodeType": "YulIdentifier", + "src": "3385:16:43" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "3361:23:43", + "nodeType": "YulIdentifier", + "src": "3361:23:43" + }, + "nativeSrc": "3361:41:43", + "nodeType": "YulFunctionCall", + "src": "3361:41:43" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "3312:27:43", + "nodeType": "YulIdentifier", + "src": "3312:27:43" + }, + "nativeSrc": "3312:91:43", + "nodeType": "YulFunctionCall", + "src": "3312:91:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "3299:6:43", + "nodeType": "YulIdentifier", + "src": "3299:6:43" + }, + "nativeSrc": "3299:105:43", + "nodeType": "YulFunctionCall", + "src": "3299:105:43" + }, + "nativeSrc": "3299:105:43", + "nodeType": "YulExpressionStatement", + "src": "3299:105:43" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "3141:269:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "3194:4:43", + "nodeType": "YulTypedName", + "src": "3194:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "3200:6:43", + "nodeType": "YulTypedName", + "src": "3200:6:43", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "3208:7:43", + "nodeType": "YulTypedName", + "src": "3208:7:43", + "type": "" + } + ], + "src": "3141:269:43" + }, + { + "body": { + "nativeSrc": "3465:24:43", + "nodeType": "YulBlock", + "src": "3465:24:43", + "statements": [ + { + "nativeSrc": "3475:8:43", + "nodeType": "YulAssignment", + "src": "3475:8:43", + "value": { + "kind": "number", + "nativeSrc": "3482:1:43", + "nodeType": "YulLiteral", + "src": "3482:1:43", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "3475:3:43", + "nodeType": "YulIdentifier", + "src": "3475:3:43" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "3416:73:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "3461:3:43", + "nodeType": "YulTypedName", + "src": "3461:3:43", + "type": "" + } + ], + "src": "3416:73:43" + }, + { + "body": { + "nativeSrc": "3548:136:43", + "nodeType": "YulBlock", + "src": "3548:136:43", + "statements": [ + { + "nativeSrc": "3558:46:43", + "nodeType": "YulVariableDeclaration", + "src": "3558:46:43", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "3572:30:43", + "nodeType": "YulIdentifier", + "src": "3572:30:43" + }, + "nativeSrc": "3572:32:43", + "nodeType": "YulFunctionCall", + "src": "3572:32:43" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "3562:6:43", + "nodeType": "YulTypedName", + "src": "3562:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "3657:4:43", + "nodeType": "YulIdentifier", + "src": "3657:4:43" + }, + { + "name": "offset", + "nativeSrc": "3663:6:43", + "nodeType": "YulIdentifier", + "src": "3663:6:43" + }, + { + "name": "zero_0", + "nativeSrc": "3671:6:43", + "nodeType": "YulIdentifier", + "src": "3671:6:43" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "3613:43:43", + "nodeType": "YulIdentifier", + "src": "3613:43:43" + }, + "nativeSrc": "3613:65:43", + "nodeType": "YulFunctionCall", + "src": "3613:65:43" + }, + "nativeSrc": "3613:65:43", + "nodeType": "YulExpressionStatement", + "src": "3613:65:43" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "3495:189:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "3534:4:43", + "nodeType": "YulTypedName", + "src": "3534:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "3540:6:43", + "nodeType": "YulTypedName", + "src": "3540:6:43", + "type": "" + } + ], + "src": "3495:189:43" + }, + { + "body": { + "nativeSrc": "3740:136:43", + "nodeType": "YulBlock", + "src": "3740:136:43", + "statements": [ + { + "body": { + "nativeSrc": "3807:63:43", + "nodeType": "YulBlock", + "src": "3807:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "3851:5:43", + "nodeType": "YulIdentifier", + "src": "3851:5:43" + }, + { + "kind": "number", + "nativeSrc": "3858:1:43", + "nodeType": "YulLiteral", + "src": "3858:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "3821:29:43", + "nodeType": "YulIdentifier", + "src": "3821:29:43" + }, + "nativeSrc": "3821:39:43", + "nodeType": "YulFunctionCall", + "src": "3821:39:43" + }, + "nativeSrc": "3821:39:43", + "nodeType": "YulExpressionStatement", + "src": "3821:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "3760:5:43", + "nodeType": "YulIdentifier", + "src": "3760:5:43" + }, + { + "name": "end", + "nativeSrc": "3767:3:43", + "nodeType": "YulIdentifier", + "src": "3767:3:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3757:2:43", + "nodeType": "YulIdentifier", + "src": "3757:2:43" + }, + "nativeSrc": "3757:14:43", + "nodeType": "YulFunctionCall", + "src": "3757:14:43" + }, + "nativeSrc": "3750:120:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "3772:26:43", + "nodeType": "YulBlock", + "src": "3772:26:43", + "statements": [ + { + "nativeSrc": "3774:22:43", + "nodeType": "YulAssignment", + "src": "3774:22:43", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "3787:5:43", + "nodeType": "YulIdentifier", + "src": "3787:5:43" + }, + { + "kind": "number", + "nativeSrc": "3794:1:43", + "nodeType": "YulLiteral", + "src": "3794:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3783:3:43", + "nodeType": "YulIdentifier", + "src": "3783:3:43" + }, + "nativeSrc": "3783:13:43", + "nodeType": "YulFunctionCall", + "src": "3783:13:43" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "3774:5:43", + "nodeType": "YulIdentifier", + "src": "3774:5:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "3754:2:43", + "nodeType": "YulBlock", + "src": "3754:2:43", + "statements": [] + }, + "src": "3750:120:43" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "3690:186:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "3728:5:43", + "nodeType": "YulTypedName", + "src": "3728:5:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3735:3:43", + "nodeType": "YulTypedName", + "src": "3735:3:43", + "type": "" + } + ], + "src": "3690:186:43" + }, + { + "body": { + "nativeSrc": "3961:464:43", + "nodeType": "YulBlock", + "src": "3961:464:43", + "statements": [ + { + "body": { + "nativeSrc": "3987:431:43", + "nodeType": "YulBlock", + "src": "3987:431:43", + "statements": [ + { + "nativeSrc": "4001:54:43", + "nodeType": "YulVariableDeclaration", + "src": "4001:54:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "4049:5:43", + "nodeType": "YulIdentifier", + "src": "4049:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "4017:31:43", + "nodeType": "YulIdentifier", + "src": "4017:31:43" + }, + "nativeSrc": "4017:38:43", + "nodeType": "YulFunctionCall", + "src": "4017:38:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "4005:8:43", + "nodeType": "YulTypedName", + "src": "4005:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4068:63:43", + "nodeType": "YulVariableDeclaration", + "src": "4068:63:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "4091:8:43", + "nodeType": "YulIdentifier", + "src": "4091:8:43" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "4119:10:43", + "nodeType": "YulIdentifier", + "src": "4119:10:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "4101:17:43", + "nodeType": "YulIdentifier", + "src": "4101:17:43" + }, + "nativeSrc": "4101:29:43", + "nodeType": "YulFunctionCall", + "src": "4101:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4087:3:43", + "nodeType": "YulIdentifier", + "src": "4087:3:43" + }, + "nativeSrc": "4087:44:43", + "nodeType": "YulFunctionCall", + "src": "4087:44:43" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "4072:11:43", + "nodeType": "YulTypedName", + "src": "4072:11:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4288:27:43", + "nodeType": "YulBlock", + "src": "4288:27:43", + "statements": [ + { + "nativeSrc": "4290:23:43", + "nodeType": "YulAssignment", + "src": "4290:23:43", + "value": { + "name": "dataArea", + "nativeSrc": "4305:8:43", + "nodeType": "YulIdentifier", + "src": "4305:8:43" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "4290:11:43", + "nodeType": "YulIdentifier", + "src": "4290:11:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "4272:10:43", + "nodeType": "YulIdentifier", + "src": "4272:10:43" + }, + { + "kind": "number", + "nativeSrc": "4284:2:43", + "nodeType": "YulLiteral", + "src": "4284:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "4269:2:43", + "nodeType": "YulIdentifier", + "src": "4269:2:43" + }, + "nativeSrc": "4269:18:43", + "nodeType": "YulFunctionCall", + "src": "4269:18:43" + }, + "nativeSrc": "4266:49:43", + "nodeType": "YulIf", + "src": "4266:49:43" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "4357:11:43", + "nodeType": "YulIdentifier", + "src": "4357:11:43" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "4374:8:43", + "nodeType": "YulIdentifier", + "src": "4374:8:43" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "4402:3:43", + "nodeType": "YulIdentifier", + "src": "4402:3:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "4384:17:43", + "nodeType": "YulIdentifier", + "src": "4384:17:43" + }, + "nativeSrc": "4384:22:43", + "nodeType": "YulFunctionCall", + "src": "4384:22:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4370:3:43", + "nodeType": "YulIdentifier", + "src": "4370:3:43" + }, + "nativeSrc": "4370:37:43", + "nodeType": "YulFunctionCall", + "src": "4370:37:43" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "4328:28:43", + "nodeType": "YulIdentifier", + "src": "4328:28:43" + }, + "nativeSrc": "4328:80:43", + "nodeType": "YulFunctionCall", + "src": "4328:80:43" + }, + "nativeSrc": "4328:80:43", + "nodeType": "YulExpressionStatement", + "src": "4328:80:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "3978:3:43", + "nodeType": "YulIdentifier", + "src": "3978:3:43" + }, + { + "kind": "number", + "nativeSrc": "3983:2:43", + "nodeType": "YulLiteral", + "src": "3983:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3975:2:43", + "nodeType": "YulIdentifier", + "src": "3975:2:43" + }, + "nativeSrc": "3975:11:43", + "nodeType": "YulFunctionCall", + "src": "3975:11:43" + }, + "nativeSrc": "3972:446:43", + "nodeType": "YulIf", + "src": "3972:446:43" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "3882:543:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "3937:5:43", + "nodeType": "YulTypedName", + "src": "3937:5:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "3944:3:43", + "nodeType": "YulTypedName", + "src": "3944:3:43", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "3949:10:43", + "nodeType": "YulTypedName", + "src": "3949:10:43", + "type": "" + } + ], + "src": "3882:543:43" + }, + { + "body": { + "nativeSrc": "4494:54:43", + "nodeType": "YulBlock", + "src": "4494:54:43", + "statements": [ + { + "nativeSrc": "4504:37:43", + "nodeType": "YulAssignment", + "src": "4504:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "4529:4:43", + "nodeType": "YulIdentifier", + "src": "4529:4:43" + }, + { + "name": "value", + "nativeSrc": "4535:5:43", + "nodeType": "YulIdentifier", + "src": "4535:5:43" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "4525:3:43", + "nodeType": "YulIdentifier", + "src": "4525:3:43" + }, + "nativeSrc": "4525:16:43", + "nodeType": "YulFunctionCall", + "src": "4525:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "4504:8:43", + "nodeType": "YulIdentifier", + "src": "4504:8:43" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "4431:117:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "4469:4:43", + "nodeType": "YulTypedName", + "src": "4469:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "4475:5:43", + "nodeType": "YulTypedName", + "src": "4475:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "4485:8:43", + "nodeType": "YulTypedName", + "src": "4485:8:43", + "type": "" + } + ], + "src": "4431:117:43" + }, + { + "body": { + "nativeSrc": "4605:118:43", + "nodeType": "YulBlock", + "src": "4605:118:43", + "statements": [ + { + "nativeSrc": "4615:68:43", + "nodeType": "YulVariableDeclaration", + "src": "4615:68:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4664:1:43", + "nodeType": "YulLiteral", + "src": "4664:1:43", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "4667:5:43", + "nodeType": "YulIdentifier", + "src": "4667:5:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "4660:3:43", + "nodeType": "YulIdentifier", + "src": "4660:3:43" + }, + "nativeSrc": "4660:13:43", + "nodeType": "YulFunctionCall", + "src": "4660:13:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4679:1:43", + "nodeType": "YulLiteral", + "src": "4679:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4675:3:43", + "nodeType": "YulIdentifier", + "src": "4675:3:43" + }, + "nativeSrc": "4675:6:43", + "nodeType": "YulFunctionCall", + "src": "4675:6:43" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "4631:28:43", + "nodeType": "YulIdentifier", + "src": "4631:28:43" + }, + "nativeSrc": "4631:51:43", + "nodeType": "YulFunctionCall", + "src": "4631:51:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4627:3:43", + "nodeType": "YulIdentifier", + "src": "4627:3:43" + }, + "nativeSrc": "4627:56:43", + "nodeType": "YulFunctionCall", + "src": "4627:56:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "4619:4:43", + "nodeType": "YulTypedName", + "src": "4619:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4692:25:43", + "nodeType": "YulAssignment", + "src": "4692:25:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "4706:4:43", + "nodeType": "YulIdentifier", + "src": "4706:4:43" + }, + { + "name": "mask", + "nativeSrc": "4712:4:43", + "nodeType": "YulIdentifier", + "src": "4712:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4702:3:43", + "nodeType": "YulIdentifier", + "src": "4702:3:43" + }, + "nativeSrc": "4702:15:43", + "nodeType": "YulFunctionCall", + "src": "4702:15:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4692:6:43", + "nodeType": "YulIdentifier", + "src": "4692:6:43" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "4554:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "4582:4:43", + "nodeType": "YulTypedName", + "src": "4582:4:43", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "4588:5:43", + "nodeType": "YulTypedName", + "src": "4588:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "4598:6:43", + "nodeType": "YulTypedName", + "src": "4598:6:43", + "type": "" + } + ], + "src": "4554:169:43" + }, + { + "body": { + "nativeSrc": "4809:214:43", + "nodeType": "YulBlock", + "src": "4809:214:43", + "statements": [ + { + "nativeSrc": "4942:37:43", + "nodeType": "YulAssignment", + "src": "4942:37:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "4969:4:43", + "nodeType": "YulIdentifier", + "src": "4969:4:43" + }, + { + "name": "len", + "nativeSrc": "4975:3:43", + "nodeType": "YulIdentifier", + "src": "4975:3:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "4950:18:43", + "nodeType": "YulIdentifier", + "src": "4950:18:43" + }, + "nativeSrc": "4950:29:43", + "nodeType": "YulFunctionCall", + "src": "4950:29:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "4942:4:43", + "nodeType": "YulIdentifier", + "src": "4942:4:43" + } + ] + }, + { + "nativeSrc": "4988:29:43", + "nodeType": "YulAssignment", + "src": "4988:29:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "4999:4:43", + "nodeType": "YulIdentifier", + "src": "4999:4:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5009:1:43", + "nodeType": "YulLiteral", + "src": "5009:1:43", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "5012:3:43", + "nodeType": "YulIdentifier", + "src": "5012:3:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5005:3:43", + "nodeType": "YulIdentifier", + "src": "5005:3:43" + }, + "nativeSrc": "5005:11:43", + "nodeType": "YulFunctionCall", + "src": "5005:11:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "4996:2:43", + "nodeType": "YulIdentifier", + "src": "4996:2:43" + }, + "nativeSrc": "4996:21:43", + "nodeType": "YulFunctionCall", + "src": "4996:21:43" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "4988:4:43", + "nodeType": "YulIdentifier", + "src": "4988:4:43" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "4728:295:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "4790:4:43", + "nodeType": "YulTypedName", + "src": "4790:4:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "4796:3:43", + "nodeType": "YulTypedName", + "src": "4796:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "4804:4:43", + "nodeType": "YulTypedName", + "src": "4804:4:43", + "type": "" + } + ], + "src": "4728:295:43" + }, + { + "body": { + "nativeSrc": "5120:1303:43", + "nodeType": "YulBlock", + "src": "5120:1303:43", + "statements": [ + { + "nativeSrc": "5131:51:43", + "nodeType": "YulVariableDeclaration", + "src": "5131:51:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "5178:3:43", + "nodeType": "YulIdentifier", + "src": "5178:3:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5145:32:43", + "nodeType": "YulIdentifier", + "src": "5145:32:43" + }, + "nativeSrc": "5145:37:43", + "nodeType": "YulFunctionCall", + "src": "5145:37:43" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "5135:6:43", + "nodeType": "YulTypedName", + "src": "5135:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5267:22:43", + "nodeType": "YulBlock", + "src": "5267:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "5269:16:43", + "nodeType": "YulIdentifier", + "src": "5269:16:43" + }, + "nativeSrc": "5269:18:43", + "nodeType": "YulFunctionCall", + "src": "5269:18:43" + }, + "nativeSrc": "5269:18:43", + "nodeType": "YulExpressionStatement", + "src": "5269:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "5239:6:43", + "nodeType": "YulIdentifier", + "src": "5239:6:43" + }, + { + "kind": "number", + "nativeSrc": "5247:18:43", + "nodeType": "YulLiteral", + "src": "5247:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5236:2:43", + "nodeType": "YulIdentifier", + "src": "5236:2:43" + }, + "nativeSrc": "5236:30:43", + "nodeType": "YulFunctionCall", + "src": "5236:30:43" + }, + "nativeSrc": "5233:56:43", + "nodeType": "YulIf", + "src": "5233:56:43" + }, + { + "nativeSrc": "5299:52:43", + "nodeType": "YulVariableDeclaration", + "src": "5299:52:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5345:4:43", + "nodeType": "YulIdentifier", + "src": "5345:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "5339:5:43", + "nodeType": "YulIdentifier", + "src": "5339:5:43" + }, + "nativeSrc": "5339:11:43", + "nodeType": "YulFunctionCall", + "src": "5339:11:43" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "5313:25:43", + "nodeType": "YulIdentifier", + "src": "5313:25:43" + }, + "nativeSrc": "5313:38:43", + "nodeType": "YulFunctionCall", + "src": "5313:38:43" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "5303:6:43", + "nodeType": "YulTypedName", + "src": "5303:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5444:4:43", + "nodeType": "YulIdentifier", + "src": "5444:4:43" + }, + { + "name": "oldLen", + "nativeSrc": "5450:6:43", + "nodeType": "YulIdentifier", + "src": "5450:6:43" + }, + { + "name": "newLen", + "nativeSrc": "5458:6:43", + "nodeType": "YulIdentifier", + "src": "5458:6:43" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "5398:45:43", + "nodeType": "YulIdentifier", + "src": "5398:45:43" + }, + "nativeSrc": "5398:67:43", + "nodeType": "YulFunctionCall", + "src": "5398:67:43" + }, + "nativeSrc": "5398:67:43", + "nodeType": "YulExpressionStatement", + "src": "5398:67:43" + }, + { + "nativeSrc": "5475:18:43", + "nodeType": "YulVariableDeclaration", + "src": "5475:18:43", + "value": { + "kind": "number", + "nativeSrc": "5492:1:43", + "nodeType": "YulLiteral", + "src": "5492:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "5479:9:43", + "nodeType": "YulTypedName", + "src": "5479:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5503:17:43", + "nodeType": "YulAssignment", + "src": "5503:17:43", + "value": { + "kind": "number", + "nativeSrc": "5516:4:43", + "nodeType": "YulLiteral", + "src": "5516:4:43", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "5503:9:43", + "nodeType": "YulIdentifier", + "src": "5503:9:43" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "5567:611:43", + "nodeType": "YulBlock", + "src": "5567:611:43", + "statements": [ + { + "nativeSrc": "5581:37:43", + "nodeType": "YulVariableDeclaration", + "src": "5581:37:43", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "5600:6:43", + "nodeType": "YulIdentifier", + "src": "5600:6:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5612:4:43", + "nodeType": "YulLiteral", + "src": "5612:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "5608:3:43", + "nodeType": "YulIdentifier", + "src": "5608:3:43" + }, + "nativeSrc": "5608:9:43", + "nodeType": "YulFunctionCall", + "src": "5608:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5596:3:43", + "nodeType": "YulIdentifier", + "src": "5596:3:43" + }, + "nativeSrc": "5596:22:43", + "nodeType": "YulFunctionCall", + "src": "5596:22:43" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "5585:7:43", + "nodeType": "YulTypedName", + "src": "5585:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5632:51:43", + "nodeType": "YulVariableDeclaration", + "src": "5632:51:43", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5678:4:43", + "nodeType": "YulIdentifier", + "src": "5678:4:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "5646:31:43", + "nodeType": "YulIdentifier", + "src": "5646:31:43" + }, + "nativeSrc": "5646:37:43", + "nodeType": "YulFunctionCall", + "src": "5646:37:43" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "5636:6:43", + "nodeType": "YulTypedName", + "src": "5636:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5696:10:43", + "nodeType": "YulVariableDeclaration", + "src": "5696:10:43", + "value": { + "kind": "number", + "nativeSrc": "5705:1:43", + "nodeType": "YulLiteral", + "src": "5705:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5700:1:43", + "nodeType": "YulTypedName", + "src": "5700:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5764:163:43", + "nodeType": "YulBlock", + "src": "5764:163:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "5789:6:43", + "nodeType": "YulIdentifier", + "src": "5789:6:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5807:3:43", + "nodeType": "YulIdentifier", + "src": "5807:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "5812:9:43", + "nodeType": "YulIdentifier", + "src": "5812:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5803:3:43", + "nodeType": "YulIdentifier", + "src": "5803:3:43" + }, + "nativeSrc": "5803:19:43", + "nodeType": "YulFunctionCall", + "src": "5803:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5797:5:43", + "nodeType": "YulIdentifier", + "src": "5797:5:43" + }, + "nativeSrc": "5797:26:43", + "nodeType": "YulFunctionCall", + "src": "5797:26:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5782:6:43", + "nodeType": "YulIdentifier", + "src": "5782:6:43" + }, + "nativeSrc": "5782:42:43", + "nodeType": "YulFunctionCall", + "src": "5782:42:43" + }, + "nativeSrc": "5782:42:43", + "nodeType": "YulExpressionStatement", + "src": "5782:42:43" + }, + { + "nativeSrc": "5841:24:43", + "nodeType": "YulAssignment", + "src": "5841:24:43", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "5855:6:43", + "nodeType": "YulIdentifier", + "src": "5855:6:43" + }, + { + "kind": "number", + "nativeSrc": "5863:1:43", + "nodeType": "YulLiteral", + "src": "5863:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5851:3:43", + "nodeType": "YulIdentifier", + "src": "5851:3:43" + }, + "nativeSrc": "5851:14:43", + "nodeType": "YulFunctionCall", + "src": "5851:14:43" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "5841:6:43", + "nodeType": "YulIdentifier", + "src": "5841:6:43" + } + ] + }, + { + "nativeSrc": "5882:31:43", + "nodeType": "YulAssignment", + "src": "5882:31:43", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "5899:9:43", + "nodeType": "YulIdentifier", + "src": "5899:9:43" + }, + { + "kind": "number", + "nativeSrc": "5910:2:43", + "nodeType": "YulLiteral", + "src": "5910:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5895:3:43", + "nodeType": "YulIdentifier", + "src": "5895:3:43" + }, + "nativeSrc": "5895:18:43", + "nodeType": "YulFunctionCall", + "src": "5895:18:43" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "5882:9:43", + "nodeType": "YulIdentifier", + "src": "5882:9:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5730:1:43", + "nodeType": "YulIdentifier", + "src": "5730:1:43" + }, + { + "name": "loopEnd", + "nativeSrc": "5733:7:43", + "nodeType": "YulIdentifier", + "src": "5733:7:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5727:2:43", + "nodeType": "YulIdentifier", + "src": "5727:2:43" + }, + "nativeSrc": "5727:14:43", + "nodeType": "YulFunctionCall", + "src": "5727:14:43" + }, + "nativeSrc": "5719:208:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5742:21:43", + "nodeType": "YulBlock", + "src": "5742:21:43", + "statements": [ + { + "nativeSrc": "5744:17:43", + "nodeType": "YulAssignment", + "src": "5744:17:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5753:1:43", + "nodeType": "YulIdentifier", + "src": "5753:1:43" + }, + { + "kind": "number", + "nativeSrc": "5756:4:43", + "nodeType": "YulLiteral", + "src": "5756:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5749:3:43", + "nodeType": "YulIdentifier", + "src": "5749:3:43" + }, + "nativeSrc": "5749:12:43", + "nodeType": "YulFunctionCall", + "src": "5749:12:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5744:1:43", + "nodeType": "YulIdentifier", + "src": "5744:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5723:3:43", + "nodeType": "YulBlock", + "src": "5723:3:43", + "statements": [] + }, + "src": "5719:208:43" + }, + { + "body": { + "nativeSrc": "5963:156:43", + "nodeType": "YulBlock", + "src": "5963:156:43", + "statements": [ + { + "nativeSrc": "5981:43:43", + "nodeType": "YulVariableDeclaration", + "src": "5981:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "6008:3:43", + "nodeType": "YulIdentifier", + "src": "6008:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "6013:9:43", + "nodeType": "YulIdentifier", + "src": "6013:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6004:3:43", + "nodeType": "YulIdentifier", + "src": "6004:3:43" + }, + "nativeSrc": "6004:19:43", + "nodeType": "YulFunctionCall", + "src": "6004:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5998:5:43", + "nodeType": "YulIdentifier", + "src": "5998:5:43" + }, + "nativeSrc": "5998:26:43", + "nodeType": "YulFunctionCall", + "src": "5998:26:43" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "5985:9:43", + "nodeType": "YulTypedName", + "src": "5985:9:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "6048:6:43", + "nodeType": "YulIdentifier", + "src": "6048:6:43" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "6075:9:43", + "nodeType": "YulIdentifier", + "src": "6075:9:43" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "6090:6:43", + "nodeType": "YulIdentifier", + "src": "6090:6:43" + }, + { + "kind": "number", + "nativeSrc": "6098:4:43", + "nodeType": "YulLiteral", + "src": "6098:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6086:3:43", + "nodeType": "YulIdentifier", + "src": "6086:3:43" + }, + "nativeSrc": "6086:17:43", + "nodeType": "YulFunctionCall", + "src": "6086:17:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "6056:18:43", + "nodeType": "YulIdentifier", + "src": "6056:18:43" + }, + "nativeSrc": "6056:48:43", + "nodeType": "YulFunctionCall", + "src": "6056:48:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "6041:6:43", + "nodeType": "YulIdentifier", + "src": "6041:6:43" + }, + "nativeSrc": "6041:64:43", + "nodeType": "YulFunctionCall", + "src": "6041:64:43" + }, + "nativeSrc": "6041:64:43", + "nodeType": "YulExpressionStatement", + "src": "6041:64:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "5946:7:43", + "nodeType": "YulIdentifier", + "src": "5946:7:43" + }, + { + "name": "newLen", + "nativeSrc": "5955:6:43", + "nodeType": "YulIdentifier", + "src": "5955:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5943:2:43", + "nodeType": "YulIdentifier", + "src": "5943:2:43" + }, + "nativeSrc": "5943:19:43", + "nodeType": "YulFunctionCall", + "src": "5943:19:43" + }, + "nativeSrc": "5940:179:43", + "nodeType": "YulIf", + "src": "5940:179:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "6139:4:43", + "nodeType": "YulIdentifier", + "src": "6139:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "6153:6:43", + "nodeType": "YulIdentifier", + "src": "6153:6:43" + }, + { + "kind": "number", + "nativeSrc": "6161:1:43", + "nodeType": "YulLiteral", + "src": "6161:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6149:3:43", + "nodeType": "YulIdentifier", + "src": "6149:3:43" + }, + "nativeSrc": "6149:14:43", + "nodeType": "YulFunctionCall", + "src": "6149:14:43" + }, + { + "kind": "number", + "nativeSrc": "6165:1:43", + "nodeType": "YulLiteral", + "src": "6165:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6145:3:43", + "nodeType": "YulIdentifier", + "src": "6145:3:43" + }, + "nativeSrc": "6145:22:43", + "nodeType": "YulFunctionCall", + "src": "6145:22:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "6132:6:43", + "nodeType": "YulIdentifier", + "src": "6132:6:43" + }, + "nativeSrc": "6132:36:43", + "nodeType": "YulFunctionCall", + "src": "6132:36:43" + }, + "nativeSrc": "6132:36:43", + "nodeType": "YulExpressionStatement", + "src": "6132:36:43" + } + ] + }, + "nativeSrc": "5560:618:43", + "nodeType": "YulCase", + "src": "5560:618:43", + "value": { + "kind": "number", + "nativeSrc": "5565:1:43", + "nodeType": "YulLiteral", + "src": "5565:1:43", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "6195:222:43", + "nodeType": "YulBlock", + "src": "6195:222:43", + "statements": [ + { + "nativeSrc": "6209:14:43", + "nodeType": "YulVariableDeclaration", + "src": "6209:14:43", + "value": { + "kind": "number", + "nativeSrc": "6222:1:43", + "nodeType": "YulLiteral", + "src": "6222:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6213:5:43", + "nodeType": "YulTypedName", + "src": "6213:5:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6246:67:43", + "nodeType": "YulBlock", + "src": "6246:67:43", + "statements": [ + { + "nativeSrc": "6264:35:43", + "nodeType": "YulAssignment", + "src": "6264:35:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "6283:3:43", + "nodeType": "YulIdentifier", + "src": "6283:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "6288:9:43", + "nodeType": "YulIdentifier", + "src": "6288:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6279:3:43", + "nodeType": "YulIdentifier", + "src": "6279:3:43" + }, + "nativeSrc": "6279:19:43", + "nodeType": "YulFunctionCall", + "src": "6279:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6273:5:43", + "nodeType": "YulIdentifier", + "src": "6273:5:43" + }, + "nativeSrc": "6273:26:43", + "nodeType": "YulFunctionCall", + "src": "6273:26:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6264:5:43", + "nodeType": "YulIdentifier", + "src": "6264:5:43" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "6239:6:43", + "nodeType": "YulIdentifier", + "src": "6239:6:43" + }, + "nativeSrc": "6236:77:43", + "nodeType": "YulIf", + "src": "6236:77:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "6333:4:43", + "nodeType": "YulIdentifier", + "src": "6333:4:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6392:5:43", + "nodeType": "YulIdentifier", + "src": "6392:5:43" + }, + { + "name": "newLen", + "nativeSrc": "6399:6:43", + "nodeType": "YulIdentifier", + "src": "6399:6:43" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "6339:52:43", + "nodeType": "YulIdentifier", + "src": "6339:52:43" + }, + "nativeSrc": "6339:67:43", + "nodeType": "YulFunctionCall", + "src": "6339:67:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "6326:6:43", + "nodeType": "YulIdentifier", + "src": "6326:6:43" + }, + "nativeSrc": "6326:81:43", + "nodeType": "YulFunctionCall", + "src": "6326:81:43" + }, + "nativeSrc": "6326:81:43", + "nodeType": "YulExpressionStatement", + "src": "6326:81:43" + } + ] + }, + "nativeSrc": "6187:230:43", + "nodeType": "YulCase", + "src": "6187:230:43", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "5540:6:43", + "nodeType": "YulIdentifier", + "src": "5540:6:43" + }, + { + "kind": "number", + "nativeSrc": "5548:2:43", + "nodeType": "YulLiteral", + "src": "5548:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5537:2:43", + "nodeType": "YulIdentifier", + "src": "5537:2:43" + }, + "nativeSrc": "5537:14:43", + "nodeType": "YulFunctionCall", + "src": "5537:14:43" + }, + "nativeSrc": "5530:887:43", + "nodeType": "YulSwitch", + "src": "5530:887:43" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "5028:1395:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "5109:4:43", + "nodeType": "YulTypedName", + "src": "5109:4:43", + "type": "" + }, + { + "name": "src", + "nativeSrc": "5115:3:43", + "nodeType": "YulTypedName", + "src": "5115:3:43", + "type": "" + } + ], + "src": "5028:1395:43" + }, + { + "body": { + "nativeSrc": "6494:53:43", + "nodeType": "YulBlock", + "src": "6494:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6511:3:43", + "nodeType": "YulIdentifier", + "src": "6511:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6534:5:43", + "nodeType": "YulIdentifier", + "src": "6534:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "6516:17:43", + "nodeType": "YulIdentifier", + "src": "6516:17:43" + }, + "nativeSrc": "6516:24:43", + "nodeType": "YulFunctionCall", + "src": "6516:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6504:6:43", + "nodeType": "YulIdentifier", + "src": "6504:6:43" + }, + "nativeSrc": "6504:37:43", + "nodeType": "YulFunctionCall", + "src": "6504:37:43" + }, + "nativeSrc": "6504:37:43", + "nodeType": "YulExpressionStatement", + "src": "6504:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6429:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6482:5:43", + "nodeType": "YulTypedName", + "src": "6482:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6489:3:43", + "nodeType": "YulTypedName", + "src": "6489:3:43", + "type": "" + } + ], + "src": "6429:118:43" + }, + { + "body": { + "nativeSrc": "6651:124:43", + "nodeType": "YulBlock", + "src": "6651:124:43", + "statements": [ + { + "nativeSrc": "6661:26:43", + "nodeType": "YulAssignment", + "src": "6661:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6673:9:43", + "nodeType": "YulIdentifier", + "src": "6673:9:43" + }, + { + "kind": "number", + "nativeSrc": "6684:2:43", + "nodeType": "YulLiteral", + "src": "6684:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6669:3:43", + "nodeType": "YulIdentifier", + "src": "6669:3:43" + }, + "nativeSrc": "6669:18:43", + "nodeType": "YulFunctionCall", + "src": "6669:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6661:4:43", + "nodeType": "YulIdentifier", + "src": "6661:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6741:6:43", + "nodeType": "YulIdentifier", + "src": "6741:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6754:9:43", + "nodeType": "YulIdentifier", + "src": "6754:9:43" + }, + { + "kind": "number", + "nativeSrc": "6765:1:43", + "nodeType": "YulLiteral", + "src": "6765:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6750:3:43", + "nodeType": "YulIdentifier", + "src": "6750:3:43" + }, + "nativeSrc": "6750:17:43", + "nodeType": "YulFunctionCall", + "src": "6750:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6697:43:43", + "nodeType": "YulIdentifier", + "src": "6697:43:43" + }, + "nativeSrc": "6697:71:43", + "nodeType": "YulFunctionCall", + "src": "6697:71:43" + }, + "nativeSrc": "6697:71:43", + "nodeType": "YulExpressionStatement", + "src": "6697:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "6553:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6623:9:43", + "nodeType": "YulTypedName", + "src": "6623:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6635:6:43", + "nodeType": "YulTypedName", + "src": "6635:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6646:4:43", + "nodeType": "YulTypedName", + "src": "6646:4:43", + "type": "" + } + ], + "src": "6553:222:43" + }, + { + "body": { + "nativeSrc": "6826:32:43", + "nodeType": "YulBlock", + "src": "6826:32:43", + "statements": [ + { + "nativeSrc": "6836:16:43", + "nodeType": "YulAssignment", + "src": "6836:16:43", + "value": { + "name": "value", + "nativeSrc": "6847:5:43", + "nodeType": "YulIdentifier", + "src": "6847:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "6836:7:43", + "nodeType": "YulIdentifier", + "src": "6836:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "6781:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6808:5:43", + "nodeType": "YulTypedName", + "src": "6808:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "6818:7:43", + "nodeType": "YulTypedName", + "src": "6818:7:43", + "type": "" + } + ], + "src": "6781:77:43" + }, + { + "body": { + "nativeSrc": "6929:53:43", + "nodeType": "YulBlock", + "src": "6929:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6946:3:43", + "nodeType": "YulIdentifier", + "src": "6946:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6969:5:43", + "nodeType": "YulIdentifier", + "src": "6969:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "6951:17:43", + "nodeType": "YulIdentifier", + "src": "6951:17:43" + }, + "nativeSrc": "6951:24:43", + "nodeType": "YulFunctionCall", + "src": "6951:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6939:6:43", + "nodeType": "YulIdentifier", + "src": "6939:6:43" + }, + "nativeSrc": "6939:37:43", + "nodeType": "YulFunctionCall", + "src": "6939:37:43" + }, + "nativeSrc": "6939:37:43", + "nodeType": "YulExpressionStatement", + "src": "6939:37:43" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "6864:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6917:5:43", + "nodeType": "YulTypedName", + "src": "6917:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6924:3:43", + "nodeType": "YulTypedName", + "src": "6924:3:43", + "type": "" + } + ], + "src": "6864:118:43" + }, + { + "body": { + "nativeSrc": "7053:53:43", + "nodeType": "YulBlock", + "src": "7053:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7070:3:43", + "nodeType": "YulIdentifier", + "src": "7070:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7093:5:43", + "nodeType": "YulIdentifier", + "src": "7093:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7075:17:43", + "nodeType": "YulIdentifier", + "src": "7075:17:43" + }, + "nativeSrc": "7075:24:43", + "nodeType": "YulFunctionCall", + "src": "7075:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7063:6:43", + "nodeType": "YulIdentifier", + "src": "7063:6:43" + }, + "nativeSrc": "7063:37:43", + "nodeType": "YulFunctionCall", + "src": "7063:37:43" + }, + "nativeSrc": "7063:37:43", + "nodeType": "YulExpressionStatement", + "src": "7063:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6988:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7041:5:43", + "nodeType": "YulTypedName", + "src": "7041:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7048:3:43", + "nodeType": "YulTypedName", + "src": "7048:3:43", + "type": "" + } + ], + "src": "6988:118:43" + }, + { + "body": { + "nativeSrc": "7322:454:43", + "nodeType": "YulBlock", + "src": "7322:454:43", + "statements": [ + { + "nativeSrc": "7332:27:43", + "nodeType": "YulAssignment", + "src": "7332:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7344:9:43", + "nodeType": "YulIdentifier", + "src": "7344:9:43" + }, + { + "kind": "number", + "nativeSrc": "7355:3:43", + "nodeType": "YulLiteral", + "src": "7355:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7340:3:43", + "nodeType": "YulIdentifier", + "src": "7340:3:43" + }, + "nativeSrc": "7340:19:43", + "nodeType": "YulFunctionCall", + "src": "7340:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7332:4:43", + "nodeType": "YulIdentifier", + "src": "7332:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7413:6:43", + "nodeType": "YulIdentifier", + "src": "7413:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7426:9:43", + "nodeType": "YulIdentifier", + "src": "7426:9:43" + }, + { + "kind": "number", + "nativeSrc": "7437:1:43", + "nodeType": "YulLiteral", + "src": "7437:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7422:3:43", + "nodeType": "YulIdentifier", + "src": "7422:3:43" + }, + "nativeSrc": "7422:17:43", + "nodeType": "YulFunctionCall", + "src": "7422:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "7369:43:43", + "nodeType": "YulIdentifier", + "src": "7369:43:43" + }, + "nativeSrc": "7369:71:43", + "nodeType": "YulFunctionCall", + "src": "7369:71:43" + }, + "nativeSrc": "7369:71:43", + "nodeType": "YulExpressionStatement", + "src": "7369:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "7494:6:43", + "nodeType": "YulIdentifier", + "src": "7494:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7507:9:43", + "nodeType": "YulIdentifier", + "src": "7507:9:43" + }, + { + "kind": "number", + "nativeSrc": "7518:2:43", + "nodeType": "YulLiteral", + "src": "7518:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7503:3:43", + "nodeType": "YulIdentifier", + "src": "7503:3:43" + }, + "nativeSrc": "7503:18:43", + "nodeType": "YulFunctionCall", + "src": "7503:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "7450:43:43", + "nodeType": "YulIdentifier", + "src": "7450:43:43" + }, + "nativeSrc": "7450:72:43", + "nodeType": "YulFunctionCall", + "src": "7450:72:43" + }, + "nativeSrc": "7450:72:43", + "nodeType": "YulExpressionStatement", + "src": "7450:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "7576:6:43", + "nodeType": "YulIdentifier", + "src": "7576:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7589:9:43", + "nodeType": "YulIdentifier", + "src": "7589:9:43" + }, + { + "kind": "number", + "nativeSrc": "7600:2:43", + "nodeType": "YulLiteral", + "src": "7600:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7585:3:43", + "nodeType": "YulIdentifier", + "src": "7585:3:43" + }, + "nativeSrc": "7585:18:43", + "nodeType": "YulFunctionCall", + "src": "7585:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "7532:43:43", + "nodeType": "YulIdentifier", + "src": "7532:43:43" + }, + "nativeSrc": "7532:72:43", + "nodeType": "YulFunctionCall", + "src": "7532:72:43" + }, + "nativeSrc": "7532:72:43", + "nodeType": "YulExpressionStatement", + "src": "7532:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "7658:6:43", + "nodeType": "YulIdentifier", + "src": "7658:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7671:9:43", + "nodeType": "YulIdentifier", + "src": "7671:9:43" + }, + { + "kind": "number", + "nativeSrc": "7682:2:43", + "nodeType": "YulLiteral", + "src": "7682:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7667:3:43", + "nodeType": "YulIdentifier", + "src": "7667:3:43" + }, + "nativeSrc": "7667:18:43", + "nodeType": "YulFunctionCall", + "src": "7667:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7614:43:43", + "nodeType": "YulIdentifier", + "src": "7614:43:43" + }, + "nativeSrc": "7614:72:43", + "nodeType": "YulFunctionCall", + "src": "7614:72:43" + }, + "nativeSrc": "7614:72:43", + "nodeType": "YulExpressionStatement", + "src": "7614:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "7740:6:43", + "nodeType": "YulIdentifier", + "src": "7740:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7753:9:43", + "nodeType": "YulIdentifier", + "src": "7753:9:43" + }, + { + "kind": "number", + "nativeSrc": "7764:3:43", + "nodeType": "YulLiteral", + "src": "7764:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7749:3:43", + "nodeType": "YulIdentifier", + "src": "7749:3:43" + }, + "nativeSrc": "7749:19:43", + "nodeType": "YulFunctionCall", + "src": "7749:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "7696:43:43", + "nodeType": "YulIdentifier", + "src": "7696:43:43" + }, + "nativeSrc": "7696:73:43", + "nodeType": "YulFunctionCall", + "src": "7696:73:43" + }, + "nativeSrc": "7696:73:43", + "nodeType": "YulExpressionStatement", + "src": "7696:73:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed", + "nativeSrc": "7112:664:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7262:9:43", + "nodeType": "YulTypedName", + "src": "7262:9:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "7274:6:43", + "nodeType": "YulTypedName", + "src": "7274:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "7282:6:43", + "nodeType": "YulTypedName", + "src": "7282:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7290:6:43", + "nodeType": "YulTypedName", + "src": "7290:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7298:6:43", + "nodeType": "YulTypedName", + "src": "7298:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7306:6:43", + "nodeType": "YulTypedName", + "src": "7306:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7317:4:43", + "nodeType": "YulTypedName", + "src": "7317:4:43", + "type": "" + } + ], + "src": "7112:664:43" + }, + { + "body": { + "nativeSrc": "7878:73:43", + "nodeType": "YulBlock", + "src": "7878:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7895:3:43", + "nodeType": "YulIdentifier", + "src": "7895:3:43" + }, + { + "name": "length", + "nativeSrc": "7900:6:43", + "nodeType": "YulIdentifier", + "src": "7900:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7888:6:43", + "nodeType": "YulIdentifier", + "src": "7888:6:43" + }, + "nativeSrc": "7888:19:43", + "nodeType": "YulFunctionCall", + "src": "7888:19:43" + }, + "nativeSrc": "7888:19:43", + "nodeType": "YulExpressionStatement", + "src": "7888:19:43" + }, + { + "nativeSrc": "7916:29:43", + "nodeType": "YulAssignment", + "src": "7916:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7935:3:43", + "nodeType": "YulIdentifier", + "src": "7935:3:43" + }, + { + "kind": "number", + "nativeSrc": "7940:4:43", + "nodeType": "YulLiteral", + "src": "7940:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7931:3:43", + "nodeType": "YulIdentifier", + "src": "7931:3:43" + }, + "nativeSrc": "7931:14:43", + "nodeType": "YulFunctionCall", + "src": "7931:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "7916:11:43", + "nodeType": "YulIdentifier", + "src": "7916:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7782:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7850:3:43", + "nodeType": "YulTypedName", + "src": "7850:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "7855:6:43", + "nodeType": "YulTypedName", + "src": "7855:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "7866:11:43", + "nodeType": "YulTypedName", + "src": "7866:11:43", + "type": "" + } + ], + "src": "7782:169:43" + }, + { + "body": { + "nativeSrc": "8019:184:43", + "nodeType": "YulBlock", + "src": "8019:184:43", + "statements": [ + { + "nativeSrc": "8029:10:43", + "nodeType": "YulVariableDeclaration", + "src": "8029:10:43", + "value": { + "kind": "number", + "nativeSrc": "8038:1:43", + "nodeType": "YulLiteral", + "src": "8038:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "8033:1:43", + "nodeType": "YulTypedName", + "src": "8033:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8098:63:43", + "nodeType": "YulBlock", + "src": "8098:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8123:3:43", + "nodeType": "YulIdentifier", + "src": "8123:3:43" + }, + { + "name": "i", + "nativeSrc": "8128:1:43", + "nodeType": "YulIdentifier", + "src": "8128:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8119:3:43", + "nodeType": "YulIdentifier", + "src": "8119:3:43" + }, + "nativeSrc": "8119:11:43", + "nodeType": "YulFunctionCall", + "src": "8119:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8142:3:43", + "nodeType": "YulIdentifier", + "src": "8142:3:43" + }, + { + "name": "i", + "nativeSrc": "8147:1:43", + "nodeType": "YulIdentifier", + "src": "8147:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8138:3:43", + "nodeType": "YulIdentifier", + "src": "8138:3:43" + }, + "nativeSrc": "8138:11:43", + "nodeType": "YulFunctionCall", + "src": "8138:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8132:5:43", + "nodeType": "YulIdentifier", + "src": "8132:5:43" + }, + "nativeSrc": "8132:18:43", + "nodeType": "YulFunctionCall", + "src": "8132:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8112:6:43", + "nodeType": "YulIdentifier", + "src": "8112:6:43" + }, + "nativeSrc": "8112:39:43", + "nodeType": "YulFunctionCall", + "src": "8112:39:43" + }, + "nativeSrc": "8112:39:43", + "nodeType": "YulExpressionStatement", + "src": "8112:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "8059:1:43", + "nodeType": "YulIdentifier", + "src": "8059:1:43" + }, + { + "name": "length", + "nativeSrc": "8062:6:43", + "nodeType": "YulIdentifier", + "src": "8062:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8056:2:43", + "nodeType": "YulIdentifier", + "src": "8056:2:43" + }, + "nativeSrc": "8056:13:43", + "nodeType": "YulFunctionCall", + "src": "8056:13:43" + }, + "nativeSrc": "8048:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8070:19:43", + "nodeType": "YulBlock", + "src": "8070:19:43", + "statements": [ + { + "nativeSrc": "8072:15:43", + "nodeType": "YulAssignment", + "src": "8072:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "8081:1:43", + "nodeType": "YulIdentifier", + "src": "8081:1:43" + }, + { + "kind": "number", + "nativeSrc": "8084:2:43", + "nodeType": "YulLiteral", + "src": "8084:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8077:3:43", + "nodeType": "YulIdentifier", + "src": "8077:3:43" + }, + "nativeSrc": "8077:10:43", + "nodeType": "YulFunctionCall", + "src": "8077:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "8072:1:43", + "nodeType": "YulIdentifier", + "src": "8072:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "8052:3:43", + "nodeType": "YulBlock", + "src": "8052:3:43", + "statements": [] + }, + "src": "8048:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8181:3:43", + "nodeType": "YulIdentifier", + "src": "8181:3:43" + }, + { + "name": "length", + "nativeSrc": "8186:6:43", + "nodeType": "YulIdentifier", + "src": "8186:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8177:3:43", + "nodeType": "YulIdentifier", + "src": "8177:3:43" + }, + "nativeSrc": "8177:16:43", + "nodeType": "YulFunctionCall", + "src": "8177:16:43" + }, + { + "kind": "number", + "nativeSrc": "8195:1:43", + "nodeType": "YulLiteral", + "src": "8195:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8170:6:43", + "nodeType": "YulIdentifier", + "src": "8170:6:43" + }, + "nativeSrc": "8170:27:43", + "nodeType": "YulFunctionCall", + "src": "8170:27:43" + }, + "nativeSrc": "8170:27:43", + "nodeType": "YulExpressionStatement", + "src": "8170:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "7957:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "8001:3:43", + "nodeType": "YulTypedName", + "src": "8001:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "8006:3:43", + "nodeType": "YulTypedName", + "src": "8006:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8011:6:43", + "nodeType": "YulTypedName", + "src": "8011:6:43", + "type": "" + } + ], + "src": "7957:246:43" + }, + { + "body": { + "nativeSrc": "8257:54:43", + "nodeType": "YulBlock", + "src": "8257:54:43", + "statements": [ + { + "nativeSrc": "8267:38:43", + "nodeType": "YulAssignment", + "src": "8267:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8285:5:43", + "nodeType": "YulIdentifier", + "src": "8285:5:43" + }, + { + "kind": "number", + "nativeSrc": "8292:2:43", + "nodeType": "YulLiteral", + "src": "8292:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8281:3:43", + "nodeType": "YulIdentifier", + "src": "8281:3:43" + }, + "nativeSrc": "8281:14:43", + "nodeType": "YulFunctionCall", + "src": "8281:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8301:2:43", + "nodeType": "YulLiteral", + "src": "8301:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8297:3:43", + "nodeType": "YulIdentifier", + "src": "8297:3:43" + }, + "nativeSrc": "8297:7:43", + "nodeType": "YulFunctionCall", + "src": "8297:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8277:3:43", + "nodeType": "YulIdentifier", + "src": "8277:3:43" + }, + "nativeSrc": "8277:28:43", + "nodeType": "YulFunctionCall", + "src": "8277:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "8267:6:43", + "nodeType": "YulIdentifier", + "src": "8267:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "8209:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8240:5:43", + "nodeType": "YulTypedName", + "src": "8240:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8250:6:43", + "nodeType": "YulTypedName", + "src": "8250:6:43", + "type": "" + } + ], + "src": "8209:102:43" + }, + { + "body": { + "nativeSrc": "8409:285:43", + "nodeType": "YulBlock", + "src": "8409:285:43", + "statements": [ + { + "nativeSrc": "8419:53:43", + "nodeType": "YulVariableDeclaration", + "src": "8419:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8466:5:43", + "nodeType": "YulIdentifier", + "src": "8466:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "8433:32:43", + "nodeType": "YulIdentifier", + "src": "8433:32:43" + }, + "nativeSrc": "8433:39:43", + "nodeType": "YulFunctionCall", + "src": "8433:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "8423:6:43", + "nodeType": "YulTypedName", + "src": "8423:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8481:78:43", + "nodeType": "YulAssignment", + "src": "8481:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8547:3:43", + "nodeType": "YulIdentifier", + "src": "8547:3:43" + }, + { + "name": "length", + "nativeSrc": "8552:6:43", + "nodeType": "YulIdentifier", + "src": "8552:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "8488:58:43", + "nodeType": "YulIdentifier", + "src": "8488:58:43" + }, + "nativeSrc": "8488:71:43", + "nodeType": "YulFunctionCall", + "src": "8488:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "8481:3:43", + "nodeType": "YulIdentifier", + "src": "8481:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8607:5:43", + "nodeType": "YulIdentifier", + "src": "8607:5:43" + }, + { + "kind": "number", + "nativeSrc": "8614:4:43", + "nodeType": "YulLiteral", + "src": "8614:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8603:3:43", + "nodeType": "YulIdentifier", + "src": "8603:3:43" + }, + "nativeSrc": "8603:16:43", + "nodeType": "YulFunctionCall", + "src": "8603:16:43" + }, + { + "name": "pos", + "nativeSrc": "8621:3:43", + "nodeType": "YulIdentifier", + "src": "8621:3:43" + }, + { + "name": "length", + "nativeSrc": "8626:6:43", + "nodeType": "YulIdentifier", + "src": "8626:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "8568:34:43", + "nodeType": "YulIdentifier", + "src": "8568:34:43" + }, + "nativeSrc": "8568:65:43", + "nodeType": "YulFunctionCall", + "src": "8568:65:43" + }, + "nativeSrc": "8568:65:43", + "nodeType": "YulExpressionStatement", + "src": "8568:65:43" + }, + { + "nativeSrc": "8642:46:43", + "nodeType": "YulAssignment", + "src": "8642:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8653:3:43", + "nodeType": "YulIdentifier", + "src": "8653:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8680:6:43", + "nodeType": "YulIdentifier", + "src": "8680:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "8658:21:43", + "nodeType": "YulIdentifier", + "src": "8658:21:43" + }, + "nativeSrc": "8658:29:43", + "nodeType": "YulFunctionCall", + "src": "8658:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8649:3:43", + "nodeType": "YulIdentifier", + "src": "8649:3:43" + }, + "nativeSrc": "8649:39:43", + "nodeType": "YulFunctionCall", + "src": "8649:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "8642:3:43", + "nodeType": "YulIdentifier", + "src": "8642:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8317:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8390:5:43", + "nodeType": "YulTypedName", + "src": "8390:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8397:3:43", + "nodeType": "YulTypedName", + "src": "8397:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "8405:3:43", + "nodeType": "YulTypedName", + "src": "8405:3:43", + "type": "" + } + ], + "src": "8317:377:43" + }, + { + "body": { + "nativeSrc": "8818:195:43", + "nodeType": "YulBlock", + "src": "8818:195:43", + "statements": [ + { + "nativeSrc": "8828:26:43", + "nodeType": "YulAssignment", + "src": "8828:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8840:9:43", + "nodeType": "YulIdentifier", + "src": "8840:9:43" + }, + { + "kind": "number", + "nativeSrc": "8851:2:43", + "nodeType": "YulLiteral", + "src": "8851:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8836:3:43", + "nodeType": "YulIdentifier", + "src": "8836:3:43" + }, + "nativeSrc": "8836:18:43", + "nodeType": "YulFunctionCall", + "src": "8836:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8828:4:43", + "nodeType": "YulIdentifier", + "src": "8828:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8875:9:43", + "nodeType": "YulIdentifier", + "src": "8875:9:43" + }, + { + "kind": "number", + "nativeSrc": "8886:1:43", + "nodeType": "YulLiteral", + "src": "8886:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8871:3:43", + "nodeType": "YulIdentifier", + "src": "8871:3:43" + }, + "nativeSrc": "8871:17:43", + "nodeType": "YulFunctionCall", + "src": "8871:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8894:4:43", + "nodeType": "YulIdentifier", + "src": "8894:4:43" + }, + { + "name": "headStart", + "nativeSrc": "8900:9:43", + "nodeType": "YulIdentifier", + "src": "8900:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8890:3:43", + "nodeType": "YulIdentifier", + "src": "8890:3:43" + }, + "nativeSrc": "8890:20:43", + "nodeType": "YulFunctionCall", + "src": "8890:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8864:6:43", + "nodeType": "YulIdentifier", + "src": "8864:6:43" + }, + "nativeSrc": "8864:47:43", + "nodeType": "YulFunctionCall", + "src": "8864:47:43" + }, + "nativeSrc": "8864:47:43", + "nodeType": "YulExpressionStatement", + "src": "8864:47:43" + }, + { + "nativeSrc": "8920:86:43", + "nodeType": "YulAssignment", + "src": "8920:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8992:6:43", + "nodeType": "YulIdentifier", + "src": "8992:6:43" + }, + { + "name": "tail", + "nativeSrc": "9001:4:43", + "nodeType": "YulIdentifier", + "src": "9001:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8928:63:43", + "nodeType": "YulIdentifier", + "src": "8928:63:43" + }, + "nativeSrc": "8928:78:43", + "nodeType": "YulFunctionCall", + "src": "8928:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8920:4:43", + "nodeType": "YulIdentifier", + "src": "8920:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "8700:313:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8790:9:43", + "nodeType": "YulTypedName", + "src": "8790:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8802:6:43", + "nodeType": "YulTypedName", + "src": "8802:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8813:4:43", + "nodeType": "YulTypedName", + "src": "8813:4:43", + "type": "" + } + ], + "src": "8700:313:43" + }, + { + "body": { + "nativeSrc": "9077:40:43", + "nodeType": "YulBlock", + "src": "9077:40:43", + "statements": [ + { + "nativeSrc": "9088:22:43", + "nodeType": "YulAssignment", + "src": "9088:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9104:5:43", + "nodeType": "YulIdentifier", + "src": "9104:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9098:5:43", + "nodeType": "YulIdentifier", + "src": "9098:5:43" + }, + "nativeSrc": "9098:12:43", + "nodeType": "YulFunctionCall", + "src": "9098:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "9088:6:43", + "nodeType": "YulIdentifier", + "src": "9088:6:43" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "9019:98:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9060:5:43", + "nodeType": "YulTypedName", + "src": "9060:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "9070:6:43", + "nodeType": "YulTypedName", + "src": "9070:6:43", + "type": "" + } + ], + "src": "9019:98:43" + }, + { + "body": { + "nativeSrc": "9179:60:43", + "nodeType": "YulBlock", + "src": "9179:60:43", + "statements": [ + { + "nativeSrc": "9189:11:43", + "nodeType": "YulAssignment", + "src": "9189:11:43", + "value": { + "name": "ptr", + "nativeSrc": "9197:3:43", + "nodeType": "YulIdentifier", + "src": "9197:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9189:4:43", + "nodeType": "YulIdentifier", + "src": "9189:4:43" + } + ] + }, + { + "nativeSrc": "9210:22:43", + "nodeType": "YulAssignment", + "src": "9210:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "9222:3:43", + "nodeType": "YulIdentifier", + "src": "9222:3:43" + }, + { + "kind": "number", + "nativeSrc": "9227:4:43", + "nodeType": "YulLiteral", + "src": "9227:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9218:3:43", + "nodeType": "YulIdentifier", + "src": "9218:3:43" + }, + "nativeSrc": "9218:14:43", + "nodeType": "YulFunctionCall", + "src": "9218:14:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "9210:4:43", + "nodeType": "YulIdentifier", + "src": "9210:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_bytes_memory_ptr", + "nativeSrc": "9123:116:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "9166:3:43", + "nodeType": "YulTypedName", + "src": "9166:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "9174:4:43", + "nodeType": "YulTypedName", + "src": "9174:4:43", + "type": "" + } + ], + "src": "9123:116:43" + }, + { + "body": { + "nativeSrc": "9300:99:43", + "nodeType": "YulBlock", + "src": "9300:99:43", + "statements": [ + { + "nativeSrc": "9311:42:43", + "nodeType": "YulVariableDeclaration", + "src": "9311:42:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "9348:3:43", + "nodeType": "YulIdentifier", + "src": "9348:3:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9342:5:43", + "nodeType": "YulIdentifier", + "src": "9342:5:43" + }, + "nativeSrc": "9342:10:43", + "nodeType": "YulFunctionCall", + "src": "9342:10:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "9324:17:43", + "nodeType": "YulIdentifier", + "src": "9324:17:43" + }, + "nativeSrc": "9324:29:43", + "nodeType": "YulFunctionCall", + "src": "9324:29:43" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "9315:5:43", + "nodeType": "YulTypedName", + "src": "9315:5:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9363:29:43", + "nodeType": "YulAssignment", + "src": "9363:29:43", + "value": { + "name": "value", + "nativeSrc": "9387:5:43", + "nodeType": "YulIdentifier", + "src": "9387:5:43" + }, + "variableNames": [ + { + "name": "returnValue", + "nativeSrc": "9363:11:43", + "nodeType": "YulIdentifier", + "src": "9363:11:43" + } + ] + } + ] + }, + "name": "read_from_memoryt_bytes32", + "nativeSrc": "9245:154:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "9280:3:43", + "nodeType": "YulTypedName", + "src": "9280:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "returnValue", + "nativeSrc": "9288:11:43", + "nodeType": "YulTypedName", + "src": "9288:11:43", + "type": "" + } + ], + "src": "9245:154:43" + }, + { + "body": { + "nativeSrc": "9495:504:43", + "nodeType": "YulBlock", + "src": "9495:504:43", + "statements": [ + { + "nativeSrc": "9506:52:43", + "nodeType": "YulVariableDeclaration", + "src": "9506:52:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "9552:5:43", + "nodeType": "YulIdentifier", + "src": "9552:5:43" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "9520:31:43", + "nodeType": "YulIdentifier", + "src": "9520:31:43" + }, + "nativeSrc": "9520:38:43", + "nodeType": "YulFunctionCall", + "src": "9520:38:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "9510:6:43", + "nodeType": "YulTypedName", + "src": "9510:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9567:21:43", + "nodeType": "YulVariableDeclaration", + "src": "9567:21:43", + "value": { + "name": "array", + "nativeSrc": "9583:5:43", + "nodeType": "YulIdentifier", + "src": "9583:5:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "9571:8:43", + "nodeType": "YulTypedName", + "src": "9571:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9598:52:43", + "nodeType": "YulAssignment", + "src": "9598:52:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "9644:5:43", + "nodeType": "YulIdentifier", + "src": "9644:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_bytes_memory_ptr", + "nativeSrc": "9610:33:43", + "nodeType": "YulIdentifier", + "src": "9610:33:43" + }, + "nativeSrc": "9610:40:43", + "nodeType": "YulFunctionCall", + "src": "9610:40:43" + }, + "variableNames": [ + { + "name": "dataArea", + "nativeSrc": "9598:8:43", + "nodeType": "YulIdentifier", + "src": "9598:8:43" + } + ] + }, + { + "nativeSrc": "9660:44:43", + "nodeType": "YulAssignment", + "src": "9660:44:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "9695:8:43", + "nodeType": "YulIdentifier", + "src": "9695:8:43" + } + ], + "functionName": { + "name": "read_from_memoryt_bytes32", + "nativeSrc": "9669:25:43", + "nodeType": "YulIdentifier", + "src": "9669:25:43" + }, + "nativeSrc": "9669:35:43", + "nodeType": "YulFunctionCall", + "src": "9669:35:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9660:5:43", + "nodeType": "YulIdentifier", + "src": "9660:5:43" + } + ] + }, + { + "body": { + "nativeSrc": "9732:260:43", + "nodeType": "YulBlock", + "src": "9732:260:43", + "statements": [ + { + "nativeSrc": "9746:236:43", + "nodeType": "YulAssignment", + "src": "9746:236:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9776:5:43", + "nodeType": "YulIdentifier", + "src": "9776:5:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9843:1:43", + "nodeType": "YulLiteral", + "src": "9843:1:43", + "type": "", + "value": "8" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9850:2:43", + "nodeType": "YulLiteral", + "src": "9850:2:43", + "type": "", + "value": "32" + }, + { + "name": "length", + "nativeSrc": "9854:6:43", + "nodeType": "YulIdentifier", + "src": "9854:6:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9846:3:43", + "nodeType": "YulIdentifier", + "src": "9846:3:43" + }, + "nativeSrc": "9846:15:43", + "nodeType": "YulFunctionCall", + "src": "9846:15:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9839:3:43", + "nodeType": "YulIdentifier", + "src": "9839:3:43" + }, + "nativeSrc": "9839:23:43", + "nodeType": "YulFunctionCall", + "src": "9839:23:43" + }, + { + "kind": "number", + "nativeSrc": "9884:66:43", + "nodeType": "YulLiteral", + "src": "9884:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "9799:18:43", + "nodeType": "YulIdentifier", + "src": "9799:18:43" + }, + "nativeSrc": "9799:169:43", + "nodeType": "YulFunctionCall", + "src": "9799:169:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9755:3:43", + "nodeType": "YulIdentifier", + "src": "9755:3:43" + }, + "nativeSrc": "9755:227:43", + "nodeType": "YulFunctionCall", + "src": "9755:227:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9746:5:43", + "nodeType": "YulIdentifier", + "src": "9746:5:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "9720:6:43", + "nodeType": "YulIdentifier", + "src": "9720:6:43" + }, + { + "kind": "number", + "nativeSrc": "9728:2:43", + "nodeType": "YulLiteral", + "src": "9728:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9717:2:43", + "nodeType": "YulIdentifier", + "src": "9717:2:43" + }, + "nativeSrc": "9717:14:43", + "nodeType": "YulFunctionCall", + "src": "9717:14:43" + }, + "nativeSrc": "9714:278:43", + "nodeType": "YulIf", + "src": "9714:278:43" + } + ] + }, + "name": "convert_bytes_to_fixedbytes_from_t_bytes_memory_ptr_to_t_bytes32", + "nativeSrc": "9405:594:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "9479:5:43", + "nodeType": "YulTypedName", + "src": "9479:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9489:5:43", + "nodeType": "YulTypedName", + "src": "9489:5:43", + "type": "" + } + ], + "src": "9405:594:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_dataslot_t_bytes_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function read_from_memoryt_bytes32(ptr) -> returnValue {\n\n let value := cleanup_t_bytes32(mload(ptr))\n\n returnValue :=\n\n value\n\n }\n\n function convert_bytes_to_fixedbytes_from_t_bytes_memory_ptr_to_t_bytes32(array) -> value {\n\n let length := array_length_t_bytes_memory_ptr(array)\n let dataArea := array\n\n dataArea := array_dataslot_t_bytes_memory_ptr(array)\n\n value := read_from_memoryt_bytes32(dataArea)\n\n if lt(length, 32) {\n value := and(\n value,\n shift_left_dynamic(\n mul(8, sub(32, length)),\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n )\n )\n }\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "6101606040523480156200001257600080fd5b5060405162002b5a38038062002b5a8339818101604052810190620000389190620004d3565b6040518060400160405280600781526020017f4d79455243323000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250836040518060400160405280600781526020017f4d794552433230000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d5243000000000000000000000000000000000000000000000000000000000081525081600390816200012391906200077f565b5080600490816200013591906200077f565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001a4919062000877565b60405180910390fd5b620001be816200027760201b60201c565b50620001d56006836200033d60201b90919060201c565b6101208181525050620001f36007826200033d60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620002326200039560201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050505062000a72565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000363576200035b83620003f260201b60201c565b90506200038f565b8262000375836200045f60201b60201c565b60000190816200038691906200077f565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003d7959493929190620008c0565b60405160208183030381529060405280519060200120905090565b600080829050601f815111156200044257826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620004399190620009ac565b60405180910390fd5b805181620004509062000a02565b60001c1760001b915050919050565b6000819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200049b826200046e565b9050919050565b620004ad816200048e565b8114620004b957600080fd5b50565b600081519050620004cd81620004a2565b92915050565b600060208284031215620004ec57620004eb62000469565b5b6000620004fc84828501620004bc565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200058757607f821691505b6020821081036200059d576200059c6200053f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005c8565b620006138683620005c8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006606200065a62000654846200062b565b62000635565b6200062b565b9050919050565b6000819050919050565b6200067c836200063f565b620006946200068b8262000667565b848454620005d5565b825550505050565b600090565b620006ab6200069c565b620006b881848462000671565b505050565b5b81811015620006e057620006d4600082620006a1565b600181019050620006be565b5050565b601f8211156200072f57620006f981620005a3565b6200070484620005b8565b8101602085101562000714578190505b6200072c6200072385620005b8565b830182620006bd565b50505b505050565b600082821c905092915050565b6000620007546000198460080262000734565b1980831691505092915050565b60006200076f838362000741565b9150826002028217905092915050565b6200078a8262000505565b67ffffffffffffffff811115620007a657620007a562000510565b5b620007b282546200056e565b620007bf828285620006e4565b600060209050601f831160018114620007f75760008415620007e2578287015190505b620007ee858262000761565b8655506200085e565b601f1984166200080786620005a3565b60005b8281101562000831578489015182556001820191506020850194506020810190506200080a565b868310156200085157848901516200084d601f89168262000741565b8355505b6001600288020188555050505b505050505050565b62000871816200048e565b82525050565b60006020820190506200088e600083018462000866565b92915050565b6000819050919050565b620008a98162000894565b82525050565b620008ba816200062b565b82525050565b600060a082019050620008d760008301886200089e565b620008e660208301876200089e565b620008f560408301866200089e565b620009046060830185620008af565b62000913608083018462000866565b9695505050505050565b600082825260208201905092915050565b60005b838110156200094e57808201518184015260208101905062000931565b60008484015250505050565b6000601f19601f8301169050919050565b6000620009788262000505565b6200098481856200091d565b9350620009968185602086016200092e565b620009a1816200095a565b840191505092915050565b60006020820190508181036000830152620009c881846200096b565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620009f9825162000894565b80915050919050565b600062000a0f82620009d0565b8262000a1b84620009db565b905062000a2881620009eb565b9250602082101562000a6b5762000a667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620005c8565b831692505b5050919050565b60805160a05160c05160e05161010051610120516101405161208d62000acd6000396000610e8701526000610e4c0152600061139c0152600061137b01526000610af601526000610b4c01526000610b75015261208d6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b41146102fe578063a9059cbb1461031c578063d505accf1461034c578063dd62ed3e14610368578063f2fde38b1461039857610121565b8063715018a61461026657806379cc6790146102705780637ecebe001461028c57806384b0196e146102bc5780638da5cb5b146102e057610121565b8063313ce567116100f4578063313ce567146101c25780633644e515146101e057806340c10f19146101fe57806342966c681461021a57806370a082311461023657610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103b4565b60405161013b9190611889565b60405180910390f35b61015e60048036038101906101599190611944565b610446565b60405161016b919061199f565b60405180910390f35b61017c610469565b60405161018991906119c9565b60405180910390f35b6101ac60048036038101906101a791906119e4565b610473565b6040516101b9919061199f565b60405180910390f35b6101ca6104a2565b6040516101d79190611a53565b60405180910390f35b6101e86104ab565b6040516101f59190611a87565b60405180910390f35b61021860048036038101906102139190611944565b6104ba565b005b610234600480360381019061022f9190611aa2565b6104d0565b005b610250600480360381019061024b9190611acf565b6104e4565b60405161025d91906119c9565b60405180910390f35b61026e61052c565b005b61028a60048036038101906102859190611944565b610540565b005b6102a660048036038101906102a19190611acf565b610560565b6040516102b391906119c9565b60405180910390f35b6102c4610572565b6040516102d79796959493929190611c04565b60405180910390f35b6102e861061c565b6040516102f59190611c88565b60405180910390f35b610306610646565b6040516103139190611889565b60405180910390f35b61033660048036038101906103319190611944565b6106d8565b604051610343919061199f565b60405180910390f35b61036660048036038101906103619190611cfb565b6106fb565b005b610382600480360381019061037d9190611d9d565b610843565b60405161038f91906119c9565b60405180910390f35b6103b260048036038101906103ad9190611acf565b6108ca565b005b6060600380546103c390611e0c565b80601f01602080910402602001604051908101604052809291908181526020018280546103ef90611e0c565b801561043c5780601f106104115761010080835404028352916020019161043c565b820191906000526020600020905b81548152906001019060200180831161041f57829003601f168201915b5050505050905090565b600080610451610950565b905061045e818585610958565b600191505092915050565b6000600254905090565b60008061047e610950565b905061048b85828561096a565b6104968585856109fe565b60019150509392505050565b60006012905090565b60006104b5610af2565b905090565b6104c2610ba9565b6104cc8282610c30565b5050565b6104e16104db610950565b82610cb2565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610534610ba9565b61053e6000610d34565b565b6105528261054c610950565b8361096a565b61055c8282610cb2565b5050565b600061056b82610dfa565b9050919050565b600060608060008060006060610586610e43565b61058e610e7e565b46306000801b600067ffffffffffffffff8111156105af576105ae611e3d565b5b6040519080825280602002602001820160405280156105dd5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461065590611e0c565b80601f016020809104026020016040519081016040528092919081815260200182805461068190611e0c565b80156106ce5780601f106106a3576101008083540402835291602001916106ce565b820191906000526020600020905b8154815290600101906020018083116106b157829003601f168201915b5050505050905090565b6000806106e3610950565b90506106f08185856109fe565b600191505092915050565b8342111561074057836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161073791906119c9565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861076f8c610eb9565b8960405160200161078596959493929190611e6c565b60405160208183030381529060405280519060200120905060006107a882610f10565b905060006107b882878787610f2a565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461082c57808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610823929190611ecd565b60405180910390fd5b6108378a8a8a610958565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108d2610ba9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109445760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161093b9190611c88565b60405180910390fd5b61094d81610d34565b50565b600033905090565b6109658383836001610f5a565b505050565b60006109768484610843565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109f857818110156109e8578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016109df93929190611ef6565b60405180910390fd5b6109f784848484036000610f5a565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a705760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a679190611c88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ae25760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ad99190611c88565b60405180910390fd5b610aed838383611131565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610b6e57507f000000000000000000000000000000000000000000000000000000000000000046145b15610b9b577f00000000000000000000000000000000000000000000000000000000000000009050610ba6565b610ba3611356565b90505b90565b610bb1610950565b73ffffffffffffffffffffffffffffffffffffffff16610bcf61061c565b73ffffffffffffffffffffffffffffffffffffffff1614610c2e57610bf2610950565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c259190611c88565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca25760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610c999190611c88565b60405180910390fd5b610cae60008383611131565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d245760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610d1b9190611c88565b60405180910390fd5b610d3082600083611131565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060610e7960067f00000000000000000000000000000000000000000000000000000000000000006113ec90919063ffffffff16565b905090565b6060610eb460077f00000000000000000000000000000000000000000000000000000000000000006113ec90919063ffffffff16565b905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b6000610f23610f1d610af2565b8361149c565b9050919050565b600080600080610f3c888888886114dd565b925092509250610f4c82826115d1565b829350505050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610fcc5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610fc39190611c88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361103e5760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016110359190611c88565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561112b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161112291906119c9565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111835780600260008282546111779190611f5c565b92505081905550611256565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561120f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161120693929190611ef6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361129f57806002600082825403925050819055506112ec565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134991906119c9565b60405180910390a3505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016113d1959493929190611f90565b60405160208183030381529060405280519060200120905090565b606060ff60001b83146114095761140283611735565b9050611496565b81805461141590611e0c565b80601f016020809104026020016040519081016040528092919081815260200182805461144190611e0c565b801561148e5780601f106114635761010080835404028352916020019161148e565b820191906000526020600020905b81548152906001019060200180831161147157829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561151d5760006003859250925092506115c7565b6000600188888888604051600081526020016040526040516115429493929190611fe3565b6020604051602081039080840390855afa158015611564573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b857600060016000801b935093509350506115c7565b8060008060001b935093509350505b9450945094915050565b600060038111156115e5576115e4612028565b5b8260038111156115f8576115f7612028565b5b0315611731576001600381111561161257611611612028565b5b82600381111561162557611624612028565b5b0361165c576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156116705761166f612028565b5b82600381111561168357611682612028565b5b036116c8578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016116bf91906119c9565b60405180910390fd5b6003808111156116db576116da612028565b5b8260038111156116ee576116ed612028565b5b0361173057806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016117279190611a87565b60405180910390fd5b5b5050565b60606000611742836117a9565b90506000602067ffffffffffffffff81111561176157611760611e3d565b5b6040519080825280601f01601f1916602001820160405280156117935781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60008060ff8360001c169050601f8111156117f0576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611833578082015181840152602081019050611818565b60008484015250505050565b6000601f19601f8301169050919050565b600061185b826117f9565b6118658185611804565b9350611875818560208601611815565b61187e8161183f565b840191505092915050565b600060208201905081810360008301526118a38184611850565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118db826118b0565b9050919050565b6118eb816118d0565b81146118f657600080fd5b50565b600081359050611908816118e2565b92915050565b6000819050919050565b6119218161190e565b811461192c57600080fd5b50565b60008135905061193e81611918565b92915050565b6000806040838503121561195b5761195a6118ab565b5b6000611969858286016118f9565b925050602061197a8582860161192f565b9150509250929050565b60008115159050919050565b61199981611984565b82525050565b60006020820190506119b46000830184611990565b92915050565b6119c38161190e565b82525050565b60006020820190506119de60008301846119ba565b92915050565b6000806000606084860312156119fd576119fc6118ab565b5b6000611a0b868287016118f9565b9350506020611a1c868287016118f9565b9250506040611a2d8682870161192f565b9150509250925092565b600060ff82169050919050565b611a4d81611a37565b82525050565b6000602082019050611a686000830184611a44565b92915050565b6000819050919050565b611a8181611a6e565b82525050565b6000602082019050611a9c6000830184611a78565b92915050565b600060208284031215611ab857611ab76118ab565b5b6000611ac68482850161192f565b91505092915050565b600060208284031215611ae557611ae46118ab565b5b6000611af3848285016118f9565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b3181611afc565b82525050565b611b40816118d0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611b7b8161190e565b82525050565b6000611b8d8383611b72565b60208301905092915050565b6000602082019050919050565b6000611bb182611b46565b611bbb8185611b51565b9350611bc683611b62565b8060005b83811015611bf7578151611bde8882611b81565b9750611be983611b99565b925050600181019050611bca565b5085935050505092915050565b600060e082019050611c19600083018a611b28565b8181036020830152611c2b8189611850565b90508181036040830152611c3f8188611850565b9050611c4e60608301876119ba565b611c5b6080830186611b37565b611c6860a0830185611a78565b81810360c0830152611c7a8184611ba6565b905098975050505050505050565b6000602082019050611c9d6000830184611b37565b92915050565b611cac81611a37565b8114611cb757600080fd5b50565b600081359050611cc981611ca3565b92915050565b611cd881611a6e565b8114611ce357600080fd5b50565b600081359050611cf581611ccf565b92915050565b600080600080600080600060e0888a031215611d1a57611d196118ab565b5b6000611d288a828b016118f9565b9750506020611d398a828b016118f9565b9650506040611d4a8a828b0161192f565b9550506060611d5b8a828b0161192f565b9450506080611d6c8a828b01611cba565b93505060a0611d7d8a828b01611ce6565b92505060c0611d8e8a828b01611ce6565b91505092959891949750929550565b60008060408385031215611db457611db36118ab565b5b6000611dc2858286016118f9565b9250506020611dd3858286016118f9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e2457607f821691505b602082108103611e3757611e36611ddd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c082019050611e816000830189611a78565b611e8e6020830188611b37565b611e9b6040830187611b37565b611ea860608301866119ba565b611eb560808301856119ba565b611ec260a08301846119ba565b979650505050505050565b6000604082019050611ee26000830185611b37565b611eef6020830184611b37565b9392505050565b6000606082019050611f0b6000830186611b37565b611f1860208301856119ba565b611f2560408301846119ba565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f678261190e565b9150611f728361190e565b9250828201905080821115611f8a57611f89611f2d565b5b92915050565b600060a082019050611fa56000830188611a78565b611fb26020830187611a78565b611fbf6040830186611a78565b611fcc60608301856119ba565b611fd96080830184611b37565b9695505050505050565b6000608082019050611ff86000830187611a78565b6120056020830186611a44565b6120126040830185611a78565b61201f6060830184611a78565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220df404fca697408bf247403366a6cc75cce9a504249977a97cd270fcde53901e664736f6c63430008180033", + "opcodes": "PUSH2 0x160 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2B5A CODESIZE SUB DUP1 PUSH3 0x2B5A DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x38 SWAP2 SWAP1 PUSH3 0x4D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D79455243323000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3100000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D79455243323000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D52430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x123 SWAP2 SWAP1 PUSH3 0x77F JUMP JUMPDEST POP DUP1 PUSH1 0x4 SWAP1 DUP2 PUSH3 0x135 SWAP2 SWAP1 PUSH3 0x77F JUMP JUMPDEST POP POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x1AD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A4 SWAP2 SWAP1 PUSH3 0x877 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x1BE DUP2 PUSH3 0x277 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP PUSH3 0x1D5 PUSH1 0x6 DUP4 PUSH3 0x33D PUSH1 0x20 SHL SWAP1 SWAP2 SWAP1 PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x120 DUP2 DUP2 MSTORE POP POP PUSH3 0x1F3 PUSH1 0x7 DUP3 PUSH3 0x33D PUSH1 0x20 SHL SWAP1 SWAP2 SWAP1 PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x140 DUP2 DUP2 MSTORE POP POP DUP2 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0xE0 DUP2 DUP2 MSTORE POP POP DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x100 DUP2 DUP2 MSTORE POP POP CHAINID PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP PUSH3 0x232 PUSH3 0x395 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x80 DUP2 DUP2 MSTORE POP POP ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xC0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP POP POP PUSH3 0xA72 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP4 MLOAD LT ISZERO PUSH3 0x363 JUMPI PUSH3 0x35B DUP4 PUSH3 0x3F2 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP PUSH3 0x38F JUMP JUMPDEST DUP3 PUSH3 0x375 DUP4 PUSH3 0x45F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD SWAP1 DUP2 PUSH3 0x386 SWAP2 SWAP1 PUSH3 0x77F JUMP JUMPDEST POP PUSH1 0xFF PUSH1 0x0 SHL SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH1 0xE0 MLOAD PUSH2 0x100 MLOAD CHAINID ADDRESS PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH3 0x3D7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x8C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x1F DUP2 MLOAD GT ISZERO PUSH3 0x442 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH32 0x305A27A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x439 SWAP2 SWAP1 PUSH3 0x9AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH3 0x450 SWAP1 PUSH3 0xA02 JUMP JUMPDEST PUSH1 0x0 SHR OR PUSH1 0x0 SHL SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x49B DUP3 PUSH3 0x46E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x4AD DUP2 PUSH3 0x48E JUMP JUMPDEST DUP2 EQ PUSH3 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x4CD DUP2 PUSH3 0x4A2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x4EC JUMPI PUSH3 0x4EB PUSH3 0x469 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x4FC DUP5 DUP3 DUP6 ADD PUSH3 0x4BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x587 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x59D JUMPI PUSH3 0x59C PUSH3 0x53F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x607 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5C8 JUMP JUMPDEST PUSH3 0x613 DUP7 DUP4 PUSH3 0x5C8 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x660 PUSH3 0x65A PUSH3 0x654 DUP5 PUSH3 0x62B JUMP JUMPDEST PUSH3 0x635 JUMP JUMPDEST PUSH3 0x62B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x67C DUP4 PUSH3 0x63F JUMP JUMPDEST PUSH3 0x694 PUSH3 0x68B DUP3 PUSH3 0x667 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5D5 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6AB PUSH3 0x69C JUMP JUMPDEST PUSH3 0x6B8 DUP2 DUP5 DUP5 PUSH3 0x671 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6E0 JUMPI PUSH3 0x6D4 PUSH1 0x0 DUP3 PUSH3 0x6A1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6BE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x72F JUMPI PUSH3 0x6F9 DUP2 PUSH3 0x5A3 JUMP JUMPDEST PUSH3 0x704 DUP5 PUSH3 0x5B8 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x714 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x72C PUSH3 0x723 DUP6 PUSH3 0x5B8 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6BD JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x754 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x734 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x76F DUP4 DUP4 PUSH3 0x741 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x78A DUP3 PUSH3 0x505 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7A6 JUMPI PUSH3 0x7A5 PUSH3 0x510 JUMP JUMPDEST JUMPDEST PUSH3 0x7B2 DUP3 SLOAD PUSH3 0x56E JUMP JUMPDEST PUSH3 0x7BF DUP3 DUP3 DUP6 PUSH3 0x6E4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x7F7 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7E2 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7EE DUP6 DUP3 PUSH3 0x761 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x85E JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x807 DUP7 PUSH3 0x5A3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x831 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x80A JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x851 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x84D PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x741 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH3 0x871 DUP2 PUSH3 0x48E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x88E PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x866 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x8A9 DUP2 PUSH3 0x894 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0x8BA DUP2 PUSH3 0x62B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH3 0x8D7 PUSH1 0x0 DUP4 ADD DUP9 PUSH3 0x89E JUMP JUMPDEST PUSH3 0x8E6 PUSH1 0x20 DUP4 ADD DUP8 PUSH3 0x89E JUMP JUMPDEST PUSH3 0x8F5 PUSH1 0x40 DUP4 ADD DUP7 PUSH3 0x89E JUMP JUMPDEST PUSH3 0x904 PUSH1 0x60 DUP4 ADD DUP6 PUSH3 0x8AF JUMP JUMPDEST PUSH3 0x913 PUSH1 0x80 DUP4 ADD DUP5 PUSH3 0x866 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x94E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x931 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x978 DUP3 PUSH3 0x505 JUMP JUMPDEST PUSH3 0x984 DUP2 DUP6 PUSH3 0x91D JUMP JUMPDEST SWAP4 POP PUSH3 0x996 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x92E JUMP JUMPDEST PUSH3 0x9A1 DUP2 PUSH3 0x95A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x9C8 DUP2 DUP5 PUSH3 0x96B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x9F9 DUP3 MLOAD PUSH3 0x894 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA0F DUP3 PUSH3 0x9D0 JUMP JUMPDEST DUP3 PUSH3 0xA1B DUP5 PUSH3 0x9DB JUMP JUMPDEST SWAP1 POP PUSH3 0xA28 DUP2 PUSH3 0x9EB JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP3 LT ISZERO PUSH3 0xA6B JUMPI PUSH3 0xA66 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 PUSH1 0x20 SUB PUSH1 0x8 MUL PUSH3 0x5C8 JUMP JUMPDEST DUP4 AND SWAP3 POP JUMPDEST POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0x100 MLOAD PUSH2 0x120 MLOAD PUSH2 0x140 MLOAD PUSH2 0x208D PUSH3 0xACD PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0xE87 ADD MSTORE PUSH1 0x0 PUSH2 0xE4C ADD MSTORE PUSH1 0x0 PUSH2 0x139C ADD MSTORE PUSH1 0x0 PUSH2 0x137B ADD MSTORE PUSH1 0x0 PUSH2 0xAF6 ADD MSTORE PUSH1 0x0 PUSH2 0xB4C ADD MSTORE PUSH1 0x0 PUSH2 0xB75 ADD MSTORE PUSH2 0x208D PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x121 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x31C JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x34C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x368 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x398 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x266 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2E0 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x21A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x236 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x174 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x192 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12E PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13B SWAP2 SWAP1 PUSH2 0x1889 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x15E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x159 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x446 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16B SWAP2 SWAP1 PUSH2 0x199F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17C PUSH2 0x469 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x189 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x19E4 JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0x199F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x4A2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x1A53 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E8 PUSH2 0x4AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x1A87 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x213 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x4BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x234 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22F SWAP2 SWAP1 PUSH2 0x1AA2 JUMP JUMPDEST PUSH2 0x4D0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x250 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x1ACF JUMP JUMPDEST PUSH2 0x4E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25D SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26E PUSH2 0x52C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x28A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x285 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x540 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A1 SWAP2 SWAP1 PUSH2 0x1ACF JUMP JUMPDEST PUSH2 0x560 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B3 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C4 PUSH2 0x572 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D7 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E8 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2F5 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x306 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x313 SWAP2 SWAP1 PUSH2 0x1889 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x336 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x331 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x199F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x361 SWAP2 SWAP1 PUSH2 0x1CFB JUMP JUMPDEST PUSH2 0x6FB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x382 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x1D9D JUMP JUMPDEST PUSH2 0x843 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x38F SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3AD SWAP2 SWAP1 PUSH2 0x1ACF JUMP JUMPDEST PUSH2 0x8CA JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x3C3 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3EF SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x43C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x411 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x43C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x41F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x451 PUSH2 0x950 JUMP JUMPDEST SWAP1 POP PUSH2 0x45E DUP2 DUP6 DUP6 PUSH2 0x958 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x47E PUSH2 0x950 JUMP JUMPDEST SWAP1 POP PUSH2 0x48B DUP6 DUP3 DUP6 PUSH2 0x96A JUMP JUMPDEST PUSH2 0x496 DUP6 DUP6 DUP6 PUSH2 0x9FE JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 PUSH2 0xAF2 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4C2 PUSH2 0xBA9 JUMP JUMPDEST PUSH2 0x4CC DUP3 DUP3 PUSH2 0xC30 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x4E1 PUSH2 0x4DB PUSH2 0x950 JUMP JUMPDEST DUP3 PUSH2 0xCB2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x534 PUSH2 0xBA9 JUMP JUMPDEST PUSH2 0x53E PUSH1 0x0 PUSH2 0xD34 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x552 DUP3 PUSH2 0x54C PUSH2 0x950 JUMP JUMPDEST DUP4 PUSH2 0x96A JUMP JUMPDEST PUSH2 0x55C DUP3 DUP3 PUSH2 0xCB2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x56B DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 PUSH2 0x586 PUSH2 0xE43 JUMP JUMPDEST PUSH2 0x58E PUSH2 0xE7E JUMP JUMPDEST CHAINID ADDRESS PUSH1 0x0 DUP1 SHL PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x1E3D JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x5DD JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH32 0xF00000000000000000000000000000000000000000000000000000000000000 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x655 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x681 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6CE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6A3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6CE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6B1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E3 PUSH2 0x950 JUMP JUMPDEST SWAP1 POP PUSH2 0x6F0 DUP2 DUP6 DUP6 PUSH2 0x9FE JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x740 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH32 0x6279130200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x737 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP9 DUP9 DUP9 PUSH2 0x76F DUP13 PUSH2 0xEB9 JUMP JUMPDEST DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x785 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1E6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x0 PUSH2 0x7A8 DUP3 PUSH2 0xF10 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x7B8 DUP3 DUP8 DUP8 DUP8 PUSH2 0xF2A JUMP JUMPDEST SWAP1 POP DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x82C JUMPI DUP1 DUP11 PUSH1 0x40 MLOAD PUSH32 0x4B800E4600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x823 SWAP3 SWAP2 SWAP1 PUSH2 0x1ECD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x837 DUP11 DUP11 DUP11 PUSH2 0x958 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8D2 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x944 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x93B SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x94D DUP2 PUSH2 0xD34 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x965 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xF5A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x976 DUP5 DUP5 PUSH2 0x843 JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x9F8 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x9E8 JUMPI DUP3 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xFB8F41B200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9DF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1EF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9F7 DUP5 DUP5 DUP5 DUP5 SUB PUSH1 0x0 PUSH2 0xF5A JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA70 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA67 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xAE2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAD9 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAED DUP4 DUP4 DUP4 PUSH2 0x1131 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0xB6E JUMPI POP PUSH32 0x0 CHAINID EQ JUMPDEST ISZERO PUSH2 0xB9B JUMPI PUSH32 0x0 SWAP1 POP PUSH2 0xBA6 JUMP JUMPDEST PUSH2 0xBA3 PUSH2 0x1356 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xBB1 PUSH2 0x950 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xBCF PUSH2 0x61C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC2E JUMPI PUSH2 0xBF2 PUSH2 0x950 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC25 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xCA2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC99 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCAE PUSH1 0x0 DUP4 DUP4 PUSH2 0x1131 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xD24 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD1B SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD30 DUP3 PUSH1 0x0 DUP4 PUSH2 0x1131 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xE79 PUSH1 0x6 PUSH32 0x0 PUSH2 0x13EC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xEB4 PUSH1 0x7 PUSH32 0x0 PUSH2 0x13EC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF23 PUSH2 0xF1D PUSH2 0xAF2 JUMP JUMPDEST DUP4 PUSH2 0x149C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0xF3C DUP9 DUP9 DUP9 DUP9 PUSH2 0x14DD JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xF4C DUP3 DUP3 PUSH2 0x15D1 JUMP JUMPDEST DUP3 SWAP4 POP POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xFCC JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xE602DF0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFC3 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x103E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x94280D6200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1035 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 ISZERO PUSH2 0x112B JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1122 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1183 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1177 SWAP2 SWAP1 PUSH2 0x1F5C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x1256 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x120F JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1206 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1EF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x129F JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x12EC JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP5 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 ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x1349 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH32 0x0 PUSH32 0x0 CHAINID ADDRESS PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x13D1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x0 SHL DUP4 EQ PUSH2 0x1409 JUMPI PUSH2 0x1402 DUP4 PUSH2 0x1735 JUMP JUMPDEST SWAP1 POP PUSH2 0x1496 JUMP JUMPDEST DUP2 DUP1 SLOAD PUSH2 0x1415 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1441 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x148E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1463 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x148E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1471 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP4 PUSH1 0x2 DUP3 ADD MSTORE DUP3 PUSH1 0x22 DUP3 ADD MSTORE PUSH1 0x42 DUP2 KECCAK256 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0x151D JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0x15C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x1542 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1FE3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1564 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x15B8 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0x15C7 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x15E5 JUMPI PUSH2 0x15E4 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x15F8 JUMPI PUSH2 0x15F7 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB ISZERO PUSH2 0x1731 JUMPI PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1612 JUMPI PUSH2 0x1611 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1625 JUMPI PUSH2 0x1624 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB PUSH2 0x165C JUMPI PUSH1 0x40 MLOAD PUSH32 0xF645EEDF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1683 JUMPI PUSH2 0x1682 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB PUSH2 0x16C8 JUMPI DUP1 PUSH1 0x0 SHR PUSH1 0x40 MLOAD PUSH32 0xFCE698F700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16BF SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x16DB JUMPI PUSH2 0x16DA PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x16EE JUMPI PUSH2 0x16ED PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB PUSH2 0x1730 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD78BCE0C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1727 SWAP2 SWAP1 PUSH2 0x1A87 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1742 DUP4 PUSH2 0x17A9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1761 JUMPI PUSH2 0x1760 PUSH2 0x1E3D JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1793 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xFF DUP4 PUSH1 0x0 SHR AND SWAP1 POP PUSH1 0x1F DUP2 GT ISZERO PUSH2 0x17F0 JUMPI PUSH1 0x40 MLOAD PUSH32 0xB3512B0C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1833 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1818 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x185B DUP3 PUSH2 0x17F9 JUMP JUMPDEST PUSH2 0x1865 DUP2 DUP6 PUSH2 0x1804 JUMP JUMPDEST SWAP4 POP PUSH2 0x1875 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1815 JUMP JUMPDEST PUSH2 0x187E DUP2 PUSH2 0x183F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18A3 DUP2 DUP5 PUSH2 0x1850 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18DB DUP3 PUSH2 0x18B0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18EB DUP2 PUSH2 0x18D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x18F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1908 DUP2 PUSH2 0x18E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1921 DUP2 PUSH2 0x190E JUMP JUMPDEST DUP2 EQ PUSH2 0x192C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0x1918 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195B JUMPI PUSH2 0x195A PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1969 DUP6 DUP3 DUP7 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x197A DUP6 DUP3 DUP7 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1999 DUP2 PUSH2 0x1984 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19B4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1990 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x19C3 DUP2 PUSH2 0x190E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19DE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x19BA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x19FD JUMPI PUSH2 0x19FC PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A0B DUP7 DUP3 DUP8 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1A1C DUP7 DUP3 DUP8 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1A2D DUP7 DUP3 DUP8 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A4D DUP2 PUSH2 0x1A37 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1A68 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A44 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A81 DUP2 PUSH2 0x1A6E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1A9C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AB8 JUMPI PUSH2 0x1AB7 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AC6 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AE5 JUMPI PUSH2 0x1AE4 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF3 DUP5 DUP3 DUP6 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B31 DUP2 PUSH2 0x1AFC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1B40 DUP2 PUSH2 0x18D0 JUMP JUMPDEST DUP3 MSTORE 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 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B7B DUP2 PUSH2 0x190E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B8D DUP4 DUP4 PUSH2 0x1B72 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BB1 DUP3 PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x1BBB DUP2 DUP6 PUSH2 0x1B51 JUMP JUMPDEST SWAP4 POP PUSH2 0x1BC6 DUP4 PUSH2 0x1B62 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1BF7 JUMPI DUP2 MLOAD PUSH2 0x1BDE DUP9 DUP3 PUSH2 0x1B81 JUMP JUMPDEST SWAP8 POP PUSH2 0x1BE9 DUP4 PUSH2 0x1B99 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1BCA JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x1C19 PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x1B28 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1C2B DUP2 DUP10 PUSH2 0x1850 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1C3F DUP2 DUP9 PUSH2 0x1850 JUMP JUMPDEST SWAP1 POP PUSH2 0x1C4E PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1C5B PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1C68 PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x1A78 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH2 0x1C7A DUP2 DUP5 PUSH2 0x1BA6 JUMP JUMPDEST SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1C9D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1B37 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1CAC DUP2 PUSH2 0x1A37 JUMP JUMPDEST DUP2 EQ PUSH2 0x1CB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CC9 DUP2 PUSH2 0x1CA3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1CD8 DUP2 PUSH2 0x1A6E JUMP JUMPDEST DUP2 EQ PUSH2 0x1CE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CF5 DUP2 PUSH2 0x1CCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1D1A JUMPI PUSH2 0x1D19 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D28 DUP11 DUP3 DUP12 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x1D39 DUP11 DUP3 DUP12 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x1D4A DUP11 DUP3 DUP12 ADD PUSH2 0x192F JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH2 0x1D5B DUP11 DUP3 DUP12 ADD PUSH2 0x192F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH2 0x1D6C DUP11 DUP3 DUP12 ADD PUSH2 0x1CBA JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH2 0x1D7D DUP11 DUP3 DUP12 ADD PUSH2 0x1CE6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH2 0x1D8E DUP11 DUP3 DUP12 ADD PUSH2 0x1CE6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1DB4 JUMPI PUSH2 0x1DB3 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DC2 DUP6 DUP3 DUP7 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1DD3 DUP6 DUP3 DUP7 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1E24 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1E37 JUMPI PUSH2 0x1E36 PUSH2 0x1DDD JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x1E81 PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1E8E PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1E9B PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1EA8 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1EB5 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1EC2 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x19BA JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1EE2 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1EEF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1B37 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1F0B PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1F18 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1F25 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x19BA JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1F67 DUP3 PUSH2 0x190E JUMP JUMPDEST SWAP2 POP PUSH2 0x1F72 DUP4 PUSH2 0x190E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1F8A JUMPI PUSH2 0x1F89 PUSH2 0x1F2D JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1FA5 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1FB2 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1FBF PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1FCC PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1FD9 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1B37 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1FF8 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x2005 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1A44 JUMP JUMPDEST PUSH2 0x2012 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x201F PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1A78 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF BLOCKHASH 0x4F 0xCA PUSH10 0x7408BF247403366A6CC7 TLOAD 0xCE SWAP11 POP TIMESTAMP BLOBHASH SWAP8 PUSH27 0x97CD270FCDE53901E664736F6C6343000818003300000000000000 ", + "sourceMap": "316:303:37:-:0;;;385:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1577:52:11;;;;;;;;;;;;;;;;;1616:4;3328:431:24;;;;;;;;;;;;;;;;;467:12:37;1601:113:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1675:5;1667;:13;;;;;;:::i;:::-;;1700:7;1690;:17;;;;;;:::i;:::-;;1601:113;;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;3401:45:24;3432:13;3401:4;:30;;;;:45;;;;:::i;:::-;3393:53;;;;;;3467:51;3501:16;3467:7;:33;;;;:51;;;;:::i;:::-;3456:62;;;;;;3558:4;3542:22;;;;;;3528:36;;;;;;3607:7;3591:25;;;;;;3574:42;;;;;;3644:13;3627:30;;;;;;3692:23;:21;;;:23;;:::i;:::-;3667:48;;;;;;3747:4;3725:27;;;;;;;;;;3328:431;;1577:52:11;385:133:37;316:303;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;2887:340:19:-;2983:11;3032:2;3016:5;3010:19;:24;3006:215;;;3057:20;3071:5;3057:13;;;:20;;:::i;:::-;3050:27;;;;3006:215;3149:5;3108:32;3134:5;3108:25;;;:32;;:::i;:::-;:38;;:46;;;;;;:::i;:::-;;1390:66;3192:17;;3168:42;;2887:340;;;;;:::o;4113:179:24:-;4168:7;2079:95;4226:11;;4239:14;;4255:13;4278:4;4204:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;:::o;1708:286:19:-;1773:11;1796:17;1822:3;1796:30;;1854:2;1840:4;:11;:16;1836:72;;;1893:3;1879:18;;;;;;;;;;;:::i;:::-;;;;;;;;1836:72;1974:4;:11;1965:4;1957:13;;;:::i;:::-;1949:22;;:36;1941:45;;1917:70;;;1708:286;;;:::o;3468:175:21:-;3536:20;3617:10;3607:20;;3468:175;;;:::o;88:117:43:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;1202:99::-;1254:6;1288:5;1282:12;1272:22;;1202:99;;;:::o;1307:180::-;1355:77;1352:1;1345:88;1452:4;1449:1;1442:15;1476:4;1473:1;1466:15;1493:180;1541:77;1538:1;1531:88;1638:4;1635:1;1628:15;1662:4;1659:1;1652:15;1679:320;1723:6;1760:1;1754:4;1750:12;1740:22;;1807:1;1801:4;1797:12;1828:18;1818:81;;1884:4;1876:6;1872:17;1862:27;;1818:81;1946:2;1938:6;1935:14;1915:18;1912:38;1909:84;;1965:18;;:::i;:::-;1909:84;1730:269;1679:320;;;:::o;2005:141::-;2054:4;2077:3;2069:11;;2100:3;2097:1;2090:14;2134:4;2131:1;2121:18;2113:26;;2005:141;;;:::o;2152:93::-;2189:6;2236:2;2231;2224:5;2220:14;2216:23;2206:33;;2152:93;;;:::o;2251:107::-;2295:8;2345:5;2339:4;2335:16;2314:37;;2251:107;;;;:::o;2364:393::-;2433:6;2483:1;2471:10;2467:18;2506:97;2536:66;2525:9;2506:97;:::i;:::-;2624:39;2654:8;2643:9;2624:39;:::i;:::-;2612:51;;2696:4;2692:9;2685:5;2681:21;2672:30;;2745:4;2735:8;2731:19;2724:5;2721:30;2711:40;;2440:317;;2364:393;;;;;:::o;2763:77::-;2800:7;2829:5;2818:16;;2763:77;;;:::o;2846:60::-;2874:3;2895:5;2888:12;;2846:60;;;:::o;2912:142::-;2962:9;2995:53;3013:34;3022:24;3040:5;3022:24;:::i;:::-;3013:34;:::i;:::-;2995:53;:::i;:::-;2982:66;;2912:142;;;:::o;3060:75::-;3103:3;3124:5;3117:12;;3060:75;;;:::o;3141:269::-;3251:39;3282:7;3251:39;:::i;:::-;3312:91;3361:41;3385:16;3361:41;:::i;:::-;3353:6;3346:4;3340:11;3312:91;:::i;:::-;3306:4;3299:105;3217:193;3141:269;;;:::o;3416:73::-;3461:3;3416:73;:::o;3495:189::-;3572:32;;:::i;:::-;3613:65;3671:6;3663;3657:4;3613:65;:::i;:::-;3548:136;3495:189;;:::o;3690:186::-;3750:120;3767:3;3760:5;3757:14;3750:120;;;3821:39;3858:1;3851:5;3821:39;:::i;:::-;3794:1;3787:5;3783:13;3774:22;;3750:120;;;3690:186;;:::o;3882:543::-;3983:2;3978:3;3975:11;3972:446;;;4017:38;4049:5;4017:38;:::i;:::-;4101:29;4119:10;4101:29;:::i;:::-;4091:8;4087:44;4284:2;4272:10;4269:18;4266:49;;;4305:8;4290:23;;4266:49;4328:80;4384:22;4402:3;4384:22;:::i;:::-;4374:8;4370:37;4357:11;4328:80;:::i;:::-;3987:431;;3972:446;3882:543;;;:::o;4431:117::-;4485:8;4535:5;4529:4;4525:16;4504:37;;4431:117;;;;:::o;4554:169::-;4598:6;4631:51;4679:1;4675:6;4667:5;4664:1;4660:13;4631:51;:::i;:::-;4627:56;4712:4;4706;4702:15;4692:25;;4605:118;4554:169;;;;:::o;4728:295::-;4804:4;4950:29;4975:3;4969:4;4950:29;:::i;:::-;4942:37;;5012:3;5009:1;5005:11;4999:4;4996:21;4988:29;;4728:295;;;;:::o;5028:1395::-;5145:37;5178:3;5145:37;:::i;:::-;5247:18;5239:6;5236:30;5233:56;;;5269:18;;:::i;:::-;5233:56;5313:38;5345:4;5339:11;5313:38;:::i;:::-;5398:67;5458:6;5450;5444:4;5398:67;:::i;:::-;5492:1;5516:4;5503:17;;5548:2;5540:6;5537:14;5565:1;5560:618;;;;6222:1;6239:6;6236:77;;;6288:9;6283:3;6279:19;6273:26;6264:35;;6236:77;6339:67;6399:6;6392:5;6339:67;:::i;:::-;6333:4;6326:81;6195:222;5530:887;;5560:618;5612:4;5608:9;5600:6;5596:22;5646:37;5678:4;5646:37;:::i;:::-;5705:1;5719:208;5733:7;5730:1;5727:14;5719:208;;;5812:9;5807:3;5803:19;5797:26;5789:6;5782:42;5863:1;5855:6;5851:14;5841:24;;5910:2;5899:9;5895:18;5882:31;;5756:4;5753:1;5749:12;5744:17;;5719:208;;;5955:6;5946:7;5943:19;5940:179;;;6013:9;6008:3;6004:19;5998:26;6056:48;6098:4;6090:6;6086:17;6075:9;6056:48;:::i;:::-;6048:6;6041:64;5963:156;5940:179;6165:1;6161;6153:6;6149:14;6145:22;6139:4;6132:36;5567:611;;;5530:887;;5120:1303;;;5028:1395;;:::o;6429:118::-;6516:24;6534:5;6516:24;:::i;:::-;6511:3;6504:37;6429:118;;:::o;6553:222::-;6646:4;6684:2;6673:9;6669:18;6661:26;;6697:71;6765:1;6754:9;6750:17;6741:6;6697:71;:::i;:::-;6553:222;;;;:::o;6781:77::-;6818:7;6847:5;6836:16;;6781:77;;;:::o;6864:118::-;6951:24;6969:5;6951:24;:::i;:::-;6946:3;6939:37;6864:118;;:::o;6988:::-;7075:24;7093:5;7075:24;:::i;:::-;7070:3;7063:37;6988:118;;:::o;7112:664::-;7317:4;7355:3;7344:9;7340:19;7332:27;;7369:71;7437:1;7426:9;7422:17;7413:6;7369:71;:::i;:::-;7450:72;7518:2;7507:9;7503:18;7494:6;7450:72;:::i;:::-;7532;7600:2;7589:9;7585:18;7576:6;7532:72;:::i;:::-;7614;7682:2;7671:9;7667:18;7658:6;7614:72;:::i;:::-;7696:73;7764:3;7753:9;7749:19;7740:6;7696:73;:::i;:::-;7112:664;;;;;;;;:::o;7782:169::-;7866:11;7900:6;7895:3;7888:19;7940:4;7935:3;7931:14;7916:29;;7782:169;;;;:::o;7957:246::-;8038:1;8048:113;8062:6;8059:1;8056:13;8048:113;;;8147:1;8142:3;8138:11;8132:18;8128:1;8123:3;8119:11;8112:39;8084:2;8081:1;8077:10;8072:15;;8048:113;;;8195:1;8186:6;8181:3;8177:16;8170:27;8019:184;7957:246;;;:::o;8209:102::-;8250:6;8301:2;8297:7;8292:2;8285:5;8281:14;8277:28;8267:38;;8209:102;;;:::o;8317:377::-;8405:3;8433:39;8466:5;8433:39;:::i;:::-;8488:71;8552:6;8547:3;8488:71;:::i;:::-;8481:78;;8568:65;8626:6;8621:3;8614:4;8607:5;8603:16;8568:65;:::i;:::-;8658:29;8680:6;8658:29;:::i;:::-;8653:3;8649:39;8642:46;;8409:285;8317:377;;;;:::o;8700:313::-;8813:4;8851:2;8840:9;8836:18;8828:26;;8900:9;8894:4;8890:20;8886:1;8875:9;8871:17;8864:47;8928:78;9001:4;8992:6;8928:78;:::i;:::-;8920:86;;8700:313;;;;:::o;9019:98::-;9070:6;9104:5;9098:12;9088:22;;9019:98;;;:::o;9123:116::-;9174:4;9197:3;9189:11;;9227:4;9222:3;9218:14;9210:22;;9123:116;;;:::o;9245:154::-;9288:11;9324:29;9348:3;9342:10;9324:29;:::i;:::-;9387:5;9363:29;;9300:99;9245:154;;;:::o;9405:594::-;9489:5;9520:38;9552:5;9520:38;:::i;:::-;9583:5;9610:40;9644:5;9610:40;:::i;:::-;9598:52;;9669:35;9695:8;9669:35;:::i;:::-;9660:44;;9728:2;9720:6;9717:14;9714:278;;;9799:169;9884:66;9854:6;9850:2;9846:15;9843:1;9839:23;9799:169;:::i;:::-;9776:5;9755:227;9746:236;;9714:278;9495:504;;9405:594;;;:::o;316:303:37:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@DOMAIN_SEPARATOR_2353": { + "entryPoint": 1195, + "id": 2353, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_EIP712Name_4829": { + "entryPoint": 3651, + "id": 4829, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_EIP712Version_4841": { + "entryPoint": 3710, + "id": 4841, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_approve_1967": { + "entryPoint": 2392, + "id": 1967, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_approve_2027": { + "entryPoint": 3930, + "id": 2027, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_buildDomainSeparator_4759": { + "entryPoint": 4950, + "id": 4759, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_burn_1949": { + "entryPoint": 3250, + "id": 1949, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_checkOwner_84": { + "entryPoint": 2985, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_domainSeparatorV4_4738": { + "entryPoint": 2802, + "id": 4738, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_hashTypedDataV4_4775": { + "entryPoint": 3856, + "id": 4775, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@_mint_1916": { + "entryPoint": 3120, + "id": 1916, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_msgSender_3338": { + "entryPoint": 2384, + "id": 3338, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_spendAllowance_2075": { + "entryPoint": 2410, + "id": 2075, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_throwError_4614": { + "entryPoint": 5585, + "id": 4614, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 3380, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transfer_1806": { + "entryPoint": 2558, + "id": 1806, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_update_1883": { + "entryPoint": 4401, + "id": 1883, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_useNonce_3398": { + "entryPoint": 3769, + "id": 3398, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@allowance_1703": { + "entryPoint": 2115, + "id": 1703, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@approve_1727": { + "entryPoint": 1094, + "id": 1727, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@balanceOf_1662": { + "entryPoint": 1252, + "id": 1662, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@burnFrom_2199": { + "entryPoint": 1344, + "id": 2199, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@burn_2178": { + "entryPoint": 1232, + "id": 2178, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@byteLength_3594": { + "entryPoint": 6057, + "id": 3594, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@decimals_1640": { + "entryPoint": 1186, + "id": 1640, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@eip712Domain_4817": { + "entryPoint": 1394, + "id": 4817, + "parameterSlots": 0, + "returnSlots": 7 + }, + "@mint_11110": { + "entryPoint": 1210, + "id": 11110, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@name_1622": { + "entryPoint": 948, + "id": 1622, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@nonces_2343": { + "entryPoint": 1376, + "id": 2343, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@nonces_3383": { + "entryPoint": 3578, + "id": 3383, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 1564, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@permit_2326": { + "entryPoint": 1787, + "id": 2326, + "parameterSlots": 7, + "returnSlots": 0 + }, + "@recover_4565": { + "entryPoint": 3882, + "id": 4565, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 1324, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@symbol_1631": { + "entryPoint": 1606, + "id": 1631, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@toStringWithFallback_3661": { + "entryPoint": 5100, + "id": 3661, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@toString_3562": { + "entryPoint": 5941, + "id": 3562, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@toTypedDataHash_6028": { + "entryPoint": 5276, + "id": 6028, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@totalSupply_1649": { + "entryPoint": 1129, + "id": 1649, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@transferFrom_1759": { + "entryPoint": 1139, + "id": 1759, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@transferOwnership_126": { + "entryPoint": 2250, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@transfer_1686": { + "entryPoint": 1752, + "id": 1686, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@tryRecover_4529": { + "entryPoint": 5341, + "id": 4529, + "parameterSlots": 4, + "returnSlots": 3 + }, + "abi_decode_t_address": { + "entryPoint": 6393, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes32": { + "entryPoint": 7398, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 6447, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint8": { + "entryPoint": 7354, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 6863, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_address": { + "entryPoint": 7581, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_addresst_uint256": { + "entryPoint": 6628, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32": { + "entryPoint": 7419, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_decode_tuple_t_addresst_uint256": { + "entryPoint": 6468, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_uint256": { + "entryPoint": 6818, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_uint256_to_t_uint256": { + "entryPoint": 7041, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 6967, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { + "entryPoint": 7078, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 6544, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes1_to_t_bytes1_fromStack": { + "entryPoint": 6952, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 6776, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6224, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 7026, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 6586, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint8_to_t_uint8_fromStack": { + "entryPoint": 6724, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 7304, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed": { + "entryPoint": 7885, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 7926, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 6559, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes1_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_bytes32_t_array$_t_uint256_$dyn_memory_ptr__to_t_bytes1_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_bytes32_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 7172, + "id": null, + "parameterSlots": 8, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 6791, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 7788, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed": { + "entryPoint": 8080, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed": { + "entryPoint": 8163, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6281, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 6601, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { + "entryPoint": 6739, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 7010, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 6982, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 6137, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { + "entryPoint": 7065, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { + "entryPoint": 6993, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 6148, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_add_t_uint256": { + "entryPoint": 8028, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 6352, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 6532, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes1": { + "entryPoint": 6908, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 6766, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 6320, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 6414, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint8": { + "entryPoint": 6711, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 6165, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 7692, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 7981, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 8232, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 7645, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 7741, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 6315, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 6207, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 6370, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 7375, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 6424, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint8": { + "entryPoint": 7331, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:15716:43", + "nodeType": "YulBlock", + "src": "0:15716:43", + "statements": [ + { + "body": { + "nativeSrc": "66:40:43", + "nodeType": "YulBlock", + "src": "66:40:43", + "statements": [ + { + "nativeSrc": "77:22:43", + "nodeType": "YulAssignment", + "src": "77:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "93:5:43", + "nodeType": "YulIdentifier", + "src": "93:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "87:5:43", + "nodeType": "YulIdentifier", + "src": "87:5:43" + }, + "nativeSrc": "87:12:43", + "nodeType": "YulFunctionCall", + "src": "87:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "77:6:43", + "nodeType": "YulIdentifier", + "src": "77:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "49:5:43", + "nodeType": "YulTypedName", + "src": "49:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "59:6:43", + "nodeType": "YulTypedName", + "src": "59:6:43", + "type": "" + } + ], + "src": "7:99:43" + }, + { + "body": { + "nativeSrc": "208:73:43", + "nodeType": "YulBlock", + "src": "208:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "225:3:43", + "nodeType": "YulIdentifier", + "src": "225:3:43" + }, + { + "name": "length", + "nativeSrc": "230:6:43", + "nodeType": "YulIdentifier", + "src": "230:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "218:6:43", + "nodeType": "YulIdentifier", + "src": "218:6:43" + }, + "nativeSrc": "218:19:43", + "nodeType": "YulFunctionCall", + "src": "218:19:43" + }, + "nativeSrc": "218:19:43", + "nodeType": "YulExpressionStatement", + "src": "218:19:43" + }, + { + "nativeSrc": "246:29:43", + "nodeType": "YulAssignment", + "src": "246:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "265:3:43", + "nodeType": "YulIdentifier", + "src": "265:3:43" + }, + { + "kind": "number", + "nativeSrc": "270:4:43", + "nodeType": "YulLiteral", + "src": "270:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "261:3:43", + "nodeType": "YulIdentifier", + "src": "261:3:43" + }, + "nativeSrc": "261:14:43", + "nodeType": "YulFunctionCall", + "src": "261:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "246:11:43", + "nodeType": "YulIdentifier", + "src": "246:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "112:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "180:3:43", + "nodeType": "YulTypedName", + "src": "180:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "185:6:43", + "nodeType": "YulTypedName", + "src": "185:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "196:11:43", + "nodeType": "YulTypedName", + "src": "196:11:43", + "type": "" + } + ], + "src": "112:169:43" + }, + { + "body": { + "nativeSrc": "349:184:43", + "nodeType": "YulBlock", + "src": "349:184:43", + "statements": [ + { + "nativeSrc": "359:10:43", + "nodeType": "YulVariableDeclaration", + "src": "359:10:43", + "value": { + "kind": "number", + "nativeSrc": "368:1:43", + "nodeType": "YulLiteral", + "src": "368:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "363:1:43", + "nodeType": "YulTypedName", + "src": "363:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "428:63:43", + "nodeType": "YulBlock", + "src": "428:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "453:3:43", + "nodeType": "YulIdentifier", + "src": "453:3:43" + }, + { + "name": "i", + "nativeSrc": "458:1:43", + "nodeType": "YulIdentifier", + "src": "458:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "449:3:43", + "nodeType": "YulIdentifier", + "src": "449:3:43" + }, + "nativeSrc": "449:11:43", + "nodeType": "YulFunctionCall", + "src": "449:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "472:3:43", + "nodeType": "YulIdentifier", + "src": "472:3:43" + }, + { + "name": "i", + "nativeSrc": "477:1:43", + "nodeType": "YulIdentifier", + "src": "477:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "468:3:43", + "nodeType": "YulIdentifier", + "src": "468:3:43" + }, + "nativeSrc": "468:11:43", + "nodeType": "YulFunctionCall", + "src": "468:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "462:5:43", + "nodeType": "YulIdentifier", + "src": "462:5:43" + }, + "nativeSrc": "462:18:43", + "nodeType": "YulFunctionCall", + "src": "462:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "442:6:43", + "nodeType": "YulIdentifier", + "src": "442:6:43" + }, + "nativeSrc": "442:39:43", + "nodeType": "YulFunctionCall", + "src": "442:39:43" + }, + "nativeSrc": "442:39:43", + "nodeType": "YulExpressionStatement", + "src": "442:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "389:1:43", + "nodeType": "YulIdentifier", + "src": "389:1:43" + }, + { + "name": "length", + "nativeSrc": "392:6:43", + "nodeType": "YulIdentifier", + "src": "392:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "386:2:43", + "nodeType": "YulIdentifier", + "src": "386:2:43" + }, + "nativeSrc": "386:13:43", + "nodeType": "YulFunctionCall", + "src": "386:13:43" + }, + "nativeSrc": "378:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "400:19:43", + "nodeType": "YulBlock", + "src": "400:19:43", + "statements": [ + { + "nativeSrc": "402:15:43", + "nodeType": "YulAssignment", + "src": "402:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "411:1:43", + "nodeType": "YulIdentifier", + "src": "411:1:43" + }, + { + "kind": "number", + "nativeSrc": "414:2:43", + "nodeType": "YulLiteral", + "src": "414:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "407:3:43", + "nodeType": "YulIdentifier", + "src": "407:3:43" + }, + "nativeSrc": "407:10:43", + "nodeType": "YulFunctionCall", + "src": "407:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "402:1:43", + "nodeType": "YulIdentifier", + "src": "402:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "382:3:43", + "nodeType": "YulBlock", + "src": "382:3:43", + "statements": [] + }, + "src": "378:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "511:3:43", + "nodeType": "YulIdentifier", + "src": "511:3:43" + }, + { + "name": "length", + "nativeSrc": "516:6:43", + "nodeType": "YulIdentifier", + "src": "516:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "507:3:43", + "nodeType": "YulIdentifier", + "src": "507:3:43" + }, + "nativeSrc": "507:16:43", + "nodeType": "YulFunctionCall", + "src": "507:16:43" + }, + { + "kind": "number", + "nativeSrc": "525:1:43", + "nodeType": "YulLiteral", + "src": "525:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "500:6:43", + "nodeType": "YulIdentifier", + "src": "500:6:43" + }, + "nativeSrc": "500:27:43", + "nodeType": "YulFunctionCall", + "src": "500:27:43" + }, + "nativeSrc": "500:27:43", + "nodeType": "YulExpressionStatement", + "src": "500:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "287:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "331:3:43", + "nodeType": "YulTypedName", + "src": "331:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "336:3:43", + "nodeType": "YulTypedName", + "src": "336:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "341:6:43", + "nodeType": "YulTypedName", + "src": "341:6:43", + "type": "" + } + ], + "src": "287:246:43" + }, + { + "body": { + "nativeSrc": "587:54:43", + "nodeType": "YulBlock", + "src": "587:54:43", + "statements": [ + { + "nativeSrc": "597:38:43", + "nodeType": "YulAssignment", + "src": "597:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "615:5:43", + "nodeType": "YulIdentifier", + "src": "615:5:43" + }, + { + "kind": "number", + "nativeSrc": "622:2:43", + "nodeType": "YulLiteral", + "src": "622:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "611:3:43", + "nodeType": "YulIdentifier", + "src": "611:3:43" + }, + "nativeSrc": "611:14:43", + "nodeType": "YulFunctionCall", + "src": "611:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "631:2:43", + "nodeType": "YulLiteral", + "src": "631:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "627:3:43", + "nodeType": "YulIdentifier", + "src": "627:3:43" + }, + "nativeSrc": "627:7:43", + "nodeType": "YulFunctionCall", + "src": "627:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "607:3:43", + "nodeType": "YulIdentifier", + "src": "607:3:43" + }, + "nativeSrc": "607:28:43", + "nodeType": "YulFunctionCall", + "src": "607:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "597:6:43", + "nodeType": "YulIdentifier", + "src": "597:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "539:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "570:5:43", + "nodeType": "YulTypedName", + "src": "570:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "580:6:43", + "nodeType": "YulTypedName", + "src": "580:6:43", + "type": "" + } + ], + "src": "539:102:43" + }, + { + "body": { + "nativeSrc": "739:285:43", + "nodeType": "YulBlock", + "src": "739:285:43", + "statements": [ + { + "nativeSrc": "749:53:43", + "nodeType": "YulVariableDeclaration", + "src": "749:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "796:5:43", + "nodeType": "YulIdentifier", + "src": "796:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "763:32:43", + "nodeType": "YulIdentifier", + "src": "763:32:43" + }, + "nativeSrc": "763:39:43", + "nodeType": "YulFunctionCall", + "src": "763:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "753:6:43", + "nodeType": "YulTypedName", + "src": "753:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "811:78:43", + "nodeType": "YulAssignment", + "src": "811:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "877:3:43", + "nodeType": "YulIdentifier", + "src": "877:3:43" + }, + { + "name": "length", + "nativeSrc": "882:6:43", + "nodeType": "YulIdentifier", + "src": "882:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "818:58:43", + "nodeType": "YulIdentifier", + "src": "818:58:43" + }, + "nativeSrc": "818:71:43", + "nodeType": "YulFunctionCall", + "src": "818:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "811:3:43", + "nodeType": "YulIdentifier", + "src": "811:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "937:5:43", + "nodeType": "YulIdentifier", + "src": "937:5:43" + }, + { + "kind": "number", + "nativeSrc": "944:4:43", + "nodeType": "YulLiteral", + "src": "944:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "933:3:43", + "nodeType": "YulIdentifier", + "src": "933:3:43" + }, + "nativeSrc": "933:16:43", + "nodeType": "YulFunctionCall", + "src": "933:16:43" + }, + { + "name": "pos", + "nativeSrc": "951:3:43", + "nodeType": "YulIdentifier", + "src": "951:3:43" + }, + { + "name": "length", + "nativeSrc": "956:6:43", + "nodeType": "YulIdentifier", + "src": "956:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "898:34:43", + "nodeType": "YulIdentifier", + "src": "898:34:43" + }, + "nativeSrc": "898:65:43", + "nodeType": "YulFunctionCall", + "src": "898:65:43" + }, + "nativeSrc": "898:65:43", + "nodeType": "YulExpressionStatement", + "src": "898:65:43" + }, + { + "nativeSrc": "972:46:43", + "nodeType": "YulAssignment", + "src": "972:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "983:3:43", + "nodeType": "YulIdentifier", + "src": "983:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1010:6:43", + "nodeType": "YulIdentifier", + "src": "1010:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "988:21:43", + "nodeType": "YulIdentifier", + "src": "988:21:43" + }, + "nativeSrc": "988:29:43", + "nodeType": "YulFunctionCall", + "src": "988:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "979:3:43", + "nodeType": "YulIdentifier", + "src": "979:3:43" + }, + "nativeSrc": "979:39:43", + "nodeType": "YulFunctionCall", + "src": "979:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "972:3:43", + "nodeType": "YulIdentifier", + "src": "972:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "647:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "720:5:43", + "nodeType": "YulTypedName", + "src": "720:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "727:3:43", + "nodeType": "YulTypedName", + "src": "727:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "735:3:43", + "nodeType": "YulTypedName", + "src": "735:3:43", + "type": "" + } + ], + "src": "647:377:43" + }, + { + "body": { + "nativeSrc": "1148:195:43", + "nodeType": "YulBlock", + "src": "1148:195:43", + "statements": [ + { + "nativeSrc": "1158:26:43", + "nodeType": "YulAssignment", + "src": "1158:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1170:9:43", + "nodeType": "YulIdentifier", + "src": "1170:9:43" + }, + { + "kind": "number", + "nativeSrc": "1181:2:43", + "nodeType": "YulLiteral", + "src": "1181:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1166:3:43", + "nodeType": "YulIdentifier", + "src": "1166:3:43" + }, + "nativeSrc": "1166:18:43", + "nodeType": "YulFunctionCall", + "src": "1166:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1158:4:43", + "nodeType": "YulIdentifier", + "src": "1158:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1205:9:43", + "nodeType": "YulIdentifier", + "src": "1205:9:43" + }, + { + "kind": "number", + "nativeSrc": "1216:1:43", + "nodeType": "YulLiteral", + "src": "1216:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1201:3:43", + "nodeType": "YulIdentifier", + "src": "1201:3:43" + }, + "nativeSrc": "1201:17:43", + "nodeType": "YulFunctionCall", + "src": "1201:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "1224:4:43", + "nodeType": "YulIdentifier", + "src": "1224:4:43" + }, + { + "name": "headStart", + "nativeSrc": "1230:9:43", + "nodeType": "YulIdentifier", + "src": "1230:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1220:3:43", + "nodeType": "YulIdentifier", + "src": "1220:3:43" + }, + "nativeSrc": "1220:20:43", + "nodeType": "YulFunctionCall", + "src": "1220:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1194:6:43", + "nodeType": "YulIdentifier", + "src": "1194:6:43" + }, + "nativeSrc": "1194:47:43", + "nodeType": "YulFunctionCall", + "src": "1194:47:43" + }, + "nativeSrc": "1194:47:43", + "nodeType": "YulExpressionStatement", + "src": "1194:47:43" + }, + { + "nativeSrc": "1250:86:43", + "nodeType": "YulAssignment", + "src": "1250:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1322:6:43", + "nodeType": "YulIdentifier", + "src": "1322:6:43" + }, + { + "name": "tail", + "nativeSrc": "1331:4:43", + "nodeType": "YulIdentifier", + "src": "1331:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "1258:63:43", + "nodeType": "YulIdentifier", + "src": "1258:63:43" + }, + "nativeSrc": "1258:78:43", + "nodeType": "YulFunctionCall", + "src": "1258:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1250:4:43", + "nodeType": "YulIdentifier", + "src": "1250:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "1030:313:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1120:9:43", + "nodeType": "YulTypedName", + "src": "1120:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1132:6:43", + "nodeType": "YulTypedName", + "src": "1132:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1143:4:43", + "nodeType": "YulTypedName", + "src": "1143:4:43", + "type": "" + } + ], + "src": "1030:313:43" + }, + { + "body": { + "nativeSrc": "1389:35:43", + "nodeType": "YulBlock", + "src": "1389:35:43", + "statements": [ + { + "nativeSrc": "1399:19:43", + "nodeType": "YulAssignment", + "src": "1399:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1415:2:43", + "nodeType": "YulLiteral", + "src": "1415:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1409:5:43", + "nodeType": "YulIdentifier", + "src": "1409:5:43" + }, + "nativeSrc": "1409:9:43", + "nodeType": "YulFunctionCall", + "src": "1409:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1399:6:43", + "nodeType": "YulIdentifier", + "src": "1399:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "1349:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1382:6:43", + "nodeType": "YulTypedName", + "src": "1382:6:43", + "type": "" + } + ], + "src": "1349:75:43" + }, + { + "body": { + "nativeSrc": "1519:28:43", + "nodeType": "YulBlock", + "src": "1519:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1536:1:43", + "nodeType": "YulLiteral", + "src": "1536:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1539:1:43", + "nodeType": "YulLiteral", + "src": "1539:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1529:6:43", + "nodeType": "YulIdentifier", + "src": "1529:6:43" + }, + "nativeSrc": "1529:12:43", + "nodeType": "YulFunctionCall", + "src": "1529:12:43" + }, + "nativeSrc": "1529:12:43", + "nodeType": "YulExpressionStatement", + "src": "1529:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1430:117:43", + "nodeType": "YulFunctionDefinition", + "src": "1430:117:43" + }, + { + "body": { + "nativeSrc": "1642:28:43", + "nodeType": "YulBlock", + "src": "1642:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1659:1:43", + "nodeType": "YulLiteral", + "src": "1659:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1662:1:43", + "nodeType": "YulLiteral", + "src": "1662:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1652:6:43", + "nodeType": "YulIdentifier", + "src": "1652:6:43" + }, + "nativeSrc": "1652:12:43", + "nodeType": "YulFunctionCall", + "src": "1652:12:43" + }, + "nativeSrc": "1652:12:43", + "nodeType": "YulExpressionStatement", + "src": "1652:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "1553:117:43", + "nodeType": "YulFunctionDefinition", + "src": "1553:117:43" + }, + { + "body": { + "nativeSrc": "1721:81:43", + "nodeType": "YulBlock", + "src": "1721:81:43", + "statements": [ + { + "nativeSrc": "1731:65:43", + "nodeType": "YulAssignment", + "src": "1731:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1746:5:43", + "nodeType": "YulIdentifier", + "src": "1746:5:43" + }, + { + "kind": "number", + "nativeSrc": "1753:42:43", + "nodeType": "YulLiteral", + "src": "1753:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1742:3:43", + "nodeType": "YulIdentifier", + "src": "1742:3:43" + }, + "nativeSrc": "1742:54:43", + "nodeType": "YulFunctionCall", + "src": "1742:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1731:7:43", + "nodeType": "YulIdentifier", + "src": "1731:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1676:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1703:5:43", + "nodeType": "YulTypedName", + "src": "1703:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1713:7:43", + "nodeType": "YulTypedName", + "src": "1713:7:43", + "type": "" + } + ], + "src": "1676:126:43" + }, + { + "body": { + "nativeSrc": "1853:51:43", + "nodeType": "YulBlock", + "src": "1853:51:43", + "statements": [ + { + "nativeSrc": "1863:35:43", + "nodeType": "YulAssignment", + "src": "1863:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1892:5:43", + "nodeType": "YulIdentifier", + "src": "1892:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1874:17:43", + "nodeType": "YulIdentifier", + "src": "1874:17:43" + }, + "nativeSrc": "1874:24:43", + "nodeType": "YulFunctionCall", + "src": "1874:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1863:7:43", + "nodeType": "YulIdentifier", + "src": "1863:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1808:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1835:5:43", + "nodeType": "YulTypedName", + "src": "1835:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1845:7:43", + "nodeType": "YulTypedName", + "src": "1845:7:43", + "type": "" + } + ], + "src": "1808:96:43" + }, + { + "body": { + "nativeSrc": "1953:79:43", + "nodeType": "YulBlock", + "src": "1953:79:43", + "statements": [ + { + "body": { + "nativeSrc": "2010:16:43", + "nodeType": "YulBlock", + "src": "2010:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2019:1:43", + "nodeType": "YulLiteral", + "src": "2019:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2022:1:43", + "nodeType": "YulLiteral", + "src": "2022:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2012:6:43", + "nodeType": "YulIdentifier", + "src": "2012:6:43" + }, + "nativeSrc": "2012:12:43", + "nodeType": "YulFunctionCall", + "src": "2012:12:43" + }, + "nativeSrc": "2012:12:43", + "nodeType": "YulExpressionStatement", + "src": "2012:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1976:5:43", + "nodeType": "YulIdentifier", + "src": "1976:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2001:5:43", + "nodeType": "YulIdentifier", + "src": "2001:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1983:17:43", + "nodeType": "YulIdentifier", + "src": "1983:17:43" + }, + "nativeSrc": "1983:24:43", + "nodeType": "YulFunctionCall", + "src": "1983:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1973:2:43", + "nodeType": "YulIdentifier", + "src": "1973:2:43" + }, + "nativeSrc": "1973:35:43", + "nodeType": "YulFunctionCall", + "src": "1973:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1966:6:43", + "nodeType": "YulIdentifier", + "src": "1966:6:43" + }, + "nativeSrc": "1966:43:43", + "nodeType": "YulFunctionCall", + "src": "1966:43:43" + }, + "nativeSrc": "1963:63:43", + "nodeType": "YulIf", + "src": "1963:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "1910:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1946:5:43", + "nodeType": "YulTypedName", + "src": "1946:5:43", + "type": "" + } + ], + "src": "1910:122:43" + }, + { + "body": { + "nativeSrc": "2090:87:43", + "nodeType": "YulBlock", + "src": "2090:87:43", + "statements": [ + { + "nativeSrc": "2100:29:43", + "nodeType": "YulAssignment", + "src": "2100:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2122:6:43", + "nodeType": "YulIdentifier", + "src": "2122:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2109:12:43", + "nodeType": "YulIdentifier", + "src": "2109:12:43" + }, + "nativeSrc": "2109:20:43", + "nodeType": "YulFunctionCall", + "src": "2109:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2100:5:43", + "nodeType": "YulIdentifier", + "src": "2100:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2165:5:43", + "nodeType": "YulIdentifier", + "src": "2165:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "2138:26:43", + "nodeType": "YulIdentifier", + "src": "2138:26:43" + }, + "nativeSrc": "2138:33:43", + "nodeType": "YulFunctionCall", + "src": "2138:33:43" + }, + "nativeSrc": "2138:33:43", + "nodeType": "YulExpressionStatement", + "src": "2138:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2038:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2068:6:43", + "nodeType": "YulTypedName", + "src": "2068:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2076:3:43", + "nodeType": "YulTypedName", + "src": "2076:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2084:5:43", + "nodeType": "YulTypedName", + "src": "2084:5:43", + "type": "" + } + ], + "src": "2038:139:43" + }, + { + "body": { + "nativeSrc": "2228:32:43", + "nodeType": "YulBlock", + "src": "2228:32:43", + "statements": [ + { + "nativeSrc": "2238:16:43", + "nodeType": "YulAssignment", + "src": "2238:16:43", + "value": { + "name": "value", + "nativeSrc": "2249:5:43", + "nodeType": "YulIdentifier", + "src": "2249:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2238:7:43", + "nodeType": "YulIdentifier", + "src": "2238:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "2183:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2210:5:43", + "nodeType": "YulTypedName", + "src": "2210:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2220:7:43", + "nodeType": "YulTypedName", + "src": "2220:7:43", + "type": "" + } + ], + "src": "2183:77:43" + }, + { + "body": { + "nativeSrc": "2309:79:43", + "nodeType": "YulBlock", + "src": "2309:79:43", + "statements": [ + { + "body": { + "nativeSrc": "2366:16:43", + "nodeType": "YulBlock", + "src": "2366:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2375:1:43", + "nodeType": "YulLiteral", + "src": "2375:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2378:1:43", + "nodeType": "YulLiteral", + "src": "2378:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2368:6:43", + "nodeType": "YulIdentifier", + "src": "2368:6:43" + }, + "nativeSrc": "2368:12:43", + "nodeType": "YulFunctionCall", + "src": "2368:12:43" + }, + "nativeSrc": "2368:12:43", + "nodeType": "YulExpressionStatement", + "src": "2368:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2332:5:43", + "nodeType": "YulIdentifier", + "src": "2332:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2357:5:43", + "nodeType": "YulIdentifier", + "src": "2357:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2339:17:43", + "nodeType": "YulIdentifier", + "src": "2339:17:43" + }, + "nativeSrc": "2339:24:43", + "nodeType": "YulFunctionCall", + "src": "2339:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2329:2:43", + "nodeType": "YulIdentifier", + "src": "2329:2:43" + }, + "nativeSrc": "2329:35:43", + "nodeType": "YulFunctionCall", + "src": "2329:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2322:6:43", + "nodeType": "YulIdentifier", + "src": "2322:6:43" + }, + "nativeSrc": "2322:43:43", + "nodeType": "YulFunctionCall", + "src": "2322:43:43" + }, + "nativeSrc": "2319:63:43", + "nodeType": "YulIf", + "src": "2319:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "2266:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2302:5:43", + "nodeType": "YulTypedName", + "src": "2302:5:43", + "type": "" + } + ], + "src": "2266:122:43" + }, + { + "body": { + "nativeSrc": "2446:87:43", + "nodeType": "YulBlock", + "src": "2446:87:43", + "statements": [ + { + "nativeSrc": "2456:29:43", + "nodeType": "YulAssignment", + "src": "2456:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2478:6:43", + "nodeType": "YulIdentifier", + "src": "2478:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2465:12:43", + "nodeType": "YulIdentifier", + "src": "2465:12:43" + }, + "nativeSrc": "2465:20:43", + "nodeType": "YulFunctionCall", + "src": "2465:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2456:5:43", + "nodeType": "YulIdentifier", + "src": "2456:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2521:5:43", + "nodeType": "YulIdentifier", + "src": "2521:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "2494:26:43", + "nodeType": "YulIdentifier", + "src": "2494:26:43" + }, + "nativeSrc": "2494:33:43", + "nodeType": "YulFunctionCall", + "src": "2494:33:43" + }, + "nativeSrc": "2494:33:43", + "nodeType": "YulExpressionStatement", + "src": "2494:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "2394:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2424:6:43", + "nodeType": "YulTypedName", + "src": "2424:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2432:3:43", + "nodeType": "YulTypedName", + "src": "2432:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2440:5:43", + "nodeType": "YulTypedName", + "src": "2440:5:43", + "type": "" + } + ], + "src": "2394:139:43" + }, + { + "body": { + "nativeSrc": "2622:391:43", + "nodeType": "YulBlock", + "src": "2622:391:43", + "statements": [ + { + "body": { + "nativeSrc": "2668:83:43", + "nodeType": "YulBlock", + "src": "2668:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2670:77:43", + "nodeType": "YulIdentifier", + "src": "2670:77:43" + }, + "nativeSrc": "2670:79:43", + "nodeType": "YulFunctionCall", + "src": "2670:79:43" + }, + "nativeSrc": "2670:79:43", + "nodeType": "YulExpressionStatement", + "src": "2670:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2643:7:43", + "nodeType": "YulIdentifier", + "src": "2643:7:43" + }, + { + "name": "headStart", + "nativeSrc": "2652:9:43", + "nodeType": "YulIdentifier", + "src": "2652:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2639:3:43", + "nodeType": "YulIdentifier", + "src": "2639:3:43" + }, + "nativeSrc": "2639:23:43", + "nodeType": "YulFunctionCall", + "src": "2639:23:43" + }, + { + "kind": "number", + "nativeSrc": "2664:2:43", + "nodeType": "YulLiteral", + "src": "2664:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2635:3:43", + "nodeType": "YulIdentifier", + "src": "2635:3:43" + }, + "nativeSrc": "2635:32:43", + "nodeType": "YulFunctionCall", + "src": "2635:32:43" + }, + "nativeSrc": "2632:119:43", + "nodeType": "YulIf", + "src": "2632:119:43" + }, + { + "nativeSrc": "2761:117:43", + "nodeType": "YulBlock", + "src": "2761:117:43", + "statements": [ + { + "nativeSrc": "2776:15:43", + "nodeType": "YulVariableDeclaration", + "src": "2776:15:43", + "value": { + "kind": "number", + "nativeSrc": "2790:1:43", + "nodeType": "YulLiteral", + "src": "2790:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2780:6:43", + "nodeType": "YulTypedName", + "src": "2780:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2805:63:43", + "nodeType": "YulAssignment", + "src": "2805:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2840:9:43", + "nodeType": "YulIdentifier", + "src": "2840:9:43" + }, + { + "name": "offset", + "nativeSrc": "2851:6:43", + "nodeType": "YulIdentifier", + "src": "2851:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2836:3:43", + "nodeType": "YulIdentifier", + "src": "2836:3:43" + }, + "nativeSrc": "2836:22:43", + "nodeType": "YulFunctionCall", + "src": "2836:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "2860:7:43", + "nodeType": "YulIdentifier", + "src": "2860:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "2815:20:43", + "nodeType": "YulIdentifier", + "src": "2815:20:43" + }, + "nativeSrc": "2815:53:43", + "nodeType": "YulFunctionCall", + "src": "2815:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2805:6:43", + "nodeType": "YulIdentifier", + "src": "2805:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "2888:118:43", + "nodeType": "YulBlock", + "src": "2888:118:43", + "statements": [ + { + "nativeSrc": "2903:16:43", + "nodeType": "YulVariableDeclaration", + "src": "2903:16:43", + "value": { + "kind": "number", + "nativeSrc": "2917:2:43", + "nodeType": "YulLiteral", + "src": "2917:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2907:6:43", + "nodeType": "YulTypedName", + "src": "2907:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2933:63:43", + "nodeType": "YulAssignment", + "src": "2933:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2968:9:43", + "nodeType": "YulIdentifier", + "src": "2968:9:43" + }, + { + "name": "offset", + "nativeSrc": "2979:6:43", + "nodeType": "YulIdentifier", + "src": "2979:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2964:3:43", + "nodeType": "YulIdentifier", + "src": "2964:3:43" + }, + "nativeSrc": "2964:22:43", + "nodeType": "YulFunctionCall", + "src": "2964:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "2988:7:43", + "nodeType": "YulIdentifier", + "src": "2988:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "2943:20:43", + "nodeType": "YulIdentifier", + "src": "2943:20:43" + }, + "nativeSrc": "2943:53:43", + "nodeType": "YulFunctionCall", + "src": "2943:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "2933:6:43", + "nodeType": "YulIdentifier", + "src": "2933:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nativeSrc": "2539:474:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2584:9:43", + "nodeType": "YulTypedName", + "src": "2584:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2595:7:43", + "nodeType": "YulTypedName", + "src": "2595:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2607:6:43", + "nodeType": "YulTypedName", + "src": "2607:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2615:6:43", + "nodeType": "YulTypedName", + "src": "2615:6:43", + "type": "" + } + ], + "src": "2539:474:43" + }, + { + "body": { + "nativeSrc": "3061:48:43", + "nodeType": "YulBlock", + "src": "3061:48:43", + "statements": [ + { + "nativeSrc": "3071:32:43", + "nodeType": "YulAssignment", + "src": "3071:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3096:5:43", + "nodeType": "YulIdentifier", + "src": "3096:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3089:6:43", + "nodeType": "YulIdentifier", + "src": "3089:6:43" + }, + "nativeSrc": "3089:13:43", + "nodeType": "YulFunctionCall", + "src": "3089:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3082:6:43", + "nodeType": "YulIdentifier", + "src": "3082:6:43" + }, + "nativeSrc": "3082:21:43", + "nodeType": "YulFunctionCall", + "src": "3082:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3071:7:43", + "nodeType": "YulIdentifier", + "src": "3071:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "3019:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3043:5:43", + "nodeType": "YulTypedName", + "src": "3043:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3053:7:43", + "nodeType": "YulTypedName", + "src": "3053:7:43", + "type": "" + } + ], + "src": "3019:90:43" + }, + { + "body": { + "nativeSrc": "3174:50:43", + "nodeType": "YulBlock", + "src": "3174:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3191:3:43", + "nodeType": "YulIdentifier", + "src": "3191:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3211:5:43", + "nodeType": "YulIdentifier", + "src": "3211:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "3196:14:43", + "nodeType": "YulIdentifier", + "src": "3196:14:43" + }, + "nativeSrc": "3196:21:43", + "nodeType": "YulFunctionCall", + "src": "3196:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3184:6:43", + "nodeType": "YulIdentifier", + "src": "3184:6:43" + }, + "nativeSrc": "3184:34:43", + "nodeType": "YulFunctionCall", + "src": "3184:34:43" + }, + "nativeSrc": "3184:34:43", + "nodeType": "YulExpressionStatement", + "src": "3184:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "3115:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3162:5:43", + "nodeType": "YulTypedName", + "src": "3162:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3169:3:43", + "nodeType": "YulTypedName", + "src": "3169:3:43", + "type": "" + } + ], + "src": "3115:109:43" + }, + { + "body": { + "nativeSrc": "3322:118:43", + "nodeType": "YulBlock", + "src": "3322:118:43", + "statements": [ + { + "nativeSrc": "3332:26:43", + "nodeType": "YulAssignment", + "src": "3332:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3344:9:43", + "nodeType": "YulIdentifier", + "src": "3344:9:43" + }, + { + "kind": "number", + "nativeSrc": "3355:2:43", + "nodeType": "YulLiteral", + "src": "3355:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3340:3:43", + "nodeType": "YulIdentifier", + "src": "3340:3:43" + }, + "nativeSrc": "3340:18:43", + "nodeType": "YulFunctionCall", + "src": "3340:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3332:4:43", + "nodeType": "YulIdentifier", + "src": "3332:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3406:6:43", + "nodeType": "YulIdentifier", + "src": "3406:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3419:9:43", + "nodeType": "YulIdentifier", + "src": "3419:9:43" + }, + { + "kind": "number", + "nativeSrc": "3430:1:43", + "nodeType": "YulLiteral", + "src": "3430:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3415:3:43", + "nodeType": "YulIdentifier", + "src": "3415:3:43" + }, + "nativeSrc": "3415:17:43", + "nodeType": "YulFunctionCall", + "src": "3415:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "3368:37:43", + "nodeType": "YulIdentifier", + "src": "3368:37:43" + }, + "nativeSrc": "3368:65:43", + "nodeType": "YulFunctionCall", + "src": "3368:65:43" + }, + "nativeSrc": "3368:65:43", + "nodeType": "YulExpressionStatement", + "src": "3368:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "3230:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3294:9:43", + "nodeType": "YulTypedName", + "src": "3294:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3306:6:43", + "nodeType": "YulTypedName", + "src": "3306:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3317:4:43", + "nodeType": "YulTypedName", + "src": "3317:4:43", + "type": "" + } + ], + "src": "3230:210:43" + }, + { + "body": { + "nativeSrc": "3511:53:43", + "nodeType": "YulBlock", + "src": "3511:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3528:3:43", + "nodeType": "YulIdentifier", + "src": "3528:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3551:5:43", + "nodeType": "YulIdentifier", + "src": "3551:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3533:17:43", + "nodeType": "YulIdentifier", + "src": "3533:17:43" + }, + "nativeSrc": "3533:24:43", + "nodeType": "YulFunctionCall", + "src": "3533:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3521:6:43", + "nodeType": "YulIdentifier", + "src": "3521:6:43" + }, + "nativeSrc": "3521:37:43", + "nodeType": "YulFunctionCall", + "src": "3521:37:43" + }, + "nativeSrc": "3521:37:43", + "nodeType": "YulExpressionStatement", + "src": "3521:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "3446:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3499:5:43", + "nodeType": "YulTypedName", + "src": "3499:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3506:3:43", + "nodeType": "YulTypedName", + "src": "3506:3:43", + "type": "" + } + ], + "src": "3446:118:43" + }, + { + "body": { + "nativeSrc": "3668:124:43", + "nodeType": "YulBlock", + "src": "3668:124:43", + "statements": [ + { + "nativeSrc": "3678:26:43", + "nodeType": "YulAssignment", + "src": "3678:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3690:9:43", + "nodeType": "YulIdentifier", + "src": "3690:9:43" + }, + { + "kind": "number", + "nativeSrc": "3701:2:43", + "nodeType": "YulLiteral", + "src": "3701:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3686:3:43", + "nodeType": "YulIdentifier", + "src": "3686:3:43" + }, + "nativeSrc": "3686:18:43", + "nodeType": "YulFunctionCall", + "src": "3686:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3678:4:43", + "nodeType": "YulIdentifier", + "src": "3678:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3758:6:43", + "nodeType": "YulIdentifier", + "src": "3758:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3771:9:43", + "nodeType": "YulIdentifier", + "src": "3771:9:43" + }, + { + "kind": "number", + "nativeSrc": "3782:1:43", + "nodeType": "YulLiteral", + "src": "3782:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3767:3:43", + "nodeType": "YulIdentifier", + "src": "3767:3:43" + }, + "nativeSrc": "3767:17:43", + "nodeType": "YulFunctionCall", + "src": "3767:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "3714:43:43", + "nodeType": "YulIdentifier", + "src": "3714:43:43" + }, + "nativeSrc": "3714:71:43", + "nodeType": "YulFunctionCall", + "src": "3714:71:43" + }, + "nativeSrc": "3714:71:43", + "nodeType": "YulExpressionStatement", + "src": "3714:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "3570:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3640:9:43", + "nodeType": "YulTypedName", + "src": "3640:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3652:6:43", + "nodeType": "YulTypedName", + "src": "3652:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3663:4:43", + "nodeType": "YulTypedName", + "src": "3663:4:43", + "type": "" + } + ], + "src": "3570:222:43" + }, + { + "body": { + "nativeSrc": "3898:519:43", + "nodeType": "YulBlock", + "src": "3898:519:43", + "statements": [ + { + "body": { + "nativeSrc": "3944:83:43", + "nodeType": "YulBlock", + "src": "3944:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3946:77:43", + "nodeType": "YulIdentifier", + "src": "3946:77:43" + }, + "nativeSrc": "3946:79:43", + "nodeType": "YulFunctionCall", + "src": "3946:79:43" + }, + "nativeSrc": "3946:79:43", + "nodeType": "YulExpressionStatement", + "src": "3946:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3919:7:43", + "nodeType": "YulIdentifier", + "src": "3919:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3928:9:43", + "nodeType": "YulIdentifier", + "src": "3928:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3915:3:43", + "nodeType": "YulIdentifier", + "src": "3915:3:43" + }, + "nativeSrc": "3915:23:43", + "nodeType": "YulFunctionCall", + "src": "3915:23:43" + }, + { + "kind": "number", + "nativeSrc": "3940:2:43", + "nodeType": "YulLiteral", + "src": "3940:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3911:3:43", + "nodeType": "YulIdentifier", + "src": "3911:3:43" + }, + "nativeSrc": "3911:32:43", + "nodeType": "YulFunctionCall", + "src": "3911:32:43" + }, + "nativeSrc": "3908:119:43", + "nodeType": "YulIf", + "src": "3908:119:43" + }, + { + "nativeSrc": "4037:117:43", + "nodeType": "YulBlock", + "src": "4037:117:43", + "statements": [ + { + "nativeSrc": "4052:15:43", + "nodeType": "YulVariableDeclaration", + "src": "4052:15:43", + "value": { + "kind": "number", + "nativeSrc": "4066:1:43", + "nodeType": "YulLiteral", + "src": "4066:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4056:6:43", + "nodeType": "YulTypedName", + "src": "4056:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4081:63:43", + "nodeType": "YulAssignment", + "src": "4081:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4116:9:43", + "nodeType": "YulIdentifier", + "src": "4116:9:43" + }, + { + "name": "offset", + "nativeSrc": "4127:6:43", + "nodeType": "YulIdentifier", + "src": "4127:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4112:3:43", + "nodeType": "YulIdentifier", + "src": "4112:3:43" + }, + "nativeSrc": "4112:22:43", + "nodeType": "YulFunctionCall", + "src": "4112:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4136:7:43", + "nodeType": "YulIdentifier", + "src": "4136:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4091:20:43", + "nodeType": "YulIdentifier", + "src": "4091:20:43" + }, + "nativeSrc": "4091:53:43", + "nodeType": "YulFunctionCall", + "src": "4091:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4081:6:43", + "nodeType": "YulIdentifier", + "src": "4081:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4164:118:43", + "nodeType": "YulBlock", + "src": "4164:118:43", + "statements": [ + { + "nativeSrc": "4179:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4179:16:43", + "value": { + "kind": "number", + "nativeSrc": "4193:2:43", + "nodeType": "YulLiteral", + "src": "4193:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4183:6:43", + "nodeType": "YulTypedName", + "src": "4183:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4209:63:43", + "nodeType": "YulAssignment", + "src": "4209:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4244:9:43", + "nodeType": "YulIdentifier", + "src": "4244:9:43" + }, + { + "name": "offset", + "nativeSrc": "4255:6:43", + "nodeType": "YulIdentifier", + "src": "4255:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4240:3:43", + "nodeType": "YulIdentifier", + "src": "4240:3:43" + }, + "nativeSrc": "4240:22:43", + "nodeType": "YulFunctionCall", + "src": "4240:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4264:7:43", + "nodeType": "YulIdentifier", + "src": "4264:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4219:20:43", + "nodeType": "YulIdentifier", + "src": "4219:20:43" + }, + "nativeSrc": "4219:53:43", + "nodeType": "YulFunctionCall", + "src": "4219:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4209:6:43", + "nodeType": "YulIdentifier", + "src": "4209:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4292:118:43", + "nodeType": "YulBlock", + "src": "4292:118:43", + "statements": [ + { + "nativeSrc": "4307:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4307:16:43", + "value": { + "kind": "number", + "nativeSrc": "4321:2:43", + "nodeType": "YulLiteral", + "src": "4321:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4311:6:43", + "nodeType": "YulTypedName", + "src": "4311:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4337:63:43", + "nodeType": "YulAssignment", + "src": "4337:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4372:9:43", + "nodeType": "YulIdentifier", + "src": "4372:9:43" + }, + { + "name": "offset", + "nativeSrc": "4383:6:43", + "nodeType": "YulIdentifier", + "src": "4383:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4368:3:43", + "nodeType": "YulIdentifier", + "src": "4368:3:43" + }, + "nativeSrc": "4368:22:43", + "nodeType": "YulFunctionCall", + "src": "4368:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4392:7:43", + "nodeType": "YulIdentifier", + "src": "4392:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4347:20:43", + "nodeType": "YulIdentifier", + "src": "4347:20:43" + }, + "nativeSrc": "4347:53:43", + "nodeType": "YulFunctionCall", + "src": "4347:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4337:6:43", + "nodeType": "YulIdentifier", + "src": "4337:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nativeSrc": "3798:619:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3852:9:43", + "nodeType": "YulTypedName", + "src": "3852:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3863:7:43", + "nodeType": "YulTypedName", + "src": "3863:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3875:6:43", + "nodeType": "YulTypedName", + "src": "3875:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3883:6:43", + "nodeType": "YulTypedName", + "src": "3883:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3891:6:43", + "nodeType": "YulTypedName", + "src": "3891:6:43", + "type": "" + } + ], + "src": "3798:619:43" + }, + { + "body": { + "nativeSrc": "4466:43:43", + "nodeType": "YulBlock", + "src": "4466:43:43", + "statements": [ + { + "nativeSrc": "4476:27:43", + "nodeType": "YulAssignment", + "src": "4476:27:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4491:5:43", + "nodeType": "YulIdentifier", + "src": "4491:5:43" + }, + { + "kind": "number", + "nativeSrc": "4498:4:43", + "nodeType": "YulLiteral", + "src": "4498:4:43", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4487:3:43", + "nodeType": "YulIdentifier", + "src": "4487:3:43" + }, + "nativeSrc": "4487:16:43", + "nodeType": "YulFunctionCall", + "src": "4487:16:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4476:7:43", + "nodeType": "YulIdentifier", + "src": "4476:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nativeSrc": "4423:86:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4448:5:43", + "nodeType": "YulTypedName", + "src": "4448:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4458:7:43", + "nodeType": "YulTypedName", + "src": "4458:7:43", + "type": "" + } + ], + "src": "4423:86:43" + }, + { + "body": { + "nativeSrc": "4576:51:43", + "nodeType": "YulBlock", + "src": "4576:51:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4593:3:43", + "nodeType": "YulIdentifier", + "src": "4593:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4614:5:43", + "nodeType": "YulIdentifier", + "src": "4614:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nativeSrc": "4598:15:43", + "nodeType": "YulIdentifier", + "src": "4598:15:43" + }, + "nativeSrc": "4598:22:43", + "nodeType": "YulFunctionCall", + "src": "4598:22:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4586:6:43", + "nodeType": "YulIdentifier", + "src": "4586:6:43" + }, + "nativeSrc": "4586:35:43", + "nodeType": "YulFunctionCall", + "src": "4586:35:43" + }, + "nativeSrc": "4586:35:43", + "nodeType": "YulExpressionStatement", + "src": "4586:35:43" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nativeSrc": "4515:112:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4564:5:43", + "nodeType": "YulTypedName", + "src": "4564:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4571:3:43", + "nodeType": "YulTypedName", + "src": "4571:3:43", + "type": "" + } + ], + "src": "4515:112:43" + }, + { + "body": { + "nativeSrc": "4727:120:43", + "nodeType": "YulBlock", + "src": "4727:120:43", + "statements": [ + { + "nativeSrc": "4737:26:43", + "nodeType": "YulAssignment", + "src": "4737:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4749:9:43", + "nodeType": "YulIdentifier", + "src": "4749:9:43" + }, + { + "kind": "number", + "nativeSrc": "4760:2:43", + "nodeType": "YulLiteral", + "src": "4760:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4745:3:43", + "nodeType": "YulIdentifier", + "src": "4745:3:43" + }, + "nativeSrc": "4745:18:43", + "nodeType": "YulFunctionCall", + "src": "4745:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4737:4:43", + "nodeType": "YulIdentifier", + "src": "4737:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4813:6:43", + "nodeType": "YulIdentifier", + "src": "4813:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4826:9:43", + "nodeType": "YulIdentifier", + "src": "4826:9:43" + }, + { + "kind": "number", + "nativeSrc": "4837:1:43", + "nodeType": "YulLiteral", + "src": "4837:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4822:3:43", + "nodeType": "YulIdentifier", + "src": "4822:3:43" + }, + "nativeSrc": "4822:17:43", + "nodeType": "YulFunctionCall", + "src": "4822:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nativeSrc": "4773:39:43", + "nodeType": "YulIdentifier", + "src": "4773:39:43" + }, + "nativeSrc": "4773:67:43", + "nodeType": "YulFunctionCall", + "src": "4773:67:43" + }, + "nativeSrc": "4773:67:43", + "nodeType": "YulExpressionStatement", + "src": "4773:67:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nativeSrc": "4633:214:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4699:9:43", + "nodeType": "YulTypedName", + "src": "4699:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4711:6:43", + "nodeType": "YulTypedName", + "src": "4711:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4722:4:43", + "nodeType": "YulTypedName", + "src": "4722:4:43", + "type": "" + } + ], + "src": "4633:214:43" + }, + { + "body": { + "nativeSrc": "4898:32:43", + "nodeType": "YulBlock", + "src": "4898:32:43", + "statements": [ + { + "nativeSrc": "4908:16:43", + "nodeType": "YulAssignment", + "src": "4908:16:43", + "value": { + "name": "value", + "nativeSrc": "4919:5:43", + "nodeType": "YulIdentifier", + "src": "4919:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4908:7:43", + "nodeType": "YulIdentifier", + "src": "4908:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "4853:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4880:5:43", + "nodeType": "YulTypedName", + "src": "4880:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4890:7:43", + "nodeType": "YulTypedName", + "src": "4890:7:43", + "type": "" + } + ], + "src": "4853:77:43" + }, + { + "body": { + "nativeSrc": "5001:53:43", + "nodeType": "YulBlock", + "src": "5001:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5018:3:43", + "nodeType": "YulIdentifier", + "src": "5018:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5041:5:43", + "nodeType": "YulIdentifier", + "src": "5041:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "5023:17:43", + "nodeType": "YulIdentifier", + "src": "5023:17:43" + }, + "nativeSrc": "5023:24:43", + "nodeType": "YulFunctionCall", + "src": "5023:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5011:6:43", + "nodeType": "YulIdentifier", + "src": "5011:6:43" + }, + "nativeSrc": "5011:37:43", + "nodeType": "YulFunctionCall", + "src": "5011:37:43" + }, + "nativeSrc": "5011:37:43", + "nodeType": "YulExpressionStatement", + "src": "5011:37:43" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "4936:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4989:5:43", + "nodeType": "YulTypedName", + "src": "4989:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4996:3:43", + "nodeType": "YulTypedName", + "src": "4996:3:43", + "type": "" + } + ], + "src": "4936:118:43" + }, + { + "body": { + "nativeSrc": "5158:124:43", + "nodeType": "YulBlock", + "src": "5158:124:43", + "statements": [ + { + "nativeSrc": "5168:26:43", + "nodeType": "YulAssignment", + "src": "5168:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5180:9:43", + "nodeType": "YulIdentifier", + "src": "5180:9:43" + }, + { + "kind": "number", + "nativeSrc": "5191:2:43", + "nodeType": "YulLiteral", + "src": "5191:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5176:3:43", + "nodeType": "YulIdentifier", + "src": "5176:3:43" + }, + "nativeSrc": "5176:18:43", + "nodeType": "YulFunctionCall", + "src": "5176:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5168:4:43", + "nodeType": "YulIdentifier", + "src": "5168:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5248:6:43", + "nodeType": "YulIdentifier", + "src": "5248:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5261:9:43", + "nodeType": "YulIdentifier", + "src": "5261:9:43" + }, + { + "kind": "number", + "nativeSrc": "5272:1:43", + "nodeType": "YulLiteral", + "src": "5272:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5257:3:43", + "nodeType": "YulIdentifier", + "src": "5257:3:43" + }, + "nativeSrc": "5257:17:43", + "nodeType": "YulFunctionCall", + "src": "5257:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "5204:43:43", + "nodeType": "YulIdentifier", + "src": "5204:43:43" + }, + "nativeSrc": "5204:71:43", + "nodeType": "YulFunctionCall", + "src": "5204:71:43" + }, + "nativeSrc": "5204:71:43", + "nodeType": "YulExpressionStatement", + "src": "5204:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "5060:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5130:9:43", + "nodeType": "YulTypedName", + "src": "5130:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5142:6:43", + "nodeType": "YulTypedName", + "src": "5142:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5153:4:43", + "nodeType": "YulTypedName", + "src": "5153:4:43", + "type": "" + } + ], + "src": "5060:222:43" + }, + { + "body": { + "nativeSrc": "5354:263:43", + "nodeType": "YulBlock", + "src": "5354:263:43", + "statements": [ + { + "body": { + "nativeSrc": "5400:83:43", + "nodeType": "YulBlock", + "src": "5400:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5402:77:43", + "nodeType": "YulIdentifier", + "src": "5402:77:43" + }, + "nativeSrc": "5402:79:43", + "nodeType": "YulFunctionCall", + "src": "5402:79:43" + }, + "nativeSrc": "5402:79:43", + "nodeType": "YulExpressionStatement", + "src": "5402:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5375:7:43", + "nodeType": "YulIdentifier", + "src": "5375:7:43" + }, + { + "name": "headStart", + "nativeSrc": "5384:9:43", + "nodeType": "YulIdentifier", + "src": "5384:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5371:3:43", + "nodeType": "YulIdentifier", + "src": "5371:3:43" + }, + "nativeSrc": "5371:23:43", + "nodeType": "YulFunctionCall", + "src": "5371:23:43" + }, + { + "kind": "number", + "nativeSrc": "5396:2:43", + "nodeType": "YulLiteral", + "src": "5396:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5367:3:43", + "nodeType": "YulIdentifier", + "src": "5367:3:43" + }, + "nativeSrc": "5367:32:43", + "nodeType": "YulFunctionCall", + "src": "5367:32:43" + }, + "nativeSrc": "5364:119:43", + "nodeType": "YulIf", + "src": "5364:119:43" + }, + { + "nativeSrc": "5493:117:43", + "nodeType": "YulBlock", + "src": "5493:117:43", + "statements": [ + { + "nativeSrc": "5508:15:43", + "nodeType": "YulVariableDeclaration", + "src": "5508:15:43", + "value": { + "kind": "number", + "nativeSrc": "5522:1:43", + "nodeType": "YulLiteral", + "src": "5522:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5512:6:43", + "nodeType": "YulTypedName", + "src": "5512:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5537:63:43", + "nodeType": "YulAssignment", + "src": "5537:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5572:9:43", + "nodeType": "YulIdentifier", + "src": "5572:9:43" + }, + { + "name": "offset", + "nativeSrc": "5583:6:43", + "nodeType": "YulIdentifier", + "src": "5583:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5568:3:43", + "nodeType": "YulIdentifier", + "src": "5568:3:43" + }, + "nativeSrc": "5568:22:43", + "nodeType": "YulFunctionCall", + "src": "5568:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5592:7:43", + "nodeType": "YulIdentifier", + "src": "5592:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "5547:20:43", + "nodeType": "YulIdentifier", + "src": "5547:20:43" + }, + "nativeSrc": "5547:53:43", + "nodeType": "YulFunctionCall", + "src": "5547:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5537:6:43", + "nodeType": "YulIdentifier", + "src": "5537:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nativeSrc": "5288:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5324:9:43", + "nodeType": "YulTypedName", + "src": "5324:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5335:7:43", + "nodeType": "YulTypedName", + "src": "5335:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5347:6:43", + "nodeType": "YulTypedName", + "src": "5347:6:43", + "type": "" + } + ], + "src": "5288:329:43" + }, + { + "body": { + "nativeSrc": "5689:263:43", + "nodeType": "YulBlock", + "src": "5689:263:43", + "statements": [ + { + "body": { + "nativeSrc": "5735:83:43", + "nodeType": "YulBlock", + "src": "5735:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5737:77:43", + "nodeType": "YulIdentifier", + "src": "5737:77:43" + }, + "nativeSrc": "5737:79:43", + "nodeType": "YulFunctionCall", + "src": "5737:79:43" + }, + "nativeSrc": "5737:79:43", + "nodeType": "YulExpressionStatement", + "src": "5737:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5710:7:43", + "nodeType": "YulIdentifier", + "src": "5710:7:43" + }, + { + "name": "headStart", + "nativeSrc": "5719:9:43", + "nodeType": "YulIdentifier", + "src": "5719:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5706:3:43", + "nodeType": "YulIdentifier", + "src": "5706:3:43" + }, + "nativeSrc": "5706:23:43", + "nodeType": "YulFunctionCall", + "src": "5706:23:43" + }, + { + "kind": "number", + "nativeSrc": "5731:2:43", + "nodeType": "YulLiteral", + "src": "5731:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5702:3:43", + "nodeType": "YulIdentifier", + "src": "5702:3:43" + }, + "nativeSrc": "5702:32:43", + "nodeType": "YulFunctionCall", + "src": "5702:32:43" + }, + "nativeSrc": "5699:119:43", + "nodeType": "YulIf", + "src": "5699:119:43" + }, + { + "nativeSrc": "5828:117:43", + "nodeType": "YulBlock", + "src": "5828:117:43", + "statements": [ + { + "nativeSrc": "5843:15:43", + "nodeType": "YulVariableDeclaration", + "src": "5843:15:43", + "value": { + "kind": "number", + "nativeSrc": "5857:1:43", + "nodeType": "YulLiteral", + "src": "5857:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5847:6:43", + "nodeType": "YulTypedName", + "src": "5847:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5872:63:43", + "nodeType": "YulAssignment", + "src": "5872:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5907:9:43", + "nodeType": "YulIdentifier", + "src": "5907:9:43" + }, + { + "name": "offset", + "nativeSrc": "5918:6:43", + "nodeType": "YulIdentifier", + "src": "5918:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5903:3:43", + "nodeType": "YulIdentifier", + "src": "5903:3:43" + }, + "nativeSrc": "5903:22:43", + "nodeType": "YulFunctionCall", + "src": "5903:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "5927:7:43", + "nodeType": "YulIdentifier", + "src": "5927:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5882:20:43", + "nodeType": "YulIdentifier", + "src": "5882:20:43" + }, + "nativeSrc": "5882:53:43", + "nodeType": "YulFunctionCall", + "src": "5882:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5872:6:43", + "nodeType": "YulIdentifier", + "src": "5872:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "5623:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5659:9:43", + "nodeType": "YulTypedName", + "src": "5659:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5670:7:43", + "nodeType": "YulTypedName", + "src": "5670:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5682:6:43", + "nodeType": "YulTypedName", + "src": "5682:6:43", + "type": "" + } + ], + "src": "5623:329:43" + }, + { + "body": { + "nativeSrc": "6002:105:43", + "nodeType": "YulBlock", + "src": "6002:105:43", + "statements": [ + { + "nativeSrc": "6012:89:43", + "nodeType": "YulAssignment", + "src": "6012:89:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6027:5:43", + "nodeType": "YulIdentifier", + "src": "6027:5:43" + }, + { + "kind": "number", + "nativeSrc": "6034:66:43", + "nodeType": "YulLiteral", + "src": "6034:66:43", + "type": "", + "value": "0xff00000000000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6023:3:43", + "nodeType": "YulIdentifier", + "src": "6023:3:43" + }, + "nativeSrc": "6023:78:43", + "nodeType": "YulFunctionCall", + "src": "6023:78:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "6012:7:43", + "nodeType": "YulIdentifier", + "src": "6012:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bytes1", + "nativeSrc": "5958:149:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5984:5:43", + "nodeType": "YulTypedName", + "src": "5984:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "5994:7:43", + "nodeType": "YulTypedName", + "src": "5994:7:43", + "type": "" + } + ], + "src": "5958:149:43" + }, + { + "body": { + "nativeSrc": "6176:52:43", + "nodeType": "YulBlock", + "src": "6176:52:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6193:3:43", + "nodeType": "YulIdentifier", + "src": "6193:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6215:5:43", + "nodeType": "YulIdentifier", + "src": "6215:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes1", + "nativeSrc": "6198:16:43", + "nodeType": "YulIdentifier", + "src": "6198:16:43" + }, + "nativeSrc": "6198:23:43", + "nodeType": "YulFunctionCall", + "src": "6198:23:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6186:6:43", + "nodeType": "YulIdentifier", + "src": "6186:6:43" + }, + "nativeSrc": "6186:36:43", + "nodeType": "YulFunctionCall", + "src": "6186:36:43" + }, + "nativeSrc": "6186:36:43", + "nodeType": "YulExpressionStatement", + "src": "6186:36:43" + } + ] + }, + "name": "abi_encode_t_bytes1_to_t_bytes1_fromStack", + "nativeSrc": "6113:115:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6164:5:43", + "nodeType": "YulTypedName", + "src": "6164:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6171:3:43", + "nodeType": "YulTypedName", + "src": "6171:3:43", + "type": "" + } + ], + "src": "6113:115:43" + }, + { + "body": { + "nativeSrc": "6299:53:43", + "nodeType": "YulBlock", + "src": "6299:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6316:3:43", + "nodeType": "YulIdentifier", + "src": "6316:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6339:5:43", + "nodeType": "YulIdentifier", + "src": "6339:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "6321:17:43", + "nodeType": "YulIdentifier", + "src": "6321:17:43" + }, + "nativeSrc": "6321:24:43", + "nodeType": "YulFunctionCall", + "src": "6321:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6309:6:43", + "nodeType": "YulIdentifier", + "src": "6309:6:43" + }, + "nativeSrc": "6309:37:43", + "nodeType": "YulFunctionCall", + "src": "6309:37:43" + }, + "nativeSrc": "6309:37:43", + "nodeType": "YulExpressionStatement", + "src": "6309:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6234:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6287:5:43", + "nodeType": "YulTypedName", + "src": "6287:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6294:3:43", + "nodeType": "YulTypedName", + "src": "6294:3:43", + "type": "" + } + ], + "src": "6234:118:43" + }, + { + "body": { + "nativeSrc": "6432:40:43", + "nodeType": "YulBlock", + "src": "6432:40:43", + "statements": [ + { + "nativeSrc": "6443:22:43", + "nodeType": "YulAssignment", + "src": "6443:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6459:5:43", + "nodeType": "YulIdentifier", + "src": "6459:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6453:5:43", + "nodeType": "YulIdentifier", + "src": "6453:5:43" + }, + "nativeSrc": "6453:12:43", + "nodeType": "YulFunctionCall", + "src": "6453:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6443:6:43", + "nodeType": "YulIdentifier", + "src": "6443:6:43" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "6358:114:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6415:5:43", + "nodeType": "YulTypedName", + "src": "6415:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "6425:6:43", + "nodeType": "YulTypedName", + "src": "6425:6:43", + "type": "" + } + ], + "src": "6358:114:43" + }, + { + "body": { + "nativeSrc": "6589:73:43", + "nodeType": "YulBlock", + "src": "6589:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6606:3:43", + "nodeType": "YulIdentifier", + "src": "6606:3:43" + }, + { + "name": "length", + "nativeSrc": "6611:6:43", + "nodeType": "YulIdentifier", + "src": "6611:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6599:6:43", + "nodeType": "YulIdentifier", + "src": "6599:6:43" + }, + "nativeSrc": "6599:19:43", + "nodeType": "YulFunctionCall", + "src": "6599:19:43" + }, + "nativeSrc": "6599:19:43", + "nodeType": "YulExpressionStatement", + "src": "6599:19:43" + }, + { + "nativeSrc": "6627:29:43", + "nodeType": "YulAssignment", + "src": "6627:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6646:3:43", + "nodeType": "YulIdentifier", + "src": "6646:3:43" + }, + { + "kind": "number", + "nativeSrc": "6651:4:43", + "nodeType": "YulLiteral", + "src": "6651:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6642:3:43", + "nodeType": "YulIdentifier", + "src": "6642:3:43" + }, + "nativeSrc": "6642:14:43", + "nodeType": "YulFunctionCall", + "src": "6642:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "6627:11:43", + "nodeType": "YulIdentifier", + "src": "6627:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "6478:184:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6561:3:43", + "nodeType": "YulTypedName", + "src": "6561:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6566:6:43", + "nodeType": "YulTypedName", + "src": "6566:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "6577:11:43", + "nodeType": "YulTypedName", + "src": "6577:11:43", + "type": "" + } + ], + "src": "6478:184:43" + }, + { + "body": { + "nativeSrc": "6740:60:43", + "nodeType": "YulBlock", + "src": "6740:60:43", + "statements": [ + { + "nativeSrc": "6750:11:43", + "nodeType": "YulAssignment", + "src": "6750:11:43", + "value": { + "name": "ptr", + "nativeSrc": "6758:3:43", + "nodeType": "YulIdentifier", + "src": "6758:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6750:4:43", + "nodeType": "YulIdentifier", + "src": "6750:4:43" + } + ] + }, + { + "nativeSrc": "6771:22:43", + "nodeType": "YulAssignment", + "src": "6771:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "6783:3:43", + "nodeType": "YulIdentifier", + "src": "6783:3:43" + }, + { + "kind": "number", + "nativeSrc": "6788:4:43", + "nodeType": "YulLiteral", + "src": "6788:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6779:3:43", + "nodeType": "YulIdentifier", + "src": "6779:3:43" + }, + "nativeSrc": "6779:14:43", + "nodeType": "YulFunctionCall", + "src": "6779:14:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "6771:4:43", + "nodeType": "YulIdentifier", + "src": "6771:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "6668:132:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "6727:3:43", + "nodeType": "YulTypedName", + "src": "6727:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "6735:4:43", + "nodeType": "YulTypedName", + "src": "6735:4:43", + "type": "" + } + ], + "src": "6668:132:43" + }, + { + "body": { + "nativeSrc": "6861:53:43", + "nodeType": "YulBlock", + "src": "6861:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6878:3:43", + "nodeType": "YulIdentifier", + "src": "6878:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6901:5:43", + "nodeType": "YulIdentifier", + "src": "6901:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6883:17:43", + "nodeType": "YulIdentifier", + "src": "6883:17:43" + }, + "nativeSrc": "6883:24:43", + "nodeType": "YulFunctionCall", + "src": "6883:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6871:6:43", + "nodeType": "YulIdentifier", + "src": "6871:6:43" + }, + "nativeSrc": "6871:37:43", + "nodeType": "YulFunctionCall", + "src": "6871:37:43" + }, + "nativeSrc": "6871:37:43", + "nodeType": "YulExpressionStatement", + "src": "6871:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "6806:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6849:5:43", + "nodeType": "YulTypedName", + "src": "6849:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6856:3:43", + "nodeType": "YulTypedName", + "src": "6856:3:43", + "type": "" + } + ], + "src": "6806:108:43" + }, + { + "body": { + "nativeSrc": "7000:99:43", + "nodeType": "YulBlock", + "src": "7000:99:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7044:6:43", + "nodeType": "YulIdentifier", + "src": "7044:6:43" + }, + { + "name": "pos", + "nativeSrc": "7052:3:43", + "nodeType": "YulIdentifier", + "src": "7052:3:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "7010:33:43", + "nodeType": "YulIdentifier", + "src": "7010:33:43" + }, + "nativeSrc": "7010:46:43", + "nodeType": "YulFunctionCall", + "src": "7010:46:43" + }, + "nativeSrc": "7010:46:43", + "nodeType": "YulExpressionStatement", + "src": "7010:46:43" + }, + { + "nativeSrc": "7065:28:43", + "nodeType": "YulAssignment", + "src": "7065:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7083:3:43", + "nodeType": "YulIdentifier", + "src": "7083:3:43" + }, + { + "kind": "number", + "nativeSrc": "7088:4:43", + "nodeType": "YulLiteral", + "src": "7088:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7079:3:43", + "nodeType": "YulIdentifier", + "src": "7079:3:43" + }, + "nativeSrc": "7079:14:43", + "nodeType": "YulFunctionCall", + "src": "7079:14:43" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "7065:10:43", + "nodeType": "YulIdentifier", + "src": "7065:10:43" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nativeSrc": "6920:179:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "6973:6:43", + "nodeType": "YulTypedName", + "src": "6973:6:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6981:3:43", + "nodeType": "YulTypedName", + "src": "6981:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "6989:10:43", + "nodeType": "YulTypedName", + "src": "6989:10:43", + "type": "" + } + ], + "src": "6920:179:43" + }, + { + "body": { + "nativeSrc": "7180:38:43", + "nodeType": "YulBlock", + "src": "7180:38:43", + "statements": [ + { + "nativeSrc": "7190:22:43", + "nodeType": "YulAssignment", + "src": "7190:22:43", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "7202:3:43", + "nodeType": "YulIdentifier", + "src": "7202:3:43" + }, + { + "kind": "number", + "nativeSrc": "7207:4:43", + "nodeType": "YulLiteral", + "src": "7207:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7198:3:43", + "nodeType": "YulIdentifier", + "src": "7198:3:43" + }, + "nativeSrc": "7198:14:43", + "nodeType": "YulFunctionCall", + "src": "7198:14:43" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "7190:4:43", + "nodeType": "YulIdentifier", + "src": "7190:4:43" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "7105:113:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "7167:3:43", + "nodeType": "YulTypedName", + "src": "7167:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "7175:4:43", + "nodeType": "YulTypedName", + "src": "7175:4:43", + "type": "" + } + ], + "src": "7105:113:43" + }, + { + "body": { + "nativeSrc": "7378:608:43", + "nodeType": "YulBlock", + "src": "7378:608:43", + "statements": [ + { + "nativeSrc": "7388:68:43", + "nodeType": "YulVariableDeclaration", + "src": "7388:68:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7450:5:43", + "nodeType": "YulIdentifier", + "src": "7450:5:43" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "7402:47:43", + "nodeType": "YulIdentifier", + "src": "7402:47:43" + }, + "nativeSrc": "7402:54:43", + "nodeType": "YulFunctionCall", + "src": "7402:54:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "7392:6:43", + "nodeType": "YulTypedName", + "src": "7392:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7465:93:43", + "nodeType": "YulAssignment", + "src": "7465:93:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7546:3:43", + "nodeType": "YulIdentifier", + "src": "7546:3:43" + }, + { + "name": "length", + "nativeSrc": "7551:6:43", + "nodeType": "YulIdentifier", + "src": "7551:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "7472:73:43", + "nodeType": "YulIdentifier", + "src": "7472:73:43" + }, + "nativeSrc": "7472:86:43", + "nodeType": "YulFunctionCall", + "src": "7472:86:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7465:3:43", + "nodeType": "YulIdentifier", + "src": "7465:3:43" + } + ] + }, + { + "nativeSrc": "7567:71:43", + "nodeType": "YulVariableDeclaration", + "src": "7567:71:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7632:5:43", + "nodeType": "YulIdentifier", + "src": "7632:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "7582:49:43", + "nodeType": "YulIdentifier", + "src": "7582:49:43" + }, + "nativeSrc": "7582:56:43", + "nodeType": "YulFunctionCall", + "src": "7582:56:43" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "7571:7:43", + "nodeType": "YulTypedName", + "src": "7571:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7647:21:43", + "nodeType": "YulVariableDeclaration", + "src": "7647:21:43", + "value": { + "name": "baseRef", + "nativeSrc": "7661:7:43", + "nodeType": "YulIdentifier", + "src": "7661:7:43" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "7651:6:43", + "nodeType": "YulTypedName", + "src": "7651:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7737:224:43", + "nodeType": "YulBlock", + "src": "7737:224:43", + "statements": [ + { + "nativeSrc": "7751:34:43", + "nodeType": "YulVariableDeclaration", + "src": "7751:34:43", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "7778:6:43", + "nodeType": "YulIdentifier", + "src": "7778:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7772:5:43", + "nodeType": "YulIdentifier", + "src": "7772:5:43" + }, + "nativeSrc": "7772:13:43", + "nodeType": "YulFunctionCall", + "src": "7772:13:43" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "7755:13:43", + "nodeType": "YulTypedName", + "src": "7755:13:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7798:70:43", + "nodeType": "YulAssignment", + "src": "7798:70:43", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "7849:13:43", + "nodeType": "YulIdentifier", + "src": "7849:13:43" + }, + { + "name": "pos", + "nativeSrc": "7864:3:43", + "nodeType": "YulIdentifier", + "src": "7864:3:43" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nativeSrc": "7805:43:43", + "nodeType": "YulIdentifier", + "src": "7805:43:43" + }, + "nativeSrc": "7805:63:43", + "nodeType": "YulFunctionCall", + "src": "7805:63:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7798:3:43", + "nodeType": "YulIdentifier", + "src": "7798:3:43" + } + ] + }, + { + "nativeSrc": "7881:70:43", + "nodeType": "YulAssignment", + "src": "7881:70:43", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "7944:6:43", + "nodeType": "YulIdentifier", + "src": "7944:6:43" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nativeSrc": "7891:52:43", + "nodeType": "YulIdentifier", + "src": "7891:52:43" + }, + "nativeSrc": "7891:60:43", + "nodeType": "YulFunctionCall", + "src": "7891:60:43" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "7881:6:43", + "nodeType": "YulIdentifier", + "src": "7881:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "7699:1:43", + "nodeType": "YulIdentifier", + "src": "7699:1:43" + }, + { + "name": "length", + "nativeSrc": "7702:6:43", + "nodeType": "YulIdentifier", + "src": "7702:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7696:2:43", + "nodeType": "YulIdentifier", + "src": "7696:2:43" + }, + "nativeSrc": "7696:13:43", + "nodeType": "YulFunctionCall", + "src": "7696:13:43" + }, + "nativeSrc": "7677:284:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "7710:18:43", + "nodeType": "YulBlock", + "src": "7710:18:43", + "statements": [ + { + "nativeSrc": "7712:14:43", + "nodeType": "YulAssignment", + "src": "7712:14:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "7721:1:43", + "nodeType": "YulIdentifier", + "src": "7721:1:43" + }, + { + "kind": "number", + "nativeSrc": "7724:1:43", + "nodeType": "YulLiteral", + "src": "7724:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7717:3:43", + "nodeType": "YulIdentifier", + "src": "7717:3:43" + }, + "nativeSrc": "7717:9:43", + "nodeType": "YulFunctionCall", + "src": "7717:9:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "7712:1:43", + "nodeType": "YulIdentifier", + "src": "7712:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7681:14:43", + "nodeType": "YulBlock", + "src": "7681:14:43", + "statements": [ + { + "nativeSrc": "7683:10:43", + "nodeType": "YulVariableDeclaration", + "src": "7683:10:43", + "value": { + "kind": "number", + "nativeSrc": "7692:1:43", + "nodeType": "YulLiteral", + "src": "7692:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "7687:1:43", + "nodeType": "YulTypedName", + "src": "7687:1:43", + "type": "" + } + ] + } + ] + }, + "src": "7677:284:43" + }, + { + "nativeSrc": "7970:10:43", + "nodeType": "YulAssignment", + "src": "7970:10:43", + "value": { + "name": "pos", + "nativeSrc": "7977:3:43", + "nodeType": "YulIdentifier", + "src": "7977:3:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "7970:3:43", + "nodeType": "YulIdentifier", + "src": "7970:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "7254:732:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7357:5:43", + "nodeType": "YulTypedName", + "src": "7357:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7364:3:43", + "nodeType": "YulTypedName", + "src": "7364:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7373:3:43", + "nodeType": "YulTypedName", + "src": "7373:3:43", + "type": "" + } + ], + "src": "7254:732:43" + }, + { + "body": { + "nativeSrc": "8346:861:43", + "nodeType": "YulBlock", + "src": "8346:861:43", + "statements": [ + { + "nativeSrc": "8356:27:43", + "nodeType": "YulAssignment", + "src": "8356:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8368:9:43", + "nodeType": "YulIdentifier", + "src": "8368:9:43" + }, + { + "kind": "number", + "nativeSrc": "8379:3:43", + "nodeType": "YulLiteral", + "src": "8379:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8364:3:43", + "nodeType": "YulIdentifier", + "src": "8364:3:43" + }, + "nativeSrc": "8364:19:43", + "nodeType": "YulFunctionCall", + "src": "8364:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8356:4:43", + "nodeType": "YulIdentifier", + "src": "8356:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8435:6:43", + "nodeType": "YulIdentifier", + "src": "8435:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8448:9:43", + "nodeType": "YulIdentifier", + "src": "8448:9:43" + }, + { + "kind": "number", + "nativeSrc": "8459:1:43", + "nodeType": "YulLiteral", + "src": "8459:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8444:3:43", + "nodeType": "YulIdentifier", + "src": "8444:3:43" + }, + "nativeSrc": "8444:17:43", + "nodeType": "YulFunctionCall", + "src": "8444:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes1_to_t_bytes1_fromStack", + "nativeSrc": "8393:41:43", + "nodeType": "YulIdentifier", + "src": "8393:41:43" + }, + "nativeSrc": "8393:69:43", + "nodeType": "YulFunctionCall", + "src": "8393:69:43" + }, + "nativeSrc": "8393:69:43", + "nodeType": "YulExpressionStatement", + "src": "8393:69:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8483:9:43", + "nodeType": "YulIdentifier", + "src": "8483:9:43" + }, + { + "kind": "number", + "nativeSrc": "8494:2:43", + "nodeType": "YulLiteral", + "src": "8494:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8479:3:43", + "nodeType": "YulIdentifier", + "src": "8479:3:43" + }, + "nativeSrc": "8479:18:43", + "nodeType": "YulFunctionCall", + "src": "8479:18:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8503:4:43", + "nodeType": "YulIdentifier", + "src": "8503:4:43" + }, + { + "name": "headStart", + "nativeSrc": "8509:9:43", + "nodeType": "YulIdentifier", + "src": "8509:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8499:3:43", + "nodeType": "YulIdentifier", + "src": "8499:3:43" + }, + "nativeSrc": "8499:20:43", + "nodeType": "YulFunctionCall", + "src": "8499:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8472:6:43", + "nodeType": "YulIdentifier", + "src": "8472:6:43" + }, + "nativeSrc": "8472:48:43", + "nodeType": "YulFunctionCall", + "src": "8472:48:43" + }, + "nativeSrc": "8472:48:43", + "nodeType": "YulExpressionStatement", + "src": "8472:48:43" + }, + { + "nativeSrc": "8529:86:43", + "nodeType": "YulAssignment", + "src": "8529:86:43", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "8601:6:43", + "nodeType": "YulIdentifier", + "src": "8601:6:43" + }, + { + "name": "tail", + "nativeSrc": "8610:4:43", + "nodeType": "YulIdentifier", + "src": "8610:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8537:63:43", + "nodeType": "YulIdentifier", + "src": "8537:63:43" + }, + "nativeSrc": "8537:78:43", + "nodeType": "YulFunctionCall", + "src": "8537:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8529:4:43", + "nodeType": "YulIdentifier", + "src": "8529:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8636:9:43", + "nodeType": "YulIdentifier", + "src": "8636:9:43" + }, + { + "kind": "number", + "nativeSrc": "8647:2:43", + "nodeType": "YulLiteral", + "src": "8647:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8632:3:43", + "nodeType": "YulIdentifier", + "src": "8632:3:43" + }, + "nativeSrc": "8632:18:43", + "nodeType": "YulFunctionCall", + "src": "8632:18:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8656:4:43", + "nodeType": "YulIdentifier", + "src": "8656:4:43" + }, + { + "name": "headStart", + "nativeSrc": "8662:9:43", + "nodeType": "YulIdentifier", + "src": "8662:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8652:3:43", + "nodeType": "YulIdentifier", + "src": "8652:3:43" + }, + "nativeSrc": "8652:20:43", + "nodeType": "YulFunctionCall", + "src": "8652:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8625:6:43", + "nodeType": "YulIdentifier", + "src": "8625:6:43" + }, + "nativeSrc": "8625:48:43", + "nodeType": "YulFunctionCall", + "src": "8625:48:43" + }, + "nativeSrc": "8625:48:43", + "nodeType": "YulExpressionStatement", + "src": "8625:48:43" + }, + { + "nativeSrc": "8682:86:43", + "nodeType": "YulAssignment", + "src": "8682:86:43", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "8754:6:43", + "nodeType": "YulIdentifier", + "src": "8754:6:43" + }, + { + "name": "tail", + "nativeSrc": "8763:4:43", + "nodeType": "YulIdentifier", + "src": "8763:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8690:63:43", + "nodeType": "YulIdentifier", + "src": "8690:63:43" + }, + "nativeSrc": "8690:78:43", + "nodeType": "YulFunctionCall", + "src": "8690:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8682:4:43", + "nodeType": "YulIdentifier", + "src": "8682:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "8822:6:43", + "nodeType": "YulIdentifier", + "src": "8822:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8835:9:43", + "nodeType": "YulIdentifier", + "src": "8835:9:43" + }, + { + "kind": "number", + "nativeSrc": "8846:2:43", + "nodeType": "YulLiteral", + "src": "8846:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8831:3:43", + "nodeType": "YulIdentifier", + "src": "8831:3:43" + }, + "nativeSrc": "8831:18:43", + "nodeType": "YulFunctionCall", + "src": "8831:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8778:43:43", + "nodeType": "YulIdentifier", + "src": "8778:43:43" + }, + "nativeSrc": "8778:72:43", + "nodeType": "YulFunctionCall", + "src": "8778:72:43" + }, + "nativeSrc": "8778:72:43", + "nodeType": "YulExpressionStatement", + "src": "8778:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "8904:6:43", + "nodeType": "YulIdentifier", + "src": "8904:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8917:9:43", + "nodeType": "YulIdentifier", + "src": "8917:9:43" + }, + { + "kind": "number", + "nativeSrc": "8928:3:43", + "nodeType": "YulLiteral", + "src": "8928:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8913:3:43", + "nodeType": "YulIdentifier", + "src": "8913:3:43" + }, + "nativeSrc": "8913:19:43", + "nodeType": "YulFunctionCall", + "src": "8913:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8860:43:43", + "nodeType": "YulIdentifier", + "src": "8860:43:43" + }, + "nativeSrc": "8860:73:43", + "nodeType": "YulFunctionCall", + "src": "8860:73:43" + }, + "nativeSrc": "8860:73:43", + "nodeType": "YulExpressionStatement", + "src": "8860:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "8987:6:43", + "nodeType": "YulIdentifier", + "src": "8987:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9000:9:43", + "nodeType": "YulIdentifier", + "src": "9000:9:43" + }, + { + "kind": "number", + "nativeSrc": "9011:3:43", + "nodeType": "YulLiteral", + "src": "9011:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8996:3:43", + "nodeType": "YulIdentifier", + "src": "8996:3:43" + }, + "nativeSrc": "8996:19:43", + "nodeType": "YulFunctionCall", + "src": "8996:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "8943:43:43", + "nodeType": "YulIdentifier", + "src": "8943:43:43" + }, + "nativeSrc": "8943:73:43", + "nodeType": "YulFunctionCall", + "src": "8943:73:43" + }, + "nativeSrc": "8943:73:43", + "nodeType": "YulExpressionStatement", + "src": "8943:73:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9037:9:43", + "nodeType": "YulIdentifier", + "src": "9037:9:43" + }, + { + "kind": "number", + "nativeSrc": "9048:3:43", + "nodeType": "YulLiteral", + "src": "9048:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9033:3:43", + "nodeType": "YulIdentifier", + "src": "9033:3:43" + }, + "nativeSrc": "9033:19:43", + "nodeType": "YulFunctionCall", + "src": "9033:19:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "9058:4:43", + "nodeType": "YulIdentifier", + "src": "9058:4:43" + }, + { + "name": "headStart", + "nativeSrc": "9064:9:43", + "nodeType": "YulIdentifier", + "src": "9064:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9054:3:43", + "nodeType": "YulIdentifier", + "src": "9054:3:43" + }, + "nativeSrc": "9054:20:43", + "nodeType": "YulFunctionCall", + "src": "9054:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9026:6:43", + "nodeType": "YulIdentifier", + "src": "9026:6:43" + }, + "nativeSrc": "9026:49:43", + "nodeType": "YulFunctionCall", + "src": "9026:49:43" + }, + "nativeSrc": "9026:49:43", + "nodeType": "YulExpressionStatement", + "src": "9026:49:43" + }, + { + "nativeSrc": "9084:116:43", + "nodeType": "YulAssignment", + "src": "9084:116:43", + "value": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "9186:6:43", + "nodeType": "YulIdentifier", + "src": "9186:6:43" + }, + { + "name": "tail", + "nativeSrc": "9195:4:43", + "nodeType": "YulIdentifier", + "src": "9195:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nativeSrc": "9092:93:43", + "nodeType": "YulIdentifier", + "src": "9092:93:43" + }, + "nativeSrc": "9092:108:43", + "nodeType": "YulFunctionCall", + "src": "9092:108:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9084:4:43", + "nodeType": "YulIdentifier", + "src": "9084:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes1_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_bytes32_t_array$_t_uint256_$dyn_memory_ptr__to_t_bytes1_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_bytes32_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "7992:1215:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8270:9:43", + "nodeType": "YulTypedName", + "src": "8270:9:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "8282:6:43", + "nodeType": "YulTypedName", + "src": "8282:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "8290:6:43", + "nodeType": "YulTypedName", + "src": "8290:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "8298:6:43", + "nodeType": "YulTypedName", + "src": "8298:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "8306:6:43", + "nodeType": "YulTypedName", + "src": "8306:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "8314:6:43", + "nodeType": "YulTypedName", + "src": "8314:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8322:6:43", + "nodeType": "YulTypedName", + "src": "8322:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8330:6:43", + "nodeType": "YulTypedName", + "src": "8330:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8341:4:43", + "nodeType": "YulTypedName", + "src": "8341:4:43", + "type": "" + } + ], + "src": "7992:1215:43" + }, + { + "body": { + "nativeSrc": "9311:124:43", + "nodeType": "YulBlock", + "src": "9311:124:43", + "statements": [ + { + "nativeSrc": "9321:26:43", + "nodeType": "YulAssignment", + "src": "9321:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9333:9:43", + "nodeType": "YulIdentifier", + "src": "9333:9:43" + }, + { + "kind": "number", + "nativeSrc": "9344:2:43", + "nodeType": "YulLiteral", + "src": "9344:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9329:3:43", + "nodeType": "YulIdentifier", + "src": "9329:3:43" + }, + "nativeSrc": "9329:18:43", + "nodeType": "YulFunctionCall", + "src": "9329:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9321:4:43", + "nodeType": "YulIdentifier", + "src": "9321:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9401:6:43", + "nodeType": "YulIdentifier", + "src": "9401:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9414:9:43", + "nodeType": "YulIdentifier", + "src": "9414:9:43" + }, + { + "kind": "number", + "nativeSrc": "9425:1:43", + "nodeType": "YulLiteral", + "src": "9425:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9410:3:43", + "nodeType": "YulIdentifier", + "src": "9410:3:43" + }, + "nativeSrc": "9410:17:43", + "nodeType": "YulFunctionCall", + "src": "9410:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "9357:43:43", + "nodeType": "YulIdentifier", + "src": "9357:43:43" + }, + "nativeSrc": "9357:71:43", + "nodeType": "YulFunctionCall", + "src": "9357:71:43" + }, + "nativeSrc": "9357:71:43", + "nodeType": "YulExpressionStatement", + "src": "9357:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "9213:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9283:9:43", + "nodeType": "YulTypedName", + "src": "9283:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "9295:6:43", + "nodeType": "YulTypedName", + "src": "9295:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9306:4:43", + "nodeType": "YulTypedName", + "src": "9306:4:43", + "type": "" + } + ], + "src": "9213:222:43" + }, + { + "body": { + "nativeSrc": "9482:77:43", + "nodeType": "YulBlock", + "src": "9482:77:43", + "statements": [ + { + "body": { + "nativeSrc": "9537:16:43", + "nodeType": "YulBlock", + "src": "9537:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9546:1:43", + "nodeType": "YulLiteral", + "src": "9546:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9549:1:43", + "nodeType": "YulLiteral", + "src": "9549:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9539:6:43", + "nodeType": "YulIdentifier", + "src": "9539:6:43" + }, + "nativeSrc": "9539:12:43", + "nodeType": "YulFunctionCall", + "src": "9539:12:43" + }, + "nativeSrc": "9539:12:43", + "nodeType": "YulExpressionStatement", + "src": "9539:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9505:5:43", + "nodeType": "YulIdentifier", + "src": "9505:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9528:5:43", + "nodeType": "YulIdentifier", + "src": "9528:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nativeSrc": "9512:15:43", + "nodeType": "YulIdentifier", + "src": "9512:15:43" + }, + "nativeSrc": "9512:22:43", + "nodeType": "YulFunctionCall", + "src": "9512:22:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9502:2:43", + "nodeType": "YulIdentifier", + "src": "9502:2:43" + }, + "nativeSrc": "9502:33:43", + "nodeType": "YulFunctionCall", + "src": "9502:33:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9495:6:43", + "nodeType": "YulIdentifier", + "src": "9495:6:43" + }, + "nativeSrc": "9495:41:43", + "nodeType": "YulFunctionCall", + "src": "9495:41:43" + }, + "nativeSrc": "9492:61:43", + "nodeType": "YulIf", + "src": "9492:61:43" + } + ] + }, + "name": "validator_revert_t_uint8", + "nativeSrc": "9441:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9475:5:43", + "nodeType": "YulTypedName", + "src": "9475:5:43", + "type": "" + } + ], + "src": "9441:118:43" + }, + { + "body": { + "nativeSrc": "9615:85:43", + "nodeType": "YulBlock", + "src": "9615:85:43", + "statements": [ + { + "nativeSrc": "9625:29:43", + "nodeType": "YulAssignment", + "src": "9625:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9647:6:43", + "nodeType": "YulIdentifier", + "src": "9647:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9634:12:43", + "nodeType": "YulIdentifier", + "src": "9634:12:43" + }, + "nativeSrc": "9634:20:43", + "nodeType": "YulFunctionCall", + "src": "9634:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9625:5:43", + "nodeType": "YulIdentifier", + "src": "9625:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9688:5:43", + "nodeType": "YulIdentifier", + "src": "9688:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint8", + "nativeSrc": "9663:24:43", + "nodeType": "YulIdentifier", + "src": "9663:24:43" + }, + "nativeSrc": "9663:31:43", + "nodeType": "YulFunctionCall", + "src": "9663:31:43" + }, + "nativeSrc": "9663:31:43", + "nodeType": "YulExpressionStatement", + "src": "9663:31:43" + } + ] + }, + "name": "abi_decode_t_uint8", + "nativeSrc": "9565:135:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9593:6:43", + "nodeType": "YulTypedName", + "src": "9593:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9601:3:43", + "nodeType": "YulTypedName", + "src": "9601:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9609:5:43", + "nodeType": "YulTypedName", + "src": "9609:5:43", + "type": "" + } + ], + "src": "9565:135:43" + }, + { + "body": { + "nativeSrc": "9749:79:43", + "nodeType": "YulBlock", + "src": "9749:79:43", + "statements": [ + { + "body": { + "nativeSrc": "9806:16:43", + "nodeType": "YulBlock", + "src": "9806:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9815:1:43", + "nodeType": "YulLiteral", + "src": "9815:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9818:1:43", + "nodeType": "YulLiteral", + "src": "9818:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9808:6:43", + "nodeType": "YulIdentifier", + "src": "9808:6:43" + }, + "nativeSrc": "9808:12:43", + "nodeType": "YulFunctionCall", + "src": "9808:12:43" + }, + "nativeSrc": "9808:12:43", + "nodeType": "YulExpressionStatement", + "src": "9808:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9772:5:43", + "nodeType": "YulIdentifier", + "src": "9772:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9797:5:43", + "nodeType": "YulIdentifier", + "src": "9797:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "9779:17:43", + "nodeType": "YulIdentifier", + "src": "9779:17:43" + }, + "nativeSrc": "9779:24:43", + "nodeType": "YulFunctionCall", + "src": "9779:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9769:2:43", + "nodeType": "YulIdentifier", + "src": "9769:2:43" + }, + "nativeSrc": "9769:35:43", + "nodeType": "YulFunctionCall", + "src": "9769:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9762:6:43", + "nodeType": "YulIdentifier", + "src": "9762:6:43" + }, + "nativeSrc": "9762:43:43", + "nodeType": "YulFunctionCall", + "src": "9762:43:43" + }, + "nativeSrc": "9759:63:43", + "nodeType": "YulIf", + "src": "9759:63:43" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "9706:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9742:5:43", + "nodeType": "YulTypedName", + "src": "9742:5:43", + "type": "" + } + ], + "src": "9706:122:43" + }, + { + "body": { + "nativeSrc": "9886:87:43", + "nodeType": "YulBlock", + "src": "9886:87:43", + "statements": [ + { + "nativeSrc": "9896:29:43", + "nodeType": "YulAssignment", + "src": "9896:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9918:6:43", + "nodeType": "YulIdentifier", + "src": "9918:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9905:12:43", + "nodeType": "YulIdentifier", + "src": "9905:12:43" + }, + "nativeSrc": "9905:20:43", + "nodeType": "YulFunctionCall", + "src": "9905:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9896:5:43", + "nodeType": "YulIdentifier", + "src": "9896:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9961:5:43", + "nodeType": "YulIdentifier", + "src": "9961:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "9934:26:43", + "nodeType": "YulIdentifier", + "src": "9934:26:43" + }, + "nativeSrc": "9934:33:43", + "nodeType": "YulFunctionCall", + "src": "9934:33:43" + }, + "nativeSrc": "9934:33:43", + "nodeType": "YulExpressionStatement", + "src": "9934:33:43" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "9834:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9864:6:43", + "nodeType": "YulTypedName", + "src": "9864:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9872:3:43", + "nodeType": "YulTypedName", + "src": "9872:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9880:5:43", + "nodeType": "YulTypedName", + "src": "9880:5:43", + "type": "" + } + ], + "src": "9834:139:43" + }, + { + "body": { + "nativeSrc": "10145:1033:43", + "nodeType": "YulBlock", + "src": "10145:1033:43", + "statements": [ + { + "body": { + "nativeSrc": "10192:83:43", + "nodeType": "YulBlock", + "src": "10192:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10194:77:43", + "nodeType": "YulIdentifier", + "src": "10194:77:43" + }, + "nativeSrc": "10194:79:43", + "nodeType": "YulFunctionCall", + "src": "10194:79:43" + }, + "nativeSrc": "10194:79:43", + "nodeType": "YulExpressionStatement", + "src": "10194:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10166:7:43", + "nodeType": "YulIdentifier", + "src": "10166:7:43" + }, + { + "name": "headStart", + "nativeSrc": "10175:9:43", + "nodeType": "YulIdentifier", + "src": "10175:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10162:3:43", + "nodeType": "YulIdentifier", + "src": "10162:3:43" + }, + "nativeSrc": "10162:23:43", + "nodeType": "YulFunctionCall", + "src": "10162:23:43" + }, + { + "kind": "number", + "nativeSrc": "10187:3:43", + "nodeType": "YulLiteral", + "src": "10187:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10158:3:43", + "nodeType": "YulIdentifier", + "src": "10158:3:43" + }, + "nativeSrc": "10158:33:43", + "nodeType": "YulFunctionCall", + "src": "10158:33:43" + }, + "nativeSrc": "10155:120:43", + "nodeType": "YulIf", + "src": "10155:120:43" + }, + { + "nativeSrc": "10285:117:43", + "nodeType": "YulBlock", + "src": "10285:117:43", + "statements": [ + { + "nativeSrc": "10300:15:43", + "nodeType": "YulVariableDeclaration", + "src": "10300:15:43", + "value": { + "kind": "number", + "nativeSrc": "10314:1:43", + "nodeType": "YulLiteral", + "src": "10314:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10304:6:43", + "nodeType": "YulTypedName", + "src": "10304:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10329:63:43", + "nodeType": "YulAssignment", + "src": "10329:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10364:9:43", + "nodeType": "YulIdentifier", + "src": "10364:9:43" + }, + { + "name": "offset", + "nativeSrc": "10375:6:43", + "nodeType": "YulIdentifier", + "src": "10375:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10360:3:43", + "nodeType": "YulIdentifier", + "src": "10360:3:43" + }, + "nativeSrc": "10360:22:43", + "nodeType": "YulFunctionCall", + "src": "10360:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10384:7:43", + "nodeType": "YulIdentifier", + "src": "10384:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10339:20:43", + "nodeType": "YulIdentifier", + "src": "10339:20:43" + }, + "nativeSrc": "10339:53:43", + "nodeType": "YulFunctionCall", + "src": "10339:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10329:6:43", + "nodeType": "YulIdentifier", + "src": "10329:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10412:118:43", + "nodeType": "YulBlock", + "src": "10412:118:43", + "statements": [ + { + "nativeSrc": "10427:16:43", + "nodeType": "YulVariableDeclaration", + "src": "10427:16:43", + "value": { + "kind": "number", + "nativeSrc": "10441:2:43", + "nodeType": "YulLiteral", + "src": "10441:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10431:6:43", + "nodeType": "YulTypedName", + "src": "10431:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10457:63:43", + "nodeType": "YulAssignment", + "src": "10457:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10492:9:43", + "nodeType": "YulIdentifier", + "src": "10492:9:43" + }, + { + "name": "offset", + "nativeSrc": "10503:6:43", + "nodeType": "YulIdentifier", + "src": "10503:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10488:3:43", + "nodeType": "YulIdentifier", + "src": "10488:3:43" + }, + "nativeSrc": "10488:22:43", + "nodeType": "YulFunctionCall", + "src": "10488:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10512:7:43", + "nodeType": "YulIdentifier", + "src": "10512:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10467:20:43", + "nodeType": "YulIdentifier", + "src": "10467:20:43" + }, + "nativeSrc": "10467:53:43", + "nodeType": "YulFunctionCall", + "src": "10467:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "10457:6:43", + "nodeType": "YulIdentifier", + "src": "10457:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10540:118:43", + "nodeType": "YulBlock", + "src": "10540:118:43", + "statements": [ + { + "nativeSrc": "10555:16:43", + "nodeType": "YulVariableDeclaration", + "src": "10555:16:43", + "value": { + "kind": "number", + "nativeSrc": "10569:2:43", + "nodeType": "YulLiteral", + "src": "10569:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10559:6:43", + "nodeType": "YulTypedName", + "src": "10559:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10585:63:43", + "nodeType": "YulAssignment", + "src": "10585:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10620:9:43", + "nodeType": "YulIdentifier", + "src": "10620:9:43" + }, + { + "name": "offset", + "nativeSrc": "10631:6:43", + "nodeType": "YulIdentifier", + "src": "10631:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10616:3:43", + "nodeType": "YulIdentifier", + "src": "10616:3:43" + }, + "nativeSrc": "10616:22:43", + "nodeType": "YulFunctionCall", + "src": "10616:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10640:7:43", + "nodeType": "YulIdentifier", + "src": "10640:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "10595:20:43", + "nodeType": "YulIdentifier", + "src": "10595:20:43" + }, + "nativeSrc": "10595:53:43", + "nodeType": "YulFunctionCall", + "src": "10595:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "10585:6:43", + "nodeType": "YulIdentifier", + "src": "10585:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10668:118:43", + "nodeType": "YulBlock", + "src": "10668:118:43", + "statements": [ + { + "nativeSrc": "10683:16:43", + "nodeType": "YulVariableDeclaration", + "src": "10683:16:43", + "value": { + "kind": "number", + "nativeSrc": "10697:2:43", + "nodeType": "YulLiteral", + "src": "10697:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10687:6:43", + "nodeType": "YulTypedName", + "src": "10687:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10713:63:43", + "nodeType": "YulAssignment", + "src": "10713:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10748:9:43", + "nodeType": "YulIdentifier", + "src": "10748:9:43" + }, + { + "name": "offset", + "nativeSrc": "10759:6:43", + "nodeType": "YulIdentifier", + "src": "10759:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10744:3:43", + "nodeType": "YulIdentifier", + "src": "10744:3:43" + }, + "nativeSrc": "10744:22:43", + "nodeType": "YulFunctionCall", + "src": "10744:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10768:7:43", + "nodeType": "YulIdentifier", + "src": "10768:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "10723:20:43", + "nodeType": "YulIdentifier", + "src": "10723:20:43" + }, + "nativeSrc": "10723:53:43", + "nodeType": "YulFunctionCall", + "src": "10723:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "10713:6:43", + "nodeType": "YulIdentifier", + "src": "10713:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10796:117:43", + "nodeType": "YulBlock", + "src": "10796:117:43", + "statements": [ + { + "nativeSrc": "10811:17:43", + "nodeType": "YulVariableDeclaration", + "src": "10811:17:43", + "value": { + "kind": "number", + "nativeSrc": "10825:3:43", + "nodeType": "YulLiteral", + "src": "10825:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10815:6:43", + "nodeType": "YulTypedName", + "src": "10815:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10842:61:43", + "nodeType": "YulAssignment", + "src": "10842:61:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10875:9:43", + "nodeType": "YulIdentifier", + "src": "10875:9:43" + }, + { + "name": "offset", + "nativeSrc": "10886:6:43", + "nodeType": "YulIdentifier", + "src": "10886:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10871:3:43", + "nodeType": "YulIdentifier", + "src": "10871:3:43" + }, + "nativeSrc": "10871:22:43", + "nodeType": "YulFunctionCall", + "src": "10871:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "10895:7:43", + "nodeType": "YulIdentifier", + "src": "10895:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint8", + "nativeSrc": "10852:18:43", + "nodeType": "YulIdentifier", + "src": "10852:18:43" + }, + "nativeSrc": "10852:51:43", + "nodeType": "YulFunctionCall", + "src": "10852:51:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "10842:6:43", + "nodeType": "YulIdentifier", + "src": "10842:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "10923:119:43", + "nodeType": "YulBlock", + "src": "10923:119:43", + "statements": [ + { + "nativeSrc": "10938:17:43", + "nodeType": "YulVariableDeclaration", + "src": "10938:17:43", + "value": { + "kind": "number", + "nativeSrc": "10952:3:43", + "nodeType": "YulLiteral", + "src": "10952:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10942:6:43", + "nodeType": "YulTypedName", + "src": "10942:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10969:63:43", + "nodeType": "YulAssignment", + "src": "10969:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11004:9:43", + "nodeType": "YulIdentifier", + "src": "11004:9:43" + }, + { + "name": "offset", + "nativeSrc": "11015:6:43", + "nodeType": "YulIdentifier", + "src": "11015:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11000:3:43", + "nodeType": "YulIdentifier", + "src": "11000:3:43" + }, + "nativeSrc": "11000:22:43", + "nodeType": "YulFunctionCall", + "src": "11000:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11024:7:43", + "nodeType": "YulIdentifier", + "src": "11024:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "10979:20:43", + "nodeType": "YulIdentifier", + "src": "10979:20:43" + }, + "nativeSrc": "10979:53:43", + "nodeType": "YulFunctionCall", + "src": "10979:53:43" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "10969:6:43", + "nodeType": "YulIdentifier", + "src": "10969:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "11052:119:43", + "nodeType": "YulBlock", + "src": "11052:119:43", + "statements": [ + { + "nativeSrc": "11067:17:43", + "nodeType": "YulVariableDeclaration", + "src": "11067:17:43", + "value": { + "kind": "number", + "nativeSrc": "11081:3:43", + "nodeType": "YulLiteral", + "src": "11081:3:43", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11071:6:43", + "nodeType": "YulTypedName", + "src": "11071:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "11098:63:43", + "nodeType": "YulAssignment", + "src": "11098:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11133:9:43", + "nodeType": "YulIdentifier", + "src": "11133:9:43" + }, + { + "name": "offset", + "nativeSrc": "11144:6:43", + "nodeType": "YulIdentifier", + "src": "11144:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11129:3:43", + "nodeType": "YulIdentifier", + "src": "11129:3:43" + }, + "nativeSrc": "11129:22:43", + "nodeType": "YulFunctionCall", + "src": "11129:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11153:7:43", + "nodeType": "YulIdentifier", + "src": "11153:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "11108:20:43", + "nodeType": "YulIdentifier", + "src": "11108:20:43" + }, + "nativeSrc": "11108:53:43", + "nodeType": "YulFunctionCall", + "src": "11108:53:43" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "11098:6:43", + "nodeType": "YulIdentifier", + "src": "11098:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32", + "nativeSrc": "9979:1199:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10067:9:43", + "nodeType": "YulTypedName", + "src": "10067:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10078:7:43", + "nodeType": "YulTypedName", + "src": "10078:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10090:6:43", + "nodeType": "YulTypedName", + "src": "10090:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "10098:6:43", + "nodeType": "YulTypedName", + "src": "10098:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "10106:6:43", + "nodeType": "YulTypedName", + "src": "10106:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "10114:6:43", + "nodeType": "YulTypedName", + "src": "10114:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "10122:6:43", + "nodeType": "YulTypedName", + "src": "10122:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "10130:6:43", + "nodeType": "YulTypedName", + "src": "10130:6:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "10138:6:43", + "nodeType": "YulTypedName", + "src": "10138:6:43", + "type": "" + } + ], + "src": "9979:1199:43" + }, + { + "body": { + "nativeSrc": "11267:391:43", + "nodeType": "YulBlock", + "src": "11267:391:43", + "statements": [ + { + "body": { + "nativeSrc": "11313:83:43", + "nodeType": "YulBlock", + "src": "11313:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "11315:77:43", + "nodeType": "YulIdentifier", + "src": "11315:77:43" + }, + "nativeSrc": "11315:79:43", + "nodeType": "YulFunctionCall", + "src": "11315:79:43" + }, + "nativeSrc": "11315:79:43", + "nodeType": "YulExpressionStatement", + "src": "11315:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "11288:7:43", + "nodeType": "YulIdentifier", + "src": "11288:7:43" + }, + { + "name": "headStart", + "nativeSrc": "11297:9:43", + "nodeType": "YulIdentifier", + "src": "11297:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11284:3:43", + "nodeType": "YulIdentifier", + "src": "11284:3:43" + }, + "nativeSrc": "11284:23:43", + "nodeType": "YulFunctionCall", + "src": "11284:23:43" + }, + { + "kind": "number", + "nativeSrc": "11309:2:43", + "nodeType": "YulLiteral", + "src": "11309:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "11280:3:43", + "nodeType": "YulIdentifier", + "src": "11280:3:43" + }, + "nativeSrc": "11280:32:43", + "nodeType": "YulFunctionCall", + "src": "11280:32:43" + }, + "nativeSrc": "11277:119:43", + "nodeType": "YulIf", + "src": "11277:119:43" + }, + { + "nativeSrc": "11406:117:43", + "nodeType": "YulBlock", + "src": "11406:117:43", + "statements": [ + { + "nativeSrc": "11421:15:43", + "nodeType": "YulVariableDeclaration", + "src": "11421:15:43", + "value": { + "kind": "number", + "nativeSrc": "11435:1:43", + "nodeType": "YulLiteral", + "src": "11435:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11425:6:43", + "nodeType": "YulTypedName", + "src": "11425:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "11450:63:43", + "nodeType": "YulAssignment", + "src": "11450:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11485:9:43", + "nodeType": "YulIdentifier", + "src": "11485:9:43" + }, + { + "name": "offset", + "nativeSrc": "11496:6:43", + "nodeType": "YulIdentifier", + "src": "11496:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11481:3:43", + "nodeType": "YulIdentifier", + "src": "11481:3:43" + }, + "nativeSrc": "11481:22:43", + "nodeType": "YulFunctionCall", + "src": "11481:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11505:7:43", + "nodeType": "YulIdentifier", + "src": "11505:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "11460:20:43", + "nodeType": "YulIdentifier", + "src": "11460:20:43" + }, + "nativeSrc": "11460:53:43", + "nodeType": "YulFunctionCall", + "src": "11460:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11450:6:43", + "nodeType": "YulIdentifier", + "src": "11450:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "11533:118:43", + "nodeType": "YulBlock", + "src": "11533:118:43", + "statements": [ + { + "nativeSrc": "11548:16:43", + "nodeType": "YulVariableDeclaration", + "src": "11548:16:43", + "value": { + "kind": "number", + "nativeSrc": "11562:2:43", + "nodeType": "YulLiteral", + "src": "11562:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11552:6:43", + "nodeType": "YulTypedName", + "src": "11552:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "11578:63:43", + "nodeType": "YulAssignment", + "src": "11578:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11613:9:43", + "nodeType": "YulIdentifier", + "src": "11613:9:43" + }, + { + "name": "offset", + "nativeSrc": "11624:6:43", + "nodeType": "YulIdentifier", + "src": "11624:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11609:3:43", + "nodeType": "YulIdentifier", + "src": "11609:3:43" + }, + "nativeSrc": "11609:22:43", + "nodeType": "YulFunctionCall", + "src": "11609:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11633:7:43", + "nodeType": "YulIdentifier", + "src": "11633:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "11588:20:43", + "nodeType": "YulIdentifier", + "src": "11588:20:43" + }, + "nativeSrc": "11588:53:43", + "nodeType": "YulFunctionCall", + "src": "11588:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "11578:6:43", + "nodeType": "YulIdentifier", + "src": "11578:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nativeSrc": "11184:474:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11229:9:43", + "nodeType": "YulTypedName", + "src": "11229:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "11240:7:43", + "nodeType": "YulTypedName", + "src": "11240:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "11252:6:43", + "nodeType": "YulTypedName", + "src": "11252:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "11260:6:43", + "nodeType": "YulTypedName", + "src": "11260:6:43", + "type": "" + } + ], + "src": "11184:474:43" + }, + { + "body": { + "nativeSrc": "11692:152:43", + "nodeType": "YulBlock", + "src": "11692:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11709:1:43", + "nodeType": "YulLiteral", + "src": "11709:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11712:77:43", + "nodeType": "YulLiteral", + "src": "11712:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11702:6:43", + "nodeType": "YulIdentifier", + "src": "11702:6:43" + }, + "nativeSrc": "11702:88:43", + "nodeType": "YulFunctionCall", + "src": "11702:88:43" + }, + "nativeSrc": "11702:88:43", + "nodeType": "YulExpressionStatement", + "src": "11702:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11806:1:43", + "nodeType": "YulLiteral", + "src": "11806:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "11809:4:43", + "nodeType": "YulLiteral", + "src": "11809:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11799:6:43", + "nodeType": "YulIdentifier", + "src": "11799:6:43" + }, + "nativeSrc": "11799:15:43", + "nodeType": "YulFunctionCall", + "src": "11799:15:43" + }, + "nativeSrc": "11799:15:43", + "nodeType": "YulExpressionStatement", + "src": "11799:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11830:1:43", + "nodeType": "YulLiteral", + "src": "11830:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11833:4:43", + "nodeType": "YulLiteral", + "src": "11833:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11823:6:43", + "nodeType": "YulIdentifier", + "src": "11823:6:43" + }, + "nativeSrc": "11823:15:43", + "nodeType": "YulFunctionCall", + "src": "11823:15:43" + }, + "nativeSrc": "11823:15:43", + "nodeType": "YulExpressionStatement", + "src": "11823:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "11664:180:43", + "nodeType": "YulFunctionDefinition", + "src": "11664:180:43" + }, + { + "body": { + "nativeSrc": "11901:269:43", + "nodeType": "YulBlock", + "src": "11901:269:43", + "statements": [ + { + "nativeSrc": "11911:22:43", + "nodeType": "YulAssignment", + "src": "11911:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11925:4:43", + "nodeType": "YulIdentifier", + "src": "11925:4:43" + }, + { + "kind": "number", + "nativeSrc": "11931:1:43", + "nodeType": "YulLiteral", + "src": "11931:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "11921:3:43", + "nodeType": "YulIdentifier", + "src": "11921:3:43" + }, + "nativeSrc": "11921:12:43", + "nodeType": "YulFunctionCall", + "src": "11921:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "11911:6:43", + "nodeType": "YulIdentifier", + "src": "11911:6:43" + } + ] + }, + { + "nativeSrc": "11942:38:43", + "nodeType": "YulVariableDeclaration", + "src": "11942:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11972:4:43", + "nodeType": "YulIdentifier", + "src": "11972:4:43" + }, + { + "kind": "number", + "nativeSrc": "11978:1:43", + "nodeType": "YulLiteral", + "src": "11978:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11968:3:43", + "nodeType": "YulIdentifier", + "src": "11968:3:43" + }, + "nativeSrc": "11968:12:43", + "nodeType": "YulFunctionCall", + "src": "11968:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11946:18:43", + "nodeType": "YulTypedName", + "src": "11946:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12019:51:43", + "nodeType": "YulBlock", + "src": "12019:51:43", + "statements": [ + { + "nativeSrc": "12033:27:43", + "nodeType": "YulAssignment", + "src": "12033:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12047:6:43", + "nodeType": "YulIdentifier", + "src": "12047:6:43" + }, + { + "kind": "number", + "nativeSrc": "12055:4:43", + "nodeType": "YulLiteral", + "src": "12055:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "12043:3:43", + "nodeType": "YulIdentifier", + "src": "12043:3:43" + }, + "nativeSrc": "12043:17:43", + "nodeType": "YulFunctionCall", + "src": "12043:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "12033:6:43", + "nodeType": "YulIdentifier", + "src": "12033:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11999:18:43", + "nodeType": "YulIdentifier", + "src": "11999:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11992:6:43", + "nodeType": "YulIdentifier", + "src": "11992:6:43" + }, + "nativeSrc": "11992:26:43", + "nodeType": "YulFunctionCall", + "src": "11992:26:43" + }, + "nativeSrc": "11989:81:43", + "nodeType": "YulIf", + "src": "11989:81:43" + }, + { + "body": { + "nativeSrc": "12122:42:43", + "nodeType": "YulBlock", + "src": "12122:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "12136:16:43", + "nodeType": "YulIdentifier", + "src": "12136:16:43" + }, + "nativeSrc": "12136:18:43", + "nodeType": "YulFunctionCall", + "src": "12136:18:43" + }, + "nativeSrc": "12136:18:43", + "nodeType": "YulExpressionStatement", + "src": "12136:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "12086:18:43", + "nodeType": "YulIdentifier", + "src": "12086:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12109:6:43", + "nodeType": "YulIdentifier", + "src": "12109:6:43" + }, + { + "kind": "number", + "nativeSrc": "12117:2:43", + "nodeType": "YulLiteral", + "src": "12117:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "12106:2:43", + "nodeType": "YulIdentifier", + "src": "12106:2:43" + }, + "nativeSrc": "12106:14:43", + "nodeType": "YulFunctionCall", + "src": "12106:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12083:2:43", + "nodeType": "YulIdentifier", + "src": "12083:2:43" + }, + "nativeSrc": "12083:38:43", + "nodeType": "YulFunctionCall", + "src": "12083:38:43" + }, + "nativeSrc": "12080:84:43", + "nodeType": "YulIf", + "src": "12080:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "11850:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "11885:4:43", + "nodeType": "YulTypedName", + "src": "11885:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "11894:6:43", + "nodeType": "YulTypedName", + "src": "11894:6:43", + "type": "" + } + ], + "src": "11850:320:43" + }, + { + "body": { + "nativeSrc": "12204:152:43", + "nodeType": "YulBlock", + "src": "12204:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12221:1:43", + "nodeType": "YulLiteral", + "src": "12221:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12224:77:43", + "nodeType": "YulLiteral", + "src": "12224:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12214:6:43", + "nodeType": "YulIdentifier", + "src": "12214:6:43" + }, + "nativeSrc": "12214:88:43", + "nodeType": "YulFunctionCall", + "src": "12214:88:43" + }, + "nativeSrc": "12214:88:43", + "nodeType": "YulExpressionStatement", + "src": "12214:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12318:1:43", + "nodeType": "YulLiteral", + "src": "12318:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "12321:4:43", + "nodeType": "YulLiteral", + "src": "12321:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12311:6:43", + "nodeType": "YulIdentifier", + "src": "12311:6:43" + }, + "nativeSrc": "12311:15:43", + "nodeType": "YulFunctionCall", + "src": "12311:15:43" + }, + "nativeSrc": "12311:15:43", + "nodeType": "YulExpressionStatement", + "src": "12311:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12342:1:43", + "nodeType": "YulLiteral", + "src": "12342:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12345:4:43", + "nodeType": "YulLiteral", + "src": "12345:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12335:6:43", + "nodeType": "YulIdentifier", + "src": "12335:6:43" + }, + "nativeSrc": "12335:15:43", + "nodeType": "YulFunctionCall", + "src": "12335:15:43" + }, + "nativeSrc": "12335:15:43", + "nodeType": "YulExpressionStatement", + "src": "12335:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "12176:180:43", + "nodeType": "YulFunctionDefinition", + "src": "12176:180:43" + }, + { + "body": { + "nativeSrc": "12600:537:43", + "nodeType": "YulBlock", + "src": "12600:537:43", + "statements": [ + { + "nativeSrc": "12610:27:43", + "nodeType": "YulAssignment", + "src": "12610:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12622:9:43", + "nodeType": "YulIdentifier", + "src": "12622:9:43" + }, + { + "kind": "number", + "nativeSrc": "12633:3:43", + "nodeType": "YulLiteral", + "src": "12633:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12618:3:43", + "nodeType": "YulIdentifier", + "src": "12618:3:43" + }, + "nativeSrc": "12618:19:43", + "nodeType": "YulFunctionCall", + "src": "12618:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12610:4:43", + "nodeType": "YulIdentifier", + "src": "12610:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "12691:6:43", + "nodeType": "YulIdentifier", + "src": "12691:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12704:9:43", + "nodeType": "YulIdentifier", + "src": "12704:9:43" + }, + { + "kind": "number", + "nativeSrc": "12715:1:43", + "nodeType": "YulLiteral", + "src": "12715:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12700:3:43", + "nodeType": "YulIdentifier", + "src": "12700:3:43" + }, + "nativeSrc": "12700:17:43", + "nodeType": "YulFunctionCall", + "src": "12700:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "12647:43:43", + "nodeType": "YulIdentifier", + "src": "12647:43:43" + }, + "nativeSrc": "12647:71:43", + "nodeType": "YulFunctionCall", + "src": "12647:71:43" + }, + "nativeSrc": "12647:71:43", + "nodeType": "YulExpressionStatement", + "src": "12647:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "12772:6:43", + "nodeType": "YulIdentifier", + "src": "12772:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12785:9:43", + "nodeType": "YulIdentifier", + "src": "12785:9:43" + }, + { + "kind": "number", + "nativeSrc": "12796:2:43", + "nodeType": "YulLiteral", + "src": "12796:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12781:3:43", + "nodeType": "YulIdentifier", + "src": "12781:3:43" + }, + "nativeSrc": "12781:18:43", + "nodeType": "YulFunctionCall", + "src": "12781:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "12728:43:43", + "nodeType": "YulIdentifier", + "src": "12728:43:43" + }, + "nativeSrc": "12728:72:43", + "nodeType": "YulFunctionCall", + "src": "12728:72:43" + }, + "nativeSrc": "12728:72:43", + "nodeType": "YulExpressionStatement", + "src": "12728:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "12854:6:43", + "nodeType": "YulIdentifier", + "src": "12854:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12867:9:43", + "nodeType": "YulIdentifier", + "src": "12867:9:43" + }, + { + "kind": "number", + "nativeSrc": "12878:2:43", + "nodeType": "YulLiteral", + "src": "12878:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12863:3:43", + "nodeType": "YulIdentifier", + "src": "12863:3:43" + }, + "nativeSrc": "12863:18:43", + "nodeType": "YulFunctionCall", + "src": "12863:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "12810:43:43", + "nodeType": "YulIdentifier", + "src": "12810:43:43" + }, + "nativeSrc": "12810:72:43", + "nodeType": "YulFunctionCall", + "src": "12810:72:43" + }, + "nativeSrc": "12810:72:43", + "nodeType": "YulExpressionStatement", + "src": "12810:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "12936:6:43", + "nodeType": "YulIdentifier", + "src": "12936:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12949:9:43", + "nodeType": "YulIdentifier", + "src": "12949:9:43" + }, + { + "kind": "number", + "nativeSrc": "12960:2:43", + "nodeType": "YulLiteral", + "src": "12960:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12945:3:43", + "nodeType": "YulIdentifier", + "src": "12945:3:43" + }, + "nativeSrc": "12945:18:43", + "nodeType": "YulFunctionCall", + "src": "12945:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "12892:43:43", + "nodeType": "YulIdentifier", + "src": "12892:43:43" + }, + "nativeSrc": "12892:72:43", + "nodeType": "YulFunctionCall", + "src": "12892:72:43" + }, + "nativeSrc": "12892:72:43", + "nodeType": "YulExpressionStatement", + "src": "12892:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "13018:6:43", + "nodeType": "YulIdentifier", + "src": "13018:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13031:9:43", + "nodeType": "YulIdentifier", + "src": "13031:9:43" + }, + { + "kind": "number", + "nativeSrc": "13042:3:43", + "nodeType": "YulLiteral", + "src": "13042:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13027:3:43", + "nodeType": "YulIdentifier", + "src": "13027:3:43" + }, + "nativeSrc": "13027:19:43", + "nodeType": "YulFunctionCall", + "src": "13027:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "12974:43:43", + "nodeType": "YulIdentifier", + "src": "12974:43:43" + }, + "nativeSrc": "12974:73:43", + "nodeType": "YulFunctionCall", + "src": "12974:73:43" + }, + "nativeSrc": "12974:73:43", + "nodeType": "YulExpressionStatement", + "src": "12974:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "13101:6:43", + "nodeType": "YulIdentifier", + "src": "13101:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13114:9:43", + "nodeType": "YulIdentifier", + "src": "13114:9:43" + }, + { + "kind": "number", + "nativeSrc": "13125:3:43", + "nodeType": "YulLiteral", + "src": "13125:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13110:3:43", + "nodeType": "YulIdentifier", + "src": "13110:3:43" + }, + "nativeSrc": "13110:19:43", + "nodeType": "YulFunctionCall", + "src": "13110:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "13057:43:43", + "nodeType": "YulIdentifier", + "src": "13057:43:43" + }, + "nativeSrc": "13057:73:43", + "nodeType": "YulFunctionCall", + "src": "13057:73:43" + }, + "nativeSrc": "13057:73:43", + "nodeType": "YulExpressionStatement", + "src": "13057:73:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "12362:775:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12532:9:43", + "nodeType": "YulTypedName", + "src": "12532:9:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "12544:6:43", + "nodeType": "YulTypedName", + "src": "12544:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "12552:6:43", + "nodeType": "YulTypedName", + "src": "12552:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "12560:6:43", + "nodeType": "YulTypedName", + "src": "12560:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "12568:6:43", + "nodeType": "YulTypedName", + "src": "12568:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "12576:6:43", + "nodeType": "YulTypedName", + "src": "12576:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "12584:6:43", + "nodeType": "YulTypedName", + "src": "12584:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12595:4:43", + "nodeType": "YulTypedName", + "src": "12595:4:43", + "type": "" + } + ], + "src": "12362:775:43" + }, + { + "body": { + "nativeSrc": "13269:206:43", + "nodeType": "YulBlock", + "src": "13269:206:43", + "statements": [ + { + "nativeSrc": "13279:26:43", + "nodeType": "YulAssignment", + "src": "13279:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13291:9:43", + "nodeType": "YulIdentifier", + "src": "13291:9:43" + }, + { + "kind": "number", + "nativeSrc": "13302:2:43", + "nodeType": "YulLiteral", + "src": "13302:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13287:3:43", + "nodeType": "YulIdentifier", + "src": "13287:3:43" + }, + "nativeSrc": "13287:18:43", + "nodeType": "YulFunctionCall", + "src": "13287:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13279:4:43", + "nodeType": "YulIdentifier", + "src": "13279:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "13359:6:43", + "nodeType": "YulIdentifier", + "src": "13359:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13372:9:43", + "nodeType": "YulIdentifier", + "src": "13372:9:43" + }, + { + "kind": "number", + "nativeSrc": "13383:1:43", + "nodeType": "YulLiteral", + "src": "13383:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13368:3:43", + "nodeType": "YulIdentifier", + "src": "13368:3:43" + }, + "nativeSrc": "13368:17:43", + "nodeType": "YulFunctionCall", + "src": "13368:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "13315:43:43", + "nodeType": "YulIdentifier", + "src": "13315:43:43" + }, + "nativeSrc": "13315:71:43", + "nodeType": "YulFunctionCall", + "src": "13315:71:43" + }, + "nativeSrc": "13315:71:43", + "nodeType": "YulExpressionStatement", + "src": "13315:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "13440:6:43", + "nodeType": "YulIdentifier", + "src": "13440:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13453:9:43", + "nodeType": "YulIdentifier", + "src": "13453:9:43" + }, + { + "kind": "number", + "nativeSrc": "13464:2:43", + "nodeType": "YulLiteral", + "src": "13464:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13449:3:43", + "nodeType": "YulIdentifier", + "src": "13449:3:43" + }, + "nativeSrc": "13449:18:43", + "nodeType": "YulFunctionCall", + "src": "13449:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "13396:43:43", + "nodeType": "YulIdentifier", + "src": "13396:43:43" + }, + "nativeSrc": "13396:72:43", + "nodeType": "YulFunctionCall", + "src": "13396:72:43" + }, + "nativeSrc": "13396:72:43", + "nodeType": "YulExpressionStatement", + "src": "13396:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nativeSrc": "13143:332:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13233:9:43", + "nodeType": "YulTypedName", + "src": "13233:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "13245:6:43", + "nodeType": "YulTypedName", + "src": "13245:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "13253:6:43", + "nodeType": "YulTypedName", + "src": "13253:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "13264:4:43", + "nodeType": "YulTypedName", + "src": "13264:4:43", + "type": "" + } + ], + "src": "13143:332:43" + }, + { + "body": { + "nativeSrc": "13635:288:43", + "nodeType": "YulBlock", + "src": "13635:288:43", + "statements": [ + { + "nativeSrc": "13645:26:43", + "nodeType": "YulAssignment", + "src": "13645:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13657:9:43", + "nodeType": "YulIdentifier", + "src": "13657:9:43" + }, + { + "kind": "number", + "nativeSrc": "13668:2:43", + "nodeType": "YulLiteral", + "src": "13668:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13653:3:43", + "nodeType": "YulIdentifier", + "src": "13653:3:43" + }, + "nativeSrc": "13653:18:43", + "nodeType": "YulFunctionCall", + "src": "13653:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13645:4:43", + "nodeType": "YulIdentifier", + "src": "13645:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "13725:6:43", + "nodeType": "YulIdentifier", + "src": "13725:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13738:9:43", + "nodeType": "YulIdentifier", + "src": "13738:9:43" + }, + { + "kind": "number", + "nativeSrc": "13749:1:43", + "nodeType": "YulLiteral", + "src": "13749:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13734:3:43", + "nodeType": "YulIdentifier", + "src": "13734:3:43" + }, + "nativeSrc": "13734:17:43", + "nodeType": "YulFunctionCall", + "src": "13734:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "13681:43:43", + "nodeType": "YulIdentifier", + "src": "13681:43:43" + }, + "nativeSrc": "13681:71:43", + "nodeType": "YulFunctionCall", + "src": "13681:71:43" + }, + "nativeSrc": "13681:71:43", + "nodeType": "YulExpressionStatement", + "src": "13681:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "13806:6:43", + "nodeType": "YulIdentifier", + "src": "13806:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13819:9:43", + "nodeType": "YulIdentifier", + "src": "13819:9:43" + }, + { + "kind": "number", + "nativeSrc": "13830:2:43", + "nodeType": "YulLiteral", + "src": "13830:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13815:3:43", + "nodeType": "YulIdentifier", + "src": "13815:3:43" + }, + "nativeSrc": "13815:18:43", + "nodeType": "YulFunctionCall", + "src": "13815:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "13762:43:43", + "nodeType": "YulIdentifier", + "src": "13762:43:43" + }, + "nativeSrc": "13762:72:43", + "nodeType": "YulFunctionCall", + "src": "13762:72:43" + }, + "nativeSrc": "13762:72:43", + "nodeType": "YulExpressionStatement", + "src": "13762:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "13888:6:43", + "nodeType": "YulIdentifier", + "src": "13888:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13901:9:43", + "nodeType": "YulIdentifier", + "src": "13901:9:43" + }, + { + "kind": "number", + "nativeSrc": "13912:2:43", + "nodeType": "YulLiteral", + "src": "13912:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13897:3:43", + "nodeType": "YulIdentifier", + "src": "13897:3:43" + }, + "nativeSrc": "13897:18:43", + "nodeType": "YulFunctionCall", + "src": "13897:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "13844:43:43", + "nodeType": "YulIdentifier", + "src": "13844:43:43" + }, + "nativeSrc": "13844:72:43", + "nodeType": "YulFunctionCall", + "src": "13844:72:43" + }, + "nativeSrc": "13844:72:43", + "nodeType": "YulExpressionStatement", + "src": "13844:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "13481:442:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13591:9:43", + "nodeType": "YulTypedName", + "src": "13591:9:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "13603:6:43", + "nodeType": "YulTypedName", + "src": "13603:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "13611:6:43", + "nodeType": "YulTypedName", + "src": "13611:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "13619:6:43", + "nodeType": "YulTypedName", + "src": "13619:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "13630:4:43", + "nodeType": "YulTypedName", + "src": "13630:4:43", + "type": "" + } + ], + "src": "13481:442:43" + }, + { + "body": { + "nativeSrc": "13957:152:43", + "nodeType": "YulBlock", + "src": "13957:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13974:1:43", + "nodeType": "YulLiteral", + "src": "13974:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "13977:77:43", + "nodeType": "YulLiteral", + "src": "13977:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13967:6:43", + "nodeType": "YulIdentifier", + "src": "13967:6:43" + }, + "nativeSrc": "13967:88:43", + "nodeType": "YulFunctionCall", + "src": "13967:88:43" + }, + "nativeSrc": "13967:88:43", + "nodeType": "YulExpressionStatement", + "src": "13967:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14071:1:43", + "nodeType": "YulLiteral", + "src": "14071:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "14074:4:43", + "nodeType": "YulLiteral", + "src": "14074:4:43", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14064:6:43", + "nodeType": "YulIdentifier", + "src": "14064:6:43" + }, + "nativeSrc": "14064:15:43", + "nodeType": "YulFunctionCall", + "src": "14064:15:43" + }, + "nativeSrc": "14064:15:43", + "nodeType": "YulExpressionStatement", + "src": "14064:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14095:1:43", + "nodeType": "YulLiteral", + "src": "14095:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14098:4:43", + "nodeType": "YulLiteral", + "src": "14098:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14088:6:43", + "nodeType": "YulIdentifier", + "src": "14088:6:43" + }, + "nativeSrc": "14088:15:43", + "nodeType": "YulFunctionCall", + "src": "14088:15:43" + }, + "nativeSrc": "14088:15:43", + "nodeType": "YulExpressionStatement", + "src": "14088:15:43" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "13929:180:43", + "nodeType": "YulFunctionDefinition", + "src": "13929:180:43" + }, + { + "body": { + "nativeSrc": "14159:147:43", + "nodeType": "YulBlock", + "src": "14159:147:43", + "statements": [ + { + "nativeSrc": "14169:25:43", + "nodeType": "YulAssignment", + "src": "14169:25:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "14192:1:43", + "nodeType": "YulIdentifier", + "src": "14192:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "14174:17:43", + "nodeType": "YulIdentifier", + "src": "14174:17:43" + }, + "nativeSrc": "14174:20:43", + "nodeType": "YulFunctionCall", + "src": "14174:20:43" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "14169:1:43", + "nodeType": "YulIdentifier", + "src": "14169:1:43" + } + ] + }, + { + "nativeSrc": "14203:25:43", + "nodeType": "YulAssignment", + "src": "14203:25:43", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "14226:1:43", + "nodeType": "YulIdentifier", + "src": "14226:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "14208:17:43", + "nodeType": "YulIdentifier", + "src": "14208:17:43" + }, + "nativeSrc": "14208:20:43", + "nodeType": "YulFunctionCall", + "src": "14208:20:43" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "14203:1:43", + "nodeType": "YulIdentifier", + "src": "14203:1:43" + } + ] + }, + { + "nativeSrc": "14237:16:43", + "nodeType": "YulAssignment", + "src": "14237:16:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "14248:1:43", + "nodeType": "YulIdentifier", + "src": "14248:1:43" + }, + { + "name": "y", + "nativeSrc": "14251:1:43", + "nodeType": "YulIdentifier", + "src": "14251:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14244:3:43", + "nodeType": "YulIdentifier", + "src": "14244:3:43" + }, + "nativeSrc": "14244:9:43", + "nodeType": "YulFunctionCall", + "src": "14244:9:43" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "14237:3:43", + "nodeType": "YulIdentifier", + "src": "14237:3:43" + } + ] + }, + { + "body": { + "nativeSrc": "14277:22:43", + "nodeType": "YulBlock", + "src": "14277:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "14279:16:43", + "nodeType": "YulIdentifier", + "src": "14279:16:43" + }, + "nativeSrc": "14279:18:43", + "nodeType": "YulFunctionCall", + "src": "14279:18:43" + }, + "nativeSrc": "14279:18:43", + "nodeType": "YulExpressionStatement", + "src": "14279:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "14269:1:43", + "nodeType": "YulIdentifier", + "src": "14269:1:43" + }, + { + "name": "sum", + "nativeSrc": "14272:3:43", + "nodeType": "YulIdentifier", + "src": "14272:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14266:2:43", + "nodeType": "YulIdentifier", + "src": "14266:2:43" + }, + "nativeSrc": "14266:10:43", + "nodeType": "YulFunctionCall", + "src": "14266:10:43" + }, + "nativeSrc": "14263:36:43", + "nodeType": "YulIf", + "src": "14263:36:43" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "14115:191:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "14146:1:43", + "nodeType": "YulTypedName", + "src": "14146:1:43", + "type": "" + }, + { + "name": "y", + "nativeSrc": "14149:1:43", + "nodeType": "YulTypedName", + "src": "14149:1:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "14155:3:43", + "nodeType": "YulTypedName", + "src": "14155:3:43", + "type": "" + } + ], + "src": "14115:191:43" + }, + { + "body": { + "nativeSrc": "14522:454:43", + "nodeType": "YulBlock", + "src": "14522:454:43", + "statements": [ + { + "nativeSrc": "14532:27:43", + "nodeType": "YulAssignment", + "src": "14532:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14544:9:43", + "nodeType": "YulIdentifier", + "src": "14544:9:43" + }, + { + "kind": "number", + "nativeSrc": "14555:3:43", + "nodeType": "YulLiteral", + "src": "14555:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14540:3:43", + "nodeType": "YulIdentifier", + "src": "14540:3:43" + }, + "nativeSrc": "14540:19:43", + "nodeType": "YulFunctionCall", + "src": "14540:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14532:4:43", + "nodeType": "YulIdentifier", + "src": "14532:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "14613:6:43", + "nodeType": "YulIdentifier", + "src": "14613:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14626:9:43", + "nodeType": "YulIdentifier", + "src": "14626:9:43" + }, + { + "kind": "number", + "nativeSrc": "14637:1:43", + "nodeType": "YulLiteral", + "src": "14637:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14622:3:43", + "nodeType": "YulIdentifier", + "src": "14622:3:43" + }, + "nativeSrc": "14622:17:43", + "nodeType": "YulFunctionCall", + "src": "14622:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "14569:43:43", + "nodeType": "YulIdentifier", + "src": "14569:43:43" + }, + "nativeSrc": "14569:71:43", + "nodeType": "YulFunctionCall", + "src": "14569:71:43" + }, + "nativeSrc": "14569:71:43", + "nodeType": "YulExpressionStatement", + "src": "14569:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "14694:6:43", + "nodeType": "YulIdentifier", + "src": "14694:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14707:9:43", + "nodeType": "YulIdentifier", + "src": "14707:9:43" + }, + { + "kind": "number", + "nativeSrc": "14718:2:43", + "nodeType": "YulLiteral", + "src": "14718:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14703:3:43", + "nodeType": "YulIdentifier", + "src": "14703:3:43" + }, + "nativeSrc": "14703:18:43", + "nodeType": "YulFunctionCall", + "src": "14703:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "14650:43:43", + "nodeType": "YulIdentifier", + "src": "14650:43:43" + }, + "nativeSrc": "14650:72:43", + "nodeType": "YulFunctionCall", + "src": "14650:72:43" + }, + "nativeSrc": "14650:72:43", + "nodeType": "YulExpressionStatement", + "src": "14650:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "14776:6:43", + "nodeType": "YulIdentifier", + "src": "14776:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14789:9:43", + "nodeType": "YulIdentifier", + "src": "14789:9:43" + }, + { + "kind": "number", + "nativeSrc": "14800:2:43", + "nodeType": "YulLiteral", + "src": "14800:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14785:3:43", + "nodeType": "YulIdentifier", + "src": "14785:3:43" + }, + "nativeSrc": "14785:18:43", + "nodeType": "YulFunctionCall", + "src": "14785:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "14732:43:43", + "nodeType": "YulIdentifier", + "src": "14732:43:43" + }, + "nativeSrc": "14732:72:43", + "nodeType": "YulFunctionCall", + "src": "14732:72:43" + }, + "nativeSrc": "14732:72:43", + "nodeType": "YulExpressionStatement", + "src": "14732:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "14858:6:43", + "nodeType": "YulIdentifier", + "src": "14858:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14871:9:43", + "nodeType": "YulIdentifier", + "src": "14871:9:43" + }, + { + "kind": "number", + "nativeSrc": "14882:2:43", + "nodeType": "YulLiteral", + "src": "14882:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14867:3:43", + "nodeType": "YulIdentifier", + "src": "14867:3:43" + }, + "nativeSrc": "14867:18:43", + "nodeType": "YulFunctionCall", + "src": "14867:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "14814:43:43", + "nodeType": "YulIdentifier", + "src": "14814:43:43" + }, + "nativeSrc": "14814:72:43", + "nodeType": "YulFunctionCall", + "src": "14814:72:43" + }, + "nativeSrc": "14814:72:43", + "nodeType": "YulExpressionStatement", + "src": "14814:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "14940:6:43", + "nodeType": "YulIdentifier", + "src": "14940:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14953:9:43", + "nodeType": "YulIdentifier", + "src": "14953:9:43" + }, + { + "kind": "number", + "nativeSrc": "14964:3:43", + "nodeType": "YulLiteral", + "src": "14964:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14949:3:43", + "nodeType": "YulIdentifier", + "src": "14949:3:43" + }, + "nativeSrc": "14949:19:43", + "nodeType": "YulFunctionCall", + "src": "14949:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "14896:43:43", + "nodeType": "YulIdentifier", + "src": "14896:43:43" + }, + "nativeSrc": "14896:73:43", + "nodeType": "YulFunctionCall", + "src": "14896:73:43" + }, + "nativeSrc": "14896:73:43", + "nodeType": "YulExpressionStatement", + "src": "14896:73:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed", + "nativeSrc": "14312:664:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14462:9:43", + "nodeType": "YulTypedName", + "src": "14462:9:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "14474:6:43", + "nodeType": "YulTypedName", + "src": "14474:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "14482:6:43", + "nodeType": "YulTypedName", + "src": "14482:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "14490:6:43", + "nodeType": "YulTypedName", + "src": "14490:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14498:6:43", + "nodeType": "YulTypedName", + "src": "14498:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14506:6:43", + "nodeType": "YulTypedName", + "src": "14506:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14517:4:43", + "nodeType": "YulTypedName", + "src": "14517:4:43", + "type": "" + } + ], + "src": "14312:664:43" + }, + { + "body": { + "nativeSrc": "15160:367:43", + "nodeType": "YulBlock", + "src": "15160:367:43", + "statements": [ + { + "nativeSrc": "15170:27:43", + "nodeType": "YulAssignment", + "src": "15170:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15182:9:43", + "nodeType": "YulIdentifier", + "src": "15182:9:43" + }, + { + "kind": "number", + "nativeSrc": "15193:3:43", + "nodeType": "YulLiteral", + "src": "15193:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15178:3:43", + "nodeType": "YulIdentifier", + "src": "15178:3:43" + }, + "nativeSrc": "15178:19:43", + "nodeType": "YulFunctionCall", + "src": "15178:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15170:4:43", + "nodeType": "YulIdentifier", + "src": "15170:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "15251:6:43", + "nodeType": "YulIdentifier", + "src": "15251:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15264:9:43", + "nodeType": "YulIdentifier", + "src": "15264:9:43" + }, + { + "kind": "number", + "nativeSrc": "15275:1:43", + "nodeType": "YulLiteral", + "src": "15275:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15260:3:43", + "nodeType": "YulIdentifier", + "src": "15260:3:43" + }, + "nativeSrc": "15260:17:43", + "nodeType": "YulFunctionCall", + "src": "15260:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "15207:43:43", + "nodeType": "YulIdentifier", + "src": "15207:43:43" + }, + "nativeSrc": "15207:71:43", + "nodeType": "YulFunctionCall", + "src": "15207:71:43" + }, + "nativeSrc": "15207:71:43", + "nodeType": "YulExpressionStatement", + "src": "15207:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "15328:6:43", + "nodeType": "YulIdentifier", + "src": "15328:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15341:9:43", + "nodeType": "YulIdentifier", + "src": "15341:9:43" + }, + { + "kind": "number", + "nativeSrc": "15352:2:43", + "nodeType": "YulLiteral", + "src": "15352:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15337:3:43", + "nodeType": "YulIdentifier", + "src": "15337:3:43" + }, + "nativeSrc": "15337:18:43", + "nodeType": "YulFunctionCall", + "src": "15337:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nativeSrc": "15288:39:43", + "nodeType": "YulIdentifier", + "src": "15288:39:43" + }, + "nativeSrc": "15288:68:43", + "nodeType": "YulFunctionCall", + "src": "15288:68:43" + }, + "nativeSrc": "15288:68:43", + "nodeType": "YulExpressionStatement", + "src": "15288:68:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "15410:6:43", + "nodeType": "YulIdentifier", + "src": "15410:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15423:9:43", + "nodeType": "YulIdentifier", + "src": "15423:9:43" + }, + { + "kind": "number", + "nativeSrc": "15434:2:43", + "nodeType": "YulLiteral", + "src": "15434:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15419:3:43", + "nodeType": "YulIdentifier", + "src": "15419:3:43" + }, + "nativeSrc": "15419:18:43", + "nodeType": "YulFunctionCall", + "src": "15419:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "15366:43:43", + "nodeType": "YulIdentifier", + "src": "15366:43:43" + }, + "nativeSrc": "15366:72:43", + "nodeType": "YulFunctionCall", + "src": "15366:72:43" + }, + "nativeSrc": "15366:72:43", + "nodeType": "YulExpressionStatement", + "src": "15366:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "15492:6:43", + "nodeType": "YulIdentifier", + "src": "15492:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15505:9:43", + "nodeType": "YulIdentifier", + "src": "15505:9:43" + }, + { + "kind": "number", + "nativeSrc": "15516:2:43", + "nodeType": "YulLiteral", + "src": "15516:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15501:3:43", + "nodeType": "YulIdentifier", + "src": "15501:3:43" + }, + "nativeSrc": "15501:18:43", + "nodeType": "YulFunctionCall", + "src": "15501:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "15448:43:43", + "nodeType": "YulIdentifier", + "src": "15448:43:43" + }, + "nativeSrc": "15448:72:43", + "nodeType": "YulFunctionCall", + "src": "15448:72:43" + }, + "nativeSrc": "15448:72:43", + "nodeType": "YulExpressionStatement", + "src": "15448:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", + "nativeSrc": "14982:545:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15108:9:43", + "nodeType": "YulTypedName", + "src": "15108:9:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "15120:6:43", + "nodeType": "YulTypedName", + "src": "15120:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "15128:6:43", + "nodeType": "YulTypedName", + "src": "15128:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "15136:6:43", + "nodeType": "YulTypedName", + "src": "15136:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "15144:6:43", + "nodeType": "YulTypedName", + "src": "15144:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15155:4:43", + "nodeType": "YulTypedName", + "src": "15155:4:43", + "type": "" + } + ], + "src": "14982:545:43" + }, + { + "body": { + "nativeSrc": "15561:152:43", + "nodeType": "YulBlock", + "src": "15561:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15578:1:43", + "nodeType": "YulLiteral", + "src": "15578:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15581:77:43", + "nodeType": "YulLiteral", + "src": "15581:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15571:6:43", + "nodeType": "YulIdentifier", + "src": "15571:6:43" + }, + "nativeSrc": "15571:88:43", + "nodeType": "YulFunctionCall", + "src": "15571:88:43" + }, + "nativeSrc": "15571:88:43", + "nodeType": "YulExpressionStatement", + "src": "15571:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15675:1:43", + "nodeType": "YulLiteral", + "src": "15675:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "15678:4:43", + "nodeType": "YulLiteral", + "src": "15678:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15668:6:43", + "nodeType": "YulIdentifier", + "src": "15668:6:43" + }, + "nativeSrc": "15668:15:43", + "nodeType": "YulFunctionCall", + "src": "15668:15:43" + }, + "nativeSrc": "15668:15:43", + "nodeType": "YulExpressionStatement", + "src": "15668:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15699:1:43", + "nodeType": "YulLiteral", + "src": "15699:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15702:4:43", + "nodeType": "YulLiteral", + "src": "15702:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "15692:6:43", + "nodeType": "YulIdentifier", + "src": "15692:6:43" + }, + "nativeSrc": "15692:15:43", + "nodeType": "YulFunctionCall", + "src": "15692:15:43" + }, + "nativeSrc": "15692:15:43", + "nodeType": "YulExpressionStatement", + "src": "15692:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "15533:180:43", + "nodeType": "YulFunctionDefinition", + "src": "15533:180:43" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(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_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes1(value) -> cleaned {\n cleaned := and(value, 0xff00000000000000000000000000000000000000000000000000000000000000)\n }\n\n function abi_encode_t_bytes1_to_t_bytes1_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes1(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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_bytes1_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_bytes32_t_array$_t_uint256_$dyn_memory_ptr__to_t_bytes1_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_bytes32_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_bytes1_to_t_bytes1_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value5, add(headStart, 160))\n\n mstore(add(headStart, 192), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value6, tail)\n\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 validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n 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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(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 function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__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_address_to_t_address_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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "4636": [ + { + "length": 32, + "start": 2933 + } + ], + "4638": [ + { + "length": 32, + "start": 2892 + } + ], + "4640": [ + { + "length": 32, + "start": 2806 + } + ], + "4642": [ + { + "length": 32, + "start": 4987 + } + ], + "4644": [ + { + "length": 32, + "start": 5020 + } + ], + "4647": [ + { + "length": 32, + "start": 3660 + } + ], + "4650": [ + { + "length": 32, + "start": 3719 + } + ] + }, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b41146102fe578063a9059cbb1461031c578063d505accf1461034c578063dd62ed3e14610368578063f2fde38b1461039857610121565b8063715018a61461026657806379cc6790146102705780637ecebe001461028c57806384b0196e146102bc5780638da5cb5b146102e057610121565b8063313ce567116100f4578063313ce567146101c25780633644e515146101e057806340c10f19146101fe57806342966c681461021a57806370a082311461023657610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103b4565b60405161013b9190611889565b60405180910390f35b61015e60048036038101906101599190611944565b610446565b60405161016b919061199f565b60405180910390f35b61017c610469565b60405161018991906119c9565b60405180910390f35b6101ac60048036038101906101a791906119e4565b610473565b6040516101b9919061199f565b60405180910390f35b6101ca6104a2565b6040516101d79190611a53565b60405180910390f35b6101e86104ab565b6040516101f59190611a87565b60405180910390f35b61021860048036038101906102139190611944565b6104ba565b005b610234600480360381019061022f9190611aa2565b6104d0565b005b610250600480360381019061024b9190611acf565b6104e4565b60405161025d91906119c9565b60405180910390f35b61026e61052c565b005b61028a60048036038101906102859190611944565b610540565b005b6102a660048036038101906102a19190611acf565b610560565b6040516102b391906119c9565b60405180910390f35b6102c4610572565b6040516102d79796959493929190611c04565b60405180910390f35b6102e861061c565b6040516102f59190611c88565b60405180910390f35b610306610646565b6040516103139190611889565b60405180910390f35b61033660048036038101906103319190611944565b6106d8565b604051610343919061199f565b60405180910390f35b61036660048036038101906103619190611cfb565b6106fb565b005b610382600480360381019061037d9190611d9d565b610843565b60405161038f91906119c9565b60405180910390f35b6103b260048036038101906103ad9190611acf565b6108ca565b005b6060600380546103c390611e0c565b80601f01602080910402602001604051908101604052809291908181526020018280546103ef90611e0c565b801561043c5780601f106104115761010080835404028352916020019161043c565b820191906000526020600020905b81548152906001019060200180831161041f57829003601f168201915b5050505050905090565b600080610451610950565b905061045e818585610958565b600191505092915050565b6000600254905090565b60008061047e610950565b905061048b85828561096a565b6104968585856109fe565b60019150509392505050565b60006012905090565b60006104b5610af2565b905090565b6104c2610ba9565b6104cc8282610c30565b5050565b6104e16104db610950565b82610cb2565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610534610ba9565b61053e6000610d34565b565b6105528261054c610950565b8361096a565b61055c8282610cb2565b5050565b600061056b82610dfa565b9050919050565b600060608060008060006060610586610e43565b61058e610e7e565b46306000801b600067ffffffffffffffff8111156105af576105ae611e3d565b5b6040519080825280602002602001820160405280156105dd5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461065590611e0c565b80601f016020809104026020016040519081016040528092919081815260200182805461068190611e0c565b80156106ce5780601f106106a3576101008083540402835291602001916106ce565b820191906000526020600020905b8154815290600101906020018083116106b157829003601f168201915b5050505050905090565b6000806106e3610950565b90506106f08185856109fe565b600191505092915050565b8342111561074057836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161073791906119c9565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861076f8c610eb9565b8960405160200161078596959493929190611e6c565b60405160208183030381529060405280519060200120905060006107a882610f10565b905060006107b882878787610f2a565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461082c57808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610823929190611ecd565b60405180910390fd5b6108378a8a8a610958565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108d2610ba9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109445760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161093b9190611c88565b60405180910390fd5b61094d81610d34565b50565b600033905090565b6109658383836001610f5a565b505050565b60006109768484610843565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109f857818110156109e8578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016109df93929190611ef6565b60405180910390fd5b6109f784848484036000610f5a565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a705760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a679190611c88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ae25760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ad99190611c88565b60405180910390fd5b610aed838383611131565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610b6e57507f000000000000000000000000000000000000000000000000000000000000000046145b15610b9b577f00000000000000000000000000000000000000000000000000000000000000009050610ba6565b610ba3611356565b90505b90565b610bb1610950565b73ffffffffffffffffffffffffffffffffffffffff16610bcf61061c565b73ffffffffffffffffffffffffffffffffffffffff1614610c2e57610bf2610950565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c259190611c88565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca25760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610c999190611c88565b60405180910390fd5b610cae60008383611131565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d245760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610d1b9190611c88565b60405180910390fd5b610d3082600083611131565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060610e7960067f00000000000000000000000000000000000000000000000000000000000000006113ec90919063ffffffff16565b905090565b6060610eb460077f00000000000000000000000000000000000000000000000000000000000000006113ec90919063ffffffff16565b905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b6000610f23610f1d610af2565b8361149c565b9050919050565b600080600080610f3c888888886114dd565b925092509250610f4c82826115d1565b829350505050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610fcc5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610fc39190611c88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361103e5760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016110359190611c88565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561112b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161112291906119c9565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111835780600260008282546111779190611f5c565b92505081905550611256565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561120f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161120693929190611ef6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361129f57806002600082825403925050819055506112ec565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134991906119c9565b60405180910390a3505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016113d1959493929190611f90565b60405160208183030381529060405280519060200120905090565b606060ff60001b83146114095761140283611735565b9050611496565b81805461141590611e0c565b80601f016020809104026020016040519081016040528092919081815260200182805461144190611e0c565b801561148e5780601f106114635761010080835404028352916020019161148e565b820191906000526020600020905b81548152906001019060200180831161147157829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561151d5760006003859250925092506115c7565b6000600188888888604051600081526020016040526040516115429493929190611fe3565b6020604051602081039080840390855afa158015611564573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b857600060016000801b935093509350506115c7565b8060008060001b935093509350505b9450945094915050565b600060038111156115e5576115e4612028565b5b8260038111156115f8576115f7612028565b5b0315611731576001600381111561161257611611612028565b5b82600381111561162557611624612028565b5b0361165c576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156116705761166f612028565b5b82600381111561168357611682612028565b5b036116c8578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016116bf91906119c9565b60405180910390fd5b6003808111156116db576116da612028565b5b8260038111156116ee576116ed612028565b5b0361173057806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016117279190611a87565b60405180910390fd5b5b5050565b60606000611742836117a9565b90506000602067ffffffffffffffff81111561176157611760611e3d565b5b6040519080825280601f01601f1916602001820160405280156117935781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60008060ff8360001c169050601f8111156117f0576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611833578082015181840152602081019050611818565b60008484015250505050565b6000601f19601f8301169050919050565b600061185b826117f9565b6118658185611804565b9350611875818560208601611815565b61187e8161183f565b840191505092915050565b600060208201905081810360008301526118a38184611850565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118db826118b0565b9050919050565b6118eb816118d0565b81146118f657600080fd5b50565b600081359050611908816118e2565b92915050565b6000819050919050565b6119218161190e565b811461192c57600080fd5b50565b60008135905061193e81611918565b92915050565b6000806040838503121561195b5761195a6118ab565b5b6000611969858286016118f9565b925050602061197a8582860161192f565b9150509250929050565b60008115159050919050565b61199981611984565b82525050565b60006020820190506119b46000830184611990565b92915050565b6119c38161190e565b82525050565b60006020820190506119de60008301846119ba565b92915050565b6000806000606084860312156119fd576119fc6118ab565b5b6000611a0b868287016118f9565b9350506020611a1c868287016118f9565b9250506040611a2d8682870161192f565b9150509250925092565b600060ff82169050919050565b611a4d81611a37565b82525050565b6000602082019050611a686000830184611a44565b92915050565b6000819050919050565b611a8181611a6e565b82525050565b6000602082019050611a9c6000830184611a78565b92915050565b600060208284031215611ab857611ab76118ab565b5b6000611ac68482850161192f565b91505092915050565b600060208284031215611ae557611ae46118ab565b5b6000611af3848285016118f9565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b3181611afc565b82525050565b611b40816118d0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611b7b8161190e565b82525050565b6000611b8d8383611b72565b60208301905092915050565b6000602082019050919050565b6000611bb182611b46565b611bbb8185611b51565b9350611bc683611b62565b8060005b83811015611bf7578151611bde8882611b81565b9750611be983611b99565b925050600181019050611bca565b5085935050505092915050565b600060e082019050611c19600083018a611b28565b8181036020830152611c2b8189611850565b90508181036040830152611c3f8188611850565b9050611c4e60608301876119ba565b611c5b6080830186611b37565b611c6860a0830185611a78565b81810360c0830152611c7a8184611ba6565b905098975050505050505050565b6000602082019050611c9d6000830184611b37565b92915050565b611cac81611a37565b8114611cb757600080fd5b50565b600081359050611cc981611ca3565b92915050565b611cd881611a6e565b8114611ce357600080fd5b50565b600081359050611cf581611ccf565b92915050565b600080600080600080600060e0888a031215611d1a57611d196118ab565b5b6000611d288a828b016118f9565b9750506020611d398a828b016118f9565b9650506040611d4a8a828b0161192f565b9550506060611d5b8a828b0161192f565b9450506080611d6c8a828b01611cba565b93505060a0611d7d8a828b01611ce6565b92505060c0611d8e8a828b01611ce6565b91505092959891949750929550565b60008060408385031215611db457611db36118ab565b5b6000611dc2858286016118f9565b9250506020611dd3858286016118f9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e2457607f821691505b602082108103611e3757611e36611ddd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c082019050611e816000830189611a78565b611e8e6020830188611b37565b611e9b6040830187611b37565b611ea860608301866119ba565b611eb560808301856119ba565b611ec260a08301846119ba565b979650505050505050565b6000604082019050611ee26000830185611b37565b611eef6020830184611b37565b9392505050565b6000606082019050611f0b6000830186611b37565b611f1860208301856119ba565b611f2560408301846119ba565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f678261190e565b9150611f728361190e565b9250828201905080821115611f8a57611f89611f2d565b5b92915050565b600060a082019050611fa56000830188611a78565b611fb26020830187611a78565b611fbf6040830186611a78565b611fcc60608301856119ba565b611fd96080830184611b37565b9695505050505050565b6000608082019050611ff86000830187611a78565b6120056020830186611a44565b6120126040830185611a78565b61201f6060830184611a78565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220df404fca697408bf247403366a6cc75cce9a504249977a97cd270fcde53901e664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x121 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x31C JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x34C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x368 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x398 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x266 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2E0 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x21A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x236 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x174 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x192 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12E PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13B SWAP2 SWAP1 PUSH2 0x1889 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x15E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x159 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x446 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16B SWAP2 SWAP1 PUSH2 0x199F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17C PUSH2 0x469 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x189 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x19E4 JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0x199F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x4A2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x1A53 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E8 PUSH2 0x4AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x1A87 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x213 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x4BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x234 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22F SWAP2 SWAP1 PUSH2 0x1AA2 JUMP JUMPDEST PUSH2 0x4D0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x250 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x1ACF JUMP JUMPDEST PUSH2 0x4E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25D SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26E PUSH2 0x52C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x28A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x285 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x540 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A1 SWAP2 SWAP1 PUSH2 0x1ACF JUMP JUMPDEST PUSH2 0x560 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B3 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C4 PUSH2 0x572 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D7 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E8 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2F5 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x306 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x313 SWAP2 SWAP1 PUSH2 0x1889 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x336 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x331 SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x199F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x361 SWAP2 SWAP1 PUSH2 0x1CFB JUMP JUMPDEST PUSH2 0x6FB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x382 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x1D9D JUMP JUMPDEST PUSH2 0x843 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x38F SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3AD SWAP2 SWAP1 PUSH2 0x1ACF JUMP JUMPDEST PUSH2 0x8CA JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x3C3 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3EF SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x43C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x411 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x43C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x41F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x451 PUSH2 0x950 JUMP JUMPDEST SWAP1 POP PUSH2 0x45E DUP2 DUP6 DUP6 PUSH2 0x958 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x47E PUSH2 0x950 JUMP JUMPDEST SWAP1 POP PUSH2 0x48B DUP6 DUP3 DUP6 PUSH2 0x96A JUMP JUMPDEST PUSH2 0x496 DUP6 DUP6 DUP6 PUSH2 0x9FE JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 PUSH2 0xAF2 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4C2 PUSH2 0xBA9 JUMP JUMPDEST PUSH2 0x4CC DUP3 DUP3 PUSH2 0xC30 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x4E1 PUSH2 0x4DB PUSH2 0x950 JUMP JUMPDEST DUP3 PUSH2 0xCB2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x534 PUSH2 0xBA9 JUMP JUMPDEST PUSH2 0x53E PUSH1 0x0 PUSH2 0xD34 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x552 DUP3 PUSH2 0x54C PUSH2 0x950 JUMP JUMPDEST DUP4 PUSH2 0x96A JUMP JUMPDEST PUSH2 0x55C DUP3 DUP3 PUSH2 0xCB2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x56B DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 PUSH2 0x586 PUSH2 0xE43 JUMP JUMPDEST PUSH2 0x58E PUSH2 0xE7E JUMP JUMPDEST CHAINID ADDRESS PUSH1 0x0 DUP1 SHL PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x1E3D JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x5DD JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH32 0xF00000000000000000000000000000000000000000000000000000000000000 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP7 POP SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x655 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x681 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6CE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6A3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6CE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6B1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E3 PUSH2 0x950 JUMP JUMPDEST SWAP1 POP PUSH2 0x6F0 DUP2 DUP6 DUP6 PUSH2 0x9FE JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x740 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH32 0x6279130200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x737 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP9 DUP9 DUP9 PUSH2 0x76F DUP13 PUSH2 0xEB9 JUMP JUMPDEST DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x785 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1E6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x0 PUSH2 0x7A8 DUP3 PUSH2 0xF10 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x7B8 DUP3 DUP8 DUP8 DUP8 PUSH2 0xF2A JUMP JUMPDEST SWAP1 POP DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x82C JUMPI DUP1 DUP11 PUSH1 0x40 MLOAD PUSH32 0x4B800E4600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x823 SWAP3 SWAP2 SWAP1 PUSH2 0x1ECD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x837 DUP11 DUP11 DUP11 PUSH2 0x958 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8D2 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x944 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x93B SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x94D DUP2 PUSH2 0xD34 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x965 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xF5A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x976 DUP5 DUP5 PUSH2 0x843 JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x9F8 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x9E8 JUMPI DUP3 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xFB8F41B200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9DF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1EF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9F7 DUP5 DUP5 DUP5 DUP5 SUB PUSH1 0x0 PUSH2 0xF5A JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA70 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA67 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xAE2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAD9 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAED DUP4 DUP4 DUP4 PUSH2 0x1131 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0xB6E JUMPI POP PUSH32 0x0 CHAINID EQ JUMPDEST ISZERO PUSH2 0xB9B JUMPI PUSH32 0x0 SWAP1 POP PUSH2 0xBA6 JUMP JUMPDEST PUSH2 0xBA3 PUSH2 0x1356 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xBB1 PUSH2 0x950 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xBCF PUSH2 0x61C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC2E JUMPI PUSH2 0xBF2 PUSH2 0x950 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC25 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xCA2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC99 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCAE PUSH1 0x0 DUP4 DUP4 PUSH2 0x1131 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xD24 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD1B SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD30 DUP3 PUSH1 0x0 DUP4 PUSH2 0x1131 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xE79 PUSH1 0x6 PUSH32 0x0 PUSH2 0x13EC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xEB4 PUSH1 0x7 PUSH32 0x0 PUSH2 0x13EC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF23 PUSH2 0xF1D PUSH2 0xAF2 JUMP JUMPDEST DUP4 PUSH2 0x149C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0xF3C DUP9 DUP9 DUP9 DUP9 PUSH2 0x14DD JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xF4C DUP3 DUP3 PUSH2 0x15D1 JUMP JUMPDEST DUP3 SWAP4 POP POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xFCC JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xE602DF0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFC3 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x103E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x94280D6200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1035 SWAP2 SWAP1 PUSH2 0x1C88 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 ISZERO PUSH2 0x112B JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1122 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1183 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1177 SWAP2 SWAP1 PUSH2 0x1F5C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x1256 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x120F JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1206 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1EF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x129F JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x12EC JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP5 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 ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x1349 SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH32 0x0 PUSH32 0x0 CHAINID ADDRESS PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x13D1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x0 SHL DUP4 EQ PUSH2 0x1409 JUMPI PUSH2 0x1402 DUP4 PUSH2 0x1735 JUMP JUMPDEST SWAP1 POP PUSH2 0x1496 JUMP JUMPDEST DUP2 DUP1 SLOAD PUSH2 0x1415 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1441 SWAP1 PUSH2 0x1E0C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x148E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1463 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x148E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1471 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP4 PUSH1 0x2 DUP3 ADD MSTORE DUP3 PUSH1 0x22 DUP3 ADD MSTORE PUSH1 0x42 DUP2 KECCAK256 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0x151D JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0x15C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x1542 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1FE3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1564 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x15B8 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0x15C7 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x15E5 JUMPI PUSH2 0x15E4 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x15F8 JUMPI PUSH2 0x15F7 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB ISZERO PUSH2 0x1731 JUMPI PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1612 JUMPI PUSH2 0x1611 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1625 JUMPI PUSH2 0x1624 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB PUSH2 0x165C JUMPI PUSH1 0x40 MLOAD PUSH32 0xF645EEDF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1683 JUMPI PUSH2 0x1682 PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB PUSH2 0x16C8 JUMPI DUP1 PUSH1 0x0 SHR PUSH1 0x40 MLOAD PUSH32 0xFCE698F700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16BF SWAP2 SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x16DB JUMPI PUSH2 0x16DA PUSH2 0x2028 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x16EE JUMPI PUSH2 0x16ED PUSH2 0x2028 JUMP JUMPDEST JUMPDEST SUB PUSH2 0x1730 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD78BCE0C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1727 SWAP2 SWAP1 PUSH2 0x1A87 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1742 DUP4 PUSH2 0x17A9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1761 JUMPI PUSH2 0x1760 PUSH2 0x1E3D JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1793 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xFF DUP4 PUSH1 0x0 SHR AND SWAP1 POP PUSH1 0x1F DUP2 GT ISZERO PUSH2 0x17F0 JUMPI PUSH1 0x40 MLOAD PUSH32 0xB3512B0C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1833 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1818 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x185B DUP3 PUSH2 0x17F9 JUMP JUMPDEST PUSH2 0x1865 DUP2 DUP6 PUSH2 0x1804 JUMP JUMPDEST SWAP4 POP PUSH2 0x1875 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1815 JUMP JUMPDEST PUSH2 0x187E DUP2 PUSH2 0x183F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18A3 DUP2 DUP5 PUSH2 0x1850 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18DB DUP3 PUSH2 0x18B0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18EB DUP2 PUSH2 0x18D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x18F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1908 DUP2 PUSH2 0x18E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1921 DUP2 PUSH2 0x190E JUMP JUMPDEST DUP2 EQ PUSH2 0x192C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0x1918 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195B JUMPI PUSH2 0x195A PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1969 DUP6 DUP3 DUP7 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x197A DUP6 DUP3 DUP7 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1999 DUP2 PUSH2 0x1984 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19B4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1990 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x19C3 DUP2 PUSH2 0x190E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19DE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x19BA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x19FD JUMPI PUSH2 0x19FC PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A0B DUP7 DUP3 DUP8 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1A1C DUP7 DUP3 DUP8 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1A2D DUP7 DUP3 DUP8 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A4D DUP2 PUSH2 0x1A37 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1A68 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A44 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A81 DUP2 PUSH2 0x1A6E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1A9C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AB8 JUMPI PUSH2 0x1AB7 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AC6 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AE5 JUMPI PUSH2 0x1AE4 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF3 DUP5 DUP3 DUP6 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B31 DUP2 PUSH2 0x1AFC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1B40 DUP2 PUSH2 0x18D0 JUMP JUMPDEST DUP3 MSTORE 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 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B7B DUP2 PUSH2 0x190E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B8D DUP4 DUP4 PUSH2 0x1B72 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BB1 DUP3 PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x1BBB DUP2 DUP6 PUSH2 0x1B51 JUMP JUMPDEST SWAP4 POP PUSH2 0x1BC6 DUP4 PUSH2 0x1B62 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1BF7 JUMPI DUP2 MLOAD PUSH2 0x1BDE DUP9 DUP3 PUSH2 0x1B81 JUMP JUMPDEST SWAP8 POP PUSH2 0x1BE9 DUP4 PUSH2 0x1B99 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1BCA JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x1C19 PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x1B28 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1C2B DUP2 DUP10 PUSH2 0x1850 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1C3F DUP2 DUP9 PUSH2 0x1850 JUMP JUMPDEST SWAP1 POP PUSH2 0x1C4E PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1C5B PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1C68 PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x1A78 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH2 0x1C7A DUP2 DUP5 PUSH2 0x1BA6 JUMP JUMPDEST SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1C9D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1B37 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1CAC DUP2 PUSH2 0x1A37 JUMP JUMPDEST DUP2 EQ PUSH2 0x1CB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CC9 DUP2 PUSH2 0x1CA3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1CD8 DUP2 PUSH2 0x1A6E JUMP JUMPDEST DUP2 EQ PUSH2 0x1CE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CF5 DUP2 PUSH2 0x1CCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1D1A JUMPI PUSH2 0x1D19 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D28 DUP11 DUP3 DUP12 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x1D39 DUP11 DUP3 DUP12 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x1D4A DUP11 DUP3 DUP12 ADD PUSH2 0x192F JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH2 0x1D5B DUP11 DUP3 DUP12 ADD PUSH2 0x192F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH2 0x1D6C DUP11 DUP3 DUP12 ADD PUSH2 0x1CBA JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH2 0x1D7D DUP11 DUP3 DUP12 ADD PUSH2 0x1CE6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH2 0x1D8E DUP11 DUP3 DUP12 ADD PUSH2 0x1CE6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1DB4 JUMPI PUSH2 0x1DB3 PUSH2 0x18AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DC2 DUP6 DUP3 DUP7 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1DD3 DUP6 DUP3 DUP7 ADD PUSH2 0x18F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1E24 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1E37 JUMPI PUSH2 0x1E36 PUSH2 0x1DDD JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x1E81 PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1E8E PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1E9B PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1EA8 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1EB5 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1EC2 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x19BA JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1EE2 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1EEF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1B37 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1F0B PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1B37 JUMP JUMPDEST PUSH2 0x1F18 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1F25 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x19BA JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1F67 DUP3 PUSH2 0x190E JUMP JUMPDEST SWAP2 POP PUSH2 0x1F72 DUP4 PUSH2 0x190E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1F8A JUMPI PUSH2 0x1F89 PUSH2 0x1F2D JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1FA5 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1FB2 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1FBF PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x1FCC PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x19BA JUMP JUMPDEST PUSH2 0x1FD9 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1B37 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1FF8 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x2005 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1A44 JUMP JUMPDEST PUSH2 0x2012 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1A78 JUMP JUMPDEST PUSH2 0x201F PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1A78 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF BLOCKHASH 0x4F 0xCA PUSH10 0x7408BF247403366A6CC7 TLOAD 0xCE SWAP11 POP TIMESTAMP BLOBHASH SWAP8 PUSH27 0x97CD270FCDE53901E664736F6C6343000818003300000000000000 ", + "sourceMap": "316:303:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1779:89:8;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3998:186;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2849:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4776:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2707:82;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2659:112:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;524:93:37;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;618:87:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3004:116:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;1021:158:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2409:143:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5144:557:24;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1981:93:8;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3315:178;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1683:672:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3551:140:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1779:89:8;1824:13;1856:5;1849:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1779:89;:::o;3998:186::-;4071:4;4087:13;4103:12;:10;:12::i;:::-;4087:28;;4125:31;4134:5;4141:7;4150:5;4125:8;:31::i;:::-;4173:4;4166:11;;;3998:186;;;;:::o;2849:97::-;2901:7;2927:12;;2920:19;;2849:97;:::o;4776:244::-;4863:4;4879:15;4897:12;:10;:12::i;:::-;4879:30;;4919:37;4935:4;4941:7;4950:5;4919:15;:37::i;:::-;4966:26;4976:4;4982:2;4986:5;4966:9;:26::i;:::-;5009:4;5002:11;;;4776:244;;;;;:::o;2707:82::-;2756:5;2780:2;2773:9;;2707:82;:::o;2659:112:11:-;2718:7;2744:20;:18;:20::i;:::-;2737:27;;2659:112;:::o;524:93:37:-;1531:13:0;:11;:13::i;:::-;593:17:37::1;599:2;603:6;593:5;:17::i;:::-;524:93:::0;;:::o;618:87:10:-;672:26;678:12;:10;:12::i;:::-;692:5;672;:26::i;:::-;618:87;:::o;3004:116:8:-;3069:7;3095:9;:18;3105:7;3095:18;;;;;;;;;;;;;;;;3088:25;;3004:116;;;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1021:158:10:-;1096:45;1112:7;1121:12;:10;:12::i;:::-;1135:5;1096:15;:45::i;:::-;1151:21;1157:7;1166:5;1151;:21::i;:::-;1021:158;;:::o;2409:143:11:-;2500:7;2526:19;2539:5;2526:12;:19::i;:::-;2519:26;;2409:143;;;:::o;5144:557:24:-;5242:13;5269:18;5301:21;5336:15;5365:25;5404:12;5430:27;5533:13;:11;:13::i;:::-;5560:16;:14;:16::i;:::-;5590:13;5625:4;5652:1;5644:10;;5682:1;5668:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5482:212;;;;;;;;;;;;;;;;;;;;;5144:557;;;;;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;1981:93:8:-;2028:13;2060:7;2053:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:93;:::o;3315:178::-;3384:4;3400:13;3416:12;:10;:12::i;:::-;3400:28;;3438:27;3448:5;3455:2;3459:5;3438:9;:27::i;:::-;3482:4;3475:11;;;3315:178;;;;:::o;1683:672:11:-;1904:8;1886:15;:26;1882:97;;;1959:8;1935:33;;;;;;;;;;;:::i;:::-;;;;;;;;1882:97;1989:18;1024:95;2048:5;2055:7;2064:5;2071:16;2081:5;2071:9;:16::i;:::-;2089:8;2020:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2010:89;;;;;;1989:110;;2110:12;2125:28;2142:10;2125:16;:28::i;:::-;2110:43;;2164:14;2181:28;2195:4;2201:1;2204;2207;2181:13;:28::i;:::-;2164:45;;2233:5;2223:15;;:6;:15;;;2219:88;;2282:6;2290:5;2261:35;;;;;;;;;;;;:::i;:::-;;;;;;;;2219:88;2317:31;2326:5;2333:7;2342:5;2317:8;:31::i;:::-;1872:483;;;1683:672;;;;;;;:::o;3551:140:8:-;3631:7;3657:11;:18;3669:5;3657:18;;;;;;;;;;;;;;;:27;3676:7;3657:27;;;;;;;;;;;;;;;;3650:34;;3551:140;;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;656:96:16:-;709:7;735:10;728:17;;656:96;:::o;8726:128:8:-;8810:37;8819:5;8826:7;8835:5;8842:4;8810:8;:37::i;:::-;8726:128;;;:::o;10415:477::-;10514:24;10541:25;10551:5;10558:7;10541:9;:25::i;:::-;10514:52;;10600:17;10580:16;:37;10576:310;;10656:5;10637:16;:24;10633:130;;;10715:7;10724:16;10742:5;10688:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;10633:130;10804:57;10813:5;10820:7;10848:5;10829:16;:24;10855:5;10804:8;:57::i;:::-;10576:310;10504:388;10415:477;;;:::o;5393:300::-;5492:1;5476:18;;:4;:18;;;5472:86;;5544:1;5517:30;;;;;;;;;;;:::i;:::-;;;;;;;;5472:86;5585:1;5571:16;;:2;:16;;;5567:86;;5639:1;5610:32;;;;;;;;;;;:::i;:::-;;;;;;;;5567:86;5662:24;5670:4;5676:2;5680:5;5662:7;:24::i;:::-;5393:300;;;:::o;3845:262:24:-;3898:7;3938:11;3921:28;;3929:4;3921:28;;;:63;;;;;3970:14;3953:13;:31;3921:63;3917:184;;;4007:22;4000:29;;;;3917:184;4067:23;:21;:23::i;:::-;4060:30;;3845:262;;:::o;1796:162:0:-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;7458:208:8:-;7547:1;7528:21;;:7;:21;;;7524:91;;7601:1;7572:32;;;;;;;;;;;:::i;:::-;;;;;;;;7524:91;7624:35;7640:1;7644:7;7653:5;7624:7;:35::i;:::-;7458:208;;:::o;7984:206::-;8073:1;8054:21;;:7;:21;;;8050:89;;8125:1;8098:30;;;;;;;;;;;:::i;:::-;;;;;;;;8050:89;8148:35;8156:7;8173:1;8177:5;8148:7;:35::i;:::-;7984:206;;:::o;2912:187:0:-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;538:107:17:-;598:7;624;:14;632:5;624:14;;;;;;;;;;;;;;;;617:21;;538:107;;;:::o;6021:126:24:-;6067:13;6099:41;6126:13;6099:5;:26;;:41;;;;:::i;:::-;6092:48;;6021:126;:::o;6473:135::-;6522:13;6554:47;6584:16;6554:8;:29;;:47;;;;:::i;:::-;6547:54;;6473:135;:::o;759:395:17:-;819:7;1121;:14;1129:5;1121:14;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;1114:23;;759:395;;;:::o;4917:176:24:-;4994:7;5020:66;5053:20;:18;:20::i;:::-;5075:10;5020:32;:66::i;:::-;5013:73;;4917:176;;;:::o;6887:260:23:-;6972:7;6992:17;7011:18;7031:16;7051:25;7062:4;7068:1;7071;7074;7051:10;:25::i;:::-;6991:85;;;;;;7086:28;7098:5;7105:8;7086:11;:28::i;:::-;7131:9;7124:16;;;;;6887:260;;;;;;:::o;9701:432:8:-;9830:1;9813:19;;:5;:19;;;9809:89;;9884:1;9855:32;;;;;;;;;;;:::i;:::-;;;;;;;;9809:89;9930:1;9911:21;;:7;:21;;;9907:90;;9983:1;9955:31;;;;;;;;;;;:::i;:::-;;;;;;;;9907:90;10036:5;10006:11;:18;10018:5;10006:18;;;;;;;;;;;;;;;:27;10025:7;10006:27;;;;;;;;;;;;;;;:35;;;;10055:9;10051:76;;;10101:7;10085:31;;10094:5;10085:31;;;10110:5;10085:31;;;;;;:::i;:::-;;;;;;;;10051:76;9701:432;;;;:::o;6008:1107::-;6113:1;6097:18;;:4;:18;;;6093:540;;6249:5;6233:12;;:21;;;;;;;:::i;:::-;;;;;;;;6093:540;;;6285:19;6307:9;:15;6317:4;6307:15;;;;;;;;;;;;;;;;6285:37;;6354:5;6340:11;:19;6336:115;;;6411:4;6417:11;6430:5;6386:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;6336:115;6603:5;6589:11;:19;6571:9;:15;6581:4;6571:15;;;;;;;;;;;;;;;:37;;;;6271:362;6093:540;6661:1;6647:16;;:2;:16;;;6643:425;;6826:5;6810:12;;:21;;;;;;;;;;;6643:425;;;7038:5;7021:9;:13;7031:2;7021:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;6643:425;7098:2;7083:25;;7092:4;7083:25;;;7102:5;7083:25;;;;;;:::i;:::-;;;;;;;;6008:1107;;;:::o;4113:179:24:-;4168:7;2079:95;4226:11;4239:14;4255:13;4278:4;4204:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;:::o;3358:267:19:-;3452:13;1390:66;3510:17;;3500:5;3481:46;3477:142;;3550:15;3559:5;3550:8;:15::i;:::-;3543:22;;;;3477:142;3603:5;3596:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:267;;;;;:::o;3326:374:27:-;3419:14;3501:4;3495:11;3531:10;3526:3;3519:23;3578:15;3571:4;3566:3;3562:14;3555:39;3630:10;3623:4;3618:3;3614:14;3607:34;3679:4;3674:3;3664:20;3654:30;;3470:224;3326:374;;;;:::o;5203:1551:23:-;5329:17;5348:16;5366:14;6283:66;6278:1;6270:10;;:79;6266:164;;;6381:1;6385:30;6417:1;6365:54;;;;;;;;6266:164;6524:14;6541:24;6551:4;6557:1;6560;6563;6541:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6524:41;;6597:1;6579:20;;:6;:20;;;6575:113;;6631:1;6635:29;6674:1;6666:10;;6615:62;;;;;;;;;6575:113;6706:6;6714:20;6744:1;6736:10;;6698:49;;;;;;;5203:1551;;;;;;;;;:::o;7280:532::-;7375:20;7366:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;7362:444;7411:7;7362:444;7471:29;7462:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;7458:348;;7523:23;;;;;;;;;;;;;;7458:348;7576:35;7567:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;7563:243;;7670:8;7662:17;;7634:46;;;;;;;;;;;:::i;:::-;;;;;;;;7563:243;7710:30;7701:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;7697:109;;7786:8;7763:32;;;;;;;;;;;:::i;:::-;;;;;;;;7697:109;7280:532;;;:::o;2078:378:19:-;2137:13;2162:11;2176:16;2187:4;2176:10;:16::i;:::-;2162:30;;2280:17;2311:2;2300:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2280:34;;2375:3;2370;2363:16;2415:4;2408;2403:3;2399:14;2392:28;2446:3;2439:10;;;;2078:378;;;:::o;2528:245::-;2589:7;2608:14;2661:4;2652;2625:33;;:40;2608:57;;2688:2;2679:6;:11;2675:69;;;2713:20;;;;;;;;;;;;;;2675:69;2760:6;2753:13;;;2528:245;;;:::o;7:99:43:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:77::-;4890:7;4919:5;4908:16;;4853:77;;;:::o;4936:118::-;5023:24;5041:5;5023:24;:::i;:::-;5018:3;5011:37;4936:118;;:::o;5060:222::-;5153:4;5191:2;5180:9;5176:18;5168:26;;5204:71;5272:1;5261:9;5257:17;5248:6;5204:71;:::i;:::-;5060:222;;;;:::o;5288:329::-;5347:6;5396:2;5384:9;5375:7;5371:23;5367:32;5364:119;;;5402:79;;:::i;:::-;5364:119;5522:1;5547:53;5592:7;5583:6;5572:9;5568:22;5547:53;:::i;:::-;5537:63;;5493:117;5288:329;;;;:::o;5623:::-;5682:6;5731:2;5719:9;5710:7;5706:23;5702:32;5699:119;;;5737:79;;:::i;:::-;5699:119;5857:1;5882:53;5927:7;5918:6;5907:9;5903:22;5882:53;:::i;:::-;5872:63;;5828:117;5623:329;;;;:::o;5958:149::-;5994:7;6034:66;6027:5;6023:78;6012:89;;5958:149;;;:::o;6113:115::-;6198:23;6215:5;6198:23;:::i;:::-;6193:3;6186:36;6113:115;;:::o;6234:118::-;6321:24;6339:5;6321:24;:::i;:::-;6316:3;6309:37;6234:118;;:::o;6358:114::-;6425:6;6459:5;6453:12;6443:22;;6358:114;;;:::o;6478:184::-;6577:11;6611:6;6606:3;6599:19;6651:4;6646:3;6642:14;6627:29;;6478:184;;;;:::o;6668:132::-;6735:4;6758:3;6750:11;;6788:4;6783:3;6779:14;6771:22;;6668:132;;;:::o;6806:108::-;6883:24;6901:5;6883:24;:::i;:::-;6878:3;6871:37;6806:108;;:::o;6920:179::-;6989:10;7010:46;7052:3;7044:6;7010:46;:::i;:::-;7088:4;7083:3;7079:14;7065:28;;6920:179;;;;:::o;7105:113::-;7175:4;7207;7202:3;7198:14;7190:22;;7105:113;;;:::o;7254:732::-;7373:3;7402:54;7450:5;7402:54;:::i;:::-;7472:86;7551:6;7546:3;7472:86;:::i;:::-;7465:93;;7582:56;7632:5;7582:56;:::i;:::-;7661:7;7692:1;7677:284;7702:6;7699:1;7696:13;7677:284;;;7778:6;7772:13;7805:63;7864:3;7849:13;7805:63;:::i;:::-;7798:70;;7891:60;7944:6;7891:60;:::i;:::-;7881:70;;7737:224;7724:1;7721;7717:9;7712:14;;7677:284;;;7681:14;7977:3;7970:10;;7378:608;;;7254:732;;;;:::o;7992:1215::-;8341:4;8379:3;8368:9;8364:19;8356:27;;8393:69;8459:1;8448:9;8444:17;8435:6;8393:69;:::i;:::-;8509:9;8503:4;8499:20;8494:2;8483:9;8479:18;8472:48;8537:78;8610:4;8601:6;8537:78;:::i;:::-;8529:86;;8662:9;8656:4;8652:20;8647:2;8636:9;8632:18;8625:48;8690:78;8763:4;8754:6;8690:78;:::i;:::-;8682:86;;8778:72;8846:2;8835:9;8831:18;8822:6;8778:72;:::i;:::-;8860:73;8928:3;8917:9;8913:19;8904:6;8860:73;:::i;:::-;8943;9011:3;9000:9;8996:19;8987:6;8943:73;:::i;:::-;9064:9;9058:4;9054:20;9048:3;9037:9;9033:19;9026:49;9092:108;9195:4;9186:6;9092:108;:::i;:::-;9084:116;;7992:1215;;;;;;;;;;:::o;9213:222::-;9306:4;9344:2;9333:9;9329:18;9321:26;;9357:71;9425:1;9414:9;9410:17;9401:6;9357:71;:::i;:::-;9213:222;;;;:::o;9441:118::-;9512:22;9528:5;9512:22;:::i;:::-;9505:5;9502:33;9492:61;;9549:1;9546;9539:12;9492:61;9441:118;:::o;9565:135::-;9609:5;9647:6;9634:20;9625:29;;9663:31;9688:5;9663:31;:::i;:::-;9565:135;;;;:::o;9706:122::-;9779:24;9797:5;9779:24;:::i;:::-;9772:5;9769:35;9759:63;;9818:1;9815;9808:12;9759:63;9706:122;:::o;9834:139::-;9880:5;9918:6;9905:20;9896:29;;9934:33;9961:5;9934:33;:::i;:::-;9834:139;;;;:::o;9979:1199::-;10090:6;10098;10106;10114;10122;10130;10138;10187:3;10175:9;10166:7;10162:23;10158:33;10155:120;;;10194:79;;:::i;:::-;10155:120;10314:1;10339:53;10384:7;10375:6;10364:9;10360:22;10339:53;:::i;:::-;10329:63;;10285:117;10441:2;10467:53;10512:7;10503:6;10492:9;10488:22;10467:53;:::i;:::-;10457:63;;10412:118;10569:2;10595:53;10640:7;10631:6;10620:9;10616:22;10595:53;:::i;:::-;10585:63;;10540:118;10697:2;10723:53;10768:7;10759:6;10748:9;10744:22;10723:53;:::i;:::-;10713:63;;10668:118;10825:3;10852:51;10895:7;10886:6;10875:9;10871:22;10852:51;:::i;:::-;10842:61;;10796:117;10952:3;10979:53;11024:7;11015:6;11004:9;11000:22;10979:53;:::i;:::-;10969:63;;10923:119;11081:3;11108:53;11153:7;11144:6;11133:9;11129:22;11108:53;:::i;:::-;11098:63;;11052:119;9979:1199;;;;;;;;;;:::o;11184:474::-;11252:6;11260;11309:2;11297:9;11288:7;11284:23;11280:32;11277:119;;;11315:79;;:::i;:::-;11277:119;11435:1;11460:53;11505:7;11496:6;11485:9;11481:22;11460:53;:::i;:::-;11450:63;;11406:117;11562:2;11588:53;11633:7;11624:6;11613:9;11609:22;11588:53;:::i;:::-;11578:63;;11533:118;11184:474;;;;;:::o;11664:180::-;11712:77;11709:1;11702:88;11809:4;11806:1;11799:15;11833:4;11830:1;11823:15;11850:320;11894:6;11931:1;11925:4;11921:12;11911:22;;11978:1;11972:4;11968:12;11999:18;11989:81;;12055:4;12047:6;12043:17;12033:27;;11989:81;12117:2;12109:6;12106:14;12086:18;12083:38;12080:84;;12136:18;;:::i;:::-;12080:84;11901:269;11850:320;;;:::o;12176:180::-;12224:77;12221:1;12214:88;12321:4;12318:1;12311:15;12345:4;12342:1;12335:15;12362:775;12595:4;12633:3;12622:9;12618:19;12610:27;;12647:71;12715:1;12704:9;12700:17;12691:6;12647:71;:::i;:::-;12728:72;12796:2;12785:9;12781:18;12772:6;12728:72;:::i;:::-;12810;12878:2;12867:9;12863:18;12854:6;12810:72;:::i;:::-;12892;12960:2;12949:9;12945:18;12936:6;12892:72;:::i;:::-;12974:73;13042:3;13031:9;13027:19;13018:6;12974:73;:::i;:::-;13057;13125:3;13114:9;13110:19;13101:6;13057:73;:::i;:::-;12362:775;;;;;;;;;:::o;13143:332::-;13264:4;13302:2;13291:9;13287:18;13279:26;;13315:71;13383:1;13372:9;13368:17;13359:6;13315:71;:::i;:::-;13396:72;13464:2;13453:9;13449:18;13440:6;13396:72;:::i;:::-;13143:332;;;;;:::o;13481:442::-;13630:4;13668:2;13657:9;13653:18;13645:26;;13681:71;13749:1;13738:9;13734:17;13725:6;13681:71;:::i;:::-;13762:72;13830:2;13819:9;13815:18;13806:6;13762:72;:::i;:::-;13844;13912:2;13901:9;13897:18;13888:6;13844:72;:::i;:::-;13481:442;;;;;;:::o;13929:180::-;13977:77;13974:1;13967:88;14074:4;14071:1;14064:15;14098:4;14095:1;14088:15;14115:191;14155:3;14174:20;14192:1;14174:20;:::i;:::-;14169:25;;14208:20;14226:1;14208:20;:::i;:::-;14203:25;;14251:1;14248;14244:9;14237:16;;14272:3;14269:1;14266:10;14263:36;;;14279:18;;:::i;:::-;14263:36;14115:191;;;;:::o;14312:664::-;14517:4;14555:3;14544:9;14540:19;14532:27;;14569:71;14637:1;14626:9;14622:17;14613:6;14569:71;:::i;:::-;14650:72;14718:2;14707:9;14703:18;14694:6;14650:72;:::i;:::-;14732;14800:2;14789:9;14785:18;14776:6;14732:72;:::i;:::-;14814;14882:2;14871:9;14867:18;14858:6;14814:72;:::i;:::-;14896:73;14964:3;14953:9;14949:19;14940:6;14896:73;:::i;:::-;14312:664;;;;;;;;:::o;14982:545::-;15155:4;15193:3;15182:9;15178:19;15170:27;;15207:71;15275:1;15264:9;15260:17;15251:6;15207:71;:::i;:::-;15288:68;15352:2;15341:9;15337:18;15328:6;15288:68;:::i;:::-;15366:72;15434:2;15423:9;15419:18;15410:6;15366:72;:::i;:::-;15448;15516:2;15505:9;15501:18;15492:6;15448:72;:::i;:::-;14982:545;;;;;;;:::o;15533:180::-;15581:77;15578:1;15571:88;15678:4;15675:1;15668:15;15702:4;15699:1;15692:15" + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(uint256)": "42966c68", + "burnFrom(address,uint256)": "79cc6790", + "decimals()": "313ce567", + "eip712Domain()": "84b0196e", + "mint(address,uint256)": "40c10f19", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "renounceOwnership()": "715018a6", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ERC20/Erc20.sol\":\"MyERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09\",\"dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c\",\"dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3\",\"dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"contracts/ERC20/Erc20.sol\":{\"keccak256\":\"0x383fa522f6f314456f4f2e9eb6b8f8f40af6d6d710bd71c45a61dcedb99edfb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbb22c17ebef8910eb676a10e2157e7d308f3c4cd316737002acd50425b48f38\",\"dweb:/ipfs/QmURozyUx6EqqTQ94Xdvvtz74WBFQxip4JXKCRgmazsUVY\"]}},\"version\":1}" + } + }, + "contracts/ERC20/OpenAirdropERC20.sol": { + "OpenAirdropERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "allowedAddress", + "type": "address" + } + ], + "name": "AddressAllowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "disallowedAddress", + "type": "address" + } + ], + "name": "AddressDisallowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBalanceToClaim", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasBeenTotallyClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11205": { + "entryPoint": null, + "id": 11205, + "parameterSlots": 6, + "returnSlots": 0 + }, + "@_50": { + "entryPoint": null, + "id": 50, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_146": { + "entryPoint": 360, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 833, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 1037, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 908, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 1096, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256_fromMemory": { + "entryPoint": 1119, + "id": null, + "parameterSlots": 2, + "returnSlots": 6 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1306, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1323, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 704, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 556, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 735, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 1463, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1352, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 1774, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_address": { + "entryPoint": 991, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 959, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1060, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 1735, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 1609, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1929, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 789, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 1484, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1410, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1899, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 650, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 1599, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1867, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 2160, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 1363, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 603, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 1649, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 576, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 581, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 571, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 566, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 586, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 1500, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1854, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 1707, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 1513, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 1659, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 1011, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 1070, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 1702, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:10354:43", + "nodeType": "YulBlock", + "src": "0:10354:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "546:28:43", + "nodeType": "YulBlock", + "src": "546:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:43", + "nodeType": "YulLiteral", + "src": "563:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:43", + "nodeType": "YulLiteral", + "src": "566:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:43", + "nodeType": "YulIdentifier", + "src": "556:6:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulFunctionCall", + "src": "556:12:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulExpressionStatement", + "src": "556:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:43", + "nodeType": "YulFunctionDefinition", + "src": "457:117:43" + }, + { + "body": { + "nativeSrc": "628:54:43", + "nodeType": "YulBlock", + "src": "628:54:43", + "statements": [ + { + "nativeSrc": "638:38:43", + "nodeType": "YulAssignment", + "src": "638:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:43", + "nodeType": "YulIdentifier", + "src": "656:5:43" + }, + { + "kind": "number", + "nativeSrc": "663:2:43", + "nodeType": "YulLiteral", + "src": "663:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:43", + "nodeType": "YulIdentifier", + "src": "652:3:43" + }, + "nativeSrc": "652:14:43", + "nodeType": "YulFunctionCall", + "src": "652:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:43", + "nodeType": "YulLiteral", + "src": "672:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:43", + "nodeType": "YulIdentifier", + "src": "668:3:43" + }, + "nativeSrc": "668:7:43", + "nodeType": "YulFunctionCall", + "src": "668:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:43", + "nodeType": "YulIdentifier", + "src": "648:3:43" + }, + "nativeSrc": "648:28:43", + "nodeType": "YulFunctionCall", + "src": "648:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:43", + "nodeType": "YulIdentifier", + "src": "638:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:43", + "nodeType": "YulTypedName", + "src": "611:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:43", + "nodeType": "YulTypedName", + "src": "621:6:43", + "type": "" + } + ], + "src": "580:102:43" + }, + { + "body": { + "nativeSrc": "716:152:43", + "nodeType": "YulBlock", + "src": "716:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:43", + "nodeType": "YulLiteral", + "src": "733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:43", + "nodeType": "YulLiteral", + "src": "736:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:43", + "nodeType": "YulIdentifier", + "src": "726:6:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulFunctionCall", + "src": "726:88:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulExpressionStatement", + "src": "726:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:43", + "nodeType": "YulLiteral", + "src": "830:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:43", + "nodeType": "YulLiteral", + "src": "833:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:43", + "nodeType": "YulIdentifier", + "src": "823:6:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulFunctionCall", + "src": "823:15:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulExpressionStatement", + "src": "823:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:43", + "nodeType": "YulLiteral", + "src": "854:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:43", + "nodeType": "YulLiteral", + "src": "857:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:43", + "nodeType": "YulIdentifier", + "src": "847:6:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulFunctionCall", + "src": "847:15:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulExpressionStatement", + "src": "847:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:43", + "nodeType": "YulFunctionDefinition", + "src": "688:180:43" + }, + { + "body": { + "nativeSrc": "917:238:43", + "nodeType": "YulBlock", + "src": "917:238:43", + "statements": [ + { + "nativeSrc": "927:58:43", + "nodeType": "YulVariableDeclaration", + "src": "927:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:43", + "nodeType": "YulIdentifier", + "src": "949:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:43", + "nodeType": "YulIdentifier", + "src": "979:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:43", + "nodeType": "YulIdentifier", + "src": "957:21:43" + }, + "nativeSrc": "957:27:43", + "nodeType": "YulFunctionCall", + "src": "957:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:43", + "nodeType": "YulIdentifier", + "src": "945:3:43" + }, + "nativeSrc": "945:40:43", + "nodeType": "YulFunctionCall", + "src": "945:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:43", + "nodeType": "YulTypedName", + "src": "931:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:43", + "nodeType": "YulBlock", + "src": "1096:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:43", + "nodeType": "YulIdentifier", + "src": "1098:16:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulFunctionCall", + "src": "1098:18:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulExpressionStatement", + "src": "1098:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:43", + "nodeType": "YulIdentifier", + "src": "1039:10:43" + }, + { + "kind": "number", + "nativeSrc": "1051:18:43", + "nodeType": "YulLiteral", + "src": "1051:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:43", + "nodeType": "YulIdentifier", + "src": "1036:2:43" + }, + "nativeSrc": "1036:34:43", + "nodeType": "YulFunctionCall", + "src": "1036:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:43", + "nodeType": "YulIdentifier", + "src": "1075:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:43", + "nodeType": "YulIdentifier", + "src": "1087:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:43", + "nodeType": "YulIdentifier", + "src": "1072:2:43" + }, + "nativeSrc": "1072:22:43", + "nodeType": "YulFunctionCall", + "src": "1072:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:43", + "nodeType": "YulIdentifier", + "src": "1033:2:43" + }, + "nativeSrc": "1033:62:43", + "nodeType": "YulFunctionCall", + "src": "1033:62:43" + }, + "nativeSrc": "1030:88:43", + "nodeType": "YulIf", + "src": "1030:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:43", + "nodeType": "YulLiteral", + "src": "1134:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:43", + "nodeType": "YulIdentifier", + "src": "1138:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:43", + "nodeType": "YulIdentifier", + "src": "1127:6:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulFunctionCall", + "src": "1127:22:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulExpressionStatement", + "src": "1127:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:43", + "nodeType": "YulTypedName", + "src": "903:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:43", + "nodeType": "YulTypedName", + "src": "911:4:43", + "type": "" + } + ], + "src": "874:281:43" + }, + { + "body": { + "nativeSrc": "1202:88:43", + "nodeType": "YulBlock", + "src": "1202:88:43", + "statements": [ + { + "nativeSrc": "1212:30:43", + "nodeType": "YulAssignment", + "src": "1212:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:43", + "nodeType": "YulIdentifier", + "src": "1222:18:43" + }, + "nativeSrc": "1222:20:43", + "nodeType": "YulFunctionCall", + "src": "1222:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:43", + "nodeType": "YulIdentifier", + "src": "1271:6:43" + }, + { + "name": "size", + "nativeSrc": "1279:4:43", + "nodeType": "YulIdentifier", + "src": "1279:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:43", + "nodeType": "YulIdentifier", + "src": "1251:19:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulFunctionCall", + "src": "1251:33:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulExpressionStatement", + "src": "1251:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:43", + "nodeType": "YulTypedName", + "src": "1186:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:43", + "nodeType": "YulTypedName", + "src": "1195:6:43", + "type": "" + } + ], + "src": "1161:129:43" + }, + { + "body": { + "nativeSrc": "1363:241:43", + "nodeType": "YulBlock", + "src": "1363:241:43", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:43", + "nodeType": "YulBlock", + "src": "1468:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:43", + "nodeType": "YulIdentifier", + "src": "1470:16:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulFunctionCall", + "src": "1470:18:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulExpressionStatement", + "src": "1470:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:43", + "nodeType": "YulIdentifier", + "src": "1440:6:43" + }, + { + "kind": "number", + "nativeSrc": "1448:18:43", + "nodeType": "YulLiteral", + "src": "1448:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:43", + "nodeType": "YulIdentifier", + "src": "1437:2:43" + }, + "nativeSrc": "1437:30:43", + "nodeType": "YulFunctionCall", + "src": "1437:30:43" + }, + "nativeSrc": "1434:56:43", + "nodeType": "YulIf", + "src": "1434:56:43" + }, + { + "nativeSrc": "1500:37:43", + "nodeType": "YulAssignment", + "src": "1500:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:43", + "nodeType": "YulIdentifier", + "src": "1530:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:43", + "nodeType": "YulIdentifier", + "src": "1508:21:43" + }, + "nativeSrc": "1508:29:43", + "nodeType": "YulFunctionCall", + "src": "1508:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:43", + "nodeType": "YulIdentifier", + "src": "1500:4:43" + } + ] + }, + { + "nativeSrc": "1574:23:43", + "nodeType": "YulAssignment", + "src": "1574:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:43", + "nodeType": "YulIdentifier", + "src": "1586:4:43" + }, + { + "kind": "number", + "nativeSrc": "1592:4:43", + "nodeType": "YulLiteral", + "src": "1592:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:43", + "nodeType": "YulIdentifier", + "src": "1582:3:43" + }, + "nativeSrc": "1582:15:43", + "nodeType": "YulFunctionCall", + "src": "1582:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:43", + "nodeType": "YulIdentifier", + "src": "1574:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:43", + "nodeType": "YulTypedName", + "src": "1347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:43", + "nodeType": "YulTypedName", + "src": "1358:4:43", + "type": "" + } + ], + "src": "1296:308:43" + }, + { + "body": { + "nativeSrc": "1672:184:43", + "nodeType": "YulBlock", + "src": "1672:184:43", + "statements": [ + { + "nativeSrc": "1682:10:43", + "nodeType": "YulVariableDeclaration", + "src": "1682:10:43", + "value": { + "kind": "number", + "nativeSrc": "1691:1:43", + "nodeType": "YulLiteral", + "src": "1691:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1686:1:43", + "nodeType": "YulTypedName", + "src": "1686:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1751:63:43", + "nodeType": "YulBlock", + "src": "1751:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1776:3:43", + "nodeType": "YulIdentifier", + "src": "1776:3:43" + }, + { + "name": "i", + "nativeSrc": "1781:1:43", + "nodeType": "YulIdentifier", + "src": "1781:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:43", + "nodeType": "YulIdentifier", + "src": "1772:3:43" + }, + "nativeSrc": "1772:11:43", + "nodeType": "YulFunctionCall", + "src": "1772:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1795:3:43", + "nodeType": "YulIdentifier", + "src": "1795:3:43" + }, + { + "name": "i", + "nativeSrc": "1800:1:43", + "nodeType": "YulIdentifier", + "src": "1800:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1791:3:43", + "nodeType": "YulIdentifier", + "src": "1791:3:43" + }, + "nativeSrc": "1791:11:43", + "nodeType": "YulFunctionCall", + "src": "1791:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1785:5:43", + "nodeType": "YulIdentifier", + "src": "1785:5:43" + }, + "nativeSrc": "1785:18:43", + "nodeType": "YulFunctionCall", + "src": "1785:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1765:6:43", + "nodeType": "YulIdentifier", + "src": "1765:6:43" + }, + "nativeSrc": "1765:39:43", + "nodeType": "YulFunctionCall", + "src": "1765:39:43" + }, + "nativeSrc": "1765:39:43", + "nodeType": "YulExpressionStatement", + "src": "1765:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1712:1:43", + "nodeType": "YulIdentifier", + "src": "1712:1:43" + }, + { + "name": "length", + "nativeSrc": "1715:6:43", + "nodeType": "YulIdentifier", + "src": "1715:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1709:2:43", + "nodeType": "YulIdentifier", + "src": "1709:2:43" + }, + "nativeSrc": "1709:13:43", + "nodeType": "YulFunctionCall", + "src": "1709:13:43" + }, + "nativeSrc": "1701:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1723:19:43", + "nodeType": "YulBlock", + "src": "1723:19:43", + "statements": [ + { + "nativeSrc": "1725:15:43", + "nodeType": "YulAssignment", + "src": "1725:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1734:1:43", + "nodeType": "YulIdentifier", + "src": "1734:1:43" + }, + { + "kind": "number", + "nativeSrc": "1737:2:43", + "nodeType": "YulLiteral", + "src": "1737:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:43", + "nodeType": "YulIdentifier", + "src": "1730:3:43" + }, + "nativeSrc": "1730:10:43", + "nodeType": "YulFunctionCall", + "src": "1730:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1725:1:43", + "nodeType": "YulIdentifier", + "src": "1725:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1705:3:43", + "nodeType": "YulBlock", + "src": "1705:3:43", + "statements": [] + }, + "src": "1701:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1834:3:43", + "nodeType": "YulIdentifier", + "src": "1834:3:43" + }, + { + "name": "length", + "nativeSrc": "1839:6:43", + "nodeType": "YulIdentifier", + "src": "1839:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1830:3:43", + "nodeType": "YulIdentifier", + "src": "1830:3:43" + }, + "nativeSrc": "1830:16:43", + "nodeType": "YulFunctionCall", + "src": "1830:16:43" + }, + { + "kind": "number", + "nativeSrc": "1848:1:43", + "nodeType": "YulLiteral", + "src": "1848:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1823:6:43", + "nodeType": "YulIdentifier", + "src": "1823:6:43" + }, + "nativeSrc": "1823:27:43", + "nodeType": "YulFunctionCall", + "src": "1823:27:43" + }, + "nativeSrc": "1823:27:43", + "nodeType": "YulExpressionStatement", + "src": "1823:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:43", + "nodeType": "YulTypedName", + "src": "1654:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:43", + "nodeType": "YulTypedName", + "src": "1659:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:43", + "nodeType": "YulTypedName", + "src": "1664:6:43", + "type": "" + } + ], + "src": "1610:246:43" + }, + { + "body": { + "nativeSrc": "1957:339:43", + "nodeType": "YulBlock", + "src": "1957:339:43", + "statements": [ + { + "nativeSrc": "1967:75:43", + "nodeType": "YulAssignment", + "src": "1967:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2034:6:43", + "nodeType": "YulIdentifier", + "src": "2034:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1992:41:43", + "nodeType": "YulIdentifier", + "src": "1992:41:43" + }, + "nativeSrc": "1992:49:43", + "nodeType": "YulFunctionCall", + "src": "1992:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1976:15:43", + "nodeType": "YulIdentifier", + "src": "1976:15:43" + }, + "nativeSrc": "1976:66:43", + "nodeType": "YulFunctionCall", + "src": "1976:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1967:5:43", + "nodeType": "YulIdentifier", + "src": "1967:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2058:5:43", + "nodeType": "YulIdentifier", + "src": "2058:5:43" + }, + { + "name": "length", + "nativeSrc": "2065:6:43", + "nodeType": "YulIdentifier", + "src": "2065:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2051:6:43", + "nodeType": "YulIdentifier", + "src": "2051:6:43" + }, + "nativeSrc": "2051:21:43", + "nodeType": "YulFunctionCall", + "src": "2051:21:43" + }, + "nativeSrc": "2051:21:43", + "nodeType": "YulExpressionStatement", + "src": "2051:21:43" + }, + { + "nativeSrc": "2081:27:43", + "nodeType": "YulVariableDeclaration", + "src": "2081:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2096:5:43", + "nodeType": "YulIdentifier", + "src": "2096:5:43" + }, + { + "kind": "number", + "nativeSrc": "2103:4:43", + "nodeType": "YulLiteral", + "src": "2103:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2092:3:43", + "nodeType": "YulIdentifier", + "src": "2092:3:43" + }, + "nativeSrc": "2092:16:43", + "nodeType": "YulFunctionCall", + "src": "2092:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2085:3:43", + "nodeType": "YulTypedName", + "src": "2085:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2146:83:43", + "nodeType": "YulBlock", + "src": "2146:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2148:77:43", + "nodeType": "YulIdentifier", + "src": "2148:77:43" + }, + "nativeSrc": "2148:79:43", + "nodeType": "YulFunctionCall", + "src": "2148:79:43" + }, + "nativeSrc": "2148:79:43", + "nodeType": "YulExpressionStatement", + "src": "2148:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2127:3:43", + "nodeType": "YulIdentifier", + "src": "2127:3:43" + }, + { + "name": "length", + "nativeSrc": "2132:6:43", + "nodeType": "YulIdentifier", + "src": "2132:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2123:3:43", + "nodeType": "YulIdentifier", + "src": "2123:3:43" + }, + "nativeSrc": "2123:16:43", + "nodeType": "YulFunctionCall", + "src": "2123:16:43" + }, + { + "name": "end", + "nativeSrc": "2141:3:43", + "nodeType": "YulIdentifier", + "src": "2141:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2120:2:43", + "nodeType": "YulIdentifier", + "src": "2120:2:43" + }, + "nativeSrc": "2120:25:43", + "nodeType": "YulFunctionCall", + "src": "2120:25:43" + }, + "nativeSrc": "2117:112:43", + "nodeType": "YulIf", + "src": "2117:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2273:3:43", + "nodeType": "YulIdentifier", + "src": "2273:3:43" + }, + { + "name": "dst", + "nativeSrc": "2278:3:43", + "nodeType": "YulIdentifier", + "src": "2278:3:43" + }, + { + "name": "length", + "nativeSrc": "2283:6:43", + "nodeType": "YulIdentifier", + "src": "2283:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2238:34:43", + "nodeType": "YulIdentifier", + "src": "2238:34:43" + }, + "nativeSrc": "2238:52:43", + "nodeType": "YulFunctionCall", + "src": "2238:52:43" + }, + "nativeSrc": "2238:52:43", + "nodeType": "YulExpressionStatement", + "src": "2238:52:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1862:434:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1930:3:43", + "nodeType": "YulTypedName", + "src": "1930:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1935:6:43", + "nodeType": "YulTypedName", + "src": "1935:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1943:3:43", + "nodeType": "YulTypedName", + "src": "1943:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1951:5:43", + "nodeType": "YulTypedName", + "src": "1951:5:43", + "type": "" + } + ], + "src": "1862:434:43" + }, + { + "body": { + "nativeSrc": "2389:282:43", + "nodeType": "YulBlock", + "src": "2389:282:43", + "statements": [ + { + "body": { + "nativeSrc": "2438:83:43", + "nodeType": "YulBlock", + "src": "2438:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2440:77:43", + "nodeType": "YulIdentifier", + "src": "2440:77:43" + }, + "nativeSrc": "2440:79:43", + "nodeType": "YulFunctionCall", + "src": "2440:79:43" + }, + "nativeSrc": "2440:79:43", + "nodeType": "YulExpressionStatement", + "src": "2440:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2417:6:43", + "nodeType": "YulIdentifier", + "src": "2417:6:43" + }, + { + "kind": "number", + "nativeSrc": "2425:4:43", + "nodeType": "YulLiteral", + "src": "2425:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2413:3:43", + "nodeType": "YulIdentifier", + "src": "2413:3:43" + }, + "nativeSrc": "2413:17:43", + "nodeType": "YulFunctionCall", + "src": "2413:17:43" + }, + { + "name": "end", + "nativeSrc": "2432:3:43", + "nodeType": "YulIdentifier", + "src": "2432:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2409:3:43", + "nodeType": "YulIdentifier", + "src": "2409:3:43" + }, + "nativeSrc": "2409:27:43", + "nodeType": "YulFunctionCall", + "src": "2409:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2402:6:43", + "nodeType": "YulIdentifier", + "src": "2402:6:43" + }, + "nativeSrc": "2402:35:43", + "nodeType": "YulFunctionCall", + "src": "2402:35:43" + }, + "nativeSrc": "2399:122:43", + "nodeType": "YulIf", + "src": "2399:122:43" + }, + { + "nativeSrc": "2530:27:43", + "nodeType": "YulVariableDeclaration", + "src": "2530:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2550:6:43", + "nodeType": "YulIdentifier", + "src": "2550:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2544:5:43", + "nodeType": "YulIdentifier", + "src": "2544:5:43" + }, + "nativeSrc": "2544:13:43", + "nodeType": "YulFunctionCall", + "src": "2544:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2534:6:43", + "nodeType": "YulTypedName", + "src": "2534:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2566:99:43", + "nodeType": "YulAssignment", + "src": "2566:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2638:6:43", + "nodeType": "YulIdentifier", + "src": "2638:6:43" + }, + { + "kind": "number", + "nativeSrc": "2646:4:43", + "nodeType": "YulLiteral", + "src": "2646:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2634:3:43", + "nodeType": "YulIdentifier", + "src": "2634:3:43" + }, + "nativeSrc": "2634:17:43", + "nodeType": "YulFunctionCall", + "src": "2634:17:43" + }, + { + "name": "length", + "nativeSrc": "2653:6:43", + "nodeType": "YulIdentifier", + "src": "2653:6:43" + }, + { + "name": "end", + "nativeSrc": "2661:3:43", + "nodeType": "YulIdentifier", + "src": "2661:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2575:58:43", + "nodeType": "YulIdentifier", + "src": "2575:58:43" + }, + "nativeSrc": "2575:90:43", + "nodeType": "YulFunctionCall", + "src": "2575:90:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2566:5:43", + "nodeType": "YulIdentifier", + "src": "2566:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2316:355:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2367:6:43", + "nodeType": "YulTypedName", + "src": "2367:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2375:3:43", + "nodeType": "YulTypedName", + "src": "2375:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2383:5:43", + "nodeType": "YulTypedName", + "src": "2383:5:43", + "type": "" + } + ], + "src": "2316:355:43" + }, + { + "body": { + "nativeSrc": "2722:81:43", + "nodeType": "YulBlock", + "src": "2722:81:43", + "statements": [ + { + "nativeSrc": "2732:65:43", + "nodeType": "YulAssignment", + "src": "2732:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2747:5:43", + "nodeType": "YulIdentifier", + "src": "2747:5:43" + }, + { + "kind": "number", + "nativeSrc": "2754:42:43", + "nodeType": "YulLiteral", + "src": "2754:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2743:3:43", + "nodeType": "YulIdentifier", + "src": "2743:3:43" + }, + "nativeSrc": "2743:54:43", + "nodeType": "YulFunctionCall", + "src": "2743:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2732:7:43", + "nodeType": "YulIdentifier", + "src": "2732:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2677:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2704:5:43", + "nodeType": "YulTypedName", + "src": "2704:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2714:7:43", + "nodeType": "YulTypedName", + "src": "2714:7:43", + "type": "" + } + ], + "src": "2677:126:43" + }, + { + "body": { + "nativeSrc": "2854:51:43", + "nodeType": "YulBlock", + "src": "2854:51:43", + "statements": [ + { + "nativeSrc": "2864:35:43", + "nodeType": "YulAssignment", + "src": "2864:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2893:5:43", + "nodeType": "YulIdentifier", + "src": "2893:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2875:17:43", + "nodeType": "YulIdentifier", + "src": "2875:17:43" + }, + "nativeSrc": "2875:24:43", + "nodeType": "YulFunctionCall", + "src": "2875:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2864:7:43", + "nodeType": "YulIdentifier", + "src": "2864:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2809:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2836:5:43", + "nodeType": "YulTypedName", + "src": "2836:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2846:7:43", + "nodeType": "YulTypedName", + "src": "2846:7:43", + "type": "" + } + ], + "src": "2809:96:43" + }, + { + "body": { + "nativeSrc": "2954:79:43", + "nodeType": "YulBlock", + "src": "2954:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3011:16:43", + "nodeType": "YulBlock", + "src": "3011:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3020:1:43", + "nodeType": "YulLiteral", + "src": "3020:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3023:1:43", + "nodeType": "YulLiteral", + "src": "3023:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3013:6:43", + "nodeType": "YulIdentifier", + "src": "3013:6:43" + }, + "nativeSrc": "3013:12:43", + "nodeType": "YulFunctionCall", + "src": "3013:12:43" + }, + "nativeSrc": "3013:12:43", + "nodeType": "YulExpressionStatement", + "src": "3013:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2977:5:43", + "nodeType": "YulIdentifier", + "src": "2977:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3002:5:43", + "nodeType": "YulIdentifier", + "src": "3002:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2984:17:43", + "nodeType": "YulIdentifier", + "src": "2984:17:43" + }, + "nativeSrc": "2984:24:43", + "nodeType": "YulFunctionCall", + "src": "2984:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2974:2:43", + "nodeType": "YulIdentifier", + "src": "2974:2:43" + }, + "nativeSrc": "2974:35:43", + "nodeType": "YulFunctionCall", + "src": "2974:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2967:6:43", + "nodeType": "YulIdentifier", + "src": "2967:6:43" + }, + "nativeSrc": "2967:43:43", + "nodeType": "YulFunctionCall", + "src": "2967:43:43" + }, + "nativeSrc": "2964:63:43", + "nodeType": "YulIf", + "src": "2964:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2911:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2947:5:43", + "nodeType": "YulTypedName", + "src": "2947:5:43", + "type": "" + } + ], + "src": "2911:122:43" + }, + { + "body": { + "nativeSrc": "3102:80:43", + "nodeType": "YulBlock", + "src": "3102:80:43", + "statements": [ + { + "nativeSrc": "3112:22:43", + "nodeType": "YulAssignment", + "src": "3112:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3127:6:43", + "nodeType": "YulIdentifier", + "src": "3127:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3121:5:43", + "nodeType": "YulIdentifier", + "src": "3121:5:43" + }, + "nativeSrc": "3121:13:43", + "nodeType": "YulFunctionCall", + "src": "3121:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3112:5:43", + "nodeType": "YulIdentifier", + "src": "3112:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3170:5:43", + "nodeType": "YulIdentifier", + "src": "3170:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3143:26:43", + "nodeType": "YulIdentifier", + "src": "3143:26:43" + }, + "nativeSrc": "3143:33:43", + "nodeType": "YulFunctionCall", + "src": "3143:33:43" + }, + "nativeSrc": "3143:33:43", + "nodeType": "YulExpressionStatement", + "src": "3143:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "3039:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3080:6:43", + "nodeType": "YulTypedName", + "src": "3080:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3088:3:43", + "nodeType": "YulTypedName", + "src": "3088:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3096:5:43", + "nodeType": "YulTypedName", + "src": "3096:5:43", + "type": "" + } + ], + "src": "3039:143:43" + }, + { + "body": { + "nativeSrc": "3233:32:43", + "nodeType": "YulBlock", + "src": "3233:32:43", + "statements": [ + { + "nativeSrc": "3243:16:43", + "nodeType": "YulAssignment", + "src": "3243:16:43", + "value": { + "name": "value", + "nativeSrc": "3254:5:43", + "nodeType": "YulIdentifier", + "src": "3254:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3243:7:43", + "nodeType": "YulIdentifier", + "src": "3243:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3188:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3215:5:43", + "nodeType": "YulTypedName", + "src": "3215:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3225:7:43", + "nodeType": "YulTypedName", + "src": "3225:7:43", + "type": "" + } + ], + "src": "3188:77:43" + }, + { + "body": { + "nativeSrc": "3314:79:43", + "nodeType": "YulBlock", + "src": "3314:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3371:16:43", + "nodeType": "YulBlock", + "src": "3371:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3380:1:43", + "nodeType": "YulLiteral", + "src": "3380:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3383:1:43", + "nodeType": "YulLiteral", + "src": "3383:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3373:6:43", + "nodeType": "YulIdentifier", + "src": "3373:6:43" + }, + "nativeSrc": "3373:12:43", + "nodeType": "YulFunctionCall", + "src": "3373:12:43" + }, + "nativeSrc": "3373:12:43", + "nodeType": "YulExpressionStatement", + "src": "3373:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3337:5:43", + "nodeType": "YulIdentifier", + "src": "3337:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3362:5:43", + "nodeType": "YulIdentifier", + "src": "3362:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3344:17:43", + "nodeType": "YulIdentifier", + "src": "3344:17:43" + }, + "nativeSrc": "3344:24:43", + "nodeType": "YulFunctionCall", + "src": "3344:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3334:2:43", + "nodeType": "YulIdentifier", + "src": "3334:2:43" + }, + "nativeSrc": "3334:35:43", + "nodeType": "YulFunctionCall", + "src": "3334:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3327:6:43", + "nodeType": "YulIdentifier", + "src": "3327:6:43" + }, + "nativeSrc": "3327:43:43", + "nodeType": "YulFunctionCall", + "src": "3327:43:43" + }, + "nativeSrc": "3324:63:43", + "nodeType": "YulIf", + "src": "3324:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3271:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3307:5:43", + "nodeType": "YulTypedName", + "src": "3307:5:43", + "type": "" + } + ], + "src": "3271:122:43" + }, + { + "body": { + "nativeSrc": "3462:80:43", + "nodeType": "YulBlock", + "src": "3462:80:43", + "statements": [ + { + "nativeSrc": "3472:22:43", + "nodeType": "YulAssignment", + "src": "3472:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3487:6:43", + "nodeType": "YulIdentifier", + "src": "3487:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3481:5:43", + "nodeType": "YulIdentifier", + "src": "3481:5:43" + }, + "nativeSrc": "3481:13:43", + "nodeType": "YulFunctionCall", + "src": "3481:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3472:5:43", + "nodeType": "YulIdentifier", + "src": "3472:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3530:5:43", + "nodeType": "YulIdentifier", + "src": "3530:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3503:26:43", + "nodeType": "YulIdentifier", + "src": "3503:26:43" + }, + "nativeSrc": "3503:33:43", + "nodeType": "YulFunctionCall", + "src": "3503:33:43" + }, + "nativeSrc": "3503:33:43", + "nodeType": "YulExpressionStatement", + "src": "3503:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3399:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3440:6:43", + "nodeType": "YulTypedName", + "src": "3440:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3448:3:43", + "nodeType": "YulTypedName", + "src": "3448:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3456:5:43", + "nodeType": "YulTypedName", + "src": "3456:5:43", + "type": "" + } + ], + "src": "3399:143:43" + }, + { + "body": { + "nativeSrc": "3720:1135:43", + "nodeType": "YulBlock", + "src": "3720:1135:43", + "statements": [ + { + "body": { + "nativeSrc": "3767:83:43", + "nodeType": "YulBlock", + "src": "3767:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3769:77:43", + "nodeType": "YulIdentifier", + "src": "3769:77:43" + }, + "nativeSrc": "3769:79:43", + "nodeType": "YulFunctionCall", + "src": "3769:79:43" + }, + "nativeSrc": "3769:79:43", + "nodeType": "YulExpressionStatement", + "src": "3769:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3741:7:43", + "nodeType": "YulIdentifier", + "src": "3741:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3750:9:43", + "nodeType": "YulIdentifier", + "src": "3750:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3737:3:43", + "nodeType": "YulIdentifier", + "src": "3737:3:43" + }, + "nativeSrc": "3737:23:43", + "nodeType": "YulFunctionCall", + "src": "3737:23:43" + }, + { + "kind": "number", + "nativeSrc": "3762:3:43", + "nodeType": "YulLiteral", + "src": "3762:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3733:3:43", + "nodeType": "YulIdentifier", + "src": "3733:3:43" + }, + "nativeSrc": "3733:33:43", + "nodeType": "YulFunctionCall", + "src": "3733:33:43" + }, + "nativeSrc": "3730:120:43", + "nodeType": "YulIf", + "src": "3730:120:43" + }, + { + "nativeSrc": "3860:291:43", + "nodeType": "YulBlock", + "src": "3860:291:43", + "statements": [ + { + "nativeSrc": "3875:38:43", + "nodeType": "YulVariableDeclaration", + "src": "3875:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3899:9:43", + "nodeType": "YulIdentifier", + "src": "3899:9:43" + }, + { + "kind": "number", + "nativeSrc": "3910:1:43", + "nodeType": "YulLiteral", + "src": "3910:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3895:3:43", + "nodeType": "YulIdentifier", + "src": "3895:3:43" + }, + "nativeSrc": "3895:17:43", + "nodeType": "YulFunctionCall", + "src": "3895:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3889:5:43", + "nodeType": "YulIdentifier", + "src": "3889:5:43" + }, + "nativeSrc": "3889:24:43", + "nodeType": "YulFunctionCall", + "src": "3889:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3879:6:43", + "nodeType": "YulTypedName", + "src": "3879:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3960:83:43", + "nodeType": "YulBlock", + "src": "3960:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3962:77:43", + "nodeType": "YulIdentifier", + "src": "3962:77:43" + }, + "nativeSrc": "3962:79:43", + "nodeType": "YulFunctionCall", + "src": "3962:79:43" + }, + "nativeSrc": "3962:79:43", + "nodeType": "YulExpressionStatement", + "src": "3962:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3932:6:43", + "nodeType": "YulIdentifier", + "src": "3932:6:43" + }, + { + "kind": "number", + "nativeSrc": "3940:18:43", + "nodeType": "YulLiteral", + "src": "3940:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3929:2:43", + "nodeType": "YulIdentifier", + "src": "3929:2:43" + }, + "nativeSrc": "3929:30:43", + "nodeType": "YulFunctionCall", + "src": "3929:30:43" + }, + "nativeSrc": "3926:117:43", + "nodeType": "YulIf", + "src": "3926:117:43" + }, + { + "nativeSrc": "4057:84:43", + "nodeType": "YulAssignment", + "src": "4057:84:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4113:9:43", + "nodeType": "YulIdentifier", + "src": "4113:9:43" + }, + { + "name": "offset", + "nativeSrc": "4124:6:43", + "nodeType": "YulIdentifier", + "src": "4124:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4109:3:43", + "nodeType": "YulIdentifier", + "src": "4109:3:43" + }, + "nativeSrc": "4109:22:43", + "nodeType": "YulFunctionCall", + "src": "4109:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4133:7:43", + "nodeType": "YulIdentifier", + "src": "4133:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "4067:41:43", + "nodeType": "YulIdentifier", + "src": "4067:41:43" + }, + "nativeSrc": "4067:74:43", + "nodeType": "YulFunctionCall", + "src": "4067:74:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4057:6:43", + "nodeType": "YulIdentifier", + "src": "4057:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4161:129:43", + "nodeType": "YulBlock", + "src": "4161:129:43", + "statements": [ + { + "nativeSrc": "4176:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4176:16:43", + "value": { + "kind": "number", + "nativeSrc": "4190:2:43", + "nodeType": "YulLiteral", + "src": "4190:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4180:6:43", + "nodeType": "YulTypedName", + "src": "4180:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4206:74:43", + "nodeType": "YulAssignment", + "src": "4206:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4252:9:43", + "nodeType": "YulIdentifier", + "src": "4252:9:43" + }, + { + "name": "offset", + "nativeSrc": "4263:6:43", + "nodeType": "YulIdentifier", + "src": "4263:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4248:3:43", + "nodeType": "YulIdentifier", + "src": "4248:3:43" + }, + "nativeSrc": "4248:22:43", + "nodeType": "YulFunctionCall", + "src": "4248:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4272:7:43", + "nodeType": "YulIdentifier", + "src": "4272:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4216:31:43", + "nodeType": "YulIdentifier", + "src": "4216:31:43" + }, + "nativeSrc": "4216:64:43", + "nodeType": "YulFunctionCall", + "src": "4216:64:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4206:6:43", + "nodeType": "YulIdentifier", + "src": "4206:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4300:129:43", + "nodeType": "YulBlock", + "src": "4300:129:43", + "statements": [ + { + "nativeSrc": "4315:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4315:16:43", + "value": { + "kind": "number", + "nativeSrc": "4329:2:43", + "nodeType": "YulLiteral", + "src": "4329:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4319:6:43", + "nodeType": "YulTypedName", + "src": "4319:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4345:74:43", + "nodeType": "YulAssignment", + "src": "4345:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4391:9:43", + "nodeType": "YulIdentifier", + "src": "4391:9:43" + }, + { + "name": "offset", + "nativeSrc": "4402:6:43", + "nodeType": "YulIdentifier", + "src": "4402:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4387:3:43", + "nodeType": "YulIdentifier", + "src": "4387:3:43" + }, + "nativeSrc": "4387:22:43", + "nodeType": "YulFunctionCall", + "src": "4387:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4411:7:43", + "nodeType": "YulIdentifier", + "src": "4411:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "4355:31:43", + "nodeType": "YulIdentifier", + "src": "4355:31:43" + }, + "nativeSrc": "4355:64:43", + "nodeType": "YulFunctionCall", + "src": "4355:64:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4345:6:43", + "nodeType": "YulIdentifier", + "src": "4345:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4439:129:43", + "nodeType": "YulBlock", + "src": "4439:129:43", + "statements": [ + { + "nativeSrc": "4454:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4454:16:43", + "value": { + "kind": "number", + "nativeSrc": "4468:2:43", + "nodeType": "YulLiteral", + "src": "4468:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4458:6:43", + "nodeType": "YulTypedName", + "src": "4458:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4484:74:43", + "nodeType": "YulAssignment", + "src": "4484:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4530:9:43", + "nodeType": "YulIdentifier", + "src": "4530:9:43" + }, + { + "name": "offset", + "nativeSrc": "4541:6:43", + "nodeType": "YulIdentifier", + "src": "4541:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4526:3:43", + "nodeType": "YulIdentifier", + "src": "4526:3:43" + }, + "nativeSrc": "4526:22:43", + "nodeType": "YulFunctionCall", + "src": "4526:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4550:7:43", + "nodeType": "YulIdentifier", + "src": "4550:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4494:31:43", + "nodeType": "YulIdentifier", + "src": "4494:31:43" + }, + "nativeSrc": "4494:64:43", + "nodeType": "YulFunctionCall", + "src": "4494:64:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4484:6:43", + "nodeType": "YulIdentifier", + "src": "4484:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4578:130:43", + "nodeType": "YulBlock", + "src": "4578:130:43", + "statements": [ + { + "nativeSrc": "4593:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4593:17:43", + "value": { + "kind": "number", + "nativeSrc": "4607:3:43", + "nodeType": "YulLiteral", + "src": "4607:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4597:6:43", + "nodeType": "YulTypedName", + "src": "4597:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4624:74:43", + "nodeType": "YulAssignment", + "src": "4624:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4670:9:43", + "nodeType": "YulIdentifier", + "src": "4670:9:43" + }, + { + "name": "offset", + "nativeSrc": "4681:6:43", + "nodeType": "YulIdentifier", + "src": "4681:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4666:3:43", + "nodeType": "YulIdentifier", + "src": "4666:3:43" + }, + "nativeSrc": "4666:22:43", + "nodeType": "YulFunctionCall", + "src": "4666:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4690:7:43", + "nodeType": "YulIdentifier", + "src": "4690:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4634:31:43", + "nodeType": "YulIdentifier", + "src": "4634:31:43" + }, + "nativeSrc": "4634:64:43", + "nodeType": "YulFunctionCall", + "src": "4634:64:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4624:6:43", + "nodeType": "YulIdentifier", + "src": "4624:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4718:130:43", + "nodeType": "YulBlock", + "src": "4718:130:43", + "statements": [ + { + "nativeSrc": "4733:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4733:17:43", + "value": { + "kind": "number", + "nativeSrc": "4747:3:43", + "nodeType": "YulLiteral", + "src": "4747:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4737:6:43", + "nodeType": "YulTypedName", + "src": "4737:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4764:74:43", + "nodeType": "YulAssignment", + "src": "4764:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4810:9:43", + "nodeType": "YulIdentifier", + "src": "4810:9:43" + }, + { + "name": "offset", + "nativeSrc": "4821:6:43", + "nodeType": "YulIdentifier", + "src": "4821:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4806:3:43", + "nodeType": "YulIdentifier", + "src": "4806:3:43" + }, + "nativeSrc": "4806:22:43", + "nodeType": "YulFunctionCall", + "src": "4806:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4830:7:43", + "nodeType": "YulIdentifier", + "src": "4830:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "4774:31:43", + "nodeType": "YulIdentifier", + "src": "4774:31:43" + }, + "nativeSrc": "4774:64:43", + "nodeType": "YulFunctionCall", + "src": "4774:64:43" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "4764:6:43", + "nodeType": "YulIdentifier", + "src": "4764:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256_fromMemory", + "nativeSrc": "3548:1307:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3650:9:43", + "nodeType": "YulTypedName", + "src": "3650:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3661:7:43", + "nodeType": "YulTypedName", + "src": "3661:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3673:6:43", + "nodeType": "YulTypedName", + "src": "3673:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3681:6:43", + "nodeType": "YulTypedName", + "src": "3681:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3689:6:43", + "nodeType": "YulTypedName", + "src": "3689:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3697:6:43", + "nodeType": "YulTypedName", + "src": "3697:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3705:6:43", + "nodeType": "YulTypedName", + "src": "3705:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "3713:6:43", + "nodeType": "YulTypedName", + "src": "3713:6:43", + "type": "" + } + ], + "src": "3548:1307:43" + }, + { + "body": { + "nativeSrc": "4926:53:43", + "nodeType": "YulBlock", + "src": "4926:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4943:3:43", + "nodeType": "YulIdentifier", + "src": "4943:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4966:5:43", + "nodeType": "YulIdentifier", + "src": "4966:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4948:17:43", + "nodeType": "YulIdentifier", + "src": "4948:17:43" + }, + "nativeSrc": "4948:24:43", + "nodeType": "YulFunctionCall", + "src": "4948:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4936:6:43", + "nodeType": "YulIdentifier", + "src": "4936:6:43" + }, + "nativeSrc": "4936:37:43", + "nodeType": "YulFunctionCall", + "src": "4936:37:43" + }, + "nativeSrc": "4936:37:43", + "nodeType": "YulExpressionStatement", + "src": "4936:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4861:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4914:5:43", + "nodeType": "YulTypedName", + "src": "4914:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4921:3:43", + "nodeType": "YulTypedName", + "src": "4921:3:43", + "type": "" + } + ], + "src": "4861:118:43" + }, + { + "body": { + "nativeSrc": "5083:124:43", + "nodeType": "YulBlock", + "src": "5083:124:43", + "statements": [ + { + "nativeSrc": "5093:26:43", + "nodeType": "YulAssignment", + "src": "5093:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5105:9:43", + "nodeType": "YulIdentifier", + "src": "5105:9:43" + }, + { + "kind": "number", + "nativeSrc": "5116:2:43", + "nodeType": "YulLiteral", + "src": "5116:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5101:3:43", + "nodeType": "YulIdentifier", + "src": "5101:3:43" + }, + "nativeSrc": "5101:18:43", + "nodeType": "YulFunctionCall", + "src": "5101:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5093:4:43", + "nodeType": "YulIdentifier", + "src": "5093:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5173:6:43", + "nodeType": "YulIdentifier", + "src": "5173:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5186:9:43", + "nodeType": "YulIdentifier", + "src": "5186:9:43" + }, + { + "kind": "number", + "nativeSrc": "5197:1:43", + "nodeType": "YulLiteral", + "src": "5197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5182:3:43", + "nodeType": "YulIdentifier", + "src": "5182:3:43" + }, + "nativeSrc": "5182:17:43", + "nodeType": "YulFunctionCall", + "src": "5182:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5129:43:43", + "nodeType": "YulIdentifier", + "src": "5129:43:43" + }, + "nativeSrc": "5129:71:43", + "nodeType": "YulFunctionCall", + "src": "5129:71:43" + }, + "nativeSrc": "5129:71:43", + "nodeType": "YulExpressionStatement", + "src": "5129:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4985:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5055:9:43", + "nodeType": "YulTypedName", + "src": "5055:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5067:6:43", + "nodeType": "YulTypedName", + "src": "5067:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5078:4:43", + "nodeType": "YulTypedName", + "src": "5078:4:43", + "type": "" + } + ], + "src": "4985:222:43" + }, + { + "body": { + "nativeSrc": "5272:40:43", + "nodeType": "YulBlock", + "src": "5272:40:43", + "statements": [ + { + "nativeSrc": "5283:22:43", + "nodeType": "YulAssignment", + "src": "5283:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5299:5:43", + "nodeType": "YulIdentifier", + "src": "5299:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5293:5:43", + "nodeType": "YulIdentifier", + "src": "5293:5:43" + }, + "nativeSrc": "5293:12:43", + "nodeType": "YulFunctionCall", + "src": "5293:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5283:6:43", + "nodeType": "YulIdentifier", + "src": "5283:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5213:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5255:5:43", + "nodeType": "YulTypedName", + "src": "5255:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5265:6:43", + "nodeType": "YulTypedName", + "src": "5265:6:43", + "type": "" + } + ], + "src": "5213:99:43" + }, + { + "body": { + "nativeSrc": "5346:152:43", + "nodeType": "YulBlock", + "src": "5346:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5363:1:43", + "nodeType": "YulLiteral", + "src": "5363:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5366:77:43", + "nodeType": "YulLiteral", + "src": "5366:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5356:6:43", + "nodeType": "YulIdentifier", + "src": "5356:6:43" + }, + "nativeSrc": "5356:88:43", + "nodeType": "YulFunctionCall", + "src": "5356:88:43" + }, + "nativeSrc": "5356:88:43", + "nodeType": "YulExpressionStatement", + "src": "5356:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5460:1:43", + "nodeType": "YulLiteral", + "src": "5460:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5463:4:43", + "nodeType": "YulLiteral", + "src": "5463:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5453:6:43", + "nodeType": "YulIdentifier", + "src": "5453:6:43" + }, + "nativeSrc": "5453:15:43", + "nodeType": "YulFunctionCall", + "src": "5453:15:43" + }, + "nativeSrc": "5453:15:43", + "nodeType": "YulExpressionStatement", + "src": "5453:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5484:1:43", + "nodeType": "YulLiteral", + "src": "5484:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5487:4:43", + "nodeType": "YulLiteral", + "src": "5487:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5477:6:43", + "nodeType": "YulIdentifier", + "src": "5477:6:43" + }, + "nativeSrc": "5477:15:43", + "nodeType": "YulFunctionCall", + "src": "5477:15:43" + }, + "nativeSrc": "5477:15:43", + "nodeType": "YulExpressionStatement", + "src": "5477:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "5318:180:43", + "nodeType": "YulFunctionDefinition", + "src": "5318:180:43" + }, + { + "body": { + "nativeSrc": "5555:269:43", + "nodeType": "YulBlock", + "src": "5555:269:43", + "statements": [ + { + "nativeSrc": "5565:22:43", + "nodeType": "YulAssignment", + "src": "5565:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "5579:4:43", + "nodeType": "YulIdentifier", + "src": "5579:4:43" + }, + { + "kind": "number", + "nativeSrc": "5585:1:43", + "nodeType": "YulLiteral", + "src": "5585:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "5575:3:43", + "nodeType": "YulIdentifier", + "src": "5575:3:43" + }, + "nativeSrc": "5575:12:43", + "nodeType": "YulFunctionCall", + "src": "5575:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5565:6:43", + "nodeType": "YulIdentifier", + "src": "5565:6:43" + } + ] + }, + { + "nativeSrc": "5596:38:43", + "nodeType": "YulVariableDeclaration", + "src": "5596:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "5626:4:43", + "nodeType": "YulIdentifier", + "src": "5626:4:43" + }, + { + "kind": "number", + "nativeSrc": "5632:1:43", + "nodeType": "YulLiteral", + "src": "5632:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5622:3:43", + "nodeType": "YulIdentifier", + "src": "5622:3:43" + }, + "nativeSrc": "5622:12:43", + "nodeType": "YulFunctionCall", + "src": "5622:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5600:18:43", + "nodeType": "YulTypedName", + "src": "5600:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5673:51:43", + "nodeType": "YulBlock", + "src": "5673:51:43", + "statements": [ + { + "nativeSrc": "5687:27:43", + "nodeType": "YulAssignment", + "src": "5687:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5701:6:43", + "nodeType": "YulIdentifier", + "src": "5701:6:43" + }, + { + "kind": "number", + "nativeSrc": "5709:4:43", + "nodeType": "YulLiteral", + "src": "5709:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5697:3:43", + "nodeType": "YulIdentifier", + "src": "5697:3:43" + }, + "nativeSrc": "5697:17:43", + "nodeType": "YulFunctionCall", + "src": "5697:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5687:6:43", + "nodeType": "YulIdentifier", + "src": "5687:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5653:18:43", + "nodeType": "YulIdentifier", + "src": "5653:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5646:6:43", + "nodeType": "YulIdentifier", + "src": "5646:6:43" + }, + "nativeSrc": "5646:26:43", + "nodeType": "YulFunctionCall", + "src": "5646:26:43" + }, + "nativeSrc": "5643:81:43", + "nodeType": "YulIf", + "src": "5643:81:43" + }, + { + "body": { + "nativeSrc": "5776:42:43", + "nodeType": "YulBlock", + "src": "5776:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "5790:16:43", + "nodeType": "YulIdentifier", + "src": "5790:16:43" + }, + "nativeSrc": "5790:18:43", + "nodeType": "YulFunctionCall", + "src": "5790:18:43" + }, + "nativeSrc": "5790:18:43", + "nodeType": "YulExpressionStatement", + "src": "5790:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5740:18:43", + "nodeType": "YulIdentifier", + "src": "5740:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5763:6:43", + "nodeType": "YulIdentifier", + "src": "5763:6:43" + }, + { + "kind": "number", + "nativeSrc": "5771:2:43", + "nodeType": "YulLiteral", + "src": "5771:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5760:2:43", + "nodeType": "YulIdentifier", + "src": "5760:2:43" + }, + "nativeSrc": "5760:14:43", + "nodeType": "YulFunctionCall", + "src": "5760:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5737:2:43", + "nodeType": "YulIdentifier", + "src": "5737:2:43" + }, + "nativeSrc": "5737:38:43", + "nodeType": "YulFunctionCall", + "src": "5737:38:43" + }, + "nativeSrc": "5734:84:43", + "nodeType": "YulIf", + "src": "5734:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "5504:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "5539:4:43", + "nodeType": "YulTypedName", + "src": "5539:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5548:6:43", + "nodeType": "YulTypedName", + "src": "5548:6:43", + "type": "" + } + ], + "src": "5504:320:43" + }, + { + "body": { + "nativeSrc": "5884:87:43", + "nodeType": "YulBlock", + "src": "5884:87:43", + "statements": [ + { + "nativeSrc": "5894:11:43", + "nodeType": "YulAssignment", + "src": "5894:11:43", + "value": { + "name": "ptr", + "nativeSrc": "5902:3:43", + "nodeType": "YulIdentifier", + "src": "5902:3:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "5894:4:43", + "nodeType": "YulIdentifier", + "src": "5894:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5922:1:43", + "nodeType": "YulLiteral", + "src": "5922:1:43", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "5925:3:43", + "nodeType": "YulIdentifier", + "src": "5925:3:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5915:6:43", + "nodeType": "YulIdentifier", + "src": "5915:6:43" + }, + "nativeSrc": "5915:14:43", + "nodeType": "YulFunctionCall", + "src": "5915:14:43" + }, + "nativeSrc": "5915:14:43", + "nodeType": "YulExpressionStatement", + "src": "5915:14:43" + }, + { + "nativeSrc": "5938:26:43", + "nodeType": "YulAssignment", + "src": "5938:26:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5956:1:43", + "nodeType": "YulLiteral", + "src": "5956:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5959:4:43", + "nodeType": "YulLiteral", + "src": "5959:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "5946:9:43", + "nodeType": "YulIdentifier", + "src": "5946:9:43" + }, + "nativeSrc": "5946:18:43", + "nodeType": "YulFunctionCall", + "src": "5946:18:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "5938:4:43", + "nodeType": "YulIdentifier", + "src": "5938:4:43" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "5830:141:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "5871:3:43", + "nodeType": "YulTypedName", + "src": "5871:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "5879:4:43", + "nodeType": "YulTypedName", + "src": "5879:4:43", + "type": "" + } + ], + "src": "5830:141:43" + }, + { + "body": { + "nativeSrc": "6021:49:43", + "nodeType": "YulBlock", + "src": "6021:49:43", + "statements": [ + { + "nativeSrc": "6031:33:43", + "nodeType": "YulAssignment", + "src": "6031:33:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6049:5:43", + "nodeType": "YulIdentifier", + "src": "6049:5:43" + }, + { + "kind": "number", + "nativeSrc": "6056:2:43", + "nodeType": "YulLiteral", + "src": "6056:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6045:3:43", + "nodeType": "YulIdentifier", + "src": "6045:3:43" + }, + "nativeSrc": "6045:14:43", + "nodeType": "YulFunctionCall", + "src": "6045:14:43" + }, + { + "kind": "number", + "nativeSrc": "6061:2:43", + "nodeType": "YulLiteral", + "src": "6061:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6041:3:43", + "nodeType": "YulIdentifier", + "src": "6041:3:43" + }, + "nativeSrc": "6041:23:43", + "nodeType": "YulFunctionCall", + "src": "6041:23:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6031:6:43", + "nodeType": "YulIdentifier", + "src": "6031:6:43" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "5977:93:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6004:5:43", + "nodeType": "YulTypedName", + "src": "6004:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6014:6:43", + "nodeType": "YulTypedName", + "src": "6014:6:43", + "type": "" + } + ], + "src": "5977:93:43" + }, + { + "body": { + "nativeSrc": "6129:54:43", + "nodeType": "YulBlock", + "src": "6129:54:43", + "statements": [ + { + "nativeSrc": "6139:37:43", + "nodeType": "YulAssignment", + "src": "6139:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6164:4:43", + "nodeType": "YulIdentifier", + "src": "6164:4:43" + }, + { + "name": "value", + "nativeSrc": "6170:5:43", + "nodeType": "YulIdentifier", + "src": "6170:5:43" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6160:3:43", + "nodeType": "YulIdentifier", + "src": "6160:3:43" + }, + "nativeSrc": "6160:16:43", + "nodeType": "YulFunctionCall", + "src": "6160:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6139:8:43", + "nodeType": "YulIdentifier", + "src": "6139:8:43" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "6076:107:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6104:4:43", + "nodeType": "YulTypedName", + "src": "6104:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6110:5:43", + "nodeType": "YulTypedName", + "src": "6110:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6120:8:43", + "nodeType": "YulTypedName", + "src": "6120:8:43", + "type": "" + } + ], + "src": "6076:107:43" + }, + { + "body": { + "nativeSrc": "6265:317:43", + "nodeType": "YulBlock", + "src": "6265:317:43", + "statements": [ + { + "nativeSrc": "6275:35:43", + "nodeType": "YulVariableDeclaration", + "src": "6275:35:43", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "6296:10:43", + "nodeType": "YulIdentifier", + "src": "6296:10:43" + }, + { + "kind": "number", + "nativeSrc": "6308:1:43", + "nodeType": "YulLiteral", + "src": "6308:1:43", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6292:3:43", + "nodeType": "YulIdentifier", + "src": "6292:3:43" + }, + "nativeSrc": "6292:18:43", + "nodeType": "YulFunctionCall", + "src": "6292:18:43" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "6279:9:43", + "nodeType": "YulTypedName", + "src": "6279:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6319:109:43", + "nodeType": "YulVariableDeclaration", + "src": "6319:109:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6350:9:43", + "nodeType": "YulIdentifier", + "src": "6350:9:43" + }, + { + "kind": "number", + "nativeSrc": "6361:66:43", + "nodeType": "YulLiteral", + "src": "6361:66:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6331:18:43", + "nodeType": "YulIdentifier", + "src": "6331:18:43" + }, + "nativeSrc": "6331:97:43", + "nodeType": "YulFunctionCall", + "src": "6331:97:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6323:4:43", + "nodeType": "YulTypedName", + "src": "6323:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "6437:51:43", + "nodeType": "YulAssignment", + "src": "6437:51:43", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "6468:9:43", + "nodeType": "YulIdentifier", + "src": "6468:9:43" + }, + { + "name": "toInsert", + "nativeSrc": "6479:8:43", + "nodeType": "YulIdentifier", + "src": "6479:8:43" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "6449:18:43", + "nodeType": "YulIdentifier", + "src": "6449:18:43" + }, + "nativeSrc": "6449:39:43", + "nodeType": "YulFunctionCall", + "src": "6449:39:43" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "6437:8:43", + "nodeType": "YulIdentifier", + "src": "6437:8:43" + } + ] + }, + { + "nativeSrc": "6497:30:43", + "nodeType": "YulAssignment", + "src": "6497:30:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6510:5:43", + "nodeType": "YulIdentifier", + "src": "6510:5:43" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "6521:4:43", + "nodeType": "YulIdentifier", + "src": "6521:4:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "6517:3:43", + "nodeType": "YulIdentifier", + "src": "6517:3:43" + }, + "nativeSrc": "6517:9:43", + "nodeType": "YulFunctionCall", + "src": "6517:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6506:3:43", + "nodeType": "YulIdentifier", + "src": "6506:3:43" + }, + "nativeSrc": "6506:21:43", + "nodeType": "YulFunctionCall", + "src": "6506:21:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6497:5:43", + "nodeType": "YulIdentifier", + "src": "6497:5:43" + } + ] + }, + { + "nativeSrc": "6536:40:43", + "nodeType": "YulAssignment", + "src": "6536:40:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6549:5:43", + "nodeType": "YulIdentifier", + "src": "6549:5:43" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "6560:8:43", + "nodeType": "YulIdentifier", + "src": "6560:8:43" + }, + { + "name": "mask", + "nativeSrc": "6570:4:43", + "nodeType": "YulIdentifier", + "src": "6570:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6556:3:43", + "nodeType": "YulIdentifier", + "src": "6556:3:43" + }, + "nativeSrc": "6556:19:43", + "nodeType": "YulFunctionCall", + "src": "6556:19:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "6546:2:43", + "nodeType": "YulIdentifier", + "src": "6546:2:43" + }, + "nativeSrc": "6546:30:43", + "nodeType": "YulFunctionCall", + "src": "6546:30:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6536:6:43", + "nodeType": "YulIdentifier", + "src": "6536:6:43" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "6189:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6226:5:43", + "nodeType": "YulTypedName", + "src": "6226:5:43", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "6233:10:43", + "nodeType": "YulTypedName", + "src": "6233:10:43", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "6245:8:43", + "nodeType": "YulTypedName", + "src": "6245:8:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6258:6:43", + "nodeType": "YulTypedName", + "src": "6258:6:43", + "type": "" + } + ], + "src": "6189:393:43" + }, + { + "body": { + "nativeSrc": "6620:28:43", + "nodeType": "YulBlock", + "src": "6620:28:43", + "statements": [ + { + "nativeSrc": "6630:12:43", + "nodeType": "YulAssignment", + "src": "6630:12:43", + "value": { + "name": "value", + "nativeSrc": "6637:5:43", + "nodeType": "YulIdentifier", + "src": "6637:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "6630:3:43", + "nodeType": "YulIdentifier", + "src": "6630:3:43" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "6588:60:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6606:5:43", + "nodeType": "YulTypedName", + "src": "6606:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "6616:3:43", + "nodeType": "YulTypedName", + "src": "6616:3:43", + "type": "" + } + ], + "src": "6588:60:43" + }, + { + "body": { + "nativeSrc": "6714:82:43", + "nodeType": "YulBlock", + "src": "6714:82:43", + "statements": [ + { + "nativeSrc": "6724:66:43", + "nodeType": "YulAssignment", + "src": "6724:66:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6782:5:43", + "nodeType": "YulIdentifier", + "src": "6782:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6764:17:43", + "nodeType": "YulIdentifier", + "src": "6764:17:43" + }, + "nativeSrc": "6764:24:43", + "nodeType": "YulFunctionCall", + "src": "6764:24:43" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "6755:8:43", + "nodeType": "YulIdentifier", + "src": "6755:8:43" + }, + "nativeSrc": "6755:34:43", + "nodeType": "YulFunctionCall", + "src": "6755:34:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6737:17:43", + "nodeType": "YulIdentifier", + "src": "6737:17:43" + }, + "nativeSrc": "6737:53:43", + "nodeType": "YulFunctionCall", + "src": "6737:53:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "6724:9:43", + "nodeType": "YulIdentifier", + "src": "6724:9:43" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "6654:142:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6694:5:43", + "nodeType": "YulTypedName", + "src": "6694:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "6704:9:43", + "nodeType": "YulTypedName", + "src": "6704:9:43", + "type": "" + } + ], + "src": "6654:142:43" + }, + { + "body": { + "nativeSrc": "6849:28:43", + "nodeType": "YulBlock", + "src": "6849:28:43", + "statements": [ + { + "nativeSrc": "6859:12:43", + "nodeType": "YulAssignment", + "src": "6859:12:43", + "value": { + "name": "value", + "nativeSrc": "6866:5:43", + "nodeType": "YulIdentifier", + "src": "6866:5:43" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "6859:3:43", + "nodeType": "YulIdentifier", + "src": "6859:3:43" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "6802:75:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6835:5:43", + "nodeType": "YulTypedName", + "src": "6835:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "6845:3:43", + "nodeType": "YulTypedName", + "src": "6845:3:43", + "type": "" + } + ], + "src": "6802:75:43" + }, + { + "body": { + "nativeSrc": "6959:193:43", + "nodeType": "YulBlock", + "src": "6959:193:43", + "statements": [ + { + "nativeSrc": "6969:63:43", + "nodeType": "YulVariableDeclaration", + "src": "6969:63:43", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "7024:7:43", + "nodeType": "YulIdentifier", + "src": "7024:7:43" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "6993:30:43", + "nodeType": "YulIdentifier", + "src": "6993:30:43" + }, + "nativeSrc": "6993:39:43", + "nodeType": "YulFunctionCall", + "src": "6993:39:43" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "6973:16:43", + "nodeType": "YulTypedName", + "src": "6973:16:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7048:4:43", + "nodeType": "YulIdentifier", + "src": "7048:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7088:4:43", + "nodeType": "YulIdentifier", + "src": "7088:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7082:5:43", + "nodeType": "YulIdentifier", + "src": "7082:5:43" + }, + "nativeSrc": "7082:11:43", + "nodeType": "YulFunctionCall", + "src": "7082:11:43" + }, + { + "name": "offset", + "nativeSrc": "7095:6:43", + "nodeType": "YulIdentifier", + "src": "7095:6:43" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "7127:16:43", + "nodeType": "YulIdentifier", + "src": "7127:16:43" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "7103:23:43", + "nodeType": "YulIdentifier", + "src": "7103:23:43" + }, + "nativeSrc": "7103:41:43", + "nodeType": "YulFunctionCall", + "src": "7103:41:43" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "7054:27:43", + "nodeType": "YulIdentifier", + "src": "7054:27:43" + }, + "nativeSrc": "7054:91:43", + "nodeType": "YulFunctionCall", + "src": "7054:91:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7041:6:43", + "nodeType": "YulIdentifier", + "src": "7041:6:43" + }, + "nativeSrc": "7041:105:43", + "nodeType": "YulFunctionCall", + "src": "7041:105:43" + }, + "nativeSrc": "7041:105:43", + "nodeType": "YulExpressionStatement", + "src": "7041:105:43" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "6883:269:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "6936:4:43", + "nodeType": "YulTypedName", + "src": "6936:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "6942:6:43", + "nodeType": "YulTypedName", + "src": "6942:6:43", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "6950:7:43", + "nodeType": "YulTypedName", + "src": "6950:7:43", + "type": "" + } + ], + "src": "6883:269:43" + }, + { + "body": { + "nativeSrc": "7207:24:43", + "nodeType": "YulBlock", + "src": "7207:24:43", + "statements": [ + { + "nativeSrc": "7217:8:43", + "nodeType": "YulAssignment", + "src": "7217:8:43", + "value": { + "kind": "number", + "nativeSrc": "7224:1:43", + "nodeType": "YulLiteral", + "src": "7224:1:43", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7217:3:43", + "nodeType": "YulIdentifier", + "src": "7217:3:43" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7158:73:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7203:3:43", + "nodeType": "YulTypedName", + "src": "7203:3:43", + "type": "" + } + ], + "src": "7158:73:43" + }, + { + "body": { + "nativeSrc": "7290:136:43", + "nodeType": "YulBlock", + "src": "7290:136:43", + "statements": [ + { + "nativeSrc": "7300:46:43", + "nodeType": "YulVariableDeclaration", + "src": "7300:46:43", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "7314:30:43", + "nodeType": "YulIdentifier", + "src": "7314:30:43" + }, + "nativeSrc": "7314:32:43", + "nodeType": "YulFunctionCall", + "src": "7314:32:43" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "7304:6:43", + "nodeType": "YulTypedName", + "src": "7304:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7399:4:43", + "nodeType": "YulIdentifier", + "src": "7399:4:43" + }, + { + "name": "offset", + "nativeSrc": "7405:6:43", + "nodeType": "YulIdentifier", + "src": "7405:6:43" + }, + { + "name": "zero_0", + "nativeSrc": "7413:6:43", + "nodeType": "YulIdentifier", + "src": "7413:6:43" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "7355:43:43", + "nodeType": "YulIdentifier", + "src": "7355:43:43" + }, + "nativeSrc": "7355:65:43", + "nodeType": "YulFunctionCall", + "src": "7355:65:43" + }, + "nativeSrc": "7355:65:43", + "nodeType": "YulExpressionStatement", + "src": "7355:65:43" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7237:189:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7276:4:43", + "nodeType": "YulTypedName", + "src": "7276:4:43", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "7282:6:43", + "nodeType": "YulTypedName", + "src": "7282:6:43", + "type": "" + } + ], + "src": "7237:189:43" + }, + { + "body": { + "nativeSrc": "7482:136:43", + "nodeType": "YulBlock", + "src": "7482:136:43", + "statements": [ + { + "body": { + "nativeSrc": "7549:63:43", + "nodeType": "YulBlock", + "src": "7549:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7593:5:43", + "nodeType": "YulIdentifier", + "src": "7593:5:43" + }, + { + "kind": "number", + "nativeSrc": "7600:1:43", + "nodeType": "YulLiteral", + "src": "7600:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "7563:29:43", + "nodeType": "YulIdentifier", + "src": "7563:29:43" + }, + "nativeSrc": "7563:39:43", + "nodeType": "YulFunctionCall", + "src": "7563:39:43" + }, + "nativeSrc": "7563:39:43", + "nodeType": "YulExpressionStatement", + "src": "7563:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7502:5:43", + "nodeType": "YulIdentifier", + "src": "7502:5:43" + }, + { + "name": "end", + "nativeSrc": "7509:3:43", + "nodeType": "YulIdentifier", + "src": "7509:3:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7499:2:43", + "nodeType": "YulIdentifier", + "src": "7499:2:43" + }, + "nativeSrc": "7499:14:43", + "nodeType": "YulFunctionCall", + "src": "7499:14:43" + }, + "nativeSrc": "7492:120:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "7514:26:43", + "nodeType": "YulBlock", + "src": "7514:26:43", + "statements": [ + { + "nativeSrc": "7516:22:43", + "nodeType": "YulAssignment", + "src": "7516:22:43", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7529:5:43", + "nodeType": "YulIdentifier", + "src": "7529:5:43" + }, + { + "kind": "number", + "nativeSrc": "7536:1:43", + "nodeType": "YulLiteral", + "src": "7536:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7525:3:43", + "nodeType": "YulIdentifier", + "src": "7525:3:43" + }, + "nativeSrc": "7525:13:43", + "nodeType": "YulFunctionCall", + "src": "7525:13:43" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "7516:5:43", + "nodeType": "YulIdentifier", + "src": "7516:5:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7496:2:43", + "nodeType": "YulBlock", + "src": "7496:2:43", + "statements": [] + }, + "src": "7492:120:43" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "7432:186:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "7470:5:43", + "nodeType": "YulTypedName", + "src": "7470:5:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "7477:3:43", + "nodeType": "YulTypedName", + "src": "7477:3:43", + "type": "" + } + ], + "src": "7432:186:43" + }, + { + "body": { + "nativeSrc": "7703:464:43", + "nodeType": "YulBlock", + "src": "7703:464:43", + "statements": [ + { + "body": { + "nativeSrc": "7729:431:43", + "nodeType": "YulBlock", + "src": "7729:431:43", + "statements": [ + { + "nativeSrc": "7743:54:43", + "nodeType": "YulVariableDeclaration", + "src": "7743:54:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "7791:5:43", + "nodeType": "YulIdentifier", + "src": "7791:5:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "7759:31:43", + "nodeType": "YulIdentifier", + "src": "7759:31:43" + }, + "nativeSrc": "7759:38:43", + "nodeType": "YulFunctionCall", + "src": "7759:38:43" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "7747:8:43", + "nodeType": "YulTypedName", + "src": "7747:8:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7810:63:43", + "nodeType": "YulVariableDeclaration", + "src": "7810:63:43", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "7833:8:43", + "nodeType": "YulIdentifier", + "src": "7833:8:43" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "7861:10:43", + "nodeType": "YulIdentifier", + "src": "7861:10:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "7843:17:43", + "nodeType": "YulIdentifier", + "src": "7843:17:43" + }, + "nativeSrc": "7843:29:43", + "nodeType": "YulFunctionCall", + "src": "7843:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7829:3:43", + "nodeType": "YulIdentifier", + "src": "7829:3:43" + }, + "nativeSrc": "7829:44:43", + "nodeType": "YulFunctionCall", + "src": "7829:44:43" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "7814:11:43", + "nodeType": "YulTypedName", + "src": "7814:11:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8030:27:43", + "nodeType": "YulBlock", + "src": "8030:27:43", + "statements": [ + { + "nativeSrc": "8032:23:43", + "nodeType": "YulAssignment", + "src": "8032:23:43", + "value": { + "name": "dataArea", + "nativeSrc": "8047:8:43", + "nodeType": "YulIdentifier", + "src": "8047:8:43" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "8032:11:43", + "nodeType": "YulIdentifier", + "src": "8032:11:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "8014:10:43", + "nodeType": "YulIdentifier", + "src": "8014:10:43" + }, + { + "kind": "number", + "nativeSrc": "8026:2:43", + "nodeType": "YulLiteral", + "src": "8026:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8011:2:43", + "nodeType": "YulIdentifier", + "src": "8011:2:43" + }, + "nativeSrc": "8011:18:43", + "nodeType": "YulFunctionCall", + "src": "8011:18:43" + }, + "nativeSrc": "8008:49:43", + "nodeType": "YulIf", + "src": "8008:49:43" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "8099:11:43", + "nodeType": "YulIdentifier", + "src": "8099:11:43" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "8116:8:43", + "nodeType": "YulIdentifier", + "src": "8116:8:43" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "8144:3:43", + "nodeType": "YulIdentifier", + "src": "8144:3:43" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "8126:17:43", + "nodeType": "YulIdentifier", + "src": "8126:17:43" + }, + "nativeSrc": "8126:22:43", + "nodeType": "YulFunctionCall", + "src": "8126:22:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8112:3:43", + "nodeType": "YulIdentifier", + "src": "8112:3:43" + }, + "nativeSrc": "8112:37:43", + "nodeType": "YulFunctionCall", + "src": "8112:37:43" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "8070:28:43", + "nodeType": "YulIdentifier", + "src": "8070:28:43" + }, + "nativeSrc": "8070:80:43", + "nodeType": "YulFunctionCall", + "src": "8070:80:43" + }, + "nativeSrc": "8070:80:43", + "nodeType": "YulExpressionStatement", + "src": "8070:80:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "7720:3:43", + "nodeType": "YulIdentifier", + "src": "7720:3:43" + }, + { + "kind": "number", + "nativeSrc": "7725:2:43", + "nodeType": "YulLiteral", + "src": "7725:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7717:2:43", + "nodeType": "YulIdentifier", + "src": "7717:2:43" + }, + "nativeSrc": "7717:11:43", + "nodeType": "YulFunctionCall", + "src": "7717:11:43" + }, + "nativeSrc": "7714:446:43", + "nodeType": "YulIf", + "src": "7714:446:43" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "7624:543:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "7679:5:43", + "nodeType": "YulTypedName", + "src": "7679:5:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "7686:3:43", + "nodeType": "YulTypedName", + "src": "7686:3:43", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "7691:10:43", + "nodeType": "YulTypedName", + "src": "7691:10:43", + "type": "" + } + ], + "src": "7624:543:43" + }, + { + "body": { + "nativeSrc": "8236:54:43", + "nodeType": "YulBlock", + "src": "8236:54:43", + "statements": [ + { + "nativeSrc": "8246:37:43", + "nodeType": "YulAssignment", + "src": "8246:37:43", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "8271:4:43", + "nodeType": "YulIdentifier", + "src": "8271:4:43" + }, + { + "name": "value", + "nativeSrc": "8277:5:43", + "nodeType": "YulIdentifier", + "src": "8277:5:43" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8267:3:43", + "nodeType": "YulIdentifier", + "src": "8267:3:43" + }, + "nativeSrc": "8267:16:43", + "nodeType": "YulFunctionCall", + "src": "8267:16:43" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "8246:8:43", + "nodeType": "YulIdentifier", + "src": "8246:8:43" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8173:117:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "8211:4:43", + "nodeType": "YulTypedName", + "src": "8211:4:43", + "type": "" + }, + { + "name": "value", + "nativeSrc": "8217:5:43", + "nodeType": "YulTypedName", + "src": "8217:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "8227:8:43", + "nodeType": "YulTypedName", + "src": "8227:8:43", + "type": "" + } + ], + "src": "8173:117:43" + }, + { + "body": { + "nativeSrc": "8347:118:43", + "nodeType": "YulBlock", + "src": "8347:118:43", + "statements": [ + { + "nativeSrc": "8357:68:43", + "nodeType": "YulVariableDeclaration", + "src": "8357:68:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8406:1:43", + "nodeType": "YulLiteral", + "src": "8406:1:43", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "8409:5:43", + "nodeType": "YulIdentifier", + "src": "8409:5:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8402:3:43", + "nodeType": "YulIdentifier", + "src": "8402:3:43" + }, + "nativeSrc": "8402:13:43", + "nodeType": "YulFunctionCall", + "src": "8402:13:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8421:1:43", + "nodeType": "YulLiteral", + "src": "8421:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8417:3:43", + "nodeType": "YulIdentifier", + "src": "8417:3:43" + }, + "nativeSrc": "8417:6:43", + "nodeType": "YulFunctionCall", + "src": "8417:6:43" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "8373:28:43", + "nodeType": "YulIdentifier", + "src": "8373:28:43" + }, + "nativeSrc": "8373:51:43", + "nodeType": "YulFunctionCall", + "src": "8373:51:43" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8369:3:43", + "nodeType": "YulIdentifier", + "src": "8369:3:43" + }, + "nativeSrc": "8369:56:43", + "nodeType": "YulFunctionCall", + "src": "8369:56:43" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "8361:4:43", + "nodeType": "YulTypedName", + "src": "8361:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8434:25:43", + "nodeType": "YulAssignment", + "src": "8434:25:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8448:4:43", + "nodeType": "YulIdentifier", + "src": "8448:4:43" + }, + { + "name": "mask", + "nativeSrc": "8454:4:43", + "nodeType": "YulIdentifier", + "src": "8454:4:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8444:3:43", + "nodeType": "YulIdentifier", + "src": "8444:3:43" + }, + "nativeSrc": "8444:15:43", + "nodeType": "YulFunctionCall", + "src": "8444:15:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "8434:6:43", + "nodeType": "YulIdentifier", + "src": "8434:6:43" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "8296:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8324:4:43", + "nodeType": "YulTypedName", + "src": "8324:4:43", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "8330:5:43", + "nodeType": "YulTypedName", + "src": "8330:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "8340:6:43", + "nodeType": "YulTypedName", + "src": "8340:6:43", + "type": "" + } + ], + "src": "8296:169:43" + }, + { + "body": { + "nativeSrc": "8551:214:43", + "nodeType": "YulBlock", + "src": "8551:214:43", + "statements": [ + { + "nativeSrc": "8684:37:43", + "nodeType": "YulAssignment", + "src": "8684:37:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8711:4:43", + "nodeType": "YulIdentifier", + "src": "8711:4:43" + }, + { + "name": "len", + "nativeSrc": "8717:3:43", + "nodeType": "YulIdentifier", + "src": "8717:3:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "8692:18:43", + "nodeType": "YulIdentifier", + "src": "8692:18:43" + }, + "nativeSrc": "8692:29:43", + "nodeType": "YulFunctionCall", + "src": "8692:29:43" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "8684:4:43", + "nodeType": "YulIdentifier", + "src": "8684:4:43" + } + ] + }, + { + "nativeSrc": "8730:29:43", + "nodeType": "YulAssignment", + "src": "8730:29:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "8741:4:43", + "nodeType": "YulIdentifier", + "src": "8741:4:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8751:1:43", + "nodeType": "YulLiteral", + "src": "8751:1:43", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "8754:3:43", + "nodeType": "YulIdentifier", + "src": "8754:3:43" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8747:3:43", + "nodeType": "YulIdentifier", + "src": "8747:3:43" + }, + "nativeSrc": "8747:11:43", + "nodeType": "YulFunctionCall", + "src": "8747:11:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "8738:2:43", + "nodeType": "YulIdentifier", + "src": "8738:2:43" + }, + "nativeSrc": "8738:21:43", + "nodeType": "YulFunctionCall", + "src": "8738:21:43" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "8730:4:43", + "nodeType": "YulIdentifier", + "src": "8730:4:43" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "8470:295:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "8532:4:43", + "nodeType": "YulTypedName", + "src": "8532:4:43", + "type": "" + }, + { + "name": "len", + "nativeSrc": "8538:3:43", + "nodeType": "YulTypedName", + "src": "8538:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "8546:4:43", + "nodeType": "YulTypedName", + "src": "8546:4:43", + "type": "" + } + ], + "src": "8470:295:43" + }, + { + "body": { + "nativeSrc": "8862:1303:43", + "nodeType": "YulBlock", + "src": "8862:1303:43", + "statements": [ + { + "nativeSrc": "8873:51:43", + "nodeType": "YulVariableDeclaration", + "src": "8873:51:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8920:3:43", + "nodeType": "YulIdentifier", + "src": "8920:3:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "8887:32:43", + "nodeType": "YulIdentifier", + "src": "8887:32:43" + }, + "nativeSrc": "8887:37:43", + "nodeType": "YulFunctionCall", + "src": "8887:37:43" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "8877:6:43", + "nodeType": "YulTypedName", + "src": "8877:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9009:22:43", + "nodeType": "YulBlock", + "src": "9009:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9011:16:43", + "nodeType": "YulIdentifier", + "src": "9011:16:43" + }, + "nativeSrc": "9011:18:43", + "nodeType": "YulFunctionCall", + "src": "9011:18:43" + }, + "nativeSrc": "9011:18:43", + "nodeType": "YulExpressionStatement", + "src": "9011:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8981:6:43", + "nodeType": "YulIdentifier", + "src": "8981:6:43" + }, + { + "kind": "number", + "nativeSrc": "8989:18:43", + "nodeType": "YulLiteral", + "src": "8989:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8978:2:43", + "nodeType": "YulIdentifier", + "src": "8978:2:43" + }, + "nativeSrc": "8978:30:43", + "nodeType": "YulFunctionCall", + "src": "8978:30:43" + }, + "nativeSrc": "8975:56:43", + "nodeType": "YulIf", + "src": "8975:56:43" + }, + { + "nativeSrc": "9041:52:43", + "nodeType": "YulVariableDeclaration", + "src": "9041:52:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9087:4:43", + "nodeType": "YulIdentifier", + "src": "9087:4:43" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "9081:5:43", + "nodeType": "YulIdentifier", + "src": "9081:5:43" + }, + "nativeSrc": "9081:11:43", + "nodeType": "YulFunctionCall", + "src": "9081:11:43" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "9055:25:43", + "nodeType": "YulIdentifier", + "src": "9055:25:43" + }, + "nativeSrc": "9055:38:43", + "nodeType": "YulFunctionCall", + "src": "9055:38:43" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "9045:6:43", + "nodeType": "YulTypedName", + "src": "9045:6:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9186:4:43", + "nodeType": "YulIdentifier", + "src": "9186:4:43" + }, + { + "name": "oldLen", + "nativeSrc": "9192:6:43", + "nodeType": "YulIdentifier", + "src": "9192:6:43" + }, + { + "name": "newLen", + "nativeSrc": "9200:6:43", + "nodeType": "YulIdentifier", + "src": "9200:6:43" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "9140:45:43", + "nodeType": "YulIdentifier", + "src": "9140:45:43" + }, + "nativeSrc": "9140:67:43", + "nodeType": "YulFunctionCall", + "src": "9140:67:43" + }, + "nativeSrc": "9140:67:43", + "nodeType": "YulExpressionStatement", + "src": "9140:67:43" + }, + { + "nativeSrc": "9217:18:43", + "nodeType": "YulVariableDeclaration", + "src": "9217:18:43", + "value": { + "kind": "number", + "nativeSrc": "9234:1:43", + "nodeType": "YulLiteral", + "src": "9234:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "9221:9:43", + "nodeType": "YulTypedName", + "src": "9221:9:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9245:17:43", + "nodeType": "YulAssignment", + "src": "9245:17:43", + "value": { + "kind": "number", + "nativeSrc": "9258:4:43", + "nodeType": "YulLiteral", + "src": "9258:4:43", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9245:9:43", + "nodeType": "YulIdentifier", + "src": "9245:9:43" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "9309:611:43", + "nodeType": "YulBlock", + "src": "9309:611:43", + "statements": [ + { + "nativeSrc": "9323:37:43", + "nodeType": "YulVariableDeclaration", + "src": "9323:37:43", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9342:6:43", + "nodeType": "YulIdentifier", + "src": "9342:6:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9354:4:43", + "nodeType": "YulLiteral", + "src": "9354:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "9350:3:43", + "nodeType": "YulIdentifier", + "src": "9350:3:43" + }, + "nativeSrc": "9350:9:43", + "nodeType": "YulFunctionCall", + "src": "9350:9:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9338:3:43", + "nodeType": "YulIdentifier", + "src": "9338:3:43" + }, + "nativeSrc": "9338:22:43", + "nodeType": "YulFunctionCall", + "src": "9338:22:43" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "9327:7:43", + "nodeType": "YulTypedName", + "src": "9327:7:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9374:51:43", + "nodeType": "YulVariableDeclaration", + "src": "9374:51:43", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9420:4:43", + "nodeType": "YulIdentifier", + "src": "9420:4:43" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "9388:31:43", + "nodeType": "YulIdentifier", + "src": "9388:31:43" + }, + "nativeSrc": "9388:37:43", + "nodeType": "YulFunctionCall", + "src": "9388:37:43" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "9378:6:43", + "nodeType": "YulTypedName", + "src": "9378:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9438:10:43", + "nodeType": "YulVariableDeclaration", + "src": "9438:10:43", + "value": { + "kind": "number", + "nativeSrc": "9447:1:43", + "nodeType": "YulLiteral", + "src": "9447:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "9442:1:43", + "nodeType": "YulTypedName", + "src": "9442:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9506:163:43", + "nodeType": "YulBlock", + "src": "9506:163:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "9531:6:43", + "nodeType": "YulIdentifier", + "src": "9531:6:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9549:3:43", + "nodeType": "YulIdentifier", + "src": "9549:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "9554:9:43", + "nodeType": "YulIdentifier", + "src": "9554:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9545:3:43", + "nodeType": "YulIdentifier", + "src": "9545:3:43" + }, + "nativeSrc": "9545:19:43", + "nodeType": "YulFunctionCall", + "src": "9545:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9539:5:43", + "nodeType": "YulIdentifier", + "src": "9539:5:43" + }, + "nativeSrc": "9539:26:43", + "nodeType": "YulFunctionCall", + "src": "9539:26:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9524:6:43", + "nodeType": "YulIdentifier", + "src": "9524:6:43" + }, + "nativeSrc": "9524:42:43", + "nodeType": "YulFunctionCall", + "src": "9524:42:43" + }, + "nativeSrc": "9524:42:43", + "nodeType": "YulExpressionStatement", + "src": "9524:42:43" + }, + { + "nativeSrc": "9583:24:43", + "nodeType": "YulAssignment", + "src": "9583:24:43", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "9597:6:43", + "nodeType": "YulIdentifier", + "src": "9597:6:43" + }, + { + "kind": "number", + "nativeSrc": "9605:1:43", + "nodeType": "YulLiteral", + "src": "9605:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9593:3:43", + "nodeType": "YulIdentifier", + "src": "9593:3:43" + }, + "nativeSrc": "9593:14:43", + "nodeType": "YulFunctionCall", + "src": "9593:14:43" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "9583:6:43", + "nodeType": "YulIdentifier", + "src": "9583:6:43" + } + ] + }, + { + "nativeSrc": "9624:31:43", + "nodeType": "YulAssignment", + "src": "9624:31:43", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "9641:9:43", + "nodeType": "YulIdentifier", + "src": "9641:9:43" + }, + { + "kind": "number", + "nativeSrc": "9652:2:43", + "nodeType": "YulLiteral", + "src": "9652:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9637:3:43", + "nodeType": "YulIdentifier", + "src": "9637:3:43" + }, + "nativeSrc": "9637:18:43", + "nodeType": "YulFunctionCall", + "src": "9637:18:43" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "9624:9:43", + "nodeType": "YulIdentifier", + "src": "9624:9:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9472:1:43", + "nodeType": "YulIdentifier", + "src": "9472:1:43" + }, + { + "name": "loopEnd", + "nativeSrc": "9475:7:43", + "nodeType": "YulIdentifier", + "src": "9475:7:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9469:2:43", + "nodeType": "YulIdentifier", + "src": "9469:2:43" + }, + "nativeSrc": "9469:14:43", + "nodeType": "YulFunctionCall", + "src": "9469:14:43" + }, + "nativeSrc": "9461:208:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "9484:21:43", + "nodeType": "YulBlock", + "src": "9484:21:43", + "statements": [ + { + "nativeSrc": "9486:17:43", + "nodeType": "YulAssignment", + "src": "9486:17:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9495:1:43", + "nodeType": "YulIdentifier", + "src": "9495:1:43" + }, + { + "kind": "number", + "nativeSrc": "9498:4:43", + "nodeType": "YulLiteral", + "src": "9498:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9491:3:43", + "nodeType": "YulIdentifier", + "src": "9491:3:43" + }, + "nativeSrc": "9491:12:43", + "nodeType": "YulFunctionCall", + "src": "9491:12:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "9486:1:43", + "nodeType": "YulIdentifier", + "src": "9486:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "9465:3:43", + "nodeType": "YulBlock", + "src": "9465:3:43", + "statements": [] + }, + "src": "9461:208:43" + }, + { + "body": { + "nativeSrc": "9705:156:43", + "nodeType": "YulBlock", + "src": "9705:156:43", + "statements": [ + { + "nativeSrc": "9723:43:43", + "nodeType": "YulVariableDeclaration", + "src": "9723:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9750:3:43", + "nodeType": "YulIdentifier", + "src": "9750:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "9755:9:43", + "nodeType": "YulIdentifier", + "src": "9755:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9746:3:43", + "nodeType": "YulIdentifier", + "src": "9746:3:43" + }, + "nativeSrc": "9746:19:43", + "nodeType": "YulFunctionCall", + "src": "9746:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9740:5:43", + "nodeType": "YulIdentifier", + "src": "9740:5:43" + }, + "nativeSrc": "9740:26:43", + "nodeType": "YulFunctionCall", + "src": "9740:26:43" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "9727:9:43", + "nodeType": "YulTypedName", + "src": "9727:9:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "9790:6:43", + "nodeType": "YulIdentifier", + "src": "9790:6:43" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "9817:9:43", + "nodeType": "YulIdentifier", + "src": "9817:9:43" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9832:6:43", + "nodeType": "YulIdentifier", + "src": "9832:6:43" + }, + { + "kind": "number", + "nativeSrc": "9840:4:43", + "nodeType": "YulLiteral", + "src": "9840:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9828:3:43", + "nodeType": "YulIdentifier", + "src": "9828:3:43" + }, + "nativeSrc": "9828:17:43", + "nodeType": "YulFunctionCall", + "src": "9828:17:43" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "9798:18:43", + "nodeType": "YulIdentifier", + "src": "9798:18:43" + }, + "nativeSrc": "9798:48:43", + "nodeType": "YulFunctionCall", + "src": "9798:48:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9783:6:43", + "nodeType": "YulIdentifier", + "src": "9783:6:43" + }, + "nativeSrc": "9783:64:43", + "nodeType": "YulFunctionCall", + "src": "9783:64:43" + }, + "nativeSrc": "9783:64:43", + "nodeType": "YulExpressionStatement", + "src": "9783:64:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "9688:7:43", + "nodeType": "YulIdentifier", + "src": "9688:7:43" + }, + { + "name": "newLen", + "nativeSrc": "9697:6:43", + "nodeType": "YulIdentifier", + "src": "9697:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9685:2:43", + "nodeType": "YulIdentifier", + "src": "9685:2:43" + }, + "nativeSrc": "9685:19:43", + "nodeType": "YulFunctionCall", + "src": "9685:19:43" + }, + "nativeSrc": "9682:179:43", + "nodeType": "YulIf", + "src": "9682:179:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9881:4:43", + "nodeType": "YulIdentifier", + "src": "9881:4:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9895:6:43", + "nodeType": "YulIdentifier", + "src": "9895:6:43" + }, + { + "kind": "number", + "nativeSrc": "9903:1:43", + "nodeType": "YulLiteral", + "src": "9903:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "9891:3:43", + "nodeType": "YulIdentifier", + "src": "9891:3:43" + }, + "nativeSrc": "9891:14:43", + "nodeType": "YulFunctionCall", + "src": "9891:14:43" + }, + { + "kind": "number", + "nativeSrc": "9907:1:43", + "nodeType": "YulLiteral", + "src": "9907:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9887:3:43", + "nodeType": "YulIdentifier", + "src": "9887:3:43" + }, + "nativeSrc": "9887:22:43", + "nodeType": "YulFunctionCall", + "src": "9887:22:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9874:6:43", + "nodeType": "YulIdentifier", + "src": "9874:6:43" + }, + "nativeSrc": "9874:36:43", + "nodeType": "YulFunctionCall", + "src": "9874:36:43" + }, + "nativeSrc": "9874:36:43", + "nodeType": "YulExpressionStatement", + "src": "9874:36:43" + } + ] + }, + "nativeSrc": "9302:618:43", + "nodeType": "YulCase", + "src": "9302:618:43", + "value": { + "kind": "number", + "nativeSrc": "9307:1:43", + "nodeType": "YulLiteral", + "src": "9307:1:43", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "9937:222:43", + "nodeType": "YulBlock", + "src": "9937:222:43", + "statements": [ + { + "nativeSrc": "9951:14:43", + "nodeType": "YulVariableDeclaration", + "src": "9951:14:43", + "value": { + "kind": "number", + "nativeSrc": "9964:1:43", + "nodeType": "YulLiteral", + "src": "9964:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "9955:5:43", + "nodeType": "YulTypedName", + "src": "9955:5:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9988:67:43", + "nodeType": "YulBlock", + "src": "9988:67:43", + "statements": [ + { + "nativeSrc": "10006:35:43", + "nodeType": "YulAssignment", + "src": "10006:35:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10025:3:43", + "nodeType": "YulIdentifier", + "src": "10025:3:43" + }, + { + "name": "srcOffset", + "nativeSrc": "10030:9:43", + "nodeType": "YulIdentifier", + "src": "10030:9:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10021:3:43", + "nodeType": "YulIdentifier", + "src": "10021:3:43" + }, + "nativeSrc": "10021:19:43", + "nodeType": "YulFunctionCall", + "src": "10021:19:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10015:5:43", + "nodeType": "YulIdentifier", + "src": "10015:5:43" + }, + "nativeSrc": "10015:26:43", + "nodeType": "YulFunctionCall", + "src": "10015:26:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10006:5:43", + "nodeType": "YulIdentifier", + "src": "10006:5:43" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "9981:6:43", + "nodeType": "YulIdentifier", + "src": "9981:6:43" + }, + "nativeSrc": "9978:77:43", + "nodeType": "YulIf", + "src": "9978:77:43" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "10075:4:43", + "nodeType": "YulIdentifier", + "src": "10075:4:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10134:5:43", + "nodeType": "YulIdentifier", + "src": "10134:5:43" + }, + { + "name": "newLen", + "nativeSrc": "10141:6:43", + "nodeType": "YulIdentifier", + "src": "10141:6:43" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "10081:52:43", + "nodeType": "YulIdentifier", + "src": "10081:52:43" + }, + "nativeSrc": "10081:67:43", + "nodeType": "YulFunctionCall", + "src": "10081:67:43" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "10068:6:43", + "nodeType": "YulIdentifier", + "src": "10068:6:43" + }, + "nativeSrc": "10068:81:43", + "nodeType": "YulFunctionCall", + "src": "10068:81:43" + }, + "nativeSrc": "10068:81:43", + "nodeType": "YulExpressionStatement", + "src": "10068:81:43" + } + ] + }, + "nativeSrc": "9929:230:43", + "nodeType": "YulCase", + "src": "9929:230:43", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "9282:6:43", + "nodeType": "YulIdentifier", + "src": "9282:6:43" + }, + { + "kind": "number", + "nativeSrc": "9290:2:43", + "nodeType": "YulLiteral", + "src": "9290:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9279:2:43", + "nodeType": "YulIdentifier", + "src": "9279:2:43" + }, + "nativeSrc": "9279:14:43", + "nodeType": "YulFunctionCall", + "src": "9279:14:43" + }, + "nativeSrc": "9272:887:43", + "nodeType": "YulSwitch", + "src": "9272:887:43" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "8770:1395:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "8851:4:43", + "nodeType": "YulTypedName", + "src": "8851:4:43", + "type": "" + }, + { + "name": "src", + "nativeSrc": "8857:3:43", + "nodeType": "YulTypedName", + "src": "8857:3:43", + "type": "" + } + ], + "src": "8770:1395:43" + }, + { + "body": { + "nativeSrc": "10199:152:43", + "nodeType": "YulBlock", + "src": "10199:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10216:1:43", + "nodeType": "YulLiteral", + "src": "10216:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10219:77:43", + "nodeType": "YulLiteral", + "src": "10219:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10209:6:43", + "nodeType": "YulIdentifier", + "src": "10209:6:43" + }, + "nativeSrc": "10209:88:43", + "nodeType": "YulFunctionCall", + "src": "10209:88:43" + }, + "nativeSrc": "10209:88:43", + "nodeType": "YulExpressionStatement", + "src": "10209:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10313:1:43", + "nodeType": "YulLiteral", + "src": "10313:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10316:4:43", + "nodeType": "YulLiteral", + "src": "10316:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10306:6:43", + "nodeType": "YulIdentifier", + "src": "10306:6:43" + }, + "nativeSrc": "10306:15:43", + "nodeType": "YulFunctionCall", + "src": "10306:15:43" + }, + "nativeSrc": "10306:15:43", + "nodeType": "YulExpressionStatement", + "src": "10306:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10337:1:43", + "nodeType": "YulLiteral", + "src": "10337:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10340:4:43", + "nodeType": "YulLiteral", + "src": "10340:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10330:6:43", + "nodeType": "YulIdentifier", + "src": "10330:6:43" + }, + "nativeSrc": "10330:15:43", + "nodeType": "YulFunctionCall", + "src": "10330:15:43" + }, + "nativeSrc": "10330:15:43", + "nodeType": "YulExpressionStatement", + "src": "10330:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "10171:180:43", + "nodeType": "YulFunctionDefinition", + "src": "10171:180:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_addresst_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea26469706673582212200ec67a5ad8db96721af24ba21c8e0d1dce7b73c8acea2e09dcddcc7092a7c0e664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D37 CODESIZE SUB DUP1 PUSH3 0x1D37 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x45F JUMP JUMPDEST DUP5 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 PUSH1 0x6 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x789 JUMP JUMPDEST POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x157 JUMPI PUSH3 0x156 PUSH3 0x870 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP PUSH3 0x89F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x47F JUMPI PUSH3 0x47E PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4AE DUP10 DUP3 DUP11 ADD PUSH3 0x38C JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH3 0x4C1 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH3 0x4D4 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH3 0x4E7 DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH3 0x4FA DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 PUSH3 0x50D DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH3 0x525 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x542 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x51A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5B1 JUMPI PUSH3 0x5B0 PUSH3 0x553 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x61B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5DC JUMP JUMPDEST PUSH3 0x627 DUP7 DUP4 PUSH3 0x5DC JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x66A PUSH3 0x664 PUSH3 0x65E DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x63F JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x686 DUP4 PUSH3 0x649 JUMP JUMPDEST PUSH3 0x69E PUSH3 0x695 DUP3 PUSH3 0x671 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5E9 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6B5 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6C2 DUP2 DUP5 DUP5 PUSH3 0x67B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6EA JUMPI PUSH3 0x6DE PUSH1 0x0 DUP3 PUSH3 0x6AB JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6C8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x739 JUMPI PUSH3 0x703 DUP2 PUSH3 0x5B7 JUMP JUMPDEST PUSH3 0x70E DUP5 PUSH3 0x5CC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x71E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x736 PUSH3 0x72D DUP6 PUSH3 0x5CC JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6C7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x75E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x73E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x779 DUP4 DUP4 PUSH3 0x74B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x794 DUP3 PUSH3 0x548 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7B0 JUMPI PUSH3 0x7AF PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7BC DUP3 SLOAD PUSH3 0x582 JUMP JUMPDEST PUSH3 0x7C9 DUP3 DUP3 DUP6 PUSH3 0x6EE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x801 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7EC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7F8 DUP6 DUP3 PUSH3 0x76B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x868 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x811 DUP7 PUSH3 0x5B7 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x83B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x814 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x85B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x857 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x74B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1488 DUP1 PUSH3 0x8AF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xC6 PUSH27 0x5AD8DB96721AF24BA21C8E0D1DCE7B73C8ACEA2E09DCDDCC7092A7 0xC0 0xE6 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "141:3198:38:-:0;;;654:544;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;872:12;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;920:12:38::1;896:14;;:37;;;;;;;;;;;;;;;;;;958:11;943:12;:26;;;;;;:::i;:::-;;1001:18;979:19;:40;;;;1050:18;1029;:39;;;;1093:11;1078:12;:26;;;;1132:14;1114:15;:32;;;;1171:20;1156:12;;:35;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;654:544:::0;;;;;;141:3198;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:126::-;2714:7;2754:42;2747:5;2743:54;2732:65;;2677:126;;;:::o;2809:96::-;2846:7;2875:24;2893:5;2875:24;:::i;:::-;2864:35;;2809:96;;;:::o;2911:122::-;2984:24;3002:5;2984:24;:::i;:::-;2977:5;2974:35;2964:63;;3023:1;3020;3013:12;2964:63;2911:122;:::o;3039:143::-;3096:5;3127:6;3121:13;3112:22;;3143:33;3170:5;3143:33;:::i;:::-;3039:143;;;;:::o;3188:77::-;3225:7;3254:5;3243:16;;3188:77;;;:::o;3271:122::-;3344:24;3362:5;3344:24;:::i;:::-;3337:5;3334:35;3324:63;;3383:1;3380;3373:12;3324:63;3271:122;:::o;3399:143::-;3456:5;3487:6;3481:13;3472:22;;3503:33;3530:5;3503:33;:::i;:::-;3399:143;;;;:::o;3548:1307::-;3673:6;3681;3689;3697;3705;3713;3762:3;3750:9;3741:7;3737:23;3733:33;3730:120;;;3769:79;;:::i;:::-;3730:120;3910:1;3899:9;3895:17;3889:24;3940:18;3932:6;3929:30;3926:117;;;3962:79;;:::i;:::-;3926:117;4067:74;4133:7;4124:6;4113:9;4109:22;4067:74;:::i;:::-;4057:84;;3860:291;4190:2;4216:64;4272:7;4263:6;4252:9;4248:22;4216:64;:::i;:::-;4206:74;;4161:129;4329:2;4355:64;4411:7;4402:6;4391:9;4387:22;4355:64;:::i;:::-;4345:74;;4300:129;4468:2;4494:64;4550:7;4541:6;4530:9;4526:22;4494:64;:::i;:::-;4484:74;;4439:129;4607:3;4634:64;4690:7;4681:6;4670:9;4666:22;4634:64;:::i;:::-;4624:74;;4578:130;4747:3;4774:64;4830:7;4821:6;4810:9;4806:22;4774:64;:::i;:::-;4764:74;;4718:130;3548:1307;;;;;;;;:::o;4861:118::-;4948:24;4966:5;4948:24;:::i;:::-;4943:3;4936:37;4861:118;;:::o;4985:222::-;5078:4;5116:2;5105:9;5101:18;5093:26;;5129:71;5197:1;5186:9;5182:17;5173:6;5129:71;:::i;:::-;4985:222;;;;:::o;5213:99::-;5265:6;5299:5;5293:12;5283:22;;5213:99;;;:::o;5318:180::-;5366:77;5363:1;5356:88;5463:4;5460:1;5453:15;5487:4;5484:1;5477:15;5504:320;5548:6;5585:1;5579:4;5575:12;5565:22;;5632:1;5626:4;5622:12;5653:18;5643:81;;5709:4;5701:6;5697:17;5687:27;;5643:81;5771:2;5763:6;5760:14;5740:18;5737:38;5734:84;;5790:18;;:::i;:::-;5734:84;5555:269;5504:320;;;:::o;5830:141::-;5879:4;5902:3;5894:11;;5925:3;5922:1;5915:14;5959:4;5956:1;5946:18;5938:26;;5830:141;;;:::o;5977:93::-;6014:6;6061:2;6056;6049:5;6045:14;6041:23;6031:33;;5977:93;;;:::o;6076:107::-;6120:8;6170:5;6164:4;6160:16;6139:37;;6076:107;;;;:::o;6189:393::-;6258:6;6308:1;6296:10;6292:18;6331:97;6361:66;6350:9;6331:97;:::i;:::-;6449:39;6479:8;6468:9;6449:39;:::i;:::-;6437:51;;6521:4;6517:9;6510:5;6506:21;6497:30;;6570:4;6560:8;6556:19;6549:5;6546:30;6536:40;;6265:317;;6189:393;;;;;:::o;6588:60::-;6616:3;6637:5;6630:12;;6588:60;;;:::o;6654:142::-;6704:9;6737:53;6755:34;6764:24;6782:5;6764:24;:::i;:::-;6755:34;:::i;:::-;6737:53;:::i;:::-;6724:66;;6654:142;;;:::o;6802:75::-;6845:3;6866:5;6859:12;;6802:75;;;:::o;6883:269::-;6993:39;7024:7;6993:39;:::i;:::-;7054:91;7103:41;7127:16;7103:41;:::i;:::-;7095:6;7088:4;7082:11;7054:91;:::i;:::-;7048:4;7041:105;6959:193;6883:269;;;:::o;7158:73::-;7203:3;7158:73;:::o;7237:189::-;7314:32;;:::i;:::-;7355:65;7413:6;7405;7399:4;7355:65;:::i;:::-;7290:136;7237:189;;:::o;7432:186::-;7492:120;7509:3;7502:5;7499:14;7492:120;;;7563:39;7600:1;7593:5;7563:39;:::i;:::-;7536:1;7529:5;7525:13;7516:22;;7492:120;;;7432:186;;:::o;7624:543::-;7725:2;7720:3;7717:11;7714:446;;;7759:38;7791:5;7759:38;:::i;:::-;7843:29;7861:10;7843:29;:::i;:::-;7833:8;7829:44;8026:2;8014:10;8011:18;8008:49;;;8047:8;8032:23;;8008:49;8070:80;8126:22;8144:3;8126:22;:::i;:::-;8116:8;8112:37;8099:11;8070:80;:::i;:::-;7729:431;;7714:446;7624:543;;;:::o;8173:117::-;8227:8;8277:5;8271:4;8267:16;8246:37;;8173:117;;;;:::o;8296:169::-;8340:6;8373:51;8421:1;8417:6;8409:5;8406:1;8402:13;8373:51;:::i;:::-;8369:56;8454:4;8448;8444:15;8434:25;;8347:118;8296:169;;;;:::o;8470:295::-;8546:4;8692:29;8717:3;8711:4;8692:29;:::i;:::-;8684:37;;8754:3;8751:1;8747:11;8741:4;8738:21;8730:29;;8470:295;;;;:::o;8770:1395::-;8887:37;8920:3;8887:37;:::i;:::-;8989:18;8981:6;8978:30;8975:56;;;9011:18;;:::i;:::-;8975:56;9055:38;9087:4;9081:11;9055:38;:::i;:::-;9140:67;9200:6;9192;9186:4;9140:67;:::i;:::-;9234:1;9258:4;9245:17;;9290:2;9282:6;9279:14;9307:1;9302:618;;;;9964:1;9981:6;9978:77;;;10030:9;10025:3;10021:19;10015:26;10006:35;;9978:77;10081:67;10141:6;10134:5;10081:67;:::i;:::-;10075:4;10068:81;9937:222;9272:887;;9302:618;9354:4;9350:9;9342:6;9338:22;9388:37;9420:4;9388:37;:::i;:::-;9447:1;9461:208;9475:7;9472:1;9469:14;9461:208;;;9554:9;9549:3;9545:19;9539:26;9531:6;9524:42;9605:1;9597:6;9593:14;9583:24;;9652:2;9641:9;9637:18;9624:31;;9498:4;9495:1;9491:12;9486:17;;9461:208;;;9697:6;9688:7;9685:19;9682:179;;;9755:9;9750:3;9746:19;9740:26;9798:48;9840:4;9832:6;9828:17;9817:9;9798:48;:::i;:::-;9790:6;9783:64;9705:156;9682:179;9907:1;9903;9895:6;9891:14;9887:22;9881:4;9874:36;9309:611;;;9272:887;;8862:1303;;;8770:1395;;:::o;10171:180::-;10219:77;10216:1;10209:88;10316:4;10313:1;10306:15;10340:4;10337:1;10330:15;141:3198:38;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_checkOwner_84": { + "entryPoint": 2449, + "id": 84, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_msgSender_3338": { + "entryPoint": 2780, + "id": 3338, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_transferOwnership_146": { + "entryPoint": 2584, + "id": 146, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@claim_11268": { + "entryPoint": 1470, + "id": 11268, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@getAirdropAmountLeft_11386": { + "entryPoint": 2305, + "id": 11386, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getAirdropInfo_11305": { + "entryPoint": 1043, + "id": 11305, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getBalance_11400": { + "entryPoint": 880, + "id": 11400, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getClaimAmount_11370": { + "entryPoint": 2111, + "id": 11370, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getExpirationDate_11362": { + "entryPoint": 2101, + "id": 11362, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getTotalAirdropAmount_11378": { + "entryPoint": 2091, + "id": 11378, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBalanceToClaim_11321": { + "entryPoint": 712, + "id": 11321, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasBeenTotallyClaimed_11331": { + "entryPoint": 2280, + "id": 11331, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@hasClaimed_11343": { + "entryPoint": 2141, + "id": 11343, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@hasExpired_11354": { + "entryPoint": 2268, + "id": 11354, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@isAllowed_11278": { + "entryPoint": 2294, + "id": 11278, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@owner_67": { + "entryPoint": 2227, + "id": 67, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@renounceOwnership_98": { + "entryPoint": 2121, + "id": 98, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_126": { + "entryPoint": 2315, + "id": 126, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 4218, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 3606, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 3686, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 4284, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 3650, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 3975, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 3888, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr": { + "entryPoint": 3772, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_string_memory_ptr_fromMemory": { + "entryPoint": 4330, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 3996, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address": { + "entryPoint": 3197, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 3933, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 2909, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 3331, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 3090, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4703, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4849, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4557, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack": { + "entryPoint": 4995, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack": { + "entryPoint": 3346, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256": { + "entryPoint": 3212, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 2961, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 3948, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 5062, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 2924, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4738, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4884, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4592, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5030, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed": { + "entryPoint": 3529, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 2976, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 4142, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 3563, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 4169, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 3003, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 3014, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 4499, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 5150, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 3179, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 2897, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$11645": { + "entryPoint": 3294, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 3147, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 2951, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 3313, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 3031, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 4450, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4093, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x11": { + "entryPoint": 5103, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 3227, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 4403, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 4046, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 3676, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 3671, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 3681, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 4041, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 3578, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 3573, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 3073, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e": { + "entryPoint": 4624, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3": { + "entryPoint": 4770, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a": { + "entryPoint": 4516, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880": { + "entryPoint": 4916, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_assert_t_enum$_AirdropType_$11645": { + "entryPoint": 3274, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 3583, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 3627, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:17117:43", + "nodeType": "YulBlock", + "src": "0:17117:43", + "statements": [ + { + "body": { + "nativeSrc": "49:48:43", + "nodeType": "YulBlock", + "src": "49:48:43", + "statements": [ + { + "nativeSrc": "59:32:43", + "nodeType": "YulAssignment", + "src": "59:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "84:5:43", + "nodeType": "YulIdentifier", + "src": "84:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "77:6:43", + "nodeType": "YulIdentifier", + "src": "77:6:43" + }, + "nativeSrc": "77:13:43", + "nodeType": "YulFunctionCall", + "src": "77:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "70:6:43", + "nodeType": "YulIdentifier", + "src": "70:6:43" + }, + "nativeSrc": "70:21:43", + "nodeType": "YulFunctionCall", + "src": "70:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "59:7:43", + "nodeType": "YulIdentifier", + "src": "59:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "7:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "31:5:43", + "nodeType": "YulTypedName", + "src": "31:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "41:7:43", + "nodeType": "YulTypedName", + "src": "41:7:43", + "type": "" + } + ], + "src": "7:90:43" + }, + { + "body": { + "nativeSrc": "162:50:43", + "nodeType": "YulBlock", + "src": "162:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "179:3:43", + "nodeType": "YulIdentifier", + "src": "179:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "199:5:43", + "nodeType": "YulIdentifier", + "src": "199:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "184:14:43", + "nodeType": "YulIdentifier", + "src": "184:14:43" + }, + "nativeSrc": "184:21:43", + "nodeType": "YulFunctionCall", + "src": "184:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "172:6:43", + "nodeType": "YulIdentifier", + "src": "172:6:43" + }, + "nativeSrc": "172:34:43", + "nodeType": "YulFunctionCall", + "src": "172:34:43" + }, + "nativeSrc": "172:34:43", + "nodeType": "YulExpressionStatement", + "src": "172:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "103:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "150:5:43", + "nodeType": "YulTypedName", + "src": "150:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "157:3:43", + "nodeType": "YulTypedName", + "src": "157:3:43", + "type": "" + } + ], + "src": "103:109:43" + }, + { + "body": { + "nativeSrc": "310:118:43", + "nodeType": "YulBlock", + "src": "310:118:43", + "statements": [ + { + "nativeSrc": "320:26:43", + "nodeType": "YulAssignment", + "src": "320:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "332:9:43", + "nodeType": "YulIdentifier", + "src": "332:9:43" + }, + { + "kind": "number", + "nativeSrc": "343:2:43", + "nodeType": "YulLiteral", + "src": "343:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "328:3:43", + "nodeType": "YulIdentifier", + "src": "328:3:43" + }, + "nativeSrc": "328:18:43", + "nodeType": "YulFunctionCall", + "src": "328:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "320:4:43", + "nodeType": "YulIdentifier", + "src": "320:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "394:6:43", + "nodeType": "YulIdentifier", + "src": "394:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "407:9:43", + "nodeType": "YulIdentifier", + "src": "407:9:43" + }, + { + "kind": "number", + "nativeSrc": "418:1:43", + "nodeType": "YulLiteral", + "src": "418:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "403:3:43", + "nodeType": "YulIdentifier", + "src": "403:3:43" + }, + "nativeSrc": "403:17:43", + "nodeType": "YulFunctionCall", + "src": "403:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "356:37:43", + "nodeType": "YulIdentifier", + "src": "356:37:43" + }, + "nativeSrc": "356:65:43", + "nodeType": "YulFunctionCall", + "src": "356:65:43" + }, + "nativeSrc": "356:65:43", + "nodeType": "YulExpressionStatement", + "src": "356:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "218:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "282:9:43", + "nodeType": "YulTypedName", + "src": "282:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "294:6:43", + "nodeType": "YulTypedName", + "src": "294:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "305:4:43", + "nodeType": "YulTypedName", + "src": "305:4:43", + "type": "" + } + ], + "src": "218:210:43" + }, + { + "body": { + "nativeSrc": "479:32:43", + "nodeType": "YulBlock", + "src": "479:32:43", + "statements": [ + { + "nativeSrc": "489:16:43", + "nodeType": "YulAssignment", + "src": "489:16:43", + "value": { + "name": "value", + "nativeSrc": "500:5:43", + "nodeType": "YulIdentifier", + "src": "500:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "489:7:43", + "nodeType": "YulIdentifier", + "src": "489:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "434:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "461:5:43", + "nodeType": "YulTypedName", + "src": "461:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "471:7:43", + "nodeType": "YulTypedName", + "src": "471:7:43", + "type": "" + } + ], + "src": "434:77:43" + }, + { + "body": { + "nativeSrc": "582:53:43", + "nodeType": "YulBlock", + "src": "582:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "599:3:43", + "nodeType": "YulIdentifier", + "src": "599:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "622:5:43", + "nodeType": "YulIdentifier", + "src": "622:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "604:17:43", + "nodeType": "YulIdentifier", + "src": "604:17:43" + }, + "nativeSrc": "604:24:43", + "nodeType": "YulFunctionCall", + "src": "604:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "592:6:43", + "nodeType": "YulIdentifier", + "src": "592:6:43" + }, + "nativeSrc": "592:37:43", + "nodeType": "YulFunctionCall", + "src": "592:37:43" + }, + "nativeSrc": "592:37:43", + "nodeType": "YulExpressionStatement", + "src": "592:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "517:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "570:5:43", + "nodeType": "YulTypedName", + "src": "570:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "577:3:43", + "nodeType": "YulTypedName", + "src": "577:3:43", + "type": "" + } + ], + "src": "517:118:43" + }, + { + "body": { + "nativeSrc": "739:124:43", + "nodeType": "YulBlock", + "src": "739:124:43", + "statements": [ + { + "nativeSrc": "749:26:43", + "nodeType": "YulAssignment", + "src": "749:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "761:9:43", + "nodeType": "YulIdentifier", + "src": "761:9:43" + }, + { + "kind": "number", + "nativeSrc": "772:2:43", + "nodeType": "YulLiteral", + "src": "772:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "757:3:43", + "nodeType": "YulIdentifier", + "src": "757:3:43" + }, + "nativeSrc": "757:18:43", + "nodeType": "YulFunctionCall", + "src": "757:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "749:4:43", + "nodeType": "YulIdentifier", + "src": "749:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "829:6:43", + "nodeType": "YulIdentifier", + "src": "829:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "842:9:43", + "nodeType": "YulIdentifier", + "src": "842:9:43" + }, + { + "kind": "number", + "nativeSrc": "853:1:43", + "nodeType": "YulLiteral", + "src": "853:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "838:3:43", + "nodeType": "YulIdentifier", + "src": "838:3:43" + }, + "nativeSrc": "838:17:43", + "nodeType": "YulFunctionCall", + "src": "838:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "785:43:43", + "nodeType": "YulIdentifier", + "src": "785:43:43" + }, + "nativeSrc": "785:71:43", + "nodeType": "YulFunctionCall", + "src": "785:71:43" + }, + "nativeSrc": "785:71:43", + "nodeType": "YulExpressionStatement", + "src": "785:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "641:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "711:9:43", + "nodeType": "YulTypedName", + "src": "711:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "723:6:43", + "nodeType": "YulTypedName", + "src": "723:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "734:4:43", + "nodeType": "YulTypedName", + "src": "734:4:43", + "type": "" + } + ], + "src": "641:222:43" + }, + { + "body": { + "nativeSrc": "928:40:43", + "nodeType": "YulBlock", + "src": "928:40:43", + "statements": [ + { + "nativeSrc": "939:22:43", + "nodeType": "YulAssignment", + "src": "939:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "955:5:43", + "nodeType": "YulIdentifier", + "src": "955:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "949:5:43", + "nodeType": "YulIdentifier", + "src": "949:5:43" + }, + "nativeSrc": "949:12:43", + "nodeType": "YulFunctionCall", + "src": "949:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "939:6:43", + "nodeType": "YulIdentifier", + "src": "939:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "869:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "911:5:43", + "nodeType": "YulTypedName", + "src": "911:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "921:6:43", + "nodeType": "YulTypedName", + "src": "921:6:43", + "type": "" + } + ], + "src": "869:99:43" + }, + { + "body": { + "nativeSrc": "1060:73:43", + "nodeType": "YulBlock", + "src": "1060:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1077:3:43", + "nodeType": "YulIdentifier", + "src": "1077:3:43" + }, + { + "name": "length", + "nativeSrc": "1082:6:43", + "nodeType": "YulIdentifier", + "src": "1082:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1070:6:43", + "nodeType": "YulIdentifier", + "src": "1070:6:43" + }, + "nativeSrc": "1070:19:43", + "nodeType": "YulFunctionCall", + "src": "1070:19:43" + }, + "nativeSrc": "1070:19:43", + "nodeType": "YulExpressionStatement", + "src": "1070:19:43" + }, + { + "nativeSrc": "1098:29:43", + "nodeType": "YulAssignment", + "src": "1098:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1117:3:43", + "nodeType": "YulIdentifier", + "src": "1117:3:43" + }, + { + "kind": "number", + "nativeSrc": "1122:4:43", + "nodeType": "YulLiteral", + "src": "1122:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1113:3:43", + "nodeType": "YulIdentifier", + "src": "1113:3:43" + }, + "nativeSrc": "1113:14:43", + "nodeType": "YulFunctionCall", + "src": "1113:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "1098:11:43", + "nodeType": "YulIdentifier", + "src": "1098:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "974:159:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "1032:3:43", + "nodeType": "YulTypedName", + "src": "1032:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1037:6:43", + "nodeType": "YulTypedName", + "src": "1037:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "1048:11:43", + "nodeType": "YulTypedName", + "src": "1048:11:43", + "type": "" + } + ], + "src": "974:159:43" + }, + { + "body": { + "nativeSrc": "1201:184:43", + "nodeType": "YulBlock", + "src": "1201:184:43", + "statements": [ + { + "nativeSrc": "1211:10:43", + "nodeType": "YulVariableDeclaration", + "src": "1211:10:43", + "value": { + "kind": "number", + "nativeSrc": "1220:1:43", + "nodeType": "YulLiteral", + "src": "1220:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1215:1:43", + "nodeType": "YulTypedName", + "src": "1215:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1280:63:43", + "nodeType": "YulBlock", + "src": "1280:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1305:3:43", + "nodeType": "YulIdentifier", + "src": "1305:3:43" + }, + { + "name": "i", + "nativeSrc": "1310:1:43", + "nodeType": "YulIdentifier", + "src": "1310:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1301:3:43", + "nodeType": "YulIdentifier", + "src": "1301:3:43" + }, + "nativeSrc": "1301:11:43", + "nodeType": "YulFunctionCall", + "src": "1301:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1324:3:43", + "nodeType": "YulIdentifier", + "src": "1324:3:43" + }, + { + "name": "i", + "nativeSrc": "1329:1:43", + "nodeType": "YulIdentifier", + "src": "1329:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1320:3:43", + "nodeType": "YulIdentifier", + "src": "1320:3:43" + }, + "nativeSrc": "1320:11:43", + "nodeType": "YulFunctionCall", + "src": "1320:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1314:5:43", + "nodeType": "YulIdentifier", + "src": "1314:5:43" + }, + "nativeSrc": "1314:18:43", + "nodeType": "YulFunctionCall", + "src": "1314:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1294:6:43", + "nodeType": "YulIdentifier", + "src": "1294:6:43" + }, + "nativeSrc": "1294:39:43", + "nodeType": "YulFunctionCall", + "src": "1294:39:43" + }, + "nativeSrc": "1294:39:43", + "nodeType": "YulExpressionStatement", + "src": "1294:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1241:1:43", + "nodeType": "YulIdentifier", + "src": "1241:1:43" + }, + { + "name": "length", + "nativeSrc": "1244:6:43", + "nodeType": "YulIdentifier", + "src": "1244:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1238:2:43", + "nodeType": "YulIdentifier", + "src": "1238:2:43" + }, + "nativeSrc": "1238:13:43", + "nodeType": "YulFunctionCall", + "src": "1238:13:43" + }, + "nativeSrc": "1230:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1252:19:43", + "nodeType": "YulBlock", + "src": "1252:19:43", + "statements": [ + { + "nativeSrc": "1254:15:43", + "nodeType": "YulAssignment", + "src": "1254:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1263:1:43", + "nodeType": "YulIdentifier", + "src": "1263:1:43" + }, + { + "kind": "number", + "nativeSrc": "1266:2:43", + "nodeType": "YulLiteral", + "src": "1266:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1259:3:43", + "nodeType": "YulIdentifier", + "src": "1259:3:43" + }, + "nativeSrc": "1259:10:43", + "nodeType": "YulFunctionCall", + "src": "1259:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1254:1:43", + "nodeType": "YulIdentifier", + "src": "1254:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1234:3:43", + "nodeType": "YulBlock", + "src": "1234:3:43", + "statements": [] + }, + "src": "1230:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1363:3:43", + "nodeType": "YulIdentifier", + "src": "1363:3:43" + }, + { + "name": "length", + "nativeSrc": "1368:6:43", + "nodeType": "YulIdentifier", + "src": "1368:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1359:3:43", + "nodeType": "YulIdentifier", + "src": "1359:3:43" + }, + "nativeSrc": "1359:16:43", + "nodeType": "YulFunctionCall", + "src": "1359:16:43" + }, + { + "kind": "number", + "nativeSrc": "1377:1:43", + "nodeType": "YulLiteral", + "src": "1377:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1352:6:43", + "nodeType": "YulIdentifier", + "src": "1352:6:43" + }, + "nativeSrc": "1352:27:43", + "nodeType": "YulFunctionCall", + "src": "1352:27:43" + }, + "nativeSrc": "1352:27:43", + "nodeType": "YulExpressionStatement", + "src": "1352:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1139:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1183:3:43", + "nodeType": "YulTypedName", + "src": "1183:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1188:3:43", + "nodeType": "YulTypedName", + "src": "1188:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1193:6:43", + "nodeType": "YulTypedName", + "src": "1193:6:43", + "type": "" + } + ], + "src": "1139:246:43" + }, + { + "body": { + "nativeSrc": "1439:54:43", + "nodeType": "YulBlock", + "src": "1439:54:43", + "statements": [ + { + "nativeSrc": "1449:38:43", + "nodeType": "YulAssignment", + "src": "1449:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1467:5:43", + "nodeType": "YulIdentifier", + "src": "1467:5:43" + }, + { + "kind": "number", + "nativeSrc": "1474:2:43", + "nodeType": "YulLiteral", + "src": "1474:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1463:3:43", + "nodeType": "YulIdentifier", + "src": "1463:3:43" + }, + "nativeSrc": "1463:14:43", + "nodeType": "YulFunctionCall", + "src": "1463:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1483:2:43", + "nodeType": "YulLiteral", + "src": "1483:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1479:3:43", + "nodeType": "YulIdentifier", + "src": "1479:3:43" + }, + "nativeSrc": "1479:7:43", + "nodeType": "YulFunctionCall", + "src": "1479:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1459:3:43", + "nodeType": "YulIdentifier", + "src": "1459:3:43" + }, + "nativeSrc": "1459:28:43", + "nodeType": "YulFunctionCall", + "src": "1459:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1449:6:43", + "nodeType": "YulIdentifier", + "src": "1449:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "1391:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1422:5:43", + "nodeType": "YulTypedName", + "src": "1422:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1432:6:43", + "nodeType": "YulTypedName", + "src": "1432:6:43", + "type": "" + } + ], + "src": "1391:102:43" + }, + { + "body": { + "nativeSrc": "1581:275:43", + "nodeType": "YulBlock", + "src": "1581:275:43", + "statements": [ + { + "nativeSrc": "1591:53:43", + "nodeType": "YulVariableDeclaration", + "src": "1591:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1638:5:43", + "nodeType": "YulIdentifier", + "src": "1638:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1605:32:43", + "nodeType": "YulIdentifier", + "src": "1605:32:43" + }, + "nativeSrc": "1605:39:43", + "nodeType": "YulFunctionCall", + "src": "1605:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "1595:6:43", + "nodeType": "YulTypedName", + "src": "1595:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1653:68:43", + "nodeType": "YulAssignment", + "src": "1653:68:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1709:3:43", + "nodeType": "YulIdentifier", + "src": "1709:3:43" + }, + { + "name": "length", + "nativeSrc": "1714:6:43", + "nodeType": "YulIdentifier", + "src": "1714:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "1660:48:43", + "nodeType": "YulIdentifier", + "src": "1660:48:43" + }, + "nativeSrc": "1660:61:43", + "nodeType": "YulFunctionCall", + "src": "1660:61:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "1653:3:43", + "nodeType": "YulIdentifier", + "src": "1653:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1769:5:43", + "nodeType": "YulIdentifier", + "src": "1769:5:43" + }, + { + "kind": "number", + "nativeSrc": "1776:4:43", + "nodeType": "YulLiteral", + "src": "1776:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1765:3:43", + "nodeType": "YulIdentifier", + "src": "1765:3:43" + }, + "nativeSrc": "1765:16:43", + "nodeType": "YulFunctionCall", + "src": "1765:16:43" + }, + { + "name": "pos", + "nativeSrc": "1783:3:43", + "nodeType": "YulIdentifier", + "src": "1783:3:43" + }, + { + "name": "length", + "nativeSrc": "1788:6:43", + "nodeType": "YulIdentifier", + "src": "1788:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1730:34:43", + "nodeType": "YulIdentifier", + "src": "1730:34:43" + }, + "nativeSrc": "1730:65:43", + "nodeType": "YulFunctionCall", + "src": "1730:65:43" + }, + "nativeSrc": "1730:65:43", + "nodeType": "YulExpressionStatement", + "src": "1730:65:43" + }, + { + "nativeSrc": "1804:46:43", + "nodeType": "YulAssignment", + "src": "1804:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1815:3:43", + "nodeType": "YulIdentifier", + "src": "1815:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1842:6:43", + "nodeType": "YulIdentifier", + "src": "1842:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1820:21:43", + "nodeType": "YulIdentifier", + "src": "1820:21:43" + }, + "nativeSrc": "1820:29:43", + "nodeType": "YulFunctionCall", + "src": "1820:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1811:3:43", + "nodeType": "YulIdentifier", + "src": "1811:3:43" + }, + "nativeSrc": "1811:39:43", + "nodeType": "YulFunctionCall", + "src": "1811:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "1804:3:43", + "nodeType": "YulIdentifier", + "src": "1804:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "1499:357:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1562:5:43", + "nodeType": "YulTypedName", + "src": "1562:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1569:3:43", + "nodeType": "YulTypedName", + "src": "1569:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "1577:3:43", + "nodeType": "YulTypedName", + "src": "1577:3:43", + "type": "" + } + ], + "src": "1499:357:43" + }, + { + "body": { + "nativeSrc": "1907:81:43", + "nodeType": "YulBlock", + "src": "1907:81:43", + "statements": [ + { + "nativeSrc": "1917:65:43", + "nodeType": "YulAssignment", + "src": "1917:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1932:5:43", + "nodeType": "YulIdentifier", + "src": "1932:5:43" + }, + { + "kind": "number", + "nativeSrc": "1939:42:43", + "nodeType": "YulLiteral", + "src": "1939:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1928:3:43", + "nodeType": "YulIdentifier", + "src": "1928:3:43" + }, + "nativeSrc": "1928:54:43", + "nodeType": "YulFunctionCall", + "src": "1928:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1917:7:43", + "nodeType": "YulIdentifier", + "src": "1917:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1862:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1889:5:43", + "nodeType": "YulTypedName", + "src": "1889:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1899:7:43", + "nodeType": "YulTypedName", + "src": "1899:7:43", + "type": "" + } + ], + "src": "1862:126:43" + }, + { + "body": { + "nativeSrc": "2039:51:43", + "nodeType": "YulBlock", + "src": "2039:51:43", + "statements": [ + { + "nativeSrc": "2049:35:43", + "nodeType": "YulAssignment", + "src": "2049:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2078:5:43", + "nodeType": "YulIdentifier", + "src": "2078:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2060:17:43", + "nodeType": "YulIdentifier", + "src": "2060:17:43" + }, + "nativeSrc": "2060:24:43", + "nodeType": "YulFunctionCall", + "src": "2060:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2049:7:43", + "nodeType": "YulIdentifier", + "src": "2049:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1994:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2021:5:43", + "nodeType": "YulTypedName", + "src": "2021:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2031:7:43", + "nodeType": "YulTypedName", + "src": "2031:7:43", + "type": "" + } + ], + "src": "1994:96:43" + }, + { + "body": { + "nativeSrc": "2151:53:43", + "nodeType": "YulBlock", + "src": "2151:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2168:3:43", + "nodeType": "YulIdentifier", + "src": "2168:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2191:5:43", + "nodeType": "YulIdentifier", + "src": "2191:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2173:17:43", + "nodeType": "YulIdentifier", + "src": "2173:17:43" + }, + "nativeSrc": "2173:24:43", + "nodeType": "YulFunctionCall", + "src": "2173:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2161:6:43", + "nodeType": "YulIdentifier", + "src": "2161:6:43" + }, + "nativeSrc": "2161:37:43", + "nodeType": "YulFunctionCall", + "src": "2161:37:43" + }, + "nativeSrc": "2161:37:43", + "nodeType": "YulExpressionStatement", + "src": "2161:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "2096:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2139:5:43", + "nodeType": "YulTypedName", + "src": "2139:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2146:3:43", + "nodeType": "YulTypedName", + "src": "2146:3:43", + "type": "" + } + ], + "src": "2096:108:43" + }, + { + "body": { + "nativeSrc": "2265:53:43", + "nodeType": "YulBlock", + "src": "2265:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2282:3:43", + "nodeType": "YulIdentifier", + "src": "2282:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2305:5:43", + "nodeType": "YulIdentifier", + "src": "2305:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2287:17:43", + "nodeType": "YulIdentifier", + "src": "2287:17:43" + }, + "nativeSrc": "2287:24:43", + "nodeType": "YulFunctionCall", + "src": "2287:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2275:6:43", + "nodeType": "YulIdentifier", + "src": "2275:6:43" + }, + "nativeSrc": "2275:37:43", + "nodeType": "YulFunctionCall", + "src": "2275:37:43" + }, + "nativeSrc": "2275:37:43", + "nodeType": "YulExpressionStatement", + "src": "2275:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "2210:108:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2253:5:43", + "nodeType": "YulTypedName", + "src": "2253:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2260:3:43", + "nodeType": "YulTypedName", + "src": "2260:3:43", + "type": "" + } + ], + "src": "2210:108:43" + }, + { + "body": { + "nativeSrc": "2352:152:43", + "nodeType": "YulBlock", + "src": "2352:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2369:1:43", + "nodeType": "YulLiteral", + "src": "2369:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2372:77:43", + "nodeType": "YulLiteral", + "src": "2372:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2362:6:43", + "nodeType": "YulIdentifier", + "src": "2362:6:43" + }, + "nativeSrc": "2362:88:43", + "nodeType": "YulFunctionCall", + "src": "2362:88:43" + }, + "nativeSrc": "2362:88:43", + "nodeType": "YulExpressionStatement", + "src": "2362:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2466:1:43", + "nodeType": "YulLiteral", + "src": "2466:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2469:4:43", + "nodeType": "YulLiteral", + "src": "2469:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2459:6:43", + "nodeType": "YulIdentifier", + "src": "2459:6:43" + }, + "nativeSrc": "2459:15:43", + "nodeType": "YulFunctionCall", + "src": "2459:15:43" + }, + "nativeSrc": "2459:15:43", + "nodeType": "YulExpressionStatement", + "src": "2459:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2490:1:43", + "nodeType": "YulLiteral", + "src": "2490:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2493:4:43", + "nodeType": "YulLiteral", + "src": "2493:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2483:6:43", + "nodeType": "YulIdentifier", + "src": "2483:6:43" + }, + "nativeSrc": "2483:15:43", + "nodeType": "YulFunctionCall", + "src": "2483:15:43" + }, + "nativeSrc": "2483:15:43", + "nodeType": "YulExpressionStatement", + "src": "2483:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "2324:180:43", + "nodeType": "YulFunctionDefinition", + "src": "2324:180:43" + }, + { + "body": { + "nativeSrc": "2570:62:43", + "nodeType": "YulBlock", + "src": "2570:62:43", + "statements": [ + { + "body": { + "nativeSrc": "2604:22:43", + "nodeType": "YulBlock", + "src": "2604:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "2606:16:43", + "nodeType": "YulIdentifier", + "src": "2606:16:43" + }, + "nativeSrc": "2606:18:43", + "nodeType": "YulFunctionCall", + "src": "2606:18:43" + }, + "nativeSrc": "2606:18:43", + "nodeType": "YulExpressionStatement", + "src": "2606:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2593:5:43", + "nodeType": "YulIdentifier", + "src": "2593:5:43" + }, + { + "kind": "number", + "nativeSrc": "2600:1:43", + "nodeType": "YulLiteral", + "src": "2600:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2590:2:43", + "nodeType": "YulIdentifier", + "src": "2590:2:43" + }, + "nativeSrc": "2590:12:43", + "nodeType": "YulFunctionCall", + "src": "2590:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2583:6:43", + "nodeType": "YulIdentifier", + "src": "2583:6:43" + }, + "nativeSrc": "2583:20:43", + "nodeType": "YulFunctionCall", + "src": "2583:20:43" + }, + "nativeSrc": "2580:46:43", + "nodeType": "YulIf", + "src": "2580:46:43" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "2510:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2563:5:43", + "nodeType": "YulTypedName", + "src": "2563:5:43", + "type": "" + } + ], + "src": "2510:122:43" + }, + { + "body": { + "nativeSrc": "2700:83:43", + "nodeType": "YulBlock", + "src": "2700:83:43", + "statements": [ + { + "nativeSrc": "2710:16:43", + "nodeType": "YulAssignment", + "src": "2710:16:43", + "value": { + "name": "value", + "nativeSrc": "2721:5:43", + "nodeType": "YulIdentifier", + "src": "2721:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2710:7:43", + "nodeType": "YulIdentifier", + "src": "2710:7:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2771:5:43", + "nodeType": "YulIdentifier", + "src": "2771:5:43" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "2727:43:43", + "nodeType": "YulIdentifier", + "src": "2727:43:43" + }, + "nativeSrc": "2727:50:43", + "nodeType": "YulFunctionCall", + "src": "2727:50:43" + }, + "nativeSrc": "2727:50:43", + "nodeType": "YulExpressionStatement", + "src": "2727:50:43" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "2638:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2682:5:43", + "nodeType": "YulTypedName", + "src": "2682:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2692:7:43", + "nodeType": "YulTypedName", + "src": "2692:7:43", + "type": "" + } + ], + "src": "2638:145:43" + }, + { + "body": { + "nativeSrc": "2864:70:43", + "nodeType": "YulBlock", + "src": "2864:70:43", + "statements": [ + { + "nativeSrc": "2874:54:43", + "nodeType": "YulAssignment", + "src": "2874:54:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2922:5:43", + "nodeType": "YulIdentifier", + "src": "2922:5:43" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "2887:34:43", + "nodeType": "YulIdentifier", + "src": "2887:34:43" + }, + "nativeSrc": "2887:41:43", + "nodeType": "YulFunctionCall", + "src": "2887:41:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "2874:9:43", + "nodeType": "YulIdentifier", + "src": "2874:9:43" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "2789:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2844:5:43", + "nodeType": "YulTypedName", + "src": "2844:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "2854:9:43", + "nodeType": "YulTypedName", + "src": "2854:9:43", + "type": "" + } + ], + "src": "2789:145:43" + }, + { + "body": { + "nativeSrc": "3010:81:43", + "nodeType": "YulBlock", + "src": "3010:81:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3027:3:43", + "nodeType": "YulIdentifier", + "src": "3027:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3078:5:43", + "nodeType": "YulIdentifier", + "src": "3078:5:43" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "3032:45:43", + "nodeType": "YulIdentifier", + "src": "3032:45:43" + }, + "nativeSrc": "3032:52:43", + "nodeType": "YulFunctionCall", + "src": "3032:52:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3020:6:43", + "nodeType": "YulIdentifier", + "src": "3020:6:43" + }, + "nativeSrc": "3020:65:43", + "nodeType": "YulFunctionCall", + "src": "3020:65:43" + }, + "nativeSrc": "3020:65:43", + "nodeType": "YulExpressionStatement", + "src": "3020:65:43" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "2940:151:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2998:5:43", + "nodeType": "YulTypedName", + "src": "2998:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3005:3:43", + "nodeType": "YulTypedName", + "src": "3005:3:43", + "type": "" + } + ], + "src": "2940:151:43" + }, + { + "body": { + "nativeSrc": "3279:1681:43", + "nodeType": "YulBlock", + "src": "3279:1681:43", + "statements": [ + { + "nativeSrc": "3289:28:43", + "nodeType": "YulVariableDeclaration", + "src": "3289:28:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3305:3:43", + "nodeType": "YulIdentifier", + "src": "3305:3:43" + }, + { + "kind": "number", + "nativeSrc": "3310:6:43", + "nodeType": "YulLiteral", + "src": "3310:6:43", + "type": "", + "value": "0x0100" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3301:3:43", + "nodeType": "YulIdentifier", + "src": "3301:3:43" + }, + "nativeSrc": "3301:16:43", + "nodeType": "YulFunctionCall", + "src": "3301:16:43" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "3293:4:43", + "nodeType": "YulTypedName", + "src": "3293:4:43", + "type": "" + } + ] + }, + { + "nativeSrc": "3327:242:43", + "nodeType": "YulBlock", + "src": "3327:242:43", + "statements": [ + { + "nativeSrc": "3369:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3369:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3399:5:43", + "nodeType": "YulIdentifier", + "src": "3399:5:43" + }, + { + "kind": "number", + "nativeSrc": "3406:4:43", + "nodeType": "YulLiteral", + "src": "3406:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3395:3:43", + "nodeType": "YulIdentifier", + "src": "3395:3:43" + }, + "nativeSrc": "3395:16:43", + "nodeType": "YulFunctionCall", + "src": "3395:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3389:5:43", + "nodeType": "YulIdentifier", + "src": "3389:5:43" + }, + "nativeSrc": "3389:23:43", + "nodeType": "YulFunctionCall", + "src": "3389:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3373:12:43", + "nodeType": "YulTypedName", + "src": "3373:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3437:3:43", + "nodeType": "YulIdentifier", + "src": "3437:3:43" + }, + { + "kind": "number", + "nativeSrc": "3442:4:43", + "nodeType": "YulLiteral", + "src": "3442:4:43", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3433:3:43", + "nodeType": "YulIdentifier", + "src": "3433:3:43" + }, + "nativeSrc": "3433:14:43", + "nodeType": "YulFunctionCall", + "src": "3433:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "3453:4:43", + "nodeType": "YulIdentifier", + "src": "3453:4:43" + }, + { + "name": "pos", + "nativeSrc": "3459:3:43", + "nodeType": "YulIdentifier", + "src": "3459:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3449:3:43", + "nodeType": "YulIdentifier", + "src": "3449:3:43" + }, + "nativeSrc": "3449:14:43", + "nodeType": "YulFunctionCall", + "src": "3449:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3426:6:43", + "nodeType": "YulIdentifier", + "src": "3426:6:43" + }, + "nativeSrc": "3426:38:43", + "nodeType": "YulFunctionCall", + "src": "3426:38:43" + }, + "nativeSrc": "3426:38:43", + "nodeType": "YulExpressionStatement", + "src": "3426:38:43" + }, + { + "nativeSrc": "3477:81:43", + "nodeType": "YulAssignment", + "src": "3477:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3539:12:43", + "nodeType": "YulIdentifier", + "src": "3539:12:43" + }, + { + "name": "tail", + "nativeSrc": "3553:4:43", + "nodeType": "YulIdentifier", + "src": "3553:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "3485:53:43", + "nodeType": "YulIdentifier", + "src": "3485:53:43" + }, + "nativeSrc": "3485:73:43", + "nodeType": "YulFunctionCall", + "src": "3485:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3477:4:43", + "nodeType": "YulIdentifier", + "src": "3477:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "3579:174:43", + "nodeType": "YulBlock", + "src": "3579:174:43", + "statements": [ + { + "nativeSrc": "3624:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3624:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3654:5:43", + "nodeType": "YulIdentifier", + "src": "3654:5:43" + }, + { + "kind": "number", + "nativeSrc": "3661:4:43", + "nodeType": "YulLiteral", + "src": "3661:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3650:3:43", + "nodeType": "YulIdentifier", + "src": "3650:3:43" + }, + "nativeSrc": "3650:16:43", + "nodeType": "YulFunctionCall", + "src": "3650:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3644:5:43", + "nodeType": "YulIdentifier", + "src": "3644:5:43" + }, + "nativeSrc": "3644:23:43", + "nodeType": "YulFunctionCall", + "src": "3644:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3628:12:43", + "nodeType": "YulTypedName", + "src": "3628:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3714:12:43", + "nodeType": "YulIdentifier", + "src": "3714:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3732:3:43", + "nodeType": "YulIdentifier", + "src": "3732:3:43" + }, + { + "kind": "number", + "nativeSrc": "3737:4:43", + "nodeType": "YulLiteral", + "src": "3737:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3728:3:43", + "nodeType": "YulIdentifier", + "src": "3728:3:43" + }, + "nativeSrc": "3728:14:43", + "nodeType": "YulFunctionCall", + "src": "3728:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nativeSrc": "3680:33:43", + "nodeType": "YulIdentifier", + "src": "3680:33:43" + }, + "nativeSrc": "3680:63:43", + "nodeType": "YulFunctionCall", + "src": "3680:63:43" + }, + "nativeSrc": "3680:63:43", + "nodeType": "YulExpressionStatement", + "src": "3680:63:43" + } + ] + }, + { + "nativeSrc": "3763:178:43", + "nodeType": "YulBlock", + "src": "3763:178:43", + "statements": [ + { + "nativeSrc": "3812:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3812:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3842:5:43", + "nodeType": "YulIdentifier", + "src": "3842:5:43" + }, + { + "kind": "number", + "nativeSrc": "3849:4:43", + "nodeType": "YulLiteral", + "src": "3849:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3838:3:43", + "nodeType": "YulIdentifier", + "src": "3838:3:43" + }, + "nativeSrc": "3838:16:43", + "nodeType": "YulFunctionCall", + "src": "3838:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3832:5:43", + "nodeType": "YulIdentifier", + "src": "3832:5:43" + }, + "nativeSrc": "3832:23:43", + "nodeType": "YulFunctionCall", + "src": "3832:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3816:12:43", + "nodeType": "YulTypedName", + "src": "3816:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3902:12:43", + "nodeType": "YulIdentifier", + "src": "3902:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3920:3:43", + "nodeType": "YulIdentifier", + "src": "3920:3:43" + }, + { + "kind": "number", + "nativeSrc": "3925:4:43", + "nodeType": "YulLiteral", + "src": "3925:4:43", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3916:3:43", + "nodeType": "YulIdentifier", + "src": "3916:3:43" + }, + "nativeSrc": "3916:14:43", + "nodeType": "YulFunctionCall", + "src": "3916:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "3868:33:43", + "nodeType": "YulIdentifier", + "src": "3868:33:43" + }, + "nativeSrc": "3868:63:43", + "nodeType": "YulFunctionCall", + "src": "3868:63:43" + }, + "nativeSrc": "3868:63:43", + "nodeType": "YulExpressionStatement", + "src": "3868:63:43" + } + ] + }, + { + "nativeSrc": "3951:177:43", + "nodeType": "YulBlock", + "src": "3951:177:43", + "statements": [ + { + "nativeSrc": "3999:43:43", + "nodeType": "YulVariableDeclaration", + "src": "3999:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4029:5:43", + "nodeType": "YulIdentifier", + "src": "4029:5:43" + }, + { + "kind": "number", + "nativeSrc": "4036:4:43", + "nodeType": "YulLiteral", + "src": "4036:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4025:3:43", + "nodeType": "YulIdentifier", + "src": "4025:3:43" + }, + "nativeSrc": "4025:16:43", + "nodeType": "YulFunctionCall", + "src": "4025:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4019:5:43", + "nodeType": "YulIdentifier", + "src": "4019:5:43" + }, + "nativeSrc": "4019:23:43", + "nodeType": "YulFunctionCall", + "src": "4019:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4003:12:43", + "nodeType": "YulTypedName", + "src": "4003:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4089:12:43", + "nodeType": "YulIdentifier", + "src": "4089:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4107:3:43", + "nodeType": "YulIdentifier", + "src": "4107:3:43" + }, + { + "kind": "number", + "nativeSrc": "4112:4:43", + "nodeType": "YulLiteral", + "src": "4112:4:43", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4103:3:43", + "nodeType": "YulIdentifier", + "src": "4103:3:43" + }, + "nativeSrc": "4103:14:43", + "nodeType": "YulFunctionCall", + "src": "4103:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4055:33:43", + "nodeType": "YulIdentifier", + "src": "4055:33:43" + }, + "nativeSrc": "4055:63:43", + "nodeType": "YulFunctionCall", + "src": "4055:63:43" + }, + "nativeSrc": "4055:63:43", + "nodeType": "YulExpressionStatement", + "src": "4055:63:43" + } + ] + }, + { + "nativeSrc": "4138:171:43", + "nodeType": "YulBlock", + "src": "4138:171:43", + "statements": [ + { + "nativeSrc": "4180:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4180:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4210:5:43", + "nodeType": "YulIdentifier", + "src": "4210:5:43" + }, + { + "kind": "number", + "nativeSrc": "4217:4:43", + "nodeType": "YulLiteral", + "src": "4217:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4206:3:43", + "nodeType": "YulIdentifier", + "src": "4206:3:43" + }, + "nativeSrc": "4206:16:43", + "nodeType": "YulFunctionCall", + "src": "4206:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4200:5:43", + "nodeType": "YulIdentifier", + "src": "4200:5:43" + }, + "nativeSrc": "4200:23:43", + "nodeType": "YulFunctionCall", + "src": "4200:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4184:12:43", + "nodeType": "YulTypedName", + "src": "4184:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4270:12:43", + "nodeType": "YulIdentifier", + "src": "4270:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4288:3:43", + "nodeType": "YulIdentifier", + "src": "4288:3:43" + }, + { + "kind": "number", + "nativeSrc": "4293:4:43", + "nodeType": "YulLiteral", + "src": "4293:4:43", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4284:3:43", + "nodeType": "YulIdentifier", + "src": "4284:3:43" + }, + "nativeSrc": "4284:14:43", + "nodeType": "YulFunctionCall", + "src": "4284:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4236:33:43", + "nodeType": "YulIdentifier", + "src": "4236:33:43" + }, + "nativeSrc": "4236:63:43", + "nodeType": "YulFunctionCall", + "src": "4236:63:43" + }, + "nativeSrc": "4236:63:43", + "nodeType": "YulExpressionStatement", + "src": "4236:63:43" + } + ] + }, + { + "nativeSrc": "4319:174:43", + "nodeType": "YulBlock", + "src": "4319:174:43", + "statements": [ + { + "nativeSrc": "4364:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4364:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4394:5:43", + "nodeType": "YulIdentifier", + "src": "4394:5:43" + }, + { + "kind": "number", + "nativeSrc": "4401:4:43", + "nodeType": "YulLiteral", + "src": "4401:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4390:3:43", + "nodeType": "YulIdentifier", + "src": "4390:3:43" + }, + "nativeSrc": "4390:16:43", + "nodeType": "YulFunctionCall", + "src": "4390:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4384:5:43", + "nodeType": "YulIdentifier", + "src": "4384:5:43" + }, + "nativeSrc": "4384:23:43", + "nodeType": "YulFunctionCall", + "src": "4384:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4368:12:43", + "nodeType": "YulTypedName", + "src": "4368:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4454:12:43", + "nodeType": "YulIdentifier", + "src": "4454:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4472:3:43", + "nodeType": "YulIdentifier", + "src": "4472:3:43" + }, + { + "kind": "number", + "nativeSrc": "4477:4:43", + "nodeType": "YulLiteral", + "src": "4477:4:43", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4468:3:43", + "nodeType": "YulIdentifier", + "src": "4468:3:43" + }, + "nativeSrc": "4468:14:43", + "nodeType": "YulFunctionCall", + "src": "4468:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nativeSrc": "4420:33:43", + "nodeType": "YulIdentifier", + "src": "4420:33:43" + }, + "nativeSrc": "4420:63:43", + "nodeType": "YulFunctionCall", + "src": "4420:63:43" + }, + "nativeSrc": "4420:63:43", + "nodeType": "YulExpressionStatement", + "src": "4420:63:43" + } + ] + }, + { + "nativeSrc": "4503:186:43", + "nodeType": "YulBlock", + "src": "4503:186:43", + "statements": [ + { + "nativeSrc": "4545:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4545:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4575:5:43", + "nodeType": "YulIdentifier", + "src": "4575:5:43" + }, + { + "kind": "number", + "nativeSrc": "4582:4:43", + "nodeType": "YulLiteral", + "src": "4582:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4571:3:43", + "nodeType": "YulIdentifier", + "src": "4571:3:43" + }, + "nativeSrc": "4571:16:43", + "nodeType": "YulFunctionCall", + "src": "4571:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4565:5:43", + "nodeType": "YulIdentifier", + "src": "4565:5:43" + }, + "nativeSrc": "4565:23:43", + "nodeType": "YulFunctionCall", + "src": "4565:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4549:12:43", + "nodeType": "YulTypedName", + "src": "4549:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4650:12:43", + "nodeType": "YulIdentifier", + "src": "4650:12:43" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4668:3:43", + "nodeType": "YulIdentifier", + "src": "4668:3:43" + }, + { + "kind": "number", + "nativeSrc": "4673:4:43", + "nodeType": "YulLiteral", + "src": "4673:4:43", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4664:3:43", + "nodeType": "YulIdentifier", + "src": "4664:3:43" + }, + "nativeSrc": "4664:14:43", + "nodeType": "YulFunctionCall", + "src": "4664:14:43" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "4601:48:43", + "nodeType": "YulIdentifier", + "src": "4601:48:43" + }, + "nativeSrc": "4601:78:43", + "nodeType": "YulFunctionCall", + "src": "4601:78:43" + }, + "nativeSrc": "4601:78:43", + "nodeType": "YulExpressionStatement", + "src": "4601:78:43" + } + ] + }, + { + "nativeSrc": "4699:234:43", + "nodeType": "YulBlock", + "src": "4699:234:43", + "statements": [ + { + "nativeSrc": "4733:43:43", + "nodeType": "YulVariableDeclaration", + "src": "4733:43:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4763:5:43", + "nodeType": "YulIdentifier", + "src": "4763:5:43" + }, + { + "kind": "number", + "nativeSrc": "4770:4:43", + "nodeType": "YulLiteral", + "src": "4770:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4759:3:43", + "nodeType": "YulIdentifier", + "src": "4759:3:43" + }, + "nativeSrc": "4759:16:43", + "nodeType": "YulFunctionCall", + "src": "4759:16:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4753:5:43", + "nodeType": "YulIdentifier", + "src": "4753:5:43" + }, + "nativeSrc": "4753:23:43", + "nodeType": "YulFunctionCall", + "src": "4753:23:43" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "4737:12:43", + "nodeType": "YulTypedName", + "src": "4737:12:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4801:3:43", + "nodeType": "YulIdentifier", + "src": "4801:3:43" + }, + { + "kind": "number", + "nativeSrc": "4806:4:43", + "nodeType": "YulLiteral", + "src": "4806:4:43", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4797:3:43", + "nodeType": "YulIdentifier", + "src": "4797:3:43" + }, + "nativeSrc": "4797:14:43", + "nodeType": "YulFunctionCall", + "src": "4797:14:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4817:4:43", + "nodeType": "YulIdentifier", + "src": "4817:4:43" + }, + { + "name": "pos", + "nativeSrc": "4823:3:43", + "nodeType": "YulIdentifier", + "src": "4823:3:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4813:3:43", + "nodeType": "YulIdentifier", + "src": "4813:3:43" + }, + "nativeSrc": "4813:14:43", + "nodeType": "YulFunctionCall", + "src": "4813:14:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4790:6:43", + "nodeType": "YulIdentifier", + "src": "4790:6:43" + }, + "nativeSrc": "4790:38:43", + "nodeType": "YulFunctionCall", + "src": "4790:38:43" + }, + "nativeSrc": "4790:38:43", + "nodeType": "YulExpressionStatement", + "src": "4790:38:43" + }, + { + "nativeSrc": "4841:81:43", + "nodeType": "YulAssignment", + "src": "4841:81:43", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "4903:12:43", + "nodeType": "YulIdentifier", + "src": "4903:12:43" + }, + { + "name": "tail", + "nativeSrc": "4917:4:43", + "nodeType": "YulIdentifier", + "src": "4917:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "4849:53:43", + "nodeType": "YulIdentifier", + "src": "4849:53:43" + }, + "nativeSrc": "4849:73:43", + "nodeType": "YulFunctionCall", + "src": "4849:73:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4841:4:43", + "nodeType": "YulIdentifier", + "src": "4841:4:43" + } + ] + } + ] + }, + { + "nativeSrc": "4943:11:43", + "nodeType": "YulAssignment", + "src": "4943:11:43", + "value": { + "name": "tail", + "nativeSrc": "4950:4:43", + "nodeType": "YulIdentifier", + "src": "4950:4:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4943:3:43", + "nodeType": "YulIdentifier", + "src": "4943:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "3145:1815:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3258:5:43", + "nodeType": "YulTypedName", + "src": "3258:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3265:3:43", + "nodeType": "YulTypedName", + "src": "3265:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "3274:3:43", + "nodeType": "YulTypedName", + "src": "3274:3:43", + "type": "" + } + ], + "src": "3145:1815:43" + }, + { + "body": { + "nativeSrc": "5124:235:43", + "nodeType": "YulBlock", + "src": "5124:235:43", + "statements": [ + { + "nativeSrc": "5134:26:43", + "nodeType": "YulAssignment", + "src": "5134:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5146:9:43", + "nodeType": "YulIdentifier", + "src": "5146:9:43" + }, + { + "kind": "number", + "nativeSrc": "5157:2:43", + "nodeType": "YulLiteral", + "src": "5157:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5142:3:43", + "nodeType": "YulIdentifier", + "src": "5142:3:43" + }, + "nativeSrc": "5142:18:43", + "nodeType": "YulFunctionCall", + "src": "5142:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5134:4:43", + "nodeType": "YulIdentifier", + "src": "5134:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5181:9:43", + "nodeType": "YulIdentifier", + "src": "5181:9:43" + }, + { + "kind": "number", + "nativeSrc": "5192:1:43", + "nodeType": "YulLiteral", + "src": "5192:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5177:3:43", + "nodeType": "YulIdentifier", + "src": "5177:3:43" + }, + "nativeSrc": "5177:17:43", + "nodeType": "YulFunctionCall", + "src": "5177:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5200:4:43", + "nodeType": "YulIdentifier", + "src": "5200:4:43" + }, + { + "name": "headStart", + "nativeSrc": "5206:9:43", + "nodeType": "YulIdentifier", + "src": "5206:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5196:3:43", + "nodeType": "YulIdentifier", + "src": "5196:3:43" + }, + "nativeSrc": "5196:20:43", + "nodeType": "YulFunctionCall", + "src": "5196:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5170:6:43", + "nodeType": "YulIdentifier", + "src": "5170:6:43" + }, + "nativeSrc": "5170:47:43", + "nodeType": "YulFunctionCall", + "src": "5170:47:43" + }, + "nativeSrc": "5170:47:43", + "nodeType": "YulExpressionStatement", + "src": "5170:47:43" + }, + { + "nativeSrc": "5226:126:43", + "nodeType": "YulAssignment", + "src": "5226:126:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5338:6:43", + "nodeType": "YulIdentifier", + "src": "5338:6:43" + }, + { + "name": "tail", + "nativeSrc": "5347:4:43", + "nodeType": "YulIdentifier", + "src": "5347:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack", + "nativeSrc": "5234:103:43", + "nodeType": "YulIdentifier", + "src": "5234:103:43" + }, + "nativeSrc": "5234:118:43", + "nodeType": "YulFunctionCall", + "src": "5234:118:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5226:4:43", + "nodeType": "YulIdentifier", + "src": "5226:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed", + "nativeSrc": "4966:393:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5096:9:43", + "nodeType": "YulTypedName", + "src": "5096:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5108:6:43", + "nodeType": "YulTypedName", + "src": "5108:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5119:4:43", + "nodeType": "YulTypedName", + "src": "5119:4:43", + "type": "" + } + ], + "src": "4966:393:43" + }, + { + "body": { + "nativeSrc": "5405:35:43", + "nodeType": "YulBlock", + "src": "5405:35:43", + "statements": [ + { + "nativeSrc": "5415:19:43", + "nodeType": "YulAssignment", + "src": "5415:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5431:2:43", + "nodeType": "YulLiteral", + "src": "5431:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5425:5:43", + "nodeType": "YulIdentifier", + "src": "5425:5:43" + }, + "nativeSrc": "5425:9:43", + "nodeType": "YulFunctionCall", + "src": "5425:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "5415:6:43", + "nodeType": "YulIdentifier", + "src": "5415:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "5365:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "5398:6:43", + "nodeType": "YulTypedName", + "src": "5398:6:43", + "type": "" + } + ], + "src": "5365:75:43" + }, + { + "body": { + "nativeSrc": "5535:28:43", + "nodeType": "YulBlock", + "src": "5535:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5552:1:43", + "nodeType": "YulLiteral", + "src": "5552:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5555:1:43", + "nodeType": "YulLiteral", + "src": "5555:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5545:6:43", + "nodeType": "YulIdentifier", + "src": "5545:6:43" + }, + "nativeSrc": "5545:12:43", + "nodeType": "YulFunctionCall", + "src": "5545:12:43" + }, + "nativeSrc": "5545:12:43", + "nodeType": "YulExpressionStatement", + "src": "5545:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5446:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5446:117:43" + }, + { + "body": { + "nativeSrc": "5658:28:43", + "nodeType": "YulBlock", + "src": "5658:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5675:1:43", + "nodeType": "YulLiteral", + "src": "5675:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5678:1:43", + "nodeType": "YulLiteral", + "src": "5678:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5668:6:43", + "nodeType": "YulIdentifier", + "src": "5668:6:43" + }, + "nativeSrc": "5668:12:43", + "nodeType": "YulFunctionCall", + "src": "5668:12:43" + }, + "nativeSrc": "5668:12:43", + "nodeType": "YulExpressionStatement", + "src": "5668:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5569:117:43", + "nodeType": "YulFunctionDefinition", + "src": "5569:117:43" + }, + { + "body": { + "nativeSrc": "5735:79:43", + "nodeType": "YulBlock", + "src": "5735:79:43", + "statements": [ + { + "body": { + "nativeSrc": "5792:16:43", + "nodeType": "YulBlock", + "src": "5792:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5801:1:43", + "nodeType": "YulLiteral", + "src": "5801:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5804:1:43", + "nodeType": "YulLiteral", + "src": "5804:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5794:6:43", + "nodeType": "YulIdentifier", + "src": "5794:6:43" + }, + "nativeSrc": "5794:12:43", + "nodeType": "YulFunctionCall", + "src": "5794:12:43" + }, + "nativeSrc": "5794:12:43", + "nodeType": "YulExpressionStatement", + "src": "5794:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5758:5:43", + "nodeType": "YulIdentifier", + "src": "5758:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5783:5:43", + "nodeType": "YulIdentifier", + "src": "5783:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "5765:17:43", + "nodeType": "YulIdentifier", + "src": "5765:17:43" + }, + "nativeSrc": "5765:24:43", + "nodeType": "YulFunctionCall", + "src": "5765:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "5755:2:43", + "nodeType": "YulIdentifier", + "src": "5755:2:43" + }, + "nativeSrc": "5755:35:43", + "nodeType": "YulFunctionCall", + "src": "5755:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5748:6:43", + "nodeType": "YulIdentifier", + "src": "5748:6:43" + }, + "nativeSrc": "5748:43:43", + "nodeType": "YulFunctionCall", + "src": "5748:43:43" + }, + "nativeSrc": "5745:63:43", + "nodeType": "YulIf", + "src": "5745:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "5692:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5728:5:43", + "nodeType": "YulTypedName", + "src": "5728:5:43", + "type": "" + } + ], + "src": "5692:122:43" + }, + { + "body": { + "nativeSrc": "5872:87:43", + "nodeType": "YulBlock", + "src": "5872:87:43", + "statements": [ + { + "nativeSrc": "5882:29:43", + "nodeType": "YulAssignment", + "src": "5882:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5904:6:43", + "nodeType": "YulIdentifier", + "src": "5904:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5891:12:43", + "nodeType": "YulIdentifier", + "src": "5891:12:43" + }, + "nativeSrc": "5891:20:43", + "nodeType": "YulFunctionCall", + "src": "5891:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5882:5:43", + "nodeType": "YulIdentifier", + "src": "5882:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5947:5:43", + "nodeType": "YulIdentifier", + "src": "5947:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "5920:26:43", + "nodeType": "YulIdentifier", + "src": "5920:26:43" + }, + "nativeSrc": "5920:33:43", + "nodeType": "YulFunctionCall", + "src": "5920:33:43" + }, + "nativeSrc": "5920:33:43", + "nodeType": "YulExpressionStatement", + "src": "5920:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "5820:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5850:6:43", + "nodeType": "YulTypedName", + "src": "5850:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5858:3:43", + "nodeType": "YulTypedName", + "src": "5858:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "5866:5:43", + "nodeType": "YulTypedName", + "src": "5866:5:43", + "type": "" + } + ], + "src": "5820:139:43" + }, + { + "body": { + "nativeSrc": "6008:79:43", + "nodeType": "YulBlock", + "src": "6008:79:43", + "statements": [ + { + "body": { + "nativeSrc": "6065:16:43", + "nodeType": "YulBlock", + "src": "6065:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6074:1:43", + "nodeType": "YulLiteral", + "src": "6074:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6077:1:43", + "nodeType": "YulLiteral", + "src": "6077:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6067:6:43", + "nodeType": "YulIdentifier", + "src": "6067:6:43" + }, + "nativeSrc": "6067:12:43", + "nodeType": "YulFunctionCall", + "src": "6067:12:43" + }, + "nativeSrc": "6067:12:43", + "nodeType": "YulExpressionStatement", + "src": "6067:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6031:5:43", + "nodeType": "YulIdentifier", + "src": "6031:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6056:5:43", + "nodeType": "YulIdentifier", + "src": "6056:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6038:17:43", + "nodeType": "YulIdentifier", + "src": "6038:17:43" + }, + "nativeSrc": "6038:24:43", + "nodeType": "YulFunctionCall", + "src": "6038:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6028:2:43", + "nodeType": "YulIdentifier", + "src": "6028:2:43" + }, + "nativeSrc": "6028:35:43", + "nodeType": "YulFunctionCall", + "src": "6028:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6021:6:43", + "nodeType": "YulIdentifier", + "src": "6021:6:43" + }, + "nativeSrc": "6021:43:43", + "nodeType": "YulFunctionCall", + "src": "6021:43:43" + }, + "nativeSrc": "6018:63:43", + "nodeType": "YulIf", + "src": "6018:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "5965:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6001:5:43", + "nodeType": "YulTypedName", + "src": "6001:5:43", + "type": "" + } + ], + "src": "5965:122:43" + }, + { + "body": { + "nativeSrc": "6145:87:43", + "nodeType": "YulBlock", + "src": "6145:87:43", + "statements": [ + { + "nativeSrc": "6155:29:43", + "nodeType": "YulAssignment", + "src": "6155:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6177:6:43", + "nodeType": "YulIdentifier", + "src": "6177:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6164:12:43", + "nodeType": "YulIdentifier", + "src": "6164:12:43" + }, + "nativeSrc": "6164:20:43", + "nodeType": "YulFunctionCall", + "src": "6164:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6155:5:43", + "nodeType": "YulIdentifier", + "src": "6155:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6220:5:43", + "nodeType": "YulIdentifier", + "src": "6220:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "6193:26:43", + "nodeType": "YulIdentifier", + "src": "6193:26:43" + }, + "nativeSrc": "6193:33:43", + "nodeType": "YulFunctionCall", + "src": "6193:33:43" + }, + "nativeSrc": "6193:33:43", + "nodeType": "YulExpressionStatement", + "src": "6193:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "6093:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6123:6:43", + "nodeType": "YulTypedName", + "src": "6123:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6131:3:43", + "nodeType": "YulTypedName", + "src": "6131:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "6139:5:43", + "nodeType": "YulTypedName", + "src": "6139:5:43", + "type": "" + } + ], + "src": "6093:139:43" + }, + { + "body": { + "nativeSrc": "6327:28:43", + "nodeType": "YulBlock", + "src": "6327:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6344:1:43", + "nodeType": "YulLiteral", + "src": "6344:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6347:1:43", + "nodeType": "YulLiteral", + "src": "6347:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6337:6:43", + "nodeType": "YulIdentifier", + "src": "6337:6:43" + }, + "nativeSrc": "6337:12:43", + "nodeType": "YulFunctionCall", + "src": "6337:12:43" + }, + "nativeSrc": "6337:12:43", + "nodeType": "YulExpressionStatement", + "src": "6337:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6238:117:43", + "nodeType": "YulFunctionDefinition", + "src": "6238:117:43" + }, + { + "body": { + "nativeSrc": "6450:28:43", + "nodeType": "YulBlock", + "src": "6450:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6467:1:43", + "nodeType": "YulLiteral", + "src": "6467:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6470:1:43", + "nodeType": "YulLiteral", + "src": "6470:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6460:6:43", + "nodeType": "YulIdentifier", + "src": "6460:6:43" + }, + "nativeSrc": "6460:12:43", + "nodeType": "YulFunctionCall", + "src": "6460:12:43" + }, + "nativeSrc": "6460:12:43", + "nodeType": "YulExpressionStatement", + "src": "6460:12:43" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "6361:117:43", + "nodeType": "YulFunctionDefinition", + "src": "6361:117:43" + }, + { + "body": { + "nativeSrc": "6573:28:43", + "nodeType": "YulBlock", + "src": "6573:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6590:1:43", + "nodeType": "YulLiteral", + "src": "6590:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6593:1:43", + "nodeType": "YulLiteral", + "src": "6593:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6583:6:43", + "nodeType": "YulIdentifier", + "src": "6583:6:43" + }, + "nativeSrc": "6583:12:43", + "nodeType": "YulFunctionCall", + "src": "6583:12:43" + }, + "nativeSrc": "6583:12:43", + "nodeType": "YulExpressionStatement", + "src": "6583:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "6484:117:43", + "nodeType": "YulFunctionDefinition", + "src": "6484:117:43" + }, + { + "body": { + "nativeSrc": "6714:478:43", + "nodeType": "YulBlock", + "src": "6714:478:43", + "statements": [ + { + "body": { + "nativeSrc": "6763:83:43", + "nodeType": "YulBlock", + "src": "6763:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6765:77:43", + "nodeType": "YulIdentifier", + "src": "6765:77:43" + }, + "nativeSrc": "6765:79:43", + "nodeType": "YulFunctionCall", + "src": "6765:79:43" + }, + "nativeSrc": "6765:79:43", + "nodeType": "YulExpressionStatement", + "src": "6765:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6742:6:43", + "nodeType": "YulIdentifier", + "src": "6742:6:43" + }, + { + "kind": "number", + "nativeSrc": "6750:4:43", + "nodeType": "YulLiteral", + "src": "6750:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6738:3:43", + "nodeType": "YulIdentifier", + "src": "6738:3:43" + }, + "nativeSrc": "6738:17:43", + "nodeType": "YulFunctionCall", + "src": "6738:17:43" + }, + { + "name": "end", + "nativeSrc": "6757:3:43", + "nodeType": "YulIdentifier", + "src": "6757:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6734:3:43", + "nodeType": "YulIdentifier", + "src": "6734:3:43" + }, + "nativeSrc": "6734:27:43", + "nodeType": "YulFunctionCall", + "src": "6734:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6727:6:43", + "nodeType": "YulIdentifier", + "src": "6727:6:43" + }, + "nativeSrc": "6727:35:43", + "nodeType": "YulFunctionCall", + "src": "6727:35:43" + }, + "nativeSrc": "6724:122:43", + "nodeType": "YulIf", + "src": "6724:122:43" + }, + { + "nativeSrc": "6855:30:43", + "nodeType": "YulAssignment", + "src": "6855:30:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6878:6:43", + "nodeType": "YulIdentifier", + "src": "6878:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6865:12:43", + "nodeType": "YulIdentifier", + "src": "6865:12:43" + }, + "nativeSrc": "6865:20:43", + "nodeType": "YulFunctionCall", + "src": "6865:20:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "6855:6:43", + "nodeType": "YulIdentifier", + "src": "6855:6:43" + } + ] + }, + { + "body": { + "nativeSrc": "6928:83:43", + "nodeType": "YulBlock", + "src": "6928:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "6930:77:43", + "nodeType": "YulIdentifier", + "src": "6930:77:43" + }, + "nativeSrc": "6930:79:43", + "nodeType": "YulFunctionCall", + "src": "6930:79:43" + }, + "nativeSrc": "6930:79:43", + "nodeType": "YulExpressionStatement", + "src": "6930:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "6900:6:43", + "nodeType": "YulIdentifier", + "src": "6900:6:43" + }, + { + "kind": "number", + "nativeSrc": "6908:18:43", + "nodeType": "YulLiteral", + "src": "6908:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6897:2:43", + "nodeType": "YulIdentifier", + "src": "6897:2:43" + }, + "nativeSrc": "6897:30:43", + "nodeType": "YulFunctionCall", + "src": "6897:30:43" + }, + "nativeSrc": "6894:117:43", + "nodeType": "YulIf", + "src": "6894:117:43" + }, + { + "nativeSrc": "7020:29:43", + "nodeType": "YulAssignment", + "src": "7020:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7036:6:43", + "nodeType": "YulIdentifier", + "src": "7036:6:43" + }, + { + "kind": "number", + "nativeSrc": "7044:4:43", + "nodeType": "YulLiteral", + "src": "7044:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7032:3:43", + "nodeType": "YulIdentifier", + "src": "7032:3:43" + }, + "nativeSrc": "7032:17:43", + "nodeType": "YulFunctionCall", + "src": "7032:17:43" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "7020:8:43", + "nodeType": "YulIdentifier", + "src": "7020:8:43" + } + ] + }, + { + "body": { + "nativeSrc": "7103:83:43", + "nodeType": "YulBlock", + "src": "7103:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "7105:77:43", + "nodeType": "YulIdentifier", + "src": "7105:77:43" + }, + "nativeSrc": "7105:79:43", + "nodeType": "YulFunctionCall", + "src": "7105:79:43" + }, + "nativeSrc": "7105:79:43", + "nodeType": "YulExpressionStatement", + "src": "7105:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "7068:8:43", + "nodeType": "YulIdentifier", + "src": "7068:8:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "7082:6:43", + "nodeType": "YulIdentifier", + "src": "7082:6:43" + }, + { + "kind": "number", + "nativeSrc": "7090:4:43", + "nodeType": "YulLiteral", + "src": "7090:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7078:3:43", + "nodeType": "YulIdentifier", + "src": "7078:3:43" + }, + "nativeSrc": "7078:17:43", + "nodeType": "YulFunctionCall", + "src": "7078:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7064:3:43", + "nodeType": "YulIdentifier", + "src": "7064:3:43" + }, + "nativeSrc": "7064:32:43", + "nodeType": "YulFunctionCall", + "src": "7064:32:43" + }, + { + "name": "end", + "nativeSrc": "7098:3:43", + "nodeType": "YulIdentifier", + "src": "7098:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7061:2:43", + "nodeType": "YulIdentifier", + "src": "7061:2:43" + }, + "nativeSrc": "7061:41:43", + "nodeType": "YulFunctionCall", + "src": "7061:41:43" + }, + "nativeSrc": "7058:128:43", + "nodeType": "YulIf", + "src": "7058:128:43" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "6624:568:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6681:6:43", + "nodeType": "YulTypedName", + "src": "6681:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6689:3:43", + "nodeType": "YulTypedName", + "src": "6689:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "6697:8:43", + "nodeType": "YulTypedName", + "src": "6697:8:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6707:6:43", + "nodeType": "YulTypedName", + "src": "6707:6:43", + "type": "" + } + ], + "src": "6624:568:43" + }, + { + "body": { + "nativeSrc": "7333:714:43", + "nodeType": "YulBlock", + "src": "7333:714:43", + "statements": [ + { + "body": { + "nativeSrc": "7379:83:43", + "nodeType": "YulBlock", + "src": "7379:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "7381:77:43", + "nodeType": "YulIdentifier", + "src": "7381:77:43" + }, + "nativeSrc": "7381:79:43", + "nodeType": "YulFunctionCall", + "src": "7381:79:43" + }, + "nativeSrc": "7381:79:43", + "nodeType": "YulExpressionStatement", + "src": "7381:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "7354:7:43", + "nodeType": "YulIdentifier", + "src": "7354:7:43" + }, + { + "name": "headStart", + "nativeSrc": "7363:9:43", + "nodeType": "YulIdentifier", + "src": "7363:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7350:3:43", + "nodeType": "YulIdentifier", + "src": "7350:3:43" + }, + "nativeSrc": "7350:23:43", + "nodeType": "YulFunctionCall", + "src": "7350:23:43" + }, + { + "kind": "number", + "nativeSrc": "7375:2:43", + "nodeType": "YulLiteral", + "src": "7375:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "7346:3:43", + "nodeType": "YulIdentifier", + "src": "7346:3:43" + }, + "nativeSrc": "7346:32:43", + "nodeType": "YulFunctionCall", + "src": "7346:32:43" + }, + "nativeSrc": "7343:119:43", + "nodeType": "YulIf", + "src": "7343:119:43" + }, + { + "nativeSrc": "7472:117:43", + "nodeType": "YulBlock", + "src": "7472:117:43", + "statements": [ + { + "nativeSrc": "7487:15:43", + "nodeType": "YulVariableDeclaration", + "src": "7487:15:43", + "value": { + "kind": "number", + "nativeSrc": "7501:1:43", + "nodeType": "YulLiteral", + "src": "7501:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7491:6:43", + "nodeType": "YulTypedName", + "src": "7491:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7516:63:43", + "nodeType": "YulAssignment", + "src": "7516:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7551:9:43", + "nodeType": "YulIdentifier", + "src": "7551:9:43" + }, + { + "name": "offset", + "nativeSrc": "7562:6:43", + "nodeType": "YulIdentifier", + "src": "7562:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7547:3:43", + "nodeType": "YulIdentifier", + "src": "7547:3:43" + }, + "nativeSrc": "7547:22:43", + "nodeType": "YulFunctionCall", + "src": "7547:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7571:7:43", + "nodeType": "YulIdentifier", + "src": "7571:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "7526:20:43", + "nodeType": "YulIdentifier", + "src": "7526:20:43" + }, + "nativeSrc": "7526:53:43", + "nodeType": "YulFunctionCall", + "src": "7526:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7516:6:43", + "nodeType": "YulIdentifier", + "src": "7516:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "7599:118:43", + "nodeType": "YulBlock", + "src": "7599:118:43", + "statements": [ + { + "nativeSrc": "7614:16:43", + "nodeType": "YulVariableDeclaration", + "src": "7614:16:43", + "value": { + "kind": "number", + "nativeSrc": "7628:2:43", + "nodeType": "YulLiteral", + "src": "7628:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7618:6:43", + "nodeType": "YulTypedName", + "src": "7618:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "7644:63:43", + "nodeType": "YulAssignment", + "src": "7644:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7679:9:43", + "nodeType": "YulIdentifier", + "src": "7679:9:43" + }, + { + "name": "offset", + "nativeSrc": "7690:6:43", + "nodeType": "YulIdentifier", + "src": "7690:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7675:3:43", + "nodeType": "YulIdentifier", + "src": "7675:3:43" + }, + "nativeSrc": "7675:22:43", + "nodeType": "YulFunctionCall", + "src": "7675:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "7699:7:43", + "nodeType": "YulIdentifier", + "src": "7699:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "7654:20:43", + "nodeType": "YulIdentifier", + "src": "7654:20:43" + }, + "nativeSrc": "7654:53:43", + "nodeType": "YulFunctionCall", + "src": "7654:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7644:6:43", + "nodeType": "YulIdentifier", + "src": "7644:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "7727:313:43", + "nodeType": "YulBlock", + "src": "7727:313:43", + "statements": [ + { + "nativeSrc": "7742:46:43", + "nodeType": "YulVariableDeclaration", + "src": "7742:46:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7773:9:43", + "nodeType": "YulIdentifier", + "src": "7773:9:43" + }, + { + "kind": "number", + "nativeSrc": "7784:2:43", + "nodeType": "YulLiteral", + "src": "7784:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7769:3:43", + "nodeType": "YulIdentifier", + "src": "7769:3:43" + }, + "nativeSrc": "7769:18:43", + "nodeType": "YulFunctionCall", + "src": "7769:18:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7756:12:43", + "nodeType": "YulIdentifier", + "src": "7756:12:43" + }, + "nativeSrc": "7756:32:43", + "nodeType": "YulFunctionCall", + "src": "7756:32:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7746:6:43", + "nodeType": "YulTypedName", + "src": "7746:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7835:83:43", + "nodeType": "YulBlock", + "src": "7835:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "7837:77:43", + "nodeType": "YulIdentifier", + "src": "7837:77:43" + }, + "nativeSrc": "7837:79:43", + "nodeType": "YulFunctionCall", + "src": "7837:79:43" + }, + "nativeSrc": "7837:79:43", + "nodeType": "YulExpressionStatement", + "src": "7837:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7807:6:43", + "nodeType": "YulIdentifier", + "src": "7807:6:43" + }, + { + "kind": "number", + "nativeSrc": "7815:18:43", + "nodeType": "YulLiteral", + "src": "7815:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7804:2:43", + "nodeType": "YulIdentifier", + "src": "7804:2:43" + }, + "nativeSrc": "7804:30:43", + "nodeType": "YulFunctionCall", + "src": "7804:30:43" + }, + "nativeSrc": "7801:117:43", + "nodeType": "YulIf", + "src": "7801:117:43" + }, + { + "nativeSrc": "7932:98:43", + "nodeType": "YulAssignment", + "src": "7932:98:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8002:9:43", + "nodeType": "YulIdentifier", + "src": "8002:9:43" + }, + { + "name": "offset", + "nativeSrc": "8013:6:43", + "nodeType": "YulIdentifier", + "src": "8013:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7998:3:43", + "nodeType": "YulIdentifier", + "src": "7998:3:43" + }, + "nativeSrc": "7998:22:43", + "nodeType": "YulFunctionCall", + "src": "7998:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "8022:7:43", + "nodeType": "YulIdentifier", + "src": "8022:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "7950:47:43", + "nodeType": "YulIdentifier", + "src": "7950:47:43" + }, + "nativeSrc": "7950:80:43", + "nodeType": "YulFunctionCall", + "src": "7950:80:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "7932:6:43", + "nodeType": "YulIdentifier", + "src": "7932:6:43" + }, + { + "name": "value3", + "nativeSrc": "7940:6:43", + "nodeType": "YulIdentifier", + "src": "7940:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nativeSrc": "7198:849:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7279:9:43", + "nodeType": "YulTypedName", + "src": "7279:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "7290:7:43", + "nodeType": "YulTypedName", + "src": "7290:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "7302:6:43", + "nodeType": "YulTypedName", + "src": "7302:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7310:6:43", + "nodeType": "YulTypedName", + "src": "7310:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7318:6:43", + "nodeType": "YulTypedName", + "src": "7318:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "7326:6:43", + "nodeType": "YulTypedName", + "src": "7326:6:43", + "type": "" + } + ], + "src": "7198:849:43" + }, + { + "body": { + "nativeSrc": "8119:263:43", + "nodeType": "YulBlock", + "src": "8119:263:43", + "statements": [ + { + "body": { + "nativeSrc": "8165:83:43", + "nodeType": "YulBlock", + "src": "8165:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8167:77:43", + "nodeType": "YulIdentifier", + "src": "8167:77:43" + }, + "nativeSrc": "8167:79:43", + "nodeType": "YulFunctionCall", + "src": "8167:79:43" + }, + "nativeSrc": "8167:79:43", + "nodeType": "YulExpressionStatement", + "src": "8167:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8140:7:43", + "nodeType": "YulIdentifier", + "src": "8140:7:43" + }, + { + "name": "headStart", + "nativeSrc": "8149:9:43", + "nodeType": "YulIdentifier", + "src": "8149:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8136:3:43", + "nodeType": "YulIdentifier", + "src": "8136:3:43" + }, + "nativeSrc": "8136:23:43", + "nodeType": "YulFunctionCall", + "src": "8136:23:43" + }, + { + "kind": "number", + "nativeSrc": "8161:2:43", + "nodeType": "YulLiteral", + "src": "8161:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8132:3:43", + "nodeType": "YulIdentifier", + "src": "8132:3:43" + }, + "nativeSrc": "8132:32:43", + "nodeType": "YulFunctionCall", + "src": "8132:32:43" + }, + "nativeSrc": "8129:119:43", + "nodeType": "YulIf", + "src": "8129:119:43" + }, + { + "nativeSrc": "8258:117:43", + "nodeType": "YulBlock", + "src": "8258:117:43", + "statements": [ + { + "nativeSrc": "8273:15:43", + "nodeType": "YulVariableDeclaration", + "src": "8273:15:43", + "value": { + "kind": "number", + "nativeSrc": "8287:1:43", + "nodeType": "YulLiteral", + "src": "8287:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8277:6:43", + "nodeType": "YulTypedName", + "src": "8277:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "8302:63:43", + "nodeType": "YulAssignment", + "src": "8302:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8337:9:43", + "nodeType": "YulIdentifier", + "src": "8337:9:43" + }, + { + "name": "offset", + "nativeSrc": "8348:6:43", + "nodeType": "YulIdentifier", + "src": "8348:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8333:3:43", + "nodeType": "YulIdentifier", + "src": "8333:3:43" + }, + "nativeSrc": "8333:22:43", + "nodeType": "YulFunctionCall", + "src": "8333:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "8357:7:43", + "nodeType": "YulIdentifier", + "src": "8357:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "8312:20:43", + "nodeType": "YulIdentifier", + "src": "8312:20:43" + }, + "nativeSrc": "8312:53:43", + "nodeType": "YulFunctionCall", + "src": "8312:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8302:6:43", + "nodeType": "YulIdentifier", + "src": "8302:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "8053:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8089:9:43", + "nodeType": "YulTypedName", + "src": "8089:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8100:7:43", + "nodeType": "YulTypedName", + "src": "8100:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8112:6:43", + "nodeType": "YulTypedName", + "src": "8112:6:43", + "type": "" + } + ], + "src": "8053:329:43" + }, + { + "body": { + "nativeSrc": "8453:53:43", + "nodeType": "YulBlock", + "src": "8453:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8470:3:43", + "nodeType": "YulIdentifier", + "src": "8470:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8493:5:43", + "nodeType": "YulIdentifier", + "src": "8493:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "8475:17:43", + "nodeType": "YulIdentifier", + "src": "8475:17:43" + }, + "nativeSrc": "8475:24:43", + "nodeType": "YulFunctionCall", + "src": "8475:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8463:6:43", + "nodeType": "YulIdentifier", + "src": "8463:6:43" + }, + "nativeSrc": "8463:37:43", + "nodeType": "YulFunctionCall", + "src": "8463:37:43" + }, + "nativeSrc": "8463:37:43", + "nodeType": "YulExpressionStatement", + "src": "8463:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8388:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8441:5:43", + "nodeType": "YulTypedName", + "src": "8441:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8448:3:43", + "nodeType": "YulTypedName", + "src": "8448:3:43", + "type": "" + } + ], + "src": "8388:118:43" + }, + { + "body": { + "nativeSrc": "8610:124:43", + "nodeType": "YulBlock", + "src": "8610:124:43", + "statements": [ + { + "nativeSrc": "8620:26:43", + "nodeType": "YulAssignment", + "src": "8620:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8632:9:43", + "nodeType": "YulIdentifier", + "src": "8632:9:43" + }, + { + "kind": "number", + "nativeSrc": "8643:2:43", + "nodeType": "YulLiteral", + "src": "8643:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8628:3:43", + "nodeType": "YulIdentifier", + "src": "8628:3:43" + }, + "nativeSrc": "8628:18:43", + "nodeType": "YulFunctionCall", + "src": "8628:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8620:4:43", + "nodeType": "YulIdentifier", + "src": "8620:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8700:6:43", + "nodeType": "YulIdentifier", + "src": "8700:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8713:9:43", + "nodeType": "YulIdentifier", + "src": "8713:9:43" + }, + { + "kind": "number", + "nativeSrc": "8724:1:43", + "nodeType": "YulLiteral", + "src": "8724:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8709:3:43", + "nodeType": "YulIdentifier", + "src": "8709:3:43" + }, + "nativeSrc": "8709:17:43", + "nodeType": "YulFunctionCall", + "src": "8709:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8656:43:43", + "nodeType": "YulIdentifier", + "src": "8656:43:43" + }, + "nativeSrc": "8656:71:43", + "nodeType": "YulFunctionCall", + "src": "8656:71:43" + }, + "nativeSrc": "8656:71:43", + "nodeType": "YulExpressionStatement", + "src": "8656:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "8512:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8582:9:43", + "nodeType": "YulTypedName", + "src": "8582:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8594:6:43", + "nodeType": "YulTypedName", + "src": "8594:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8605:4:43", + "nodeType": "YulTypedName", + "src": "8605:4:43", + "type": "" + } + ], + "src": "8512:222:43" + }, + { + "body": { + "nativeSrc": "8803:80:43", + "nodeType": "YulBlock", + "src": "8803:80:43", + "statements": [ + { + "nativeSrc": "8813:22:43", + "nodeType": "YulAssignment", + "src": "8813:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8828:6:43", + "nodeType": "YulIdentifier", + "src": "8828:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8822:5:43", + "nodeType": "YulIdentifier", + "src": "8822:5:43" + }, + "nativeSrc": "8822:13:43", + "nodeType": "YulFunctionCall", + "src": "8822:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "8813:5:43", + "nodeType": "YulIdentifier", + "src": "8813:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8871:5:43", + "nodeType": "YulIdentifier", + "src": "8871:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "8844:26:43", + "nodeType": "YulIdentifier", + "src": "8844:26:43" + }, + "nativeSrc": "8844:33:43", + "nodeType": "YulFunctionCall", + "src": "8844:33:43" + }, + "nativeSrc": "8844:33:43", + "nodeType": "YulExpressionStatement", + "src": "8844:33:43" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "8740:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8781:6:43", + "nodeType": "YulTypedName", + "src": "8781:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8789:3:43", + "nodeType": "YulTypedName", + "src": "8789:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "8797:5:43", + "nodeType": "YulTypedName", + "src": "8797:5:43", + "type": "" + } + ], + "src": "8740:143:43" + }, + { + "body": { + "nativeSrc": "8966:274:43", + "nodeType": "YulBlock", + "src": "8966:274:43", + "statements": [ + { + "body": { + "nativeSrc": "9012:83:43", + "nodeType": "YulBlock", + "src": "9012:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9014:77:43", + "nodeType": "YulIdentifier", + "src": "9014:77:43" + }, + "nativeSrc": "9014:79:43", + "nodeType": "YulFunctionCall", + "src": "9014:79:43" + }, + "nativeSrc": "9014:79:43", + "nodeType": "YulExpressionStatement", + "src": "9014:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8987:7:43", + "nodeType": "YulIdentifier", + "src": "8987:7:43" + }, + { + "name": "headStart", + "nativeSrc": "8996:9:43", + "nodeType": "YulIdentifier", + "src": "8996:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8983:3:43", + "nodeType": "YulIdentifier", + "src": "8983:3:43" + }, + "nativeSrc": "8983:23:43", + "nodeType": "YulFunctionCall", + "src": "8983:23:43" + }, + { + "kind": "number", + "nativeSrc": "9008:2:43", + "nodeType": "YulLiteral", + "src": "9008:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8979:3:43", + "nodeType": "YulIdentifier", + "src": "8979:3:43" + }, + "nativeSrc": "8979:32:43", + "nodeType": "YulFunctionCall", + "src": "8979:32:43" + }, + "nativeSrc": "8976:119:43", + "nodeType": "YulIf", + "src": "8976:119:43" + }, + { + "nativeSrc": "9105:128:43", + "nodeType": "YulBlock", + "src": "9105:128:43", + "statements": [ + { + "nativeSrc": "9120:15:43", + "nodeType": "YulVariableDeclaration", + "src": "9120:15:43", + "value": { + "kind": "number", + "nativeSrc": "9134:1:43", + "nodeType": "YulLiteral", + "src": "9134:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9124:6:43", + "nodeType": "YulTypedName", + "src": "9124:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "9149:74:43", + "nodeType": "YulAssignment", + "src": "9149:74:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9195:9:43", + "nodeType": "YulIdentifier", + "src": "9195:9:43" + }, + { + "name": "offset", + "nativeSrc": "9206:6:43", + "nodeType": "YulIdentifier", + "src": "9206:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9191:3:43", + "nodeType": "YulIdentifier", + "src": "9191:3:43" + }, + "nativeSrc": "9191:22:43", + "nodeType": "YulFunctionCall", + "src": "9191:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "9215:7:43", + "nodeType": "YulIdentifier", + "src": "9215:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "9159:31:43", + "nodeType": "YulIdentifier", + "src": "9159:31:43" + }, + "nativeSrc": "9159:64:43", + "nodeType": "YulFunctionCall", + "src": "9159:64:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9149:6:43", + "nodeType": "YulIdentifier", + "src": "9149:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "8889:351:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8936:9:43", + "nodeType": "YulTypedName", + "src": "8936:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8947:7:43", + "nodeType": "YulTypedName", + "src": "8947:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8959:6:43", + "nodeType": "YulTypedName", + "src": "8959:6:43", + "type": "" + } + ], + "src": "8889:351:43" + }, + { + "body": { + "nativeSrc": "9335:28:43", + "nodeType": "YulBlock", + "src": "9335:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9352:1:43", + "nodeType": "YulLiteral", + "src": "9352:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9355:1:43", + "nodeType": "YulLiteral", + "src": "9355:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9345:6:43", + "nodeType": "YulIdentifier", + "src": "9345:6:43" + }, + "nativeSrc": "9345:12:43", + "nodeType": "YulFunctionCall", + "src": "9345:12:43" + }, + "nativeSrc": "9345:12:43", + "nodeType": "YulExpressionStatement", + "src": "9345:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "9246:117:43", + "nodeType": "YulFunctionDefinition", + "src": "9246:117:43" + }, + { + "body": { + "nativeSrc": "9397:152:43", + "nodeType": "YulBlock", + "src": "9397:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9414:1:43", + "nodeType": "YulLiteral", + "src": "9414:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9417:77:43", + "nodeType": "YulLiteral", + "src": "9417:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9407:6:43", + "nodeType": "YulIdentifier", + "src": "9407:6:43" + }, + "nativeSrc": "9407:88:43", + "nodeType": "YulFunctionCall", + "src": "9407:88:43" + }, + "nativeSrc": "9407:88:43", + "nodeType": "YulExpressionStatement", + "src": "9407:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9511:1:43", + "nodeType": "YulLiteral", + "src": "9511:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "9514:4:43", + "nodeType": "YulLiteral", + "src": "9514:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9504:6:43", + "nodeType": "YulIdentifier", + "src": "9504:6:43" + }, + "nativeSrc": "9504:15:43", + "nodeType": "YulFunctionCall", + "src": "9504:15:43" + }, + "nativeSrc": "9504:15:43", + "nodeType": "YulExpressionStatement", + "src": "9504:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9535:1:43", + "nodeType": "YulLiteral", + "src": "9535:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9538:4:43", + "nodeType": "YulLiteral", + "src": "9538:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9528:6:43", + "nodeType": "YulIdentifier", + "src": "9528:6:43" + }, + "nativeSrc": "9528:15:43", + "nodeType": "YulFunctionCall", + "src": "9528:15:43" + }, + "nativeSrc": "9528:15:43", + "nodeType": "YulExpressionStatement", + "src": "9528:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "9369:180:43", + "nodeType": "YulFunctionDefinition", + "src": "9369:180:43" + }, + { + "body": { + "nativeSrc": "9598:238:43", + "nodeType": "YulBlock", + "src": "9598:238:43", + "statements": [ + { + "nativeSrc": "9608:58:43", + "nodeType": "YulVariableDeclaration", + "src": "9608:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "9630:6:43", + "nodeType": "YulIdentifier", + "src": "9630:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "9660:4:43", + "nodeType": "YulIdentifier", + "src": "9660:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "9638:21:43", + "nodeType": "YulIdentifier", + "src": "9638:21:43" + }, + "nativeSrc": "9638:27:43", + "nodeType": "YulFunctionCall", + "src": "9638:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9626:3:43", + "nodeType": "YulIdentifier", + "src": "9626:3:43" + }, + "nativeSrc": "9626:40:43", + "nodeType": "YulFunctionCall", + "src": "9626:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "9612:10:43", + "nodeType": "YulTypedName", + "src": "9612:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9777:22:43", + "nodeType": "YulBlock", + "src": "9777:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "9779:16:43", + "nodeType": "YulIdentifier", + "src": "9779:16:43" + }, + "nativeSrc": "9779:18:43", + "nodeType": "YulFunctionCall", + "src": "9779:18:43" + }, + "nativeSrc": "9779:18:43", + "nodeType": "YulExpressionStatement", + "src": "9779:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "9720:10:43", + "nodeType": "YulIdentifier", + "src": "9720:10:43" + }, + { + "kind": "number", + "nativeSrc": "9732:18:43", + "nodeType": "YulLiteral", + "src": "9732:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9717:2:43", + "nodeType": "YulIdentifier", + "src": "9717:2:43" + }, + "nativeSrc": "9717:34:43", + "nodeType": "YulFunctionCall", + "src": "9717:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "9756:10:43", + "nodeType": "YulIdentifier", + "src": "9756:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "9768:6:43", + "nodeType": "YulIdentifier", + "src": "9768:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9753:2:43", + "nodeType": "YulIdentifier", + "src": "9753:2:43" + }, + "nativeSrc": "9753:22:43", + "nodeType": "YulFunctionCall", + "src": "9753:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "9714:2:43", + "nodeType": "YulIdentifier", + "src": "9714:2:43" + }, + "nativeSrc": "9714:62:43", + "nodeType": "YulFunctionCall", + "src": "9714:62:43" + }, + "nativeSrc": "9711:88:43", + "nodeType": "YulIf", + "src": "9711:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9815:2:43", + "nodeType": "YulLiteral", + "src": "9815:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "9819:10:43", + "nodeType": "YulIdentifier", + "src": "9819:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9808:6:43", + "nodeType": "YulIdentifier", + "src": "9808:6:43" + }, + "nativeSrc": "9808:22:43", + "nodeType": "YulFunctionCall", + "src": "9808:22:43" + }, + "nativeSrc": "9808:22:43", + "nodeType": "YulExpressionStatement", + "src": "9808:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "9555:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "9584:6:43", + "nodeType": "YulTypedName", + "src": "9584:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "9592:4:43", + "nodeType": "YulTypedName", + "src": "9592:4:43", + "type": "" + } + ], + "src": "9555:281:43" + }, + { + "body": { + "nativeSrc": "9883:88:43", + "nodeType": "YulBlock", + "src": "9883:88:43", + "statements": [ + { + "nativeSrc": "9893:30:43", + "nodeType": "YulAssignment", + "src": "9893:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "9903:18:43", + "nodeType": "YulIdentifier", + "src": "9903:18:43" + }, + "nativeSrc": "9903:20:43", + "nodeType": "YulFunctionCall", + "src": "9903:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "9893:6:43", + "nodeType": "YulIdentifier", + "src": "9893:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "9952:6:43", + "nodeType": "YulIdentifier", + "src": "9952:6:43" + }, + { + "name": "size", + "nativeSrc": "9960:4:43", + "nodeType": "YulIdentifier", + "src": "9960:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "9932:19:43", + "nodeType": "YulIdentifier", + "src": "9932:19:43" + }, + "nativeSrc": "9932:33:43", + "nodeType": "YulFunctionCall", + "src": "9932:33:43" + }, + "nativeSrc": "9932:33:43", + "nodeType": "YulExpressionStatement", + "src": "9932:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "9842:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "9867:4:43", + "nodeType": "YulTypedName", + "src": "9867:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "9876:6:43", + "nodeType": "YulTypedName", + "src": "9876:6:43", + "type": "" + } + ], + "src": "9842:129:43" + }, + { + "body": { + "nativeSrc": "10044:241:43", + "nodeType": "YulBlock", + "src": "10044:241:43", + "statements": [ + { + "body": { + "nativeSrc": "10149:22:43", + "nodeType": "YulBlock", + "src": "10149:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "10151:16:43", + "nodeType": "YulIdentifier", + "src": "10151:16:43" + }, + "nativeSrc": "10151:18:43", + "nodeType": "YulFunctionCall", + "src": "10151:18:43" + }, + "nativeSrc": "10151:18:43", + "nodeType": "YulExpressionStatement", + "src": "10151:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10121:6:43", + "nodeType": "YulIdentifier", + "src": "10121:6:43" + }, + { + "kind": "number", + "nativeSrc": "10129:18:43", + "nodeType": "YulLiteral", + "src": "10129:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10118:2:43", + "nodeType": "YulIdentifier", + "src": "10118:2:43" + }, + "nativeSrc": "10118:30:43", + "nodeType": "YulFunctionCall", + "src": "10118:30:43" + }, + "nativeSrc": "10115:56:43", + "nodeType": "YulIf", + "src": "10115:56:43" + }, + { + "nativeSrc": "10181:37:43", + "nodeType": "YulAssignment", + "src": "10181:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10211:6:43", + "nodeType": "YulIdentifier", + "src": "10211:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "10189:21:43", + "nodeType": "YulIdentifier", + "src": "10189:21:43" + }, + "nativeSrc": "10189:29:43", + "nodeType": "YulFunctionCall", + "src": "10189:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "10181:4:43", + "nodeType": "YulIdentifier", + "src": "10181:4:43" + } + ] + }, + { + "nativeSrc": "10255:23:43", + "nodeType": "YulAssignment", + "src": "10255:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "10267:4:43", + "nodeType": "YulIdentifier", + "src": "10267:4:43" + }, + { + "kind": "number", + "nativeSrc": "10273:4:43", + "nodeType": "YulLiteral", + "src": "10273:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10263:3:43", + "nodeType": "YulIdentifier", + "src": "10263:3:43" + }, + "nativeSrc": "10263:15:43", + "nodeType": "YulFunctionCall", + "src": "10263:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "10255:4:43", + "nodeType": "YulIdentifier", + "src": "10255:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "9977:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "10028:6:43", + "nodeType": "YulTypedName", + "src": "10028:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "10039:4:43", + "nodeType": "YulTypedName", + "src": "10039:4:43", + "type": "" + } + ], + "src": "9977:308:43" + }, + { + "body": { + "nativeSrc": "10386:339:43", + "nodeType": "YulBlock", + "src": "10386:339:43", + "statements": [ + { + "nativeSrc": "10396:75:43", + "nodeType": "YulAssignment", + "src": "10396:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10463:6:43", + "nodeType": "YulIdentifier", + "src": "10463:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "10421:41:43", + "nodeType": "YulIdentifier", + "src": "10421:41:43" + }, + "nativeSrc": "10421:49:43", + "nodeType": "YulFunctionCall", + "src": "10421:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "10405:15:43", + "nodeType": "YulIdentifier", + "src": "10405:15:43" + }, + "nativeSrc": "10405:66:43", + "nodeType": "YulFunctionCall", + "src": "10405:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "10396:5:43", + "nodeType": "YulIdentifier", + "src": "10396:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "10487:5:43", + "nodeType": "YulIdentifier", + "src": "10487:5:43" + }, + { + "name": "length", + "nativeSrc": "10494:6:43", + "nodeType": "YulIdentifier", + "src": "10494:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10480:6:43", + "nodeType": "YulIdentifier", + "src": "10480:6:43" + }, + "nativeSrc": "10480:21:43", + "nodeType": "YulFunctionCall", + "src": "10480:21:43" + }, + "nativeSrc": "10480:21:43", + "nodeType": "YulExpressionStatement", + "src": "10480:21:43" + }, + { + "nativeSrc": "10510:27:43", + "nodeType": "YulVariableDeclaration", + "src": "10510:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "10525:5:43", + "nodeType": "YulIdentifier", + "src": "10525:5:43" + }, + { + "kind": "number", + "nativeSrc": "10532:4:43", + "nodeType": "YulLiteral", + "src": "10532:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10521:3:43", + "nodeType": "YulIdentifier", + "src": "10521:3:43" + }, + "nativeSrc": "10521:16:43", + "nodeType": "YulFunctionCall", + "src": "10521:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "10514:3:43", + "nodeType": "YulTypedName", + "src": "10514:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10575:83:43", + "nodeType": "YulBlock", + "src": "10575:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "10577:77:43", + "nodeType": "YulIdentifier", + "src": "10577:77:43" + }, + "nativeSrc": "10577:79:43", + "nodeType": "YulFunctionCall", + "src": "10577:79:43" + }, + "nativeSrc": "10577:79:43", + "nodeType": "YulExpressionStatement", + "src": "10577:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10556:3:43", + "nodeType": "YulIdentifier", + "src": "10556:3:43" + }, + { + "name": "length", + "nativeSrc": "10561:6:43", + "nodeType": "YulIdentifier", + "src": "10561:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10552:3:43", + "nodeType": "YulIdentifier", + "src": "10552:3:43" + }, + "nativeSrc": "10552:16:43", + "nodeType": "YulFunctionCall", + "src": "10552:16:43" + }, + { + "name": "end", + "nativeSrc": "10570:3:43", + "nodeType": "YulIdentifier", + "src": "10570:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10549:2:43", + "nodeType": "YulIdentifier", + "src": "10549:2:43" + }, + "nativeSrc": "10549:25:43", + "nodeType": "YulFunctionCall", + "src": "10549:25:43" + }, + "nativeSrc": "10546:112:43", + "nodeType": "YulIf", + "src": "10546:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "10702:3:43", + "nodeType": "YulIdentifier", + "src": "10702:3:43" + }, + { + "name": "dst", + "nativeSrc": "10707:3:43", + "nodeType": "YulIdentifier", + "src": "10707:3:43" + }, + { + "name": "length", + "nativeSrc": "10712:6:43", + "nodeType": "YulIdentifier", + "src": "10712:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10667:34:43", + "nodeType": "YulIdentifier", + "src": "10667:34:43" + }, + "nativeSrc": "10667:52:43", + "nodeType": "YulFunctionCall", + "src": "10667:52:43" + }, + "nativeSrc": "10667:52:43", + "nodeType": "YulExpressionStatement", + "src": "10667:52:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "10291:434:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "10359:3:43", + "nodeType": "YulTypedName", + "src": "10359:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "10364:6:43", + "nodeType": "YulTypedName", + "src": "10364:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "10372:3:43", + "nodeType": "YulTypedName", + "src": "10372:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "10380:5:43", + "nodeType": "YulTypedName", + "src": "10380:5:43", + "type": "" + } + ], + "src": "10291:434:43" + }, + { + "body": { + "nativeSrc": "10818:282:43", + "nodeType": "YulBlock", + "src": "10818:282:43", + "statements": [ + { + "body": { + "nativeSrc": "10867:83:43", + "nodeType": "YulBlock", + "src": "10867:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "10869:77:43", + "nodeType": "YulIdentifier", + "src": "10869:77:43" + }, + "nativeSrc": "10869:79:43", + "nodeType": "YulFunctionCall", + "src": "10869:79:43" + }, + "nativeSrc": "10869:79:43", + "nodeType": "YulExpressionStatement", + "src": "10869:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10846:6:43", + "nodeType": "YulIdentifier", + "src": "10846:6:43" + }, + { + "kind": "number", + "nativeSrc": "10854:4:43", + "nodeType": "YulLiteral", + "src": "10854:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10842:3:43", + "nodeType": "YulIdentifier", + "src": "10842:3:43" + }, + "nativeSrc": "10842:17:43", + "nodeType": "YulFunctionCall", + "src": "10842:17:43" + }, + { + "name": "end", + "nativeSrc": "10861:3:43", + "nodeType": "YulIdentifier", + "src": "10861:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10838:3:43", + "nodeType": "YulIdentifier", + "src": "10838:3:43" + }, + "nativeSrc": "10838:27:43", + "nodeType": "YulFunctionCall", + "src": "10838:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10831:6:43", + "nodeType": "YulIdentifier", + "src": "10831:6:43" + }, + "nativeSrc": "10831:35:43", + "nodeType": "YulFunctionCall", + "src": "10831:35:43" + }, + "nativeSrc": "10828:122:43", + "nodeType": "YulIf", + "src": "10828:122:43" + }, + { + "nativeSrc": "10959:27:43", + "nodeType": "YulVariableDeclaration", + "src": "10959:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10979:6:43", + "nodeType": "YulIdentifier", + "src": "10979:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10973:5:43", + "nodeType": "YulIdentifier", + "src": "10973:5:43" + }, + "nativeSrc": "10973:13:43", + "nodeType": "YulFunctionCall", + "src": "10973:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "10963:6:43", + "nodeType": "YulTypedName", + "src": "10963:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "10995:99:43", + "nodeType": "YulAssignment", + "src": "10995:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11067:6:43", + "nodeType": "YulIdentifier", + "src": "11067:6:43" + }, + { + "kind": "number", + "nativeSrc": "11075:4:43", + "nodeType": "YulLiteral", + "src": "11075:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11063:3:43", + "nodeType": "YulIdentifier", + "src": "11063:3:43" + }, + "nativeSrc": "11063:17:43", + "nodeType": "YulFunctionCall", + "src": "11063:17:43" + }, + { + "name": "length", + "nativeSrc": "11082:6:43", + "nodeType": "YulIdentifier", + "src": "11082:6:43" + }, + { + "name": "end", + "nativeSrc": "11090:3:43", + "nodeType": "YulIdentifier", + "src": "11090:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "11004:58:43", + "nodeType": "YulIdentifier", + "src": "11004:58:43" + }, + "nativeSrc": "11004:90:43", + "nodeType": "YulFunctionCall", + "src": "11004:90:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "10995:5:43", + "nodeType": "YulIdentifier", + "src": "10995:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "10745:355:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "10796:6:43", + "nodeType": "YulTypedName", + "src": "10796:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "10804:3:43", + "nodeType": "YulTypedName", + "src": "10804:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "10812:5:43", + "nodeType": "YulTypedName", + "src": "10812:5:43", + "type": "" + } + ], + "src": "10745:355:43" + }, + { + "body": { + "nativeSrc": "11193:437:43", + "nodeType": "YulBlock", + "src": "11193:437:43", + "statements": [ + { + "body": { + "nativeSrc": "11239:83:43", + "nodeType": "YulBlock", + "src": "11239:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "11241:77:43", + "nodeType": "YulIdentifier", + "src": "11241:77:43" + }, + "nativeSrc": "11241:79:43", + "nodeType": "YulFunctionCall", + "src": "11241:79:43" + }, + "nativeSrc": "11241:79:43", + "nodeType": "YulExpressionStatement", + "src": "11241:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "11214:7:43", + "nodeType": "YulIdentifier", + "src": "11214:7:43" + }, + { + "name": "headStart", + "nativeSrc": "11223:9:43", + "nodeType": "YulIdentifier", + "src": "11223:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11210:3:43", + "nodeType": "YulIdentifier", + "src": "11210:3:43" + }, + "nativeSrc": "11210:23:43", + "nodeType": "YulFunctionCall", + "src": "11210:23:43" + }, + { + "kind": "number", + "nativeSrc": "11235:2:43", + "nodeType": "YulLiteral", + "src": "11235:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "11206:3:43", + "nodeType": "YulIdentifier", + "src": "11206:3:43" + }, + "nativeSrc": "11206:32:43", + "nodeType": "YulFunctionCall", + "src": "11206:32:43" + }, + "nativeSrc": "11203:119:43", + "nodeType": "YulIf", + "src": "11203:119:43" + }, + { + "nativeSrc": "11332:291:43", + "nodeType": "YulBlock", + "src": "11332:291:43", + "statements": [ + { + "nativeSrc": "11347:38:43", + "nodeType": "YulVariableDeclaration", + "src": "11347:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11371:9:43", + "nodeType": "YulIdentifier", + "src": "11371:9:43" + }, + { + "kind": "number", + "nativeSrc": "11382:1:43", + "nodeType": "YulLiteral", + "src": "11382:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11367:3:43", + "nodeType": "YulIdentifier", + "src": "11367:3:43" + }, + "nativeSrc": "11367:17:43", + "nodeType": "YulFunctionCall", + "src": "11367:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "11361:5:43", + "nodeType": "YulIdentifier", + "src": "11361:5:43" + }, + "nativeSrc": "11361:24:43", + "nodeType": "YulFunctionCall", + "src": "11361:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11351:6:43", + "nodeType": "YulTypedName", + "src": "11351:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11432:83:43", + "nodeType": "YulBlock", + "src": "11432:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "11434:77:43", + "nodeType": "YulIdentifier", + "src": "11434:77:43" + }, + "nativeSrc": "11434:79:43", + "nodeType": "YulFunctionCall", + "src": "11434:79:43" + }, + "nativeSrc": "11434:79:43", + "nodeType": "YulExpressionStatement", + "src": "11434:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11404:6:43", + "nodeType": "YulIdentifier", + "src": "11404:6:43" + }, + { + "kind": "number", + "nativeSrc": "11412:18:43", + "nodeType": "YulLiteral", + "src": "11412:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11401:2:43", + "nodeType": "YulIdentifier", + "src": "11401:2:43" + }, + "nativeSrc": "11401:30:43", + "nodeType": "YulFunctionCall", + "src": "11401:30:43" + }, + "nativeSrc": "11398:117:43", + "nodeType": "YulIf", + "src": "11398:117:43" + }, + { + "nativeSrc": "11529:84:43", + "nodeType": "YulAssignment", + "src": "11529:84:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11585:9:43", + "nodeType": "YulIdentifier", + "src": "11585:9:43" + }, + { + "name": "offset", + "nativeSrc": "11596:6:43", + "nodeType": "YulIdentifier", + "src": "11596:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11581:3:43", + "nodeType": "YulIdentifier", + "src": "11581:3:43" + }, + "nativeSrc": "11581:22:43", + "nodeType": "YulFunctionCall", + "src": "11581:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "11605:7:43", + "nodeType": "YulIdentifier", + "src": "11605:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "11539:41:43", + "nodeType": "YulIdentifier", + "src": "11539:41:43" + }, + "nativeSrc": "11539:74:43", + "nodeType": "YulFunctionCall", + "src": "11539:74:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11529:6:43", + "nodeType": "YulIdentifier", + "src": "11529:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", + "nativeSrc": "11106:524:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11163:9:43", + "nodeType": "YulTypedName", + "src": "11163:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "11174:7:43", + "nodeType": "YulTypedName", + "src": "11174:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "11186:6:43", + "nodeType": "YulTypedName", + "src": "11186:6:43", + "type": "" + } + ], + "src": "11106:524:43" + }, + { + "body": { + "nativeSrc": "11664:152:43", + "nodeType": "YulBlock", + "src": "11664:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11681:1:43", + "nodeType": "YulLiteral", + "src": "11681:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11684:77:43", + "nodeType": "YulLiteral", + "src": "11684:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11674:6:43", + "nodeType": "YulIdentifier", + "src": "11674:6:43" + }, + "nativeSrc": "11674:88:43", + "nodeType": "YulFunctionCall", + "src": "11674:88:43" + }, + "nativeSrc": "11674:88:43", + "nodeType": "YulExpressionStatement", + "src": "11674:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11778:1:43", + "nodeType": "YulLiteral", + "src": "11778:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "11781:4:43", + "nodeType": "YulLiteral", + "src": "11781:4:43", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11771:6:43", + "nodeType": "YulIdentifier", + "src": "11771:6:43" + }, + "nativeSrc": "11771:15:43", + "nodeType": "YulFunctionCall", + "src": "11771:15:43" + }, + "nativeSrc": "11771:15:43", + "nodeType": "YulExpressionStatement", + "src": "11771:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11802:1:43", + "nodeType": "YulLiteral", + "src": "11802:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11805:4:43", + "nodeType": "YulLiteral", + "src": "11805:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11795:6:43", + "nodeType": "YulIdentifier", + "src": "11795:6:43" + }, + "nativeSrc": "11795:15:43", + "nodeType": "YulFunctionCall", + "src": "11795:15:43" + }, + "nativeSrc": "11795:15:43", + "nodeType": "YulExpressionStatement", + "src": "11795:15:43" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "11636:180:43", + "nodeType": "YulFunctionDefinition", + "src": "11636:180:43" + }, + { + "body": { + "nativeSrc": "11873:269:43", + "nodeType": "YulBlock", + "src": "11873:269:43", + "statements": [ + { + "nativeSrc": "11883:22:43", + "nodeType": "YulAssignment", + "src": "11883:22:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11897:4:43", + "nodeType": "YulIdentifier", + "src": "11897:4:43" + }, + { + "kind": "number", + "nativeSrc": "11903:1:43", + "nodeType": "YulLiteral", + "src": "11903:1:43", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "11893:3:43", + "nodeType": "YulIdentifier", + "src": "11893:3:43" + }, + "nativeSrc": "11893:12:43", + "nodeType": "YulFunctionCall", + "src": "11893:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "11883:6:43", + "nodeType": "YulIdentifier", + "src": "11883:6:43" + } + ] + }, + { + "nativeSrc": "11914:38:43", + "nodeType": "YulVariableDeclaration", + "src": "11914:38:43", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11944:4:43", + "nodeType": "YulIdentifier", + "src": "11944:4:43" + }, + { + "kind": "number", + "nativeSrc": "11950:1:43", + "nodeType": "YulLiteral", + "src": "11950:1:43", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11940:3:43", + "nodeType": "YulIdentifier", + "src": "11940:3:43" + }, + "nativeSrc": "11940:12:43", + "nodeType": "YulFunctionCall", + "src": "11940:12:43" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11918:18:43", + "nodeType": "YulTypedName", + "src": "11918:18:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11991:51:43", + "nodeType": "YulBlock", + "src": "11991:51:43", + "statements": [ + { + "nativeSrc": "12005:27:43", + "nodeType": "YulAssignment", + "src": "12005:27:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12019:6:43", + "nodeType": "YulIdentifier", + "src": "12019:6:43" + }, + { + "kind": "number", + "nativeSrc": "12027:4:43", + "nodeType": "YulLiteral", + "src": "12027:4:43", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "12015:3:43", + "nodeType": "YulIdentifier", + "src": "12015:3:43" + }, + "nativeSrc": "12015:17:43", + "nodeType": "YulFunctionCall", + "src": "12015:17:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "12005:6:43", + "nodeType": "YulIdentifier", + "src": "12005:6:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11971:18:43", + "nodeType": "YulIdentifier", + "src": "11971:18:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11964:6:43", + "nodeType": "YulIdentifier", + "src": "11964:6:43" + }, + "nativeSrc": "11964:26:43", + "nodeType": "YulFunctionCall", + "src": "11964:26:43" + }, + "nativeSrc": "11961:81:43", + "nodeType": "YulIf", + "src": "11961:81:43" + }, + { + "body": { + "nativeSrc": "12094:42:43", + "nodeType": "YulBlock", + "src": "12094:42:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "12108:16:43", + "nodeType": "YulIdentifier", + "src": "12108:16:43" + }, + "nativeSrc": "12108:18:43", + "nodeType": "YulFunctionCall", + "src": "12108:18:43" + }, + "nativeSrc": "12108:18:43", + "nodeType": "YulExpressionStatement", + "src": "12108:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "12058:18:43", + "nodeType": "YulIdentifier", + "src": "12058:18:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12081:6:43", + "nodeType": "YulIdentifier", + "src": "12081:6:43" + }, + { + "kind": "number", + "nativeSrc": "12089:2:43", + "nodeType": "YulLiteral", + "src": "12089:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "12078:2:43", + "nodeType": "YulIdentifier", + "src": "12078:2:43" + }, + "nativeSrc": "12078:14:43", + "nodeType": "YulFunctionCall", + "src": "12078:14:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12055:2:43", + "nodeType": "YulIdentifier", + "src": "12055:2:43" + }, + "nativeSrc": "12055:38:43", + "nodeType": "YulFunctionCall", + "src": "12055:38:43" + }, + "nativeSrc": "12052:84:43", + "nodeType": "YulIf", + "src": "12052:84:43" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "11822:320:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "11857:4:43", + "nodeType": "YulTypedName", + "src": "11857:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "11866:6:43", + "nodeType": "YulTypedName", + "src": "11866:6:43", + "type": "" + } + ], + "src": "11822:320:43" + }, + { + "body": { + "nativeSrc": "12244:73:43", + "nodeType": "YulBlock", + "src": "12244:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12261:3:43", + "nodeType": "YulIdentifier", + "src": "12261:3:43" + }, + { + "name": "length", + "nativeSrc": "12266:6:43", + "nodeType": "YulIdentifier", + "src": "12266:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12254:6:43", + "nodeType": "YulIdentifier", + "src": "12254:6:43" + }, + "nativeSrc": "12254:19:43", + "nodeType": "YulFunctionCall", + "src": "12254:19:43" + }, + "nativeSrc": "12254:19:43", + "nodeType": "YulExpressionStatement", + "src": "12254:19:43" + }, + { + "nativeSrc": "12282:29:43", + "nodeType": "YulAssignment", + "src": "12282:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12301:3:43", + "nodeType": "YulIdentifier", + "src": "12301:3:43" + }, + { + "kind": "number", + "nativeSrc": "12306:4:43", + "nodeType": "YulLiteral", + "src": "12306:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12297:3:43", + "nodeType": "YulIdentifier", + "src": "12297:3:43" + }, + "nativeSrc": "12297:14:43", + "nodeType": "YulFunctionCall", + "src": "12297:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "12282:11:43", + "nodeType": "YulIdentifier", + "src": "12282:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "12148:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "12216:3:43", + "nodeType": "YulTypedName", + "src": "12216:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "12221:6:43", + "nodeType": "YulTypedName", + "src": "12221:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "12232:11:43", + "nodeType": "YulTypedName", + "src": "12232:11:43", + "type": "" + } + ], + "src": "12148:169:43" + }, + { + "body": { + "nativeSrc": "12429:68:43", + "nodeType": "YulBlock", + "src": "12429:68:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "12451:6:43", + "nodeType": "YulIdentifier", + "src": "12451:6:43" + }, + { + "kind": "number", + "nativeSrc": "12459:1:43", + "nodeType": "YulLiteral", + "src": "12459:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12447:3:43", + "nodeType": "YulIdentifier", + "src": "12447:3:43" + }, + "nativeSrc": "12447:14:43", + "nodeType": "YulFunctionCall", + "src": "12447:14:43" + }, + { + "hexValue": "41697264726f7020616c726561647920657870697265642e", + "kind": "string", + "nativeSrc": "12463:26:43", + "nodeType": "YulLiteral", + "src": "12463:26:43", + "type": "", + "value": "Airdrop already expired." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12440:6:43", + "nodeType": "YulIdentifier", + "src": "12440:6:43" + }, + "nativeSrc": "12440:50:43", + "nodeType": "YulFunctionCall", + "src": "12440:50:43" + }, + "nativeSrc": "12440:50:43", + "nodeType": "YulExpressionStatement", + "src": "12440:50:43" + } + ] + }, + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "12323:174:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "12421:6:43", + "nodeType": "YulTypedName", + "src": "12421:6:43", + "type": "" + } + ], + "src": "12323:174:43" + }, + { + "body": { + "nativeSrc": "12649:220:43", + "nodeType": "YulBlock", + "src": "12649:220:43", + "statements": [ + { + "nativeSrc": "12659:74:43", + "nodeType": "YulAssignment", + "src": "12659:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12725:3:43", + "nodeType": "YulIdentifier", + "src": "12725:3:43" + }, + { + "kind": "number", + "nativeSrc": "12730:2:43", + "nodeType": "YulLiteral", + "src": "12730:2:43", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "12666:58:43", + "nodeType": "YulIdentifier", + "src": "12666:58:43" + }, + "nativeSrc": "12666:67:43", + "nodeType": "YulFunctionCall", + "src": "12666:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "12659:3:43", + "nodeType": "YulIdentifier", + "src": "12659:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12831:3:43", + "nodeType": "YulIdentifier", + "src": "12831:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a", + "nativeSrc": "12742:88:43", + "nodeType": "YulIdentifier", + "src": "12742:88:43" + }, + "nativeSrc": "12742:93:43", + "nodeType": "YulFunctionCall", + "src": "12742:93:43" + }, + "nativeSrc": "12742:93:43", + "nodeType": "YulExpressionStatement", + "src": "12742:93:43" + }, + { + "nativeSrc": "12844:19:43", + "nodeType": "YulAssignment", + "src": "12844:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12855:3:43", + "nodeType": "YulIdentifier", + "src": "12855:3:43" + }, + { + "kind": "number", + "nativeSrc": "12860:2:43", + "nodeType": "YulLiteral", + "src": "12860:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12851:3:43", + "nodeType": "YulIdentifier", + "src": "12851:3:43" + }, + "nativeSrc": "12851:12:43", + "nodeType": "YulFunctionCall", + "src": "12851:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "12844:3:43", + "nodeType": "YulIdentifier", + "src": "12844:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12503:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "12637:3:43", + "nodeType": "YulTypedName", + "src": "12637:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "12645:3:43", + "nodeType": "YulTypedName", + "src": "12645:3:43", + "type": "" + } + ], + "src": "12503:366:43" + }, + { + "body": { + "nativeSrc": "13046:248:43", + "nodeType": "YulBlock", + "src": "13046:248:43", + "statements": [ + { + "nativeSrc": "13056:26:43", + "nodeType": "YulAssignment", + "src": "13056:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13068:9:43", + "nodeType": "YulIdentifier", + "src": "13068:9:43" + }, + { + "kind": "number", + "nativeSrc": "13079:2:43", + "nodeType": "YulLiteral", + "src": "13079:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13064:3:43", + "nodeType": "YulIdentifier", + "src": "13064:3:43" + }, + "nativeSrc": "13064:18:43", + "nodeType": "YulFunctionCall", + "src": "13064:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13056:4:43", + "nodeType": "YulIdentifier", + "src": "13056:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13103:9:43", + "nodeType": "YulIdentifier", + "src": "13103:9:43" + }, + { + "kind": "number", + "nativeSrc": "13114:1:43", + "nodeType": "YulLiteral", + "src": "13114:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13099:3:43", + "nodeType": "YulIdentifier", + "src": "13099:3:43" + }, + "nativeSrc": "13099:17:43", + "nodeType": "YulFunctionCall", + "src": "13099:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13122:4:43", + "nodeType": "YulIdentifier", + "src": "13122:4:43" + }, + { + "name": "headStart", + "nativeSrc": "13128:9:43", + "nodeType": "YulIdentifier", + "src": "13128:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "13118:3:43", + "nodeType": "YulIdentifier", + "src": "13118:3:43" + }, + "nativeSrc": "13118:20:43", + "nodeType": "YulFunctionCall", + "src": "13118:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13092:6:43", + "nodeType": "YulIdentifier", + "src": "13092:6:43" + }, + "nativeSrc": "13092:47:43", + "nodeType": "YulFunctionCall", + "src": "13092:47:43" + }, + "nativeSrc": "13092:47:43", + "nodeType": "YulExpressionStatement", + "src": "13092:47:43" + }, + { + "nativeSrc": "13148:139:43", + "nodeType": "YulAssignment", + "src": "13148:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13282:4:43", + "nodeType": "YulIdentifier", + "src": "13282:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13156:124:43", + "nodeType": "YulIdentifier", + "src": "13156:124:43" + }, + "nativeSrc": "13156:131:43", + "nodeType": "YulFunctionCall", + "src": "13156:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13148:4:43", + "nodeType": "YulIdentifier", + "src": "13148:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "12875:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13026:9:43", + "nodeType": "YulTypedName", + "src": "13026:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "13041:4:43", + "nodeType": "YulTypedName", + "src": "13041:4:43", + "type": "" + } + ], + "src": "12875:419:43" + }, + { + "body": { + "nativeSrc": "13406:118:43", + "nodeType": "YulBlock", + "src": "13406:118:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13428:6:43", + "nodeType": "YulIdentifier", + "src": "13428:6:43" + }, + { + "kind": "number", + "nativeSrc": "13436:1:43", + "nodeType": "YulLiteral", + "src": "13436:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13424:3:43", + "nodeType": "YulIdentifier", + "src": "13424:3:43" + }, + "nativeSrc": "13424:14:43", + "nodeType": "YulFunctionCall", + "src": "13424:14:43" + }, + { + "hexValue": "4164647265737320616c726561647920636c61696d6564207468697320616972", + "kind": "string", + "nativeSrc": "13440:34:43", + "nodeType": "YulLiteral", + "src": "13440:34:43", + "type": "", + "value": "Address already claimed this air" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13417:6:43", + "nodeType": "YulIdentifier", + "src": "13417:6:43" + }, + "nativeSrc": "13417:58:43", + "nodeType": "YulFunctionCall", + "src": "13417:58:43" + }, + "nativeSrc": "13417:58:43", + "nodeType": "YulExpressionStatement", + "src": "13417:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13496:6:43", + "nodeType": "YulIdentifier", + "src": "13496:6:43" + }, + { + "kind": "number", + "nativeSrc": "13504:2:43", + "nodeType": "YulLiteral", + "src": "13504:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13492:3:43", + "nodeType": "YulIdentifier", + "src": "13492:3:43" + }, + "nativeSrc": "13492:15:43", + "nodeType": "YulFunctionCall", + "src": "13492:15:43" + }, + { + "hexValue": "64726f702e", + "kind": "string", + "nativeSrc": "13509:7:43", + "nodeType": "YulLiteral", + "src": "13509:7:43", + "type": "", + "value": "drop." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13485:6:43", + "nodeType": "YulIdentifier", + "src": "13485:6:43" + }, + "nativeSrc": "13485:32:43", + "nodeType": "YulFunctionCall", + "src": "13485:32:43" + }, + "nativeSrc": "13485:32:43", + "nodeType": "YulExpressionStatement", + "src": "13485:32:43" + } + ] + }, + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "13300:224:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "13398:6:43", + "nodeType": "YulTypedName", + "src": "13398:6:43", + "type": "" + } + ], + "src": "13300:224:43" + }, + { + "body": { + "nativeSrc": "13676:220:43", + "nodeType": "YulBlock", + "src": "13676:220:43", + "statements": [ + { + "nativeSrc": "13686:74:43", + "nodeType": "YulAssignment", + "src": "13686:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13752:3:43", + "nodeType": "YulIdentifier", + "src": "13752:3:43" + }, + { + "kind": "number", + "nativeSrc": "13757:2:43", + "nodeType": "YulLiteral", + "src": "13757:2:43", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "13693:58:43", + "nodeType": "YulIdentifier", + "src": "13693:58:43" + }, + "nativeSrc": "13693:67:43", + "nodeType": "YulFunctionCall", + "src": "13693:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "13686:3:43", + "nodeType": "YulIdentifier", + "src": "13686:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13858:3:43", + "nodeType": "YulIdentifier", + "src": "13858:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e", + "nativeSrc": "13769:88:43", + "nodeType": "YulIdentifier", + "src": "13769:88:43" + }, + "nativeSrc": "13769:93:43", + "nodeType": "YulFunctionCall", + "src": "13769:93:43" + }, + "nativeSrc": "13769:93:43", + "nodeType": "YulExpressionStatement", + "src": "13769:93:43" + }, + { + "nativeSrc": "13871:19:43", + "nodeType": "YulAssignment", + "src": "13871:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13882:3:43", + "nodeType": "YulIdentifier", + "src": "13882:3:43" + }, + { + "kind": "number", + "nativeSrc": "13887:2:43", + "nodeType": "YulLiteral", + "src": "13887:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13878:3:43", + "nodeType": "YulIdentifier", + "src": "13878:3:43" + }, + "nativeSrc": "13878:12:43", + "nodeType": "YulFunctionCall", + "src": "13878:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "13871:3:43", + "nodeType": "YulIdentifier", + "src": "13871:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13530:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "13664:3:43", + "nodeType": "YulTypedName", + "src": "13664:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "13672:3:43", + "nodeType": "YulTypedName", + "src": "13672:3:43", + "type": "" + } + ], + "src": "13530:366:43" + }, + { + "body": { + "nativeSrc": "14073:248:43", + "nodeType": "YulBlock", + "src": "14073:248:43", + "statements": [ + { + "nativeSrc": "14083:26:43", + "nodeType": "YulAssignment", + "src": "14083:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14095:9:43", + "nodeType": "YulIdentifier", + "src": "14095:9:43" + }, + { + "kind": "number", + "nativeSrc": "14106:2:43", + "nodeType": "YulLiteral", + "src": "14106:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14091:3:43", + "nodeType": "YulIdentifier", + "src": "14091:3:43" + }, + "nativeSrc": "14091:18:43", + "nodeType": "YulFunctionCall", + "src": "14091:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14083:4:43", + "nodeType": "YulIdentifier", + "src": "14083:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14130:9:43", + "nodeType": "YulIdentifier", + "src": "14130:9:43" + }, + { + "kind": "number", + "nativeSrc": "14141:1:43", + "nodeType": "YulLiteral", + "src": "14141:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14126:3:43", + "nodeType": "YulIdentifier", + "src": "14126:3:43" + }, + "nativeSrc": "14126:17:43", + "nodeType": "YulFunctionCall", + "src": "14126:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14149:4:43", + "nodeType": "YulIdentifier", + "src": "14149:4:43" + }, + { + "name": "headStart", + "nativeSrc": "14155:9:43", + "nodeType": "YulIdentifier", + "src": "14155:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14145:3:43", + "nodeType": "YulIdentifier", + "src": "14145:3:43" + }, + "nativeSrc": "14145:20:43", + "nodeType": "YulFunctionCall", + "src": "14145:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14119:6:43", + "nodeType": "YulIdentifier", + "src": "14119:6:43" + }, + "nativeSrc": "14119:47:43", + "nodeType": "YulFunctionCall", + "src": "14119:47:43" + }, + "nativeSrc": "14119:47:43", + "nodeType": "YulExpressionStatement", + "src": "14119:47:43" + }, + { + "nativeSrc": "14175:139:43", + "nodeType": "YulAssignment", + "src": "14175:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14309:4:43", + "nodeType": "YulIdentifier", + "src": "14309:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14183:124:43", + "nodeType": "YulIdentifier", + "src": "14183:124:43" + }, + "nativeSrc": "14183:131:43", + "nodeType": "YulFunctionCall", + "src": "14183:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14175:4:43", + "nodeType": "YulIdentifier", + "src": "14175:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "13902:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14053:9:43", + "nodeType": "YulTypedName", + "src": "14053:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14068:4:43", + "nodeType": "YulTypedName", + "src": "14068:4:43", + "type": "" + } + ], + "src": "13902:419:43" + }, + { + "body": { + "nativeSrc": "14433:122:43", + "nodeType": "YulBlock", + "src": "14433:122:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "14455:6:43", + "nodeType": "YulIdentifier", + "src": "14455:6:43" + }, + { + "kind": "number", + "nativeSrc": "14463:1:43", + "nodeType": "YulLiteral", + "src": "14463:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14451:3:43", + "nodeType": "YulIdentifier", + "src": "14451:3:43" + }, + "nativeSrc": "14451:14:43", + "nodeType": "YulFunctionCall", + "src": "14451:14:43" + }, + { + "hexValue": "41697264726f7020686173206265656e20746f74616c6c7920636c61696d6564", + "kind": "string", + "nativeSrc": "14467:34:43", + "nodeType": "YulLiteral", + "src": "14467:34:43", + "type": "", + "value": "Airdrop has been totally claimed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14444:6:43", + "nodeType": "YulIdentifier", + "src": "14444:6:43" + }, + "nativeSrc": "14444:58:43", + "nodeType": "YulFunctionCall", + "src": "14444:58:43" + }, + "nativeSrc": "14444:58:43", + "nodeType": "YulExpressionStatement", + "src": "14444:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "14523:6:43", + "nodeType": "YulIdentifier", + "src": "14523:6:43" + }, + { + "kind": "number", + "nativeSrc": "14531:2:43", + "nodeType": "YulLiteral", + "src": "14531:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14519:3:43", + "nodeType": "YulIdentifier", + "src": "14519:3:43" + }, + "nativeSrc": "14519:15:43", + "nodeType": "YulFunctionCall", + "src": "14519:15:43" + }, + { + "hexValue": "20616c72656164792e", + "kind": "string", + "nativeSrc": "14536:11:43", + "nodeType": "YulLiteral", + "src": "14536:11:43", + "type": "", + "value": " already." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14512:6:43", + "nodeType": "YulIdentifier", + "src": "14512:6:43" + }, + "nativeSrc": "14512:36:43", + "nodeType": "YulFunctionCall", + "src": "14512:36:43" + }, + "nativeSrc": "14512:36:43", + "nodeType": "YulExpressionStatement", + "src": "14512:36:43" + } + ] + }, + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "14327:228:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "14425:6:43", + "nodeType": "YulTypedName", + "src": "14425:6:43", + "type": "" + } + ], + "src": "14327:228:43" + }, + { + "body": { + "nativeSrc": "14707:220:43", + "nodeType": "YulBlock", + "src": "14707:220:43", + "statements": [ + { + "nativeSrc": "14717:74:43", + "nodeType": "YulAssignment", + "src": "14717:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14783:3:43", + "nodeType": "YulIdentifier", + "src": "14783:3:43" + }, + { + "kind": "number", + "nativeSrc": "14788:2:43", + "nodeType": "YulLiteral", + "src": "14788:2:43", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "14724:58:43", + "nodeType": "YulIdentifier", + "src": "14724:58:43" + }, + "nativeSrc": "14724:67:43", + "nodeType": "YulFunctionCall", + "src": "14724:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "14717:3:43", + "nodeType": "YulIdentifier", + "src": "14717:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14889:3:43", + "nodeType": "YulIdentifier", + "src": "14889:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3", + "nativeSrc": "14800:88:43", + "nodeType": "YulIdentifier", + "src": "14800:88:43" + }, + "nativeSrc": "14800:93:43", + "nodeType": "YulFunctionCall", + "src": "14800:93:43" + }, + "nativeSrc": "14800:93:43", + "nodeType": "YulExpressionStatement", + "src": "14800:93:43" + }, + { + "nativeSrc": "14902:19:43", + "nodeType": "YulAssignment", + "src": "14902:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14913:3:43", + "nodeType": "YulIdentifier", + "src": "14913:3:43" + }, + { + "kind": "number", + "nativeSrc": "14918:2:43", + "nodeType": "YulLiteral", + "src": "14918:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14909:3:43", + "nodeType": "YulIdentifier", + "src": "14909:3:43" + }, + "nativeSrc": "14909:12:43", + "nodeType": "YulFunctionCall", + "src": "14909:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "14902:3:43", + "nodeType": "YulIdentifier", + "src": "14902:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14561:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "14695:3:43", + "nodeType": "YulTypedName", + "src": "14695:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "14703:3:43", + "nodeType": "YulTypedName", + "src": "14703:3:43", + "type": "" + } + ], + "src": "14561:366:43" + }, + { + "body": { + "nativeSrc": "15104:248:43", + "nodeType": "YulBlock", + "src": "15104:248:43", + "statements": [ + { + "nativeSrc": "15114:26:43", + "nodeType": "YulAssignment", + "src": "15114:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15126:9:43", + "nodeType": "YulIdentifier", + "src": "15126:9:43" + }, + { + "kind": "number", + "nativeSrc": "15137:2:43", + "nodeType": "YulLiteral", + "src": "15137:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15122:3:43", + "nodeType": "YulIdentifier", + "src": "15122:3:43" + }, + "nativeSrc": "15122:18:43", + "nodeType": "YulFunctionCall", + "src": "15122:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15114:4:43", + "nodeType": "YulIdentifier", + "src": "15114:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15161:9:43", + "nodeType": "YulIdentifier", + "src": "15161:9:43" + }, + { + "kind": "number", + "nativeSrc": "15172:1:43", + "nodeType": "YulLiteral", + "src": "15172:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15157:3:43", + "nodeType": "YulIdentifier", + "src": "15157:3:43" + }, + "nativeSrc": "15157:17:43", + "nodeType": "YulFunctionCall", + "src": "15157:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15180:4:43", + "nodeType": "YulIdentifier", + "src": "15180:4:43" + }, + { + "name": "headStart", + "nativeSrc": "15186:9:43", + "nodeType": "YulIdentifier", + "src": "15186:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15176:3:43", + "nodeType": "YulIdentifier", + "src": "15176:3:43" + }, + "nativeSrc": "15176:20:43", + "nodeType": "YulFunctionCall", + "src": "15176:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15150:6:43", + "nodeType": "YulIdentifier", + "src": "15150:6:43" + }, + "nativeSrc": "15150:47:43", + "nodeType": "YulFunctionCall", + "src": "15150:47:43" + }, + "nativeSrc": "15150:47:43", + "nodeType": "YulExpressionStatement", + "src": "15150:47:43" + }, + { + "nativeSrc": "15206:139:43", + "nodeType": "YulAssignment", + "src": "15206:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15340:4:43", + "nodeType": "YulIdentifier", + "src": "15340:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15214:124:43", + "nodeType": "YulIdentifier", + "src": "15214:124:43" + }, + "nativeSrc": "15214:131:43", + "nodeType": "YulFunctionCall", + "src": "15214:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15206:4:43", + "nodeType": "YulIdentifier", + "src": "15206:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "14933:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15084:9:43", + "nodeType": "YulTypedName", + "src": "15084:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15099:4:43", + "nodeType": "YulTypedName", + "src": "15099:4:43", + "type": "" + } + ], + "src": "14933:419:43" + }, + { + "body": { + "nativeSrc": "15464:129:43", + "nodeType": "YulBlock", + "src": "15464:129:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15486:6:43", + "nodeType": "YulIdentifier", + "src": "15486:6:43" + }, + { + "kind": "number", + "nativeSrc": "15494:1:43", + "nodeType": "YulLiteral", + "src": "15494:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15482:3:43", + "nodeType": "YulIdentifier", + "src": "15482:3:43" + }, + "nativeSrc": "15482:14:43", + "nodeType": "YulFunctionCall", + "src": "15482:14:43" + }, + { + "hexValue": "41697264726f7020636f6e74726163742068617320696e73756666696369656e", + "kind": "string", + "nativeSrc": "15498:34:43", + "nodeType": "YulLiteral", + "src": "15498:34:43", + "type": "", + "value": "Airdrop contract has insufficien" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15475:6:43", + "nodeType": "YulIdentifier", + "src": "15475:6:43" + }, + "nativeSrc": "15475:58:43", + "nodeType": "YulFunctionCall", + "src": "15475:58:43" + }, + "nativeSrc": "15475:58:43", + "nodeType": "YulExpressionStatement", + "src": "15475:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15554:6:43", + "nodeType": "YulIdentifier", + "src": "15554:6:43" + }, + { + "kind": "number", + "nativeSrc": "15562:2:43", + "nodeType": "YulLiteral", + "src": "15562:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15550:3:43", + "nodeType": "YulIdentifier", + "src": "15550:3:43" + }, + "nativeSrc": "15550:15:43", + "nodeType": "YulFunctionCall", + "src": "15550:15:43" + }, + { + "hexValue": "7420746f6b656e2062616c616e63652e", + "kind": "string", + "nativeSrc": "15567:18:43", + "nodeType": "YulLiteral", + "src": "15567:18:43", + "type": "", + "value": "t token balance." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15543:6:43", + "nodeType": "YulIdentifier", + "src": "15543:6:43" + }, + "nativeSrc": "15543:43:43", + "nodeType": "YulFunctionCall", + "src": "15543:43:43" + }, + "nativeSrc": "15543:43:43", + "nodeType": "YulExpressionStatement", + "src": "15543:43:43" + } + ] + }, + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "15358:235:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "15456:6:43", + "nodeType": "YulTypedName", + "src": "15456:6:43", + "type": "" + } + ], + "src": "15358:235:43" + }, + { + "body": { + "nativeSrc": "15745:220:43", + "nodeType": "YulBlock", + "src": "15745:220:43", + "statements": [ + { + "nativeSrc": "15755:74:43", + "nodeType": "YulAssignment", + "src": "15755:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15821:3:43", + "nodeType": "YulIdentifier", + "src": "15821:3:43" + }, + { + "kind": "number", + "nativeSrc": "15826:2:43", + "nodeType": "YulLiteral", + "src": "15826:2:43", + "type": "", + "value": "48" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "15762:58:43", + "nodeType": "YulIdentifier", + "src": "15762:58:43" + }, + "nativeSrc": "15762:67:43", + "nodeType": "YulFunctionCall", + "src": "15762:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15755:3:43", + "nodeType": "YulIdentifier", + "src": "15755:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15927:3:43", + "nodeType": "YulIdentifier", + "src": "15927:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880", + "nativeSrc": "15838:88:43", + "nodeType": "YulIdentifier", + "src": "15838:88:43" + }, + "nativeSrc": "15838:93:43", + "nodeType": "YulFunctionCall", + "src": "15838:93:43" + }, + "nativeSrc": "15838:93:43", + "nodeType": "YulExpressionStatement", + "src": "15838:93:43" + }, + { + "nativeSrc": "15940:19:43", + "nodeType": "YulAssignment", + "src": "15940:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15951:3:43", + "nodeType": "YulIdentifier", + "src": "15951:3:43" + }, + { + "kind": "number", + "nativeSrc": "15956:2:43", + "nodeType": "YulLiteral", + "src": "15956:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15947:3:43", + "nodeType": "YulIdentifier", + "src": "15947:3:43" + }, + "nativeSrc": "15947:12:43", + "nodeType": "YulFunctionCall", + "src": "15947:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "15940:3:43", + "nodeType": "YulIdentifier", + "src": "15940:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15599:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15733:3:43", + "nodeType": "YulTypedName", + "src": "15733:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15741:3:43", + "nodeType": "YulTypedName", + "src": "15741:3:43", + "type": "" + } + ], + "src": "15599:366:43" + }, + { + "body": { + "nativeSrc": "16142:248:43", + "nodeType": "YulBlock", + "src": "16142:248:43", + "statements": [ + { + "nativeSrc": "16152:26:43", + "nodeType": "YulAssignment", + "src": "16152:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16164:9:43", + "nodeType": "YulIdentifier", + "src": "16164:9:43" + }, + { + "kind": "number", + "nativeSrc": "16175:2:43", + "nodeType": "YulLiteral", + "src": "16175:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16160:3:43", + "nodeType": "YulIdentifier", + "src": "16160:3:43" + }, + "nativeSrc": "16160:18:43", + "nodeType": "YulFunctionCall", + "src": "16160:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16152:4:43", + "nodeType": "YulIdentifier", + "src": "16152:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16199:9:43", + "nodeType": "YulIdentifier", + "src": "16199:9:43" + }, + { + "kind": "number", + "nativeSrc": "16210:1:43", + "nodeType": "YulLiteral", + "src": "16210:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16195:3:43", + "nodeType": "YulIdentifier", + "src": "16195:3:43" + }, + "nativeSrc": "16195:17:43", + "nodeType": "YulFunctionCall", + "src": "16195:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16218:4:43", + "nodeType": "YulIdentifier", + "src": "16218:4:43" + }, + { + "name": "headStart", + "nativeSrc": "16224:9:43", + "nodeType": "YulIdentifier", + "src": "16224:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16214:3:43", + "nodeType": "YulIdentifier", + "src": "16214:3:43" + }, + "nativeSrc": "16214:20:43", + "nodeType": "YulFunctionCall", + "src": "16214:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16188:6:43", + "nodeType": "YulIdentifier", + "src": "16188:6:43" + }, + "nativeSrc": "16188:47:43", + "nodeType": "YulFunctionCall", + "src": "16188:47:43" + }, + "nativeSrc": "16188:47:43", + "nodeType": "YulExpressionStatement", + "src": "16188:47:43" + }, + { + "nativeSrc": "16244:139:43", + "nodeType": "YulAssignment", + "src": "16244:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16378:4:43", + "nodeType": "YulIdentifier", + "src": "16378:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16252:124:43", + "nodeType": "YulIdentifier", + "src": "16252:124:43" + }, + "nativeSrc": "16252:131:43", + "nodeType": "YulFunctionCall", + "src": "16252:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16244:4:43", + "nodeType": "YulIdentifier", + "src": "16244:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15971:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16122:9:43", + "nodeType": "YulTypedName", + "src": "16122:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16137:4:43", + "nodeType": "YulTypedName", + "src": "16137:4:43", + "type": "" + } + ], + "src": "15971:419:43" + }, + { + "body": { + "nativeSrc": "16522:206:43", + "nodeType": "YulBlock", + "src": "16522:206:43", + "statements": [ + { + "nativeSrc": "16532:26:43", + "nodeType": "YulAssignment", + "src": "16532:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16544:9:43", + "nodeType": "YulIdentifier", + "src": "16544:9:43" + }, + { + "kind": "number", + "nativeSrc": "16555:2:43", + "nodeType": "YulLiteral", + "src": "16555:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16540:3:43", + "nodeType": "YulIdentifier", + "src": "16540:3:43" + }, + "nativeSrc": "16540:18:43", + "nodeType": "YulFunctionCall", + "src": "16540:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16532:4:43", + "nodeType": "YulIdentifier", + "src": "16532:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "16612:6:43", + "nodeType": "YulIdentifier", + "src": "16612:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16625:9:43", + "nodeType": "YulIdentifier", + "src": "16625:9:43" + }, + { + "kind": "number", + "nativeSrc": "16636:1:43", + "nodeType": "YulLiteral", + "src": "16636:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16621:3:43", + "nodeType": "YulIdentifier", + "src": "16621:3:43" + }, + "nativeSrc": "16621:17:43", + "nodeType": "YulFunctionCall", + "src": "16621:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "16568:43:43", + "nodeType": "YulIdentifier", + "src": "16568:43:43" + }, + "nativeSrc": "16568:71:43", + "nodeType": "YulFunctionCall", + "src": "16568:71:43" + }, + "nativeSrc": "16568:71:43", + "nodeType": "YulExpressionStatement", + "src": "16568:71:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "16693:6:43", + "nodeType": "YulIdentifier", + "src": "16693:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16706:9:43", + "nodeType": "YulIdentifier", + "src": "16706:9:43" + }, + { + "kind": "number", + "nativeSrc": "16717:2:43", + "nodeType": "YulLiteral", + "src": "16717:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16702:3:43", + "nodeType": "YulIdentifier", + "src": "16702:3:43" + }, + "nativeSrc": "16702:18:43", + "nodeType": "YulFunctionCall", + "src": "16702:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "16649:43:43", + "nodeType": "YulIdentifier", + "src": "16649:43:43" + }, + "nativeSrc": "16649:72:43", + "nodeType": "YulFunctionCall", + "src": "16649:72:43" + }, + "nativeSrc": "16649:72:43", + "nodeType": "YulExpressionStatement", + "src": "16649:72:43" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "16396:332:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16486:9:43", + "nodeType": "YulTypedName", + "src": "16486:9:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "16498:6:43", + "nodeType": "YulTypedName", + "src": "16498:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "16506:6:43", + "nodeType": "YulTypedName", + "src": "16506:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16517:4:43", + "nodeType": "YulTypedName", + "src": "16517:4:43", + "type": "" + } + ], + "src": "16396:332:43" + }, + { + "body": { + "nativeSrc": "16762:152:43", + "nodeType": "YulBlock", + "src": "16762:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16779:1:43", + "nodeType": "YulLiteral", + "src": "16779:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16782:77:43", + "nodeType": "YulLiteral", + "src": "16782:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16772:6:43", + "nodeType": "YulIdentifier", + "src": "16772:6:43" + }, + "nativeSrc": "16772:88:43", + "nodeType": "YulFunctionCall", + "src": "16772:88:43" + }, + "nativeSrc": "16772:88:43", + "nodeType": "YulExpressionStatement", + "src": "16772:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16876:1:43", + "nodeType": "YulLiteral", + "src": "16876:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16879:4:43", + "nodeType": "YulLiteral", + "src": "16879:4:43", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16869:6:43", + "nodeType": "YulIdentifier", + "src": "16869:6:43" + }, + "nativeSrc": "16869:15:43", + "nodeType": "YulFunctionCall", + "src": "16869:15:43" + }, + "nativeSrc": "16869:15:43", + "nodeType": "YulExpressionStatement", + "src": "16869:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16900:1:43", + "nodeType": "YulLiteral", + "src": "16900:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16903:4:43", + "nodeType": "YulLiteral", + "src": "16903:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16893:6:43", + "nodeType": "YulIdentifier", + "src": "16893:6:43" + }, + "nativeSrc": "16893:15:43", + "nodeType": "YulFunctionCall", + "src": "16893:15:43" + }, + "nativeSrc": "16893:15:43", + "nodeType": "YulExpressionStatement", + "src": "16893:15:43" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "16734:180:43", + "nodeType": "YulFunctionDefinition", + "src": "16734:180:43" + }, + { + "body": { + "nativeSrc": "16965:149:43", + "nodeType": "YulBlock", + "src": "16965:149:43", + "statements": [ + { + "nativeSrc": "16975:25:43", + "nodeType": "YulAssignment", + "src": "16975:25:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16998:1:43", + "nodeType": "YulIdentifier", + "src": "16998:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "16980:17:43", + "nodeType": "YulIdentifier", + "src": "16980:17:43" + }, + "nativeSrc": "16980:20:43", + "nodeType": "YulFunctionCall", + "src": "16980:20:43" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "16975:1:43", + "nodeType": "YulIdentifier", + "src": "16975:1:43" + } + ] + }, + { + "nativeSrc": "17009:25:43", + "nodeType": "YulAssignment", + "src": "17009:25:43", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "17032:1:43", + "nodeType": "YulIdentifier", + "src": "17032:1:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "17014:17:43", + "nodeType": "YulIdentifier", + "src": "17014:17:43" + }, + "nativeSrc": "17014:20:43", + "nodeType": "YulFunctionCall", + "src": "17014:20:43" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "17009:1:43", + "nodeType": "YulIdentifier", + "src": "17009:1:43" + } + ] + }, + { + "nativeSrc": "17043:17:43", + "nodeType": "YulAssignment", + "src": "17043:17:43", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "17055:1:43", + "nodeType": "YulIdentifier", + "src": "17055:1:43" + }, + { + "name": "y", + "nativeSrc": "17058:1:43", + "nodeType": "YulIdentifier", + "src": "17058:1:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17051:3:43", + "nodeType": "YulIdentifier", + "src": "17051:3:43" + }, + "nativeSrc": "17051:9:43", + "nodeType": "YulFunctionCall", + "src": "17051:9:43" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "17043:4:43", + "nodeType": "YulIdentifier", + "src": "17043:4:43" + } + ] + }, + { + "body": { + "nativeSrc": "17085:22:43", + "nodeType": "YulBlock", + "src": "17085:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "17087:16:43", + "nodeType": "YulIdentifier", + "src": "17087:16:43" + }, + "nativeSrc": "17087:18:43", + "nodeType": "YulFunctionCall", + "src": "17087:18:43" + }, + "nativeSrc": "17087:18:43", + "nodeType": "YulExpressionStatement", + "src": "17087:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "17076:4:43", + "nodeType": "YulIdentifier", + "src": "17076:4:43" + }, + { + "name": "x", + "nativeSrc": "17082:1:43", + "nodeType": "YulIdentifier", + "src": "17082:1:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17073:2:43", + "nodeType": "YulIdentifier", + "src": "17073:2:43" + }, + "nativeSrc": "17073:11:43", + "nodeType": "YulFunctionCall", + "src": "17073:11:43" + }, + "nativeSrc": "17070:37:43", + "nodeType": "YulIf", + "src": "17070:37:43" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "16920:194:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "16951:1:43", + "nodeType": "YulTypedName", + "src": "16951:1:43", + "type": "" + }, + { + "name": "y", + "nativeSrc": "16954:1:43", + "nodeType": "YulTypedName", + "src": "16954:1:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "16960:4:43", + "nodeType": "YulTypedName", + "src": "16960:4:43", + "type": "" + } + ], + "src": "16920:194:43" + } + ] + }, + "contents": "{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$11645(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$11645(value)\n }\n\n function convert_t_enum$_AirdropType_$11645_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$11645_to_t_uint8(value))\n }\n\n // struct AirdropInfo -> struct AirdropInfo\n function abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0100)\n\n {\n // airdropName\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // airdropAddress\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // totalAirdropAmount\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // airdropAmountLeft\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // claimAmount\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // expirationDate\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n {\n // airdropType\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_enum$_AirdropType_$11645_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // uri\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_AirdropInfo_$11663_memory_ptr__to_t_struct$_AirdropInfo_$11663_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_AirdropInfo_$11663_memory_ptr_to_t_struct$_AirdropInfo_$11663_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_bytes32_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop already expired.\")\n\n }\n\n function abi_encode_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a__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_b036e717afa0b883954b5740ae65fad40533b936395ac91a0bddc213c2d6de6a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(memPtr) {\n\n mstore(add(memPtr, 0), \"Address already claimed this air\")\n\n mstore(add(memPtr, 32), \"drop.\")\n\n }\n\n function abi_encode_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e__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_3bd0d021a830dbca4210c2df3315eed6910dcada75cb099cb779851b86a0460e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop has been totally claimed\")\n\n mstore(add(memPtr, 32), \" already.\")\n\n }\n\n function abi_encode_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3__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_8640a5e550edc22126df618cd46a23f6934b8ecf5da0e0d99e5b76047886c5c3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(memPtr) {\n\n mstore(add(memPtr, 0), \"Airdrop contract has insufficien\")\n\n mstore(add(memPtr, 32), \"t token balance.\")\n\n }\n\n function abi_encode_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880__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_ccee444fb9b972231bc8dc8eb5ea5829e02c6101d3dc810d07dc33002b614880_to_t_string_memory_ptr_fromStack( tail)\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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea26469706673582212200ec67a5ad8db96721af24ba21c8e0d1dce7b73c8acea2e09dcddcc7092a7c0e664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xC6 PUSH27 0x5AD8DB96721AF24BA21C8E0D1DCE7B73C8ACEA2E09DCDDCC7092A7 0xC0 0xE6 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "141:3198:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2298:134;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3223:114;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1907:385;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1204:600;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3003:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2803:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2906:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2293:101:0;;;:::i;:::-;;2560:126:38;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2692:105:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2438:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1814:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3114:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2298:134:38;2347:4;2413:12;;2370:14;;;;;;;;;;;:24;;;2403:4;2370:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;;2363:62;;2298:134;:::o;3223:114::-;3265:7;3291:14;;;;;;;;;;;:24;;;3324:4;3291:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3284:46;;3223:114;:::o;1907:385::-;1953:18;;:::i;:::-;1983:17;2003:14;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1983:43;;2043:242;;;;;;;;2068:12;2043:242;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2103:4;2043:242;;;;;;2122:19;;2043:242;;;;2156:18;;2043:242;;;;2189:12;;2043:242;;;;2216:15;;2043:242;;;;2246:12;;;;;;;;;;;2043:242;;;;;;;;:::i;:::-;;;;;;2272:3;2043:242;;;2036:249;;;1907:385;:::o;1204:600::-;1531:13:0;:11;:13::i;:::-;1311:12:38::1;:10;:12::i;:::-;1310:13;1302:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1371:16;1382:4;1371:10;:16::i;:::-;1370:17;1362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1448:23;:21;:23::i;:::-;1447:24;1439:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;1535:19;:17;:19::i;:::-;1527:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1618:14;;;;;;;;;;;:23;;;1642:4;1648:12;;1618:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1693:12;;1671:18;;:34;;;;;;;:::i;:::-;;;;;;;;1752:4;1715:28;:34;1744:4;1715:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;1772:25;1778:4;1784:12;;1772:25;;;;;;;:::i;:::-;;;;;;;;1204:600:::0;;;;:::o;3003:105::-;3056:7;3082:19;;3075:26;;3003:105;:::o;2803:97::-;2852:7;2878:15;;2871:22;;2803:97;:::o;2906:91::-;2952:7;2978:12;;2971:19;;2906:91;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2560:126:38:-;2618:4;2641:28;:38;2670:8;2641:38;;;;;;;;;;;;;;;;;;;;;;;;;2634:45;;2560:126;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;2692:105:38:-;2734:4;2775:15;2757;;:33;2750:40;;2692:105;:::o;2438:116::-;2491:4;2535:12;;2514:18;;:33;2507:40;;2438:116;:::o;1814:87::-;1867:4;1890;1883:11;;1814:87;;;:::o;3114:103::-;3166:7;3192:18;;3185:25;;3114:103;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;2912:187::-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:16:-;709:7;735:10;728:17;;656:96;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;7:90:43:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:77::-;471:7;500:5;489:16;;434:77;;;:::o;517:118::-;604:24;622:5;604:24;:::i;:::-;599:3;592:37;517:118;;:::o;641:222::-;734:4;772:2;761:9;757:18;749:26;;785:71;853:1;842:9;838:17;829:6;785:71;:::i;:::-;641:222;;;;:::o;869:99::-;921:6;955:5;949:12;939:22;;869:99;;;:::o;974:159::-;1048:11;1082:6;1077:3;1070:19;1122:4;1117:3;1113:14;1098:29;;974:159;;;;:::o;1139:246::-;1220:1;1230:113;1244:6;1241:1;1238:13;1230:113;;;1329:1;1324:3;1320:11;1314:18;1310:1;1305:3;1301:11;1294:39;1266:2;1263:1;1259:10;1254:15;;1230:113;;;1377:1;1368:6;1363:3;1359:16;1352:27;1201:184;1139:246;;;:::o;1391:102::-;1432:6;1483:2;1479:7;1474:2;1467:5;1463:14;1459:28;1449:38;;1391:102;;;:::o;1499:357::-;1577:3;1605:39;1638:5;1605:39;:::i;:::-;1660:61;1714:6;1709:3;1660:61;:::i;:::-;1653:68;;1730:65;1788:6;1783:3;1776:4;1769:5;1765:16;1730:65;:::i;:::-;1820:29;1842:6;1820:29;:::i;:::-;1815:3;1811:39;1804:46;;1581:275;1499:357;;;;:::o;1862:126::-;1899:7;1939:42;1932:5;1928:54;1917:65;;1862:126;;;:::o;1994:96::-;2031:7;2060:24;2078:5;2060:24;:::i;:::-;2049:35;;1994:96;;;:::o;2096:108::-;2173:24;2191:5;2173:24;:::i;:::-;2168:3;2161:37;2096:108;;:::o;2210:::-;2287:24;2305:5;2287:24;:::i;:::-;2282:3;2275:37;2210:108;;:::o;2324:180::-;2372:77;2369:1;2362:88;2469:4;2466:1;2459:15;2493:4;2490:1;2483:15;2510:122;2600:1;2593:5;2590:12;2580:46;;2606:18;;:::i;:::-;2580:46;2510:122;:::o;2638:145::-;2692:7;2721:5;2710:16;;2727:50;2771:5;2727:50;:::i;:::-;2638:145;;;:::o;2789:::-;2854:9;2887:41;2922:5;2887:41;:::i;:::-;2874:54;;2789:145;;;:::o;2940:151::-;3032:52;3078:5;3032:52;:::i;:::-;3027:3;3020:65;2940:151;;:::o;3145:1815::-;3274:3;3310:6;3305:3;3301:16;3406:4;3399:5;3395:16;3389:23;3459:3;3453:4;3449:14;3442:4;3437:3;3433:14;3426:38;3485:73;3553:4;3539:12;3485:73;:::i;:::-;3477:81;;3327:242;3661:4;3654:5;3650:16;3644:23;3680:63;3737:4;3732:3;3728:14;3714:12;3680:63;:::i;:::-;3579:174;3849:4;3842:5;3838:16;3832:23;3868:63;3925:4;3920:3;3916:14;3902:12;3868:63;:::i;:::-;3763:178;4036:4;4029:5;4025:16;4019:23;4055:63;4112:4;4107:3;4103:14;4089:12;4055:63;:::i;:::-;3951:177;4217:4;4210:5;4206:16;4200:23;4236:63;4293:4;4288:3;4284:14;4270:12;4236:63;:::i;:::-;4138:171;4401:4;4394:5;4390:16;4384:23;4420:63;4477:4;4472:3;4468:14;4454:12;4420:63;:::i;:::-;4319:174;4582:4;4575:5;4571:16;4565:23;4601:78;4673:4;4668:3;4664:14;4650:12;4601:78;:::i;:::-;4503:186;4770:4;4763:5;4759:16;4753:23;4823:3;4817:4;4813:14;4806:4;4801:3;4797:14;4790:38;4849:73;4917:4;4903:12;4849:73;:::i;:::-;4841:81;;4699:234;4950:4;4943:11;;3279:1681;3145:1815;;;;:::o;4966:393::-;5119:4;5157:2;5146:9;5142:18;5134:26;;5206:9;5200:4;5196:20;5192:1;5181:9;5177:17;5170:47;5234:118;5347:4;5338:6;5234:118;:::i;:::-;5226:126;;4966:393;;;;:::o;5365:75::-;5398:6;5431:2;5425:9;5415:19;;5365:75;:::o;5446:117::-;5555:1;5552;5545:12;5569:117;5678:1;5675;5668:12;5692:122;5765:24;5783:5;5765:24;:::i;:::-;5758:5;5755:35;5745:63;;5804:1;5801;5794:12;5745:63;5692:122;:::o;5820:139::-;5866:5;5904:6;5891:20;5882:29;;5920:33;5947:5;5920:33;:::i;:::-;5820:139;;;;:::o;5965:122::-;6038:24;6056:5;6038:24;:::i;:::-;6031:5;6028:35;6018:63;;6077:1;6074;6067:12;6018:63;5965:122;:::o;6093:139::-;6139:5;6177:6;6164:20;6155:29;;6193:33;6220:5;6193:33;:::i;:::-;6093:139;;;;:::o;6238:117::-;6347:1;6344;6337:12;6361:117;6470:1;6467;6460:12;6484:117;6593:1;6590;6583:12;6624:568;6697:8;6707:6;6757:3;6750:4;6742:6;6738:17;6734:27;6724:122;;6765:79;;:::i;:::-;6724:122;6878:6;6865:20;6855:30;;6908:18;6900:6;6897:30;6894:117;;;6930:79;;:::i;:::-;6894:117;7044:4;7036:6;7032:17;7020:29;;7098:3;7090:4;7082:6;7078:17;7068:8;7064:32;7061:41;7058:128;;;7105:79;;:::i;:::-;7058:128;6624:568;;;;;:::o;7198:849::-;7302:6;7310;7318;7326;7375:2;7363:9;7354:7;7350:23;7346:32;7343:119;;;7381:79;;:::i;:::-;7343:119;7501:1;7526:53;7571:7;7562:6;7551:9;7547:22;7526:53;:::i;:::-;7516:63;;7472:117;7628:2;7654:53;7699:7;7690:6;7679:9;7675:22;7654:53;:::i;:::-;7644:63;;7599:118;7784:2;7773:9;7769:18;7756:32;7815:18;7807:6;7804:30;7801:117;;;7837:79;;:::i;:::-;7801:117;7950:80;8022:7;8013:6;8002:9;7998:22;7950:80;:::i;:::-;7932:98;;;;7727:313;7198:849;;;;;;;:::o;8053:329::-;8112:6;8161:2;8149:9;8140:7;8136:23;8132:32;8129:119;;;8167:79;;:::i;:::-;8129:119;8287:1;8312:53;8357:7;8348:6;8337:9;8333:22;8312:53;:::i;:::-;8302:63;;8258:117;8053:329;;;;:::o;8388:118::-;8475:24;8493:5;8475:24;:::i;:::-;8470:3;8463:37;8388:118;;:::o;8512:222::-;8605:4;8643:2;8632:9;8628:18;8620:26;;8656:71;8724:1;8713:9;8709:17;8700:6;8656:71;:::i;:::-;8512:222;;;;:::o;8740:143::-;8797:5;8828:6;8822:13;8813:22;;8844:33;8871:5;8844:33;:::i;:::-;8740:143;;;;:::o;8889:351::-;8959:6;9008:2;8996:9;8987:7;8983:23;8979:32;8976:119;;;9014:79;;:::i;:::-;8976:119;9134:1;9159:64;9215:7;9206:6;9195:9;9191:22;9159:64;:::i;:::-;9149:74;;9105:128;8889:351;;;;:::o;9246:117::-;9355:1;9352;9345:12;9369:180;9417:77;9414:1;9407:88;9514:4;9511:1;9504:15;9538:4;9535:1;9528:15;9555:281;9638:27;9660:4;9638:27;:::i;:::-;9630:6;9626:40;9768:6;9756:10;9753:22;9732:18;9720:10;9717:34;9714:62;9711:88;;;9779:18;;:::i;:::-;9711:88;9819:10;9815:2;9808:22;9598:238;9555:281;;:::o;9842:129::-;9876:6;9903:20;;:::i;:::-;9893:30;;9932:33;9960:4;9952:6;9932:33;:::i;:::-;9842:129;;;:::o;9977:308::-;10039:4;10129:18;10121:6;10118:30;10115:56;;;10151:18;;:::i;:::-;10115:56;10189:29;10211:6;10189:29;:::i;:::-;10181:37;;10273:4;10267;10263:15;10255:23;;9977:308;;;:::o;10291:434::-;10380:5;10405:66;10421:49;10463:6;10421:49;:::i;:::-;10405:66;:::i;:::-;10396:75;;10494:6;10487:5;10480:21;10532:4;10525:5;10521:16;10570:3;10561:6;10556:3;10552:16;10549:25;10546:112;;;10577:79;;:::i;:::-;10546:112;10667:52;10712:6;10707:3;10702;10667:52;:::i;:::-;10386:339;10291:434;;;;;:::o;10745:355::-;10812:5;10861:3;10854:4;10846:6;10842:17;10838:27;10828:122;;10869:79;;:::i;:::-;10828:122;10979:6;10973:13;11004:90;11090:3;11082:6;11075:4;11067:6;11063:17;11004:90;:::i;:::-;10995:99;;10818:282;10745:355;;;;:::o;11106:524::-;11186:6;11235:2;11223:9;11214:7;11210:23;11206:32;11203:119;;;11241:79;;:::i;:::-;11203:119;11382:1;11371:9;11367:17;11361:24;11412:18;11404:6;11401:30;11398:117;;;11434:79;;:::i;:::-;11398:117;11539:74;11605:7;11596:6;11585:9;11581:22;11539:74;:::i;:::-;11529:84;;11332:291;11106:524;;;;:::o;11636:180::-;11684:77;11681:1;11674:88;11781:4;11778:1;11771:15;11805:4;11802:1;11795:15;11822:320;11866:6;11903:1;11897:4;11893:12;11883:22;;11950:1;11944:4;11940:12;11971:18;11961:81;;12027:4;12019:6;12015:17;12005:27;;11961:81;12089:2;12081:6;12078:14;12058:18;12055:38;12052:84;;12108:18;;:::i;:::-;12052:84;11873:269;11822:320;;;:::o;12148:169::-;12232:11;12266:6;12261:3;12254:19;12306:4;12301:3;12297:14;12282:29;;12148:169;;;;:::o;12323:174::-;12463:26;12459:1;12451:6;12447:14;12440:50;12323:174;:::o;12503:366::-;12645:3;12666:67;12730:2;12725:3;12666:67;:::i;:::-;12659:74;;12742:93;12831:3;12742:93;:::i;:::-;12860:2;12855:3;12851:12;12844:19;;12503:366;;;:::o;12875:419::-;13041:4;13079:2;13068:9;13064:18;13056:26;;13128:9;13122:4;13118:20;13114:1;13103:9;13099:17;13092:47;13156:131;13282:4;13156:131;:::i;:::-;13148:139;;12875:419;;;:::o;13300:224::-;13440:34;13436:1;13428:6;13424:14;13417:58;13509:7;13504:2;13496:6;13492:15;13485:32;13300:224;:::o;13530:366::-;13672:3;13693:67;13757:2;13752:3;13693:67;:::i;:::-;13686:74;;13769:93;13858:3;13769:93;:::i;:::-;13887:2;13882:3;13878:12;13871:19;;13530:366;;;:::o;13902:419::-;14068:4;14106:2;14095:9;14091:18;14083:26;;14155:9;14149:4;14145:20;14141:1;14130:9;14126:17;14119:47;14183:131;14309:4;14183:131;:::i;:::-;14175:139;;13902:419;;;:::o;14327:228::-;14467:34;14463:1;14455:6;14451:14;14444:58;14536:11;14531:2;14523:6;14519:15;14512:36;14327:228;:::o;14561:366::-;14703:3;14724:67;14788:2;14783:3;14724:67;:::i;:::-;14717:74;;14800:93;14889:3;14800:93;:::i;:::-;14918:2;14913:3;14909:12;14902:19;;14561:366;;;:::o;14933:419::-;15099:4;15137:2;15126:9;15122:18;15114:26;;15186:9;15180:4;15176:20;15172:1;15161:9;15157:17;15150:47;15214:131;15340:4;15214:131;:::i;:::-;15206:139;;14933:419;;;:::o;15358:235::-;15498:34;15494:1;15486:6;15482:14;15475:58;15567:18;15562:2;15554:6;15550:15;15543:43;15358:235;:::o;15599:366::-;15741:3;15762:67;15826:2;15821:3;15762:67;:::i;:::-;15755:74;;15838:93;15927:3;15838:93;:::i;:::-;15956:2;15951:3;15947:12;15940:19;;15599:366;;;:::o;15971:419::-;16137:4;16175:2;16164:9;16160:18;16152:26;;16224:9;16218:4;16214:20;16210:1;16199:9;16195:17;16188:47;16252:131;16378:4;16252:131;:::i;:::-;16244:139;;15971:419;;;:::o;16396:332::-;16517:4;16555:2;16544:9;16540:18;16532:26;;16568:71;16636:1;16625:9;16621:17;16612:6;16568:71;:::i;:::-;16649:72;16717:2;16706:9;16702:18;16693:6;16649:72;:::i;:::-;16396:332;;;;;:::o;16734:180::-;16782:77;16779:1;16772:88;16879:4;16876:1;16869:15;16903:4;16900:1;16893:15;16920:194;16960:4;16980:20;16998:1;16980:20;:::i;:::-;16975:25;;17014:20;17032:1;17014:20;:::i;:::-;17009:25;;17058:1;17055;17051:9;17043:17;;17082:1;17076:4;17073:11;17070:37;;;17087:18;;:::i;:::-;17070:37;16920:194;;;;:::o" + }, + "methodIdentifiers": { + "claim(address,uint256,bytes32[])": "3d13f874", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getClaimAmount()": "71127ed2", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "hasBalanceToClaim()": "01cb54c0", + "hasBeenTotallyClaimed()": "9592a2cd", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "isAllowed(address)": "babcc539", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"allowedAddress\",\"type\":\"address\"}],\"name\":\"AddressAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"disallowedAddress\",\"type\":\"address\"}],\"name\":\"AddressDisallowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBalanceToClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasBeenTotallyClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ERC20/OpenAirdropERC20.sol\":\"OpenAirdropERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/ERC20/OpenAirdropERC20.sol\":{\"keccak256\":\"0x1091e569e1544a81d3edf4552cb6d7a3e3063ad458920cace995eb4501328b54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b9ed0c09edb801dbec4e01bec3a1b0c83f0aa205029d66a31d45079d60c266\",\"dweb:/ipfs/Qma1qBfE4tkQ5LDKyDrL56KB77iG3U2r571HnysA7asrd2\"]},\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/Lib/Administrable.sol": { + "Administrable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "initialAdmins", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAdmin", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "name": "removeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11434": { + "entryPoint": null, + "id": 11434, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 503, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 482, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 608, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory": { + "entryPoint": 654, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 333, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 195, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_address_$dyn_memory_ptr": { + "entryPoint": 360, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 441, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 409, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 284, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 727, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 237, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 215, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 404, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 210, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 205, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 220, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 459, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:4030:43", + "nodeType": "YulBlock", + "src": "0:4030:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "505:54:43", + "nodeType": "YulBlock", + "src": "505:54:43", + "statements": [ + { + "nativeSrc": "515:38:43", + "nodeType": "YulAssignment", + "src": "515:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "533:5:43", + "nodeType": "YulIdentifier", + "src": "533:5:43" + }, + { + "kind": "number", + "nativeSrc": "540:2:43", + "nodeType": "YulLiteral", + "src": "540:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "529:3:43", + "nodeType": "YulIdentifier", + "src": "529:3:43" + }, + "nativeSrc": "529:14:43", + "nodeType": "YulFunctionCall", + "src": "529:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "549:2:43", + "nodeType": "YulLiteral", + "src": "549:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "545:3:43", + "nodeType": "YulIdentifier", + "src": "545:3:43" + }, + "nativeSrc": "545:7:43", + "nodeType": "YulFunctionCall", + "src": "545:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "525:3:43", + "nodeType": "YulIdentifier", + "src": "525:3:43" + }, + "nativeSrc": "525:28:43", + "nodeType": "YulFunctionCall", + "src": "525:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "515:6:43", + "nodeType": "YulIdentifier", + "src": "515:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "457:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "488:5:43", + "nodeType": "YulTypedName", + "src": "488:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "498:6:43", + "nodeType": "YulTypedName", + "src": "498:6:43", + "type": "" + } + ], + "src": "457:102:43" + }, + { + "body": { + "nativeSrc": "593:152:43", + "nodeType": "YulBlock", + "src": "593:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "610:1:43", + "nodeType": "YulLiteral", + "src": "610:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "613:77:43", + "nodeType": "YulLiteral", + "src": "613:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "603:6:43", + "nodeType": "YulIdentifier", + "src": "603:6:43" + }, + "nativeSrc": "603:88:43", + "nodeType": "YulFunctionCall", + "src": "603:88:43" + }, + "nativeSrc": "603:88:43", + "nodeType": "YulExpressionStatement", + "src": "603:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "707:1:43", + "nodeType": "YulLiteral", + "src": "707:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "710:4:43", + "nodeType": "YulLiteral", + "src": "710:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "700:6:43", + "nodeType": "YulIdentifier", + "src": "700:6:43" + }, + "nativeSrc": "700:15:43", + "nodeType": "YulFunctionCall", + "src": "700:15:43" + }, + "nativeSrc": "700:15:43", + "nodeType": "YulExpressionStatement", + "src": "700:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "731:1:43", + "nodeType": "YulLiteral", + "src": "731:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "734:4:43", + "nodeType": "YulLiteral", + "src": "734:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "724:6:43", + "nodeType": "YulIdentifier", + "src": "724:6:43" + }, + "nativeSrc": "724:15:43", + "nodeType": "YulFunctionCall", + "src": "724:15:43" + }, + "nativeSrc": "724:15:43", + "nodeType": "YulExpressionStatement", + "src": "724:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "565:180:43", + "nodeType": "YulFunctionDefinition", + "src": "565:180:43" + }, + { + "body": { + "nativeSrc": "794:238:43", + "nodeType": "YulBlock", + "src": "794:238:43", + "statements": [ + { + "nativeSrc": "804:58:43", + "nodeType": "YulVariableDeclaration", + "src": "804:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "826:6:43", + "nodeType": "YulIdentifier", + "src": "826:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "856:4:43", + "nodeType": "YulIdentifier", + "src": "856:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "834:21:43", + "nodeType": "YulIdentifier", + "src": "834:21:43" + }, + "nativeSrc": "834:27:43", + "nodeType": "YulFunctionCall", + "src": "834:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "822:3:43", + "nodeType": "YulIdentifier", + "src": "822:3:43" + }, + "nativeSrc": "822:40:43", + "nodeType": "YulFunctionCall", + "src": "822:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "808:10:43", + "nodeType": "YulTypedName", + "src": "808:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "973:22:43", + "nodeType": "YulBlock", + "src": "973:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "975:16:43", + "nodeType": "YulIdentifier", + "src": "975:16:43" + }, + "nativeSrc": "975:18:43", + "nodeType": "YulFunctionCall", + "src": "975:18:43" + }, + "nativeSrc": "975:18:43", + "nodeType": "YulExpressionStatement", + "src": "975:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "916:10:43", + "nodeType": "YulIdentifier", + "src": "916:10:43" + }, + { + "kind": "number", + "nativeSrc": "928:18:43", + "nodeType": "YulLiteral", + "src": "928:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "913:2:43", + "nodeType": "YulIdentifier", + "src": "913:2:43" + }, + "nativeSrc": "913:34:43", + "nodeType": "YulFunctionCall", + "src": "913:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "952:10:43", + "nodeType": "YulIdentifier", + "src": "952:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "964:6:43", + "nodeType": "YulIdentifier", + "src": "964:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "949:2:43", + "nodeType": "YulIdentifier", + "src": "949:2:43" + }, + "nativeSrc": "949:22:43", + "nodeType": "YulFunctionCall", + "src": "949:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "910:2:43", + "nodeType": "YulIdentifier", + "src": "910:2:43" + }, + "nativeSrc": "910:62:43", + "nodeType": "YulFunctionCall", + "src": "910:62:43" + }, + "nativeSrc": "907:88:43", + "nodeType": "YulIf", + "src": "907:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1011:2:43", + "nodeType": "YulLiteral", + "src": "1011:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1015:10:43", + "nodeType": "YulIdentifier", + "src": "1015:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1004:6:43", + "nodeType": "YulIdentifier", + "src": "1004:6:43" + }, + "nativeSrc": "1004:22:43", + "nodeType": "YulFunctionCall", + "src": "1004:22:43" + }, + "nativeSrc": "1004:22:43", + "nodeType": "YulExpressionStatement", + "src": "1004:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "751:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "780:6:43", + "nodeType": "YulTypedName", + "src": "780:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "788:4:43", + "nodeType": "YulTypedName", + "src": "788:4:43", + "type": "" + } + ], + "src": "751:281:43" + }, + { + "body": { + "nativeSrc": "1079:88:43", + "nodeType": "YulBlock", + "src": "1079:88:43", + "statements": [ + { + "nativeSrc": "1089:30:43", + "nodeType": "YulAssignment", + "src": "1089:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1099:18:43", + "nodeType": "YulIdentifier", + "src": "1099:18:43" + }, + "nativeSrc": "1099:20:43", + "nodeType": "YulFunctionCall", + "src": "1099:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1089:6:43", + "nodeType": "YulIdentifier", + "src": "1089:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1148:6:43", + "nodeType": "YulIdentifier", + "src": "1148:6:43" + }, + { + "name": "size", + "nativeSrc": "1156:4:43", + "nodeType": "YulIdentifier", + "src": "1156:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1128:19:43", + "nodeType": "YulIdentifier", + "src": "1128:19:43" + }, + "nativeSrc": "1128:33:43", + "nodeType": "YulFunctionCall", + "src": "1128:33:43" + }, + "nativeSrc": "1128:33:43", + "nodeType": "YulExpressionStatement", + "src": "1128:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1038:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1063:4:43", + "nodeType": "YulTypedName", + "src": "1063:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1072:6:43", + "nodeType": "YulTypedName", + "src": "1072:6:43", + "type": "" + } + ], + "src": "1038:129:43" + }, + { + "body": { + "nativeSrc": "1255:229:43", + "nodeType": "YulBlock", + "src": "1255:229:43", + "statements": [ + { + "body": { + "nativeSrc": "1360:22:43", + "nodeType": "YulBlock", + "src": "1360:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1362:16:43", + "nodeType": "YulIdentifier", + "src": "1362:16:43" + }, + "nativeSrc": "1362:18:43", + "nodeType": "YulFunctionCall", + "src": "1362:18:43" + }, + "nativeSrc": "1362:18:43", + "nodeType": "YulExpressionStatement", + "src": "1362:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1332:6:43", + "nodeType": "YulIdentifier", + "src": "1332:6:43" + }, + { + "kind": "number", + "nativeSrc": "1340:18:43", + "nodeType": "YulLiteral", + "src": "1340:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1329:2:43", + "nodeType": "YulIdentifier", + "src": "1329:2:43" + }, + "nativeSrc": "1329:30:43", + "nodeType": "YulFunctionCall", + "src": "1329:30:43" + }, + "nativeSrc": "1326:56:43", + "nodeType": "YulIf", + "src": "1326:56:43" + }, + { + "nativeSrc": "1392:25:43", + "nodeType": "YulAssignment", + "src": "1392:25:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1404:6:43", + "nodeType": "YulIdentifier", + "src": "1404:6:43" + }, + { + "kind": "number", + "nativeSrc": "1412:4:43", + "nodeType": "YulLiteral", + "src": "1412:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "1400:3:43", + "nodeType": "YulIdentifier", + "src": "1400:3:43" + }, + "nativeSrc": "1400:17:43", + "nodeType": "YulFunctionCall", + "src": "1400:17:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1392:4:43", + "nodeType": "YulIdentifier", + "src": "1392:4:43" + } + ] + }, + { + "nativeSrc": "1454:23:43", + "nodeType": "YulAssignment", + "src": "1454:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1466:4:43", + "nodeType": "YulIdentifier", + "src": "1466:4:43" + }, + { + "kind": "number", + "nativeSrc": "1472:4:43", + "nodeType": "YulLiteral", + "src": "1472:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1462:3:43", + "nodeType": "YulIdentifier", + "src": "1462:3:43" + }, + "nativeSrc": "1462:15:43", + "nodeType": "YulFunctionCall", + "src": "1462:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1454:4:43", + "nodeType": "YulIdentifier", + "src": "1454:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "1173:311:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1239:6:43", + "nodeType": "YulTypedName", + "src": "1239:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1250:4:43", + "nodeType": "YulTypedName", + "src": "1250:4:43", + "type": "" + } + ], + "src": "1173:311:43" + }, + { + "body": { + "nativeSrc": "1579:28:43", + "nodeType": "YulBlock", + "src": "1579:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1596:1:43", + "nodeType": "YulLiteral", + "src": "1596:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1599:1:43", + "nodeType": "YulLiteral", + "src": "1599:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1589:6:43", + "nodeType": "YulIdentifier", + "src": "1589:6:43" + }, + "nativeSrc": "1589:12:43", + "nodeType": "YulFunctionCall", + "src": "1589:12:43" + }, + "nativeSrc": "1589:12:43", + "nodeType": "YulExpressionStatement", + "src": "1589:12:43" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "1490:117:43", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:43" + }, + { + "body": { + "nativeSrc": "1658:81:43", + "nodeType": "YulBlock", + "src": "1658:81:43", + "statements": [ + { + "nativeSrc": "1668:65:43", + "nodeType": "YulAssignment", + "src": "1668:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1683:5:43", + "nodeType": "YulIdentifier", + "src": "1683:5:43" + }, + { + "kind": "number", + "nativeSrc": "1690:42:43", + "nodeType": "YulLiteral", + "src": "1690:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1679:3:43", + "nodeType": "YulIdentifier", + "src": "1679:3:43" + }, + "nativeSrc": "1679:54:43", + "nodeType": "YulFunctionCall", + "src": "1679:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1668:7:43", + "nodeType": "YulIdentifier", + "src": "1668:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "1613:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1640:5:43", + "nodeType": "YulTypedName", + "src": "1640:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1650:7:43", + "nodeType": "YulTypedName", + "src": "1650:7:43", + "type": "" + } + ], + "src": "1613:126:43" + }, + { + "body": { + "nativeSrc": "1790:51:43", + "nodeType": "YulBlock", + "src": "1790:51:43", + "statements": [ + { + "nativeSrc": "1800:35:43", + "nodeType": "YulAssignment", + "src": "1800:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1829:5:43", + "nodeType": "YulIdentifier", + "src": "1829:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "1811:17:43", + "nodeType": "YulIdentifier", + "src": "1811:17:43" + }, + "nativeSrc": "1811:24:43", + "nodeType": "YulFunctionCall", + "src": "1811:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1800:7:43", + "nodeType": "YulIdentifier", + "src": "1800:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "1745:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1772:5:43", + "nodeType": "YulTypedName", + "src": "1772:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1782:7:43", + "nodeType": "YulTypedName", + "src": "1782:7:43", + "type": "" + } + ], + "src": "1745:96:43" + }, + { + "body": { + "nativeSrc": "1890:79:43", + "nodeType": "YulBlock", + "src": "1890:79:43", + "statements": [ + { + "body": { + "nativeSrc": "1947:16:43", + "nodeType": "YulBlock", + "src": "1947:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1956:1:43", + "nodeType": "YulLiteral", + "src": "1956:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1959:1:43", + "nodeType": "YulLiteral", + "src": "1959:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1949:6:43", + "nodeType": "YulIdentifier", + "src": "1949:6:43" + }, + "nativeSrc": "1949:12:43", + "nodeType": "YulFunctionCall", + "src": "1949:12:43" + }, + "nativeSrc": "1949:12:43", + "nodeType": "YulExpressionStatement", + "src": "1949:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1913:5:43", + "nodeType": "YulIdentifier", + "src": "1913:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1938:5:43", + "nodeType": "YulIdentifier", + "src": "1938:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1920:17:43", + "nodeType": "YulIdentifier", + "src": "1920:17:43" + }, + "nativeSrc": "1920:24:43", + "nodeType": "YulFunctionCall", + "src": "1920:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1910:2:43", + "nodeType": "YulIdentifier", + "src": "1910:2:43" + }, + "nativeSrc": "1910:35:43", + "nodeType": "YulFunctionCall", + "src": "1910:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1903:6:43", + "nodeType": "YulIdentifier", + "src": "1903:6:43" + }, + "nativeSrc": "1903:43:43", + "nodeType": "YulFunctionCall", + "src": "1903:43:43" + }, + "nativeSrc": "1900:63:43", + "nodeType": "YulIf", + "src": "1900:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "1847:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1883:5:43", + "nodeType": "YulTypedName", + "src": "1883:5:43", + "type": "" + } + ], + "src": "1847:122:43" + }, + { + "body": { + "nativeSrc": "2038:80:43", + "nodeType": "YulBlock", + "src": "2038:80:43", + "statements": [ + { + "nativeSrc": "2048:22:43", + "nodeType": "YulAssignment", + "src": "2048:22:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2063:6:43", + "nodeType": "YulIdentifier", + "src": "2063:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2057:5:43", + "nodeType": "YulIdentifier", + "src": "2057:5:43" + }, + "nativeSrc": "2057:13:43", + "nodeType": "YulFunctionCall", + "src": "2057:13:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2048:5:43", + "nodeType": "YulIdentifier", + "src": "2048:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2106:5:43", + "nodeType": "YulIdentifier", + "src": "2106:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "2079:26:43", + "nodeType": "YulIdentifier", + "src": "2079:26:43" + }, + "nativeSrc": "2079:33:43", + "nodeType": "YulFunctionCall", + "src": "2079:33:43" + }, + "nativeSrc": "2079:33:43", + "nodeType": "YulExpressionStatement", + "src": "2079:33:43" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "1975:143:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2016:6:43", + "nodeType": "YulTypedName", + "src": "2016:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2024:3:43", + "nodeType": "YulTypedName", + "src": "2024:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2032:5:43", + "nodeType": "YulTypedName", + "src": "2032:5:43", + "type": "" + } + ], + "src": "1975:143:43" + }, + { + "body": { + "nativeSrc": "2254:619:43", + "nodeType": "YulBlock", + "src": "2254:619:43", + "statements": [ + { + "nativeSrc": "2264:90:43", + "nodeType": "YulAssignment", + "src": "2264:90:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2346:6:43", + "nodeType": "YulIdentifier", + "src": "2346:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nativeSrc": "2289:56:43", + "nodeType": "YulIdentifier", + "src": "2289:56:43" + }, + "nativeSrc": "2289:64:43", + "nodeType": "YulFunctionCall", + "src": "2289:64:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "2273:15:43", + "nodeType": "YulIdentifier", + "src": "2273:15:43" + }, + "nativeSrc": "2273:81:43", + "nodeType": "YulFunctionCall", + "src": "2273:81:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2264:5:43", + "nodeType": "YulIdentifier", + "src": "2264:5:43" + } + ] + }, + { + "nativeSrc": "2363:16:43", + "nodeType": "YulVariableDeclaration", + "src": "2363:16:43", + "value": { + "name": "array", + "nativeSrc": "2374:5:43", + "nodeType": "YulIdentifier", + "src": "2374:5:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2367:3:43", + "nodeType": "YulTypedName", + "src": "2367:3:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2396:5:43", + "nodeType": "YulIdentifier", + "src": "2396:5:43" + }, + { + "name": "length", + "nativeSrc": "2403:6:43", + "nodeType": "YulIdentifier", + "src": "2403:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2389:6:43", + "nodeType": "YulIdentifier", + "src": "2389:6:43" + }, + "nativeSrc": "2389:21:43", + "nodeType": "YulFunctionCall", + "src": "2389:21:43" + }, + "nativeSrc": "2389:21:43", + "nodeType": "YulExpressionStatement", + "src": "2389:21:43" + }, + { + "nativeSrc": "2419:23:43", + "nodeType": "YulAssignment", + "src": "2419:23:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2430:5:43", + "nodeType": "YulIdentifier", + "src": "2430:5:43" + }, + { + "kind": "number", + "nativeSrc": "2437:4:43", + "nodeType": "YulLiteral", + "src": "2437:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2426:3:43", + "nodeType": "YulIdentifier", + "src": "2426:3:43" + }, + "nativeSrc": "2426:16:43", + "nodeType": "YulFunctionCall", + "src": "2426:16:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2419:3:43", + "nodeType": "YulIdentifier", + "src": "2419:3:43" + } + ] + }, + { + "nativeSrc": "2452:44:43", + "nodeType": "YulVariableDeclaration", + "src": "2452:44:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2470:6:43", + "nodeType": "YulIdentifier", + "src": "2470:6:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2482:6:43", + "nodeType": "YulIdentifier", + "src": "2482:6:43" + }, + { + "kind": "number", + "nativeSrc": "2490:4:43", + "nodeType": "YulLiteral", + "src": "2490:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2478:3:43", + "nodeType": "YulIdentifier", + "src": "2478:3:43" + }, + "nativeSrc": "2478:17:43", + "nodeType": "YulFunctionCall", + "src": "2478:17:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2466:3:43", + "nodeType": "YulIdentifier", + "src": "2466:3:43" + }, + "nativeSrc": "2466:30:43", + "nodeType": "YulFunctionCall", + "src": "2466:30:43" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "2456:6:43", + "nodeType": "YulTypedName", + "src": "2456:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2524:103:43", + "nodeType": "YulBlock", + "src": "2524:103:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "2538:77:43", + "nodeType": "YulIdentifier", + "src": "2538:77:43" + }, + "nativeSrc": "2538:79:43", + "nodeType": "YulFunctionCall", + "src": "2538:79:43" + }, + "nativeSrc": "2538:79:43", + "nodeType": "YulExpressionStatement", + "src": "2538:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "2511:6:43", + "nodeType": "YulIdentifier", + "src": "2511:6:43" + }, + { + "name": "end", + "nativeSrc": "2519:3:43", + "nodeType": "YulIdentifier", + "src": "2519:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2508:2:43", + "nodeType": "YulIdentifier", + "src": "2508:2:43" + }, + "nativeSrc": "2508:15:43", + "nodeType": "YulFunctionCall", + "src": "2508:15:43" + }, + "nativeSrc": "2505:122:43", + "nodeType": "YulIf", + "src": "2505:122:43" + }, + { + "body": { + "nativeSrc": "2712:155:43", + "nodeType": "YulBlock", + "src": "2712:155:43", + "statements": [ + { + "nativeSrc": "2727:21:43", + "nodeType": "YulVariableDeclaration", + "src": "2727:21:43", + "value": { + "name": "src", + "nativeSrc": "2745:3:43", + "nodeType": "YulIdentifier", + "src": "2745:3:43" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "2731:10:43", + "nodeType": "YulTypedName", + "src": "2731:10:43", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2769:3:43", + "nodeType": "YulIdentifier", + "src": "2769:3:43" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "2806:10:43", + "nodeType": "YulIdentifier", + "src": "2806:10:43" + }, + { + "name": "end", + "nativeSrc": "2818:3:43", + "nodeType": "YulIdentifier", + "src": "2818:3:43" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "2774:31:43", + "nodeType": "YulIdentifier", + "src": "2774:31:43" + }, + "nativeSrc": "2774:48:43", + "nodeType": "YulFunctionCall", + "src": "2774:48:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2762:6:43", + "nodeType": "YulIdentifier", + "src": "2762:6:43" + }, + "nativeSrc": "2762:61:43", + "nodeType": "YulFunctionCall", + "src": "2762:61:43" + }, + "nativeSrc": "2762:61:43", + "nodeType": "YulExpressionStatement", + "src": "2762:61:43" + }, + { + "nativeSrc": "2836:21:43", + "nodeType": "YulAssignment", + "src": "2836:21:43", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2847:3:43", + "nodeType": "YulIdentifier", + "src": "2847:3:43" + }, + { + "kind": "number", + "nativeSrc": "2852:4:43", + "nodeType": "YulLiteral", + "src": "2852:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2843:3:43", + "nodeType": "YulIdentifier", + "src": "2843:3:43" + }, + "nativeSrc": "2843:14:43", + "nodeType": "YulFunctionCall", + "src": "2843:14:43" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "2836:3:43", + "nodeType": "YulIdentifier", + "src": "2836:3:43" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2665:3:43", + "nodeType": "YulIdentifier", + "src": "2665:3:43" + }, + { + "name": "srcEnd", + "nativeSrc": "2670:6:43", + "nodeType": "YulIdentifier", + "src": "2670:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2662:2:43", + "nodeType": "YulIdentifier", + "src": "2662:2:43" + }, + "nativeSrc": "2662:15:43", + "nodeType": "YulFunctionCall", + "src": "2662:15:43" + }, + "nativeSrc": "2636:231:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2678:25:43", + "nodeType": "YulBlock", + "src": "2678:25:43", + "statements": [ + { + "nativeSrc": "2680:21:43", + "nodeType": "YulAssignment", + "src": "2680:21:43", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2691:3:43", + "nodeType": "YulIdentifier", + "src": "2691:3:43" + }, + { + "kind": "number", + "nativeSrc": "2696:4:43", + "nodeType": "YulLiteral", + "src": "2696:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2687:3:43", + "nodeType": "YulIdentifier", + "src": "2687:3:43" + }, + "nativeSrc": "2687:14:43", + "nodeType": "YulFunctionCall", + "src": "2687:14:43" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "2680:3:43", + "nodeType": "YulIdentifier", + "src": "2680:3:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2640:21:43", + "nodeType": "YulBlock", + "src": "2640:21:43", + "statements": [ + { + "nativeSrc": "2642:17:43", + "nodeType": "YulVariableDeclaration", + "src": "2642:17:43", + "value": { + "name": "offset", + "nativeSrc": "2653:6:43", + "nodeType": "YulIdentifier", + "src": "2653:6:43" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "2646:3:43", + "nodeType": "YulTypedName", + "src": "2646:3:43", + "type": "" + } + ] + } + ] + }, + "src": "2636:231:43" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2141:732:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2224:6:43", + "nodeType": "YulTypedName", + "src": "2224:6:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2232:6:43", + "nodeType": "YulTypedName", + "src": "2232:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2240:3:43", + "nodeType": "YulTypedName", + "src": "2240:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2248:5:43", + "nodeType": "YulTypedName", + "src": "2248:5:43", + "type": "" + } + ], + "src": "2141:732:43" + }, + { + "body": { + "nativeSrc": "2984:297:43", + "nodeType": "YulBlock", + "src": "2984:297:43", + "statements": [ + { + "body": { + "nativeSrc": "3033:83:43", + "nodeType": "YulBlock", + "src": "3033:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3035:77:43", + "nodeType": "YulIdentifier", + "src": "3035:77:43" + }, + "nativeSrc": "3035:79:43", + "nodeType": "YulFunctionCall", + "src": "3035:79:43" + }, + "nativeSrc": "3035:79:43", + "nodeType": "YulExpressionStatement", + "src": "3035:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3012:6:43", + "nodeType": "YulIdentifier", + "src": "3012:6:43" + }, + { + "kind": "number", + "nativeSrc": "3020:4:43", + "nodeType": "YulLiteral", + "src": "3020:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3008:3:43", + "nodeType": "YulIdentifier", + "src": "3008:3:43" + }, + "nativeSrc": "3008:17:43", + "nodeType": "YulFunctionCall", + "src": "3008:17:43" + }, + { + "name": "end", + "nativeSrc": "3027:3:43", + "nodeType": "YulIdentifier", + "src": "3027:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3004:3:43", + "nodeType": "YulIdentifier", + "src": "3004:3:43" + }, + "nativeSrc": "3004:27:43", + "nodeType": "YulFunctionCall", + "src": "3004:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2997:6:43", + "nodeType": "YulIdentifier", + "src": "2997:6:43" + }, + "nativeSrc": "2997:35:43", + "nodeType": "YulFunctionCall", + "src": "2997:35:43" + }, + "nativeSrc": "2994:122:43", + "nodeType": "YulIf", + "src": "2994:122:43" + }, + { + "nativeSrc": "3125:27:43", + "nodeType": "YulVariableDeclaration", + "src": "3125:27:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3145:6:43", + "nodeType": "YulIdentifier", + "src": "3145:6:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3139:5:43", + "nodeType": "YulIdentifier", + "src": "3139:5:43" + }, + "nativeSrc": "3139:13:43", + "nodeType": "YulFunctionCall", + "src": "3139:13:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "3129:6:43", + "nodeType": "YulTypedName", + "src": "3129:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "3161:114:43", + "nodeType": "YulAssignment", + "src": "3161:114:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3248:6:43", + "nodeType": "YulIdentifier", + "src": "3248:6:43" + }, + { + "kind": "number", + "nativeSrc": "3256:4:43", + "nodeType": "YulLiteral", + "src": "3256:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3244:3:43", + "nodeType": "YulIdentifier", + "src": "3244:3:43" + }, + "nativeSrc": "3244:17:43", + "nodeType": "YulFunctionCall", + "src": "3244:17:43" + }, + { + "name": "length", + "nativeSrc": "3263:6:43", + "nodeType": "YulIdentifier", + "src": "3263:6:43" + }, + { + "name": "end", + "nativeSrc": "3271:3:43", + "nodeType": "YulIdentifier", + "src": "3271:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3170:73:43", + "nodeType": "YulIdentifier", + "src": "3170:73:43" + }, + "nativeSrc": "3170:105:43", + "nodeType": "YulFunctionCall", + "src": "3170:105:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3161:5:43", + "nodeType": "YulIdentifier", + "src": "3161:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "2896:385:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2962:6:43", + "nodeType": "YulTypedName", + "src": "2962:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2970:3:43", + "nodeType": "YulTypedName", + "src": "2970:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2978:5:43", + "nodeType": "YulTypedName", + "src": "2978:5:43", + "type": "" + } + ], + "src": "2896:385:43" + }, + { + "body": { + "nativeSrc": "3389:452:43", + "nodeType": "YulBlock", + "src": "3389:452:43", + "statements": [ + { + "body": { + "nativeSrc": "3435:83:43", + "nodeType": "YulBlock", + "src": "3435:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3437:77:43", + "nodeType": "YulIdentifier", + "src": "3437:77:43" + }, + "nativeSrc": "3437:79:43", + "nodeType": "YulFunctionCall", + "src": "3437:79:43" + }, + "nativeSrc": "3437:79:43", + "nodeType": "YulExpressionStatement", + "src": "3437:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3410:7:43", + "nodeType": "YulIdentifier", + "src": "3410:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3419:9:43", + "nodeType": "YulIdentifier", + "src": "3419:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3406:3:43", + "nodeType": "YulIdentifier", + "src": "3406:3:43" + }, + "nativeSrc": "3406:23:43", + "nodeType": "YulFunctionCall", + "src": "3406:23:43" + }, + { + "kind": "number", + "nativeSrc": "3431:2:43", + "nodeType": "YulLiteral", + "src": "3431:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3402:3:43", + "nodeType": "YulIdentifier", + "src": "3402:3:43" + }, + "nativeSrc": "3402:32:43", + "nodeType": "YulFunctionCall", + "src": "3402:32:43" + }, + "nativeSrc": "3399:119:43", + "nodeType": "YulIf", + "src": "3399:119:43" + }, + { + "nativeSrc": "3528:306:43", + "nodeType": "YulBlock", + "src": "3528:306:43", + "statements": [ + { + "nativeSrc": "3543:38:43", + "nodeType": "YulVariableDeclaration", + "src": "3543:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3567:9:43", + "nodeType": "YulIdentifier", + "src": "3567:9:43" + }, + { + "kind": "number", + "nativeSrc": "3578:1:43", + "nodeType": "YulLiteral", + "src": "3578:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3563:3:43", + "nodeType": "YulIdentifier", + "src": "3563:3:43" + }, + "nativeSrc": "3563:17:43", + "nodeType": "YulFunctionCall", + "src": "3563:17:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3557:5:43", + "nodeType": "YulIdentifier", + "src": "3557:5:43" + }, + "nativeSrc": "3557:24:43", + "nodeType": "YulFunctionCall", + "src": "3557:24:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3547:6:43", + "nodeType": "YulTypedName", + "src": "3547:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3628:83:43", + "nodeType": "YulBlock", + "src": "3628:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3630:77:43", + "nodeType": "YulIdentifier", + "src": "3630:77:43" + }, + "nativeSrc": "3630:79:43", + "nodeType": "YulFunctionCall", + "src": "3630:79:43" + }, + "nativeSrc": "3630:79:43", + "nodeType": "YulExpressionStatement", + "src": "3630:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3600:6:43", + "nodeType": "YulIdentifier", + "src": "3600:6:43" + }, + { + "kind": "number", + "nativeSrc": "3608:18:43", + "nodeType": "YulLiteral", + "src": "3608:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3597:2:43", + "nodeType": "YulIdentifier", + "src": "3597:2:43" + }, + "nativeSrc": "3597:30:43", + "nodeType": "YulFunctionCall", + "src": "3597:30:43" + }, + "nativeSrc": "3594:117:43", + "nodeType": "YulIf", + "src": "3594:117:43" + }, + { + "nativeSrc": "3725:99:43", + "nodeType": "YulAssignment", + "src": "3725:99:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3796:9:43", + "nodeType": "YulIdentifier", + "src": "3796:9:43" + }, + { + "name": "offset", + "nativeSrc": "3807:6:43", + "nodeType": "YulIdentifier", + "src": "3807:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3792:3:43", + "nodeType": "YulIdentifier", + "src": "3792:3:43" + }, + "nativeSrc": "3792:22:43", + "nodeType": "YulFunctionCall", + "src": "3792:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "3816:7:43", + "nodeType": "YulIdentifier", + "src": "3816:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3735:56:43", + "nodeType": "YulIdentifier", + "src": "3735:56:43" + }, + "nativeSrc": "3735:89:43", + "nodeType": "YulFunctionCall", + "src": "3735:89:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3725:6:43", + "nodeType": "YulIdentifier", + "src": "3725:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nativeSrc": "3287:554:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3359:9:43", + "nodeType": "YulTypedName", + "src": "3359:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3370:7:43", + "nodeType": "YulTypedName", + "src": "3370:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3382:6:43", + "nodeType": "YulTypedName", + "src": "3382:6:43", + "type": "" + } + ], + "src": "3287:554:43" + }, + { + "body": { + "nativeSrc": "3875:152:43", + "nodeType": "YulBlock", + "src": "3875:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3892:1:43", + "nodeType": "YulLiteral", + "src": "3892:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3895:77:43", + "nodeType": "YulLiteral", + "src": "3895:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3885:6:43", + "nodeType": "YulIdentifier", + "src": "3885:6:43" + }, + "nativeSrc": "3885:88:43", + "nodeType": "YulFunctionCall", + "src": "3885:88:43" + }, + "nativeSrc": "3885:88:43", + "nodeType": "YulExpressionStatement", + "src": "3885:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3989:1:43", + "nodeType": "YulLiteral", + "src": "3989:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3992:4:43", + "nodeType": "YulLiteral", + "src": "3992:4:43", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3982:6:43", + "nodeType": "YulIdentifier", + "src": "3982:6:43" + }, + "nativeSrc": "3982:15:43", + "nodeType": "YulFunctionCall", + "src": "3982:15:43" + }, + "nativeSrc": "3982:15:43", + "nodeType": "YulExpressionStatement", + "src": "3982:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4013:1:43", + "nodeType": "YulLiteral", + "src": "4013:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4016:4:43", + "nodeType": "YulLiteral", + "src": "4016:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4006:6:43", + "nodeType": "YulIdentifier", + "src": "4006:6:43" + }, + "nativeSrc": "4006:15:43", + "nodeType": "YulFunctionCall", + "src": "4006:15:43" + }, + "nativeSrc": "4006:15:43", + "nodeType": "YulExpressionStatement", + "src": "4006:15:43" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "3847:180:43", + "nodeType": "YulFunctionDefinition", + "src": "3847:180:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b506040516107813803806107818339818101604052810190610032919061028e565b60005b81518110156100bc576001600080848481518110610056576100556102d7565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610035565b5050610306565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610125826100dc565b810181811067ffffffffffffffff82111715610144576101436100ed565b5b80604052505050565b60006101576100c3565b9050610163828261011c565b919050565b600067ffffffffffffffff821115610183576101826100ed565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101c482610199565b9050919050565b6101d4816101b9565b81146101df57600080fd5b50565b6000815190506101f1816101cb565b92915050565b600061020a61020584610168565b61014d565b9050808382526020820190506020840283018581111561022d5761022c610194565b5b835b81811015610256578061024288826101e2565b84526020840193505060208101905061022f565b5050509392505050565b600082601f830112610275576102746100d7565b5b81516102858482602086016101f7565b91505092915050565b6000602082840312156102a4576102a36100cd565b5b600082015167ffffffffffffffff8111156102c2576102c16100d2565b5b6102ce84828501610260565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61046c806103156000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631785f53c1461004657806324d7806c146100625780637048027514610092575b600080fd5b610060600480360381019061005b9190610330565b6100ae565b005b61007c60048036038101906100779190610330565b610193565b6040516100899190610378565b60405180910390f35b6100ac60048036038101906100a79190610330565b6101e8565b005b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013090610416565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610416565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102fd826102d2565b9050919050565b61030d816102f2565b811461031857600080fd5b50565b60008135905061032a81610304565b92915050565b600060208284031215610346576103456102cd565b5b60006103548482850161031b565b91505092915050565b60008115159050919050565b6103728161035d565b82525050565b600060208201905061038d6000830184610369565b92915050565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b6000610400602783610393565b915061040b826103a4565b604082019050919050565b6000602082019050818103600083015261042f816103f3565b905091905056fea264697066735822122050405cbb4e96f2f226a9edb8db89ce47cb1e12668307c9b95ecce08844e2115664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x781 CODESIZE SUB DUP1 PUSH2 0x781 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xBC JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x56 JUMPI PUSH2 0x55 PUSH2 0x2D7 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x35 JUMP JUMPDEST POP POP PUSH2 0x306 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x125 DUP3 PUSH2 0xDC JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x144 JUMPI PUSH2 0x143 PUSH2 0xED JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x157 PUSH2 0xC3 JUMP JUMPDEST SWAP1 POP PUSH2 0x163 DUP3 DUP3 PUSH2 0x11C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x183 JUMPI PUSH2 0x182 PUSH2 0xED JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C4 DUP3 PUSH2 0x199 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D4 DUP2 PUSH2 0x1B9 JUMP JUMPDEST DUP2 EQ PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1 DUP2 PUSH2 0x1CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A PUSH2 0x205 DUP5 PUSH2 0x168 JUMP JUMPDEST PUSH2 0x14D JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x22D JUMPI PUSH2 0x22C PUSH2 0x194 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x256 JUMPI DUP1 PUSH2 0x242 DUP9 DUP3 PUSH2 0x1E2 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x22F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x275 JUMPI PUSH2 0x274 PUSH2 0xD7 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x285 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1F7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A4 JUMPI PUSH2 0x2A3 PUSH2 0xCD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C2 JUMPI PUSH2 0x2C1 PUSH2 0xD2 JUMP JUMPDEST JUMPDEST PUSH2 0x2CE DUP5 DUP3 DUP6 ADD PUSH2 0x260 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x46C DUP1 PUSH2 0x315 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1785F53C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0xAE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x89 SWAP2 SWAP1 PUSH2 0x378 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x1E8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x139 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x130 SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x273 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26A SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FD DUP3 PUSH2 0x2D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30D DUP2 PUSH2 0x2F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x32A DUP2 PUSH2 0x304 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x346 JUMPI PUSH2 0x345 PUSH2 0x2CD JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x354 DUP5 DUP3 DUP6 ADD PUSH2 0x31B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x372 DUP2 PUSH2 0x35D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x38D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x369 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x400 PUSH1 0x27 DUP4 PUSH2 0x393 JUMP JUMPDEST SWAP2 POP PUSH2 0x40B DUP3 PUSH2 0x3A4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x42F DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 POP BLOCKHASH TLOAD 0xBB 0x4E SWAP7 CALLCODE CALLCODE 0x26 0xA9 0xED 0xB8 0xDB DUP10 0xCE SELFBALANCE 0xCB 0x1E SLT PUSH7 0x8307C9B95ECCE0 DUP9 PREVRANDAO 0xE2 GT JUMP PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "58:668:39:-:0;;;126:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;185:6;180:101;197:13;:20;193:1;:24;180:101;;;266:4;238:7;:25;246:13;260:1;246:16;;;;;;;;:::i;:::-;;;;;;;;238:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;219:3;;;;;;;180:101;;;;126:161;58:668;;7:75:43;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:554::-;3382:6;3431:2;3419:9;3410:7;3406:23;3402:32;3399:119;;;3437:79;;:::i;:::-;3399:119;3578:1;3567:9;3563:17;3557:24;3608:18;3600:6;3597:30;3594:117;;;3630:79;;:::i;:::-;3594:117;3735:89;3816:7;3807:6;3796:9;3792:22;3735:89;:::i;:::-;3725:99;;3528:306;3287:554;;;;:::o;3847:180::-;3895:77;3892:1;3885:88;3992:4;3989:1;3982:15;4016:4;4013:1;4006:15;58:668:39;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@addAdmin_11472": { + "entryPoint": 488, + "id": 11472, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@isAdmin_11458": { + "entryPoint": 403, + "id": 11458, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@removeAdmin_11486": { + "entryPoint": 174, + "id": 11486, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_t_address": { + "entryPoint": 795, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 816, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 873, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1011, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 888, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1046, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 915, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 754, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 861, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 722, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 717, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01": { + "entryPoint": 932, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 772, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:2804:43", + "nodeType": "YulBlock", + "src": "0:2804:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "379:81:43", + "nodeType": "YulBlock", + "src": "379:81:43", + "statements": [ + { + "nativeSrc": "389:65:43", + "nodeType": "YulAssignment", + "src": "389:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:43", + "nodeType": "YulIdentifier", + "src": "404:5:43" + }, + { + "kind": "number", + "nativeSrc": "411:42:43", + "nodeType": "YulLiteral", + "src": "411:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:43", + "nodeType": "YulIdentifier", + "src": "400:3:43" + }, + "nativeSrc": "400:54:43", + "nodeType": "YulFunctionCall", + "src": "400:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:43", + "nodeType": "YulIdentifier", + "src": "389:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:43", + "nodeType": "YulTypedName", + "src": "361:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:43", + "nodeType": "YulTypedName", + "src": "371:7:43", + "type": "" + } + ], + "src": "334:126:43" + }, + { + "body": { + "nativeSrc": "511:51:43", + "nodeType": "YulBlock", + "src": "511:51:43", + "statements": [ + { + "nativeSrc": "521:35:43", + "nodeType": "YulAssignment", + "src": "521:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:43", + "nodeType": "YulIdentifier", + "src": "550:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:43", + "nodeType": "YulIdentifier", + "src": "532:17:43" + }, + "nativeSrc": "532:24:43", + "nodeType": "YulFunctionCall", + "src": "532:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:43", + "nodeType": "YulIdentifier", + "src": "521:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:43", + "nodeType": "YulTypedName", + "src": "493:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:43", + "nodeType": "YulTypedName", + "src": "503:7:43", + "type": "" + } + ], + "src": "466:96:43" + }, + { + "body": { + "nativeSrc": "611:79:43", + "nodeType": "YulBlock", + "src": "611:79:43", + "statements": [ + { + "body": { + "nativeSrc": "668:16:43", + "nodeType": "YulBlock", + "src": "668:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "677:1:43", + "nodeType": "YulLiteral", + "src": "677:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "680:1:43", + "nodeType": "YulLiteral", + "src": "680:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "670:6:43", + "nodeType": "YulIdentifier", + "src": "670:6:43" + }, + "nativeSrc": "670:12:43", + "nodeType": "YulFunctionCall", + "src": "670:12:43" + }, + "nativeSrc": "670:12:43", + "nodeType": "YulExpressionStatement", + "src": "670:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "634:5:43", + "nodeType": "YulIdentifier", + "src": "634:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "659:5:43", + "nodeType": "YulIdentifier", + "src": "659:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "641:17:43", + "nodeType": "YulIdentifier", + "src": "641:17:43" + }, + "nativeSrc": "641:24:43", + "nodeType": "YulFunctionCall", + "src": "641:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "631:2:43", + "nodeType": "YulIdentifier", + "src": "631:2:43" + }, + "nativeSrc": "631:35:43", + "nodeType": "YulFunctionCall", + "src": "631:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "624:6:43", + "nodeType": "YulIdentifier", + "src": "624:6:43" + }, + "nativeSrc": "624:43:43", + "nodeType": "YulFunctionCall", + "src": "624:43:43" + }, + "nativeSrc": "621:63:43", + "nodeType": "YulIf", + "src": "621:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "568:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "604:5:43", + "nodeType": "YulTypedName", + "src": "604:5:43", + "type": "" + } + ], + "src": "568:122:43" + }, + { + "body": { + "nativeSrc": "748:87:43", + "nodeType": "YulBlock", + "src": "748:87:43", + "statements": [ + { + "nativeSrc": "758:29:43", + "nodeType": "YulAssignment", + "src": "758:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "780:6:43", + "nodeType": "YulIdentifier", + "src": "780:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "767:12:43", + "nodeType": "YulIdentifier", + "src": "767:12:43" + }, + "nativeSrc": "767:20:43", + "nodeType": "YulFunctionCall", + "src": "767:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "758:5:43", + "nodeType": "YulIdentifier", + "src": "758:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "823:5:43", + "nodeType": "YulIdentifier", + "src": "823:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "796:26:43", + "nodeType": "YulIdentifier", + "src": "796:26:43" + }, + "nativeSrc": "796:33:43", + "nodeType": "YulFunctionCall", + "src": "796:33:43" + }, + "nativeSrc": "796:33:43", + "nodeType": "YulExpressionStatement", + "src": "796:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "696:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "726:6:43", + "nodeType": "YulTypedName", + "src": "726:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "734:3:43", + "nodeType": "YulTypedName", + "src": "734:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "742:5:43", + "nodeType": "YulTypedName", + "src": "742:5:43", + "type": "" + } + ], + "src": "696:139:43" + }, + { + "body": { + "nativeSrc": "907:263:43", + "nodeType": "YulBlock", + "src": "907:263:43", + "statements": [ + { + "body": { + "nativeSrc": "953:83:43", + "nodeType": "YulBlock", + "src": "953:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "955:77:43", + "nodeType": "YulIdentifier", + "src": "955:77:43" + }, + "nativeSrc": "955:79:43", + "nodeType": "YulFunctionCall", + "src": "955:79:43" + }, + "nativeSrc": "955:79:43", + "nodeType": "YulExpressionStatement", + "src": "955:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "928:7:43", + "nodeType": "YulIdentifier", + "src": "928:7:43" + }, + { + "name": "headStart", + "nativeSrc": "937:9:43", + "nodeType": "YulIdentifier", + "src": "937:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "924:3:43", + "nodeType": "YulIdentifier", + "src": "924:3:43" + }, + "nativeSrc": "924:23:43", + "nodeType": "YulFunctionCall", + "src": "924:23:43" + }, + { + "kind": "number", + "nativeSrc": "949:2:43", + "nodeType": "YulLiteral", + "src": "949:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "920:3:43", + "nodeType": "YulIdentifier", + "src": "920:3:43" + }, + "nativeSrc": "920:32:43", + "nodeType": "YulFunctionCall", + "src": "920:32:43" + }, + "nativeSrc": "917:119:43", + "nodeType": "YulIf", + "src": "917:119:43" + }, + { + "nativeSrc": "1046:117:43", + "nodeType": "YulBlock", + "src": "1046:117:43", + "statements": [ + { + "nativeSrc": "1061:15:43", + "nodeType": "YulVariableDeclaration", + "src": "1061:15:43", + "value": { + "kind": "number", + "nativeSrc": "1075:1:43", + "nodeType": "YulLiteral", + "src": "1075:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1065:6:43", + "nodeType": "YulTypedName", + "src": "1065:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "1090:63:43", + "nodeType": "YulAssignment", + "src": "1090:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1125:9:43", + "nodeType": "YulIdentifier", + "src": "1125:9:43" + }, + { + "name": "offset", + "nativeSrc": "1136:6:43", + "nodeType": "YulIdentifier", + "src": "1136:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1121:3:43", + "nodeType": "YulIdentifier", + "src": "1121:3:43" + }, + "nativeSrc": "1121:22:43", + "nodeType": "YulFunctionCall", + "src": "1121:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "1145:7:43", + "nodeType": "YulIdentifier", + "src": "1145:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "1100:20:43", + "nodeType": "YulIdentifier", + "src": "1100:20:43" + }, + "nativeSrc": "1100:53:43", + "nodeType": "YulFunctionCall", + "src": "1100:53:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1090:6:43", + "nodeType": "YulIdentifier", + "src": "1090:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "841:329:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "877:9:43", + "nodeType": "YulTypedName", + "src": "877:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "888:7:43", + "nodeType": "YulTypedName", + "src": "888:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "900:6:43", + "nodeType": "YulTypedName", + "src": "900:6:43", + "type": "" + } + ], + "src": "841:329:43" + }, + { + "body": { + "nativeSrc": "1218:48:43", + "nodeType": "YulBlock", + "src": "1218:48:43", + "statements": [ + { + "nativeSrc": "1228:32:43", + "nodeType": "YulAssignment", + "src": "1228:32:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1253:5:43", + "nodeType": "YulIdentifier", + "src": "1253:5:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1246:6:43", + "nodeType": "YulIdentifier", + "src": "1246:6:43" + }, + "nativeSrc": "1246:13:43", + "nodeType": "YulFunctionCall", + "src": "1246:13:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1239:6:43", + "nodeType": "YulIdentifier", + "src": "1239:6:43" + }, + "nativeSrc": "1239:21:43", + "nodeType": "YulFunctionCall", + "src": "1239:21:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1228:7:43", + "nodeType": "YulIdentifier", + "src": "1228:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "1176:90:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1200:5:43", + "nodeType": "YulTypedName", + "src": "1200:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1210:7:43", + "nodeType": "YulTypedName", + "src": "1210:7:43", + "type": "" + } + ], + "src": "1176:90:43" + }, + { + "body": { + "nativeSrc": "1331:50:43", + "nodeType": "YulBlock", + "src": "1331:50:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1348:3:43", + "nodeType": "YulIdentifier", + "src": "1348:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1368:5:43", + "nodeType": "YulIdentifier", + "src": "1368:5:43" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "1353:14:43", + "nodeType": "YulIdentifier", + "src": "1353:14:43" + }, + "nativeSrc": "1353:21:43", + "nodeType": "YulFunctionCall", + "src": "1353:21:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1341:6:43", + "nodeType": "YulIdentifier", + "src": "1341:6:43" + }, + "nativeSrc": "1341:34:43", + "nodeType": "YulFunctionCall", + "src": "1341:34:43" + }, + "nativeSrc": "1341:34:43", + "nodeType": "YulExpressionStatement", + "src": "1341:34:43" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1272:109:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1319:5:43", + "nodeType": "YulTypedName", + "src": "1319:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1326:3:43", + "nodeType": "YulTypedName", + "src": "1326:3:43", + "type": "" + } + ], + "src": "1272:109:43" + }, + { + "body": { + "nativeSrc": "1479:118:43", + "nodeType": "YulBlock", + "src": "1479:118:43", + "statements": [ + { + "nativeSrc": "1489:26:43", + "nodeType": "YulAssignment", + "src": "1489:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1501:9:43", + "nodeType": "YulIdentifier", + "src": "1501:9:43" + }, + { + "kind": "number", + "nativeSrc": "1512:2:43", + "nodeType": "YulLiteral", + "src": "1512:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1497:3:43", + "nodeType": "YulIdentifier", + "src": "1497:3:43" + }, + "nativeSrc": "1497:18:43", + "nodeType": "YulFunctionCall", + "src": "1497:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1489:4:43", + "nodeType": "YulIdentifier", + "src": "1489:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1563:6:43", + "nodeType": "YulIdentifier", + "src": "1563:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1576:9:43", + "nodeType": "YulIdentifier", + "src": "1576:9:43" + }, + { + "kind": "number", + "nativeSrc": "1587:1:43", + "nodeType": "YulLiteral", + "src": "1587:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1572:3:43", + "nodeType": "YulIdentifier", + "src": "1572:3:43" + }, + "nativeSrc": "1572:17:43", + "nodeType": "YulFunctionCall", + "src": "1572:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1525:37:43", + "nodeType": "YulIdentifier", + "src": "1525:37:43" + }, + "nativeSrc": "1525:65:43", + "nodeType": "YulFunctionCall", + "src": "1525:65:43" + }, + "nativeSrc": "1525:65:43", + "nodeType": "YulExpressionStatement", + "src": "1525:65:43" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "1387:210:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1451:9:43", + "nodeType": "YulTypedName", + "src": "1451:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1463:6:43", + "nodeType": "YulTypedName", + "src": "1463:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1474:4:43", + "nodeType": "YulTypedName", + "src": "1474:4:43", + "type": "" + } + ], + "src": "1387:210:43" + }, + { + "body": { + "nativeSrc": "1699:73:43", + "nodeType": "YulBlock", + "src": "1699:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1716:3:43", + "nodeType": "YulIdentifier", + "src": "1716:3:43" + }, + { + "name": "length", + "nativeSrc": "1721:6:43", + "nodeType": "YulIdentifier", + "src": "1721:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1709:6:43", + "nodeType": "YulIdentifier", + "src": "1709:6:43" + }, + "nativeSrc": "1709:19:43", + "nodeType": "YulFunctionCall", + "src": "1709:19:43" + }, + "nativeSrc": "1709:19:43", + "nodeType": "YulExpressionStatement", + "src": "1709:19:43" + }, + { + "nativeSrc": "1737:29:43", + "nodeType": "YulAssignment", + "src": "1737:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1756:3:43", + "nodeType": "YulIdentifier", + "src": "1756:3:43" + }, + { + "kind": "number", + "nativeSrc": "1761:4:43", + "nodeType": "YulLiteral", + "src": "1761:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1752:3:43", + "nodeType": "YulIdentifier", + "src": "1752:3:43" + }, + "nativeSrc": "1752:14:43", + "nodeType": "YulFunctionCall", + "src": "1752:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "1737:11:43", + "nodeType": "YulIdentifier", + "src": "1737:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "1603:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "1671:3:43", + "nodeType": "YulTypedName", + "src": "1671:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1676:6:43", + "nodeType": "YulTypedName", + "src": "1676:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "1687:11:43", + "nodeType": "YulTypedName", + "src": "1687:11:43", + "type": "" + } + ], + "src": "1603:169:43" + }, + { + "body": { + "nativeSrc": "1884:120:43", + "nodeType": "YulBlock", + "src": "1884:120:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1906:6:43", + "nodeType": "YulIdentifier", + "src": "1906:6:43" + }, + { + "kind": "number", + "nativeSrc": "1914:1:43", + "nodeType": "YulLiteral", + "src": "1914:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1902:3:43", + "nodeType": "YulIdentifier", + "src": "1902:3:43" + }, + "nativeSrc": "1902:14:43", + "nodeType": "YulFunctionCall", + "src": "1902:14:43" + }, + { + "hexValue": "41646472657373206e6f7420616c6c6f77656420746f2063616c6c2074686973", + "kind": "string", + "nativeSrc": "1918:34:43", + "nodeType": "YulLiteral", + "src": "1918:34:43", + "type": "", + "value": "Address not allowed to call this" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1895:6:43", + "nodeType": "YulIdentifier", + "src": "1895:6:43" + }, + "nativeSrc": "1895:58:43", + "nodeType": "YulFunctionCall", + "src": "1895:58:43" + }, + "nativeSrc": "1895:58:43", + "nodeType": "YulExpressionStatement", + "src": "1895:58:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1974:6:43", + "nodeType": "YulIdentifier", + "src": "1974:6:43" + }, + { + "kind": "number", + "nativeSrc": "1982:2:43", + "nodeType": "YulLiteral", + "src": "1982:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1970:3:43", + "nodeType": "YulIdentifier", + "src": "1970:3:43" + }, + "nativeSrc": "1970:15:43", + "nodeType": "YulFunctionCall", + "src": "1970:15:43" + }, + { + "hexValue": "206d6574686f64", + "kind": "string", + "nativeSrc": "1987:9:43", + "nodeType": "YulLiteral", + "src": "1987:9:43", + "type": "", + "value": " method" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1963:6:43", + "nodeType": "YulIdentifier", + "src": "1963:6:43" + }, + "nativeSrc": "1963:34:43", + "nodeType": "YulFunctionCall", + "src": "1963:34:43" + }, + "nativeSrc": "1963:34:43", + "nodeType": "YulExpressionStatement", + "src": "1963:34:43" + } + ] + }, + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "1778:226:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "1876:6:43", + "nodeType": "YulTypedName", + "src": "1876:6:43", + "type": "" + } + ], + "src": "1778:226:43" + }, + { + "body": { + "nativeSrc": "2156:220:43", + "nodeType": "YulBlock", + "src": "2156:220:43", + "statements": [ + { + "nativeSrc": "2166:74:43", + "nodeType": "YulAssignment", + "src": "2166:74:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2232:3:43", + "nodeType": "YulIdentifier", + "src": "2232:3:43" + }, + { + "kind": "number", + "nativeSrc": "2237:2:43", + "nodeType": "YulLiteral", + "src": "2237:2:43", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "2173:58:43", + "nodeType": "YulIdentifier", + "src": "2173:58:43" + }, + "nativeSrc": "2173:67:43", + "nodeType": "YulFunctionCall", + "src": "2173:67:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2166:3:43", + "nodeType": "YulIdentifier", + "src": "2166:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2338:3:43", + "nodeType": "YulIdentifier", + "src": "2338:3:43" + } + ], + "functionName": { + "name": "store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01", + "nativeSrc": "2249:88:43", + "nodeType": "YulIdentifier", + "src": "2249:88:43" + }, + "nativeSrc": "2249:93:43", + "nodeType": "YulFunctionCall", + "src": "2249:93:43" + }, + "nativeSrc": "2249:93:43", + "nodeType": "YulExpressionStatement", + "src": "2249:93:43" + }, + { + "nativeSrc": "2351:19:43", + "nodeType": "YulAssignment", + "src": "2351:19:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2362:3:43", + "nodeType": "YulIdentifier", + "src": "2362:3:43" + }, + { + "kind": "number", + "nativeSrc": "2367:2:43", + "nodeType": "YulLiteral", + "src": "2367:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2358:3:43", + "nodeType": "YulIdentifier", + "src": "2358:3:43" + }, + "nativeSrc": "2358:12:43", + "nodeType": "YulFunctionCall", + "src": "2358:12:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2351:3:43", + "nodeType": "YulIdentifier", + "src": "2351:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2010:366:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2144:3:43", + "nodeType": "YulTypedName", + "src": "2144:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2152:3:43", + "nodeType": "YulTypedName", + "src": "2152:3:43", + "type": "" + } + ], + "src": "2010:366:43" + }, + { + "body": { + "nativeSrc": "2553:248:43", + "nodeType": "YulBlock", + "src": "2553:248:43", + "statements": [ + { + "nativeSrc": "2563:26:43", + "nodeType": "YulAssignment", + "src": "2563:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2575:9:43", + "nodeType": "YulIdentifier", + "src": "2575:9:43" + }, + { + "kind": "number", + "nativeSrc": "2586:2:43", + "nodeType": "YulLiteral", + "src": "2586:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2571:3:43", + "nodeType": "YulIdentifier", + "src": "2571:3:43" + }, + "nativeSrc": "2571:18:43", + "nodeType": "YulFunctionCall", + "src": "2571:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2563:4:43", + "nodeType": "YulIdentifier", + "src": "2563:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2610:9:43", + "nodeType": "YulIdentifier", + "src": "2610:9:43" + }, + { + "kind": "number", + "nativeSrc": "2621:1:43", + "nodeType": "YulLiteral", + "src": "2621:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2606:3:43", + "nodeType": "YulIdentifier", + "src": "2606:3:43" + }, + "nativeSrc": "2606:17:43", + "nodeType": "YulFunctionCall", + "src": "2606:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "2629:4:43", + "nodeType": "YulIdentifier", + "src": "2629:4:43" + }, + { + "name": "headStart", + "nativeSrc": "2635:9:43", + "nodeType": "YulIdentifier", + "src": "2635:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2625:3:43", + "nodeType": "YulIdentifier", + "src": "2625:3:43" + }, + "nativeSrc": "2625:20:43", + "nodeType": "YulFunctionCall", + "src": "2625:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2599:6:43", + "nodeType": "YulIdentifier", + "src": "2599:6:43" + }, + "nativeSrc": "2599:47:43", + "nodeType": "YulFunctionCall", + "src": "2599:47:43" + }, + "nativeSrc": "2599:47:43", + "nodeType": "YulExpressionStatement", + "src": "2599:47:43" + }, + { + "nativeSrc": "2655:139:43", + "nodeType": "YulAssignment", + "src": "2655:139:43", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "2789:4:43", + "nodeType": "YulIdentifier", + "src": "2789:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2663:124:43", + "nodeType": "YulIdentifier", + "src": "2663:124:43" + }, + "nativeSrc": "2663:131:43", + "nodeType": "YulFunctionCall", + "src": "2663:131:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2655:4:43", + "nodeType": "YulIdentifier", + "src": "2655:4:43" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "2382:419:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2533:9:43", + "nodeType": "YulTypedName", + "src": "2533:9:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "2548:4:43", + "nodeType": "YulTypedName", + "src": "2548:4:43", + "type": "" + } + ], + "src": "2382:419:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(memPtr) {\n\n mstore(add(memPtr, 0), \"Address not allowed to call this\")\n\n mstore(add(memPtr, 32), \" method\")\n\n }\n\n function abi_encode_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01__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_aa130bf6d081a8c161239f667b7962428cea5ddb06096c7e04f328c9dc608f01_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80631785f53c1461004657806324d7806c146100625780637048027514610092575b600080fd5b610060600480360381019061005b9190610330565b6100ae565b005b61007c60048036038101906100779190610330565b610193565b6040516100899190610378565b60405180910390f35b6100ac60048036038101906100a79190610330565b6101e8565b005b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013090610416565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610416565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102fd826102d2565b9050919050565b61030d816102f2565b811461031857600080fd5b50565b60008135905061032a81610304565b92915050565b600060208284031215610346576103456102cd565b5b60006103548482850161031b565b91505092915050565b60008115159050919050565b6103728161035d565b82525050565b600060208201905061038d6000830184610369565b92915050565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b6000610400602783610393565b915061040b826103a4565b604082019050919050565b6000602082019050818103600083015261042f816103f3565b905091905056fea264697066735822122050405cbb4e96f2f226a9edb8db89ce47cb1e12668307c9b95ecce08844e2115664736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1785F53C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x24D7806C EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x70480275 EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0xAE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x89 SWAP2 SWAP1 PUSH2 0x378 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH2 0x1E8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x139 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x130 SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x273 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26A SWAP1 PUSH2 0x416 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FD DUP3 PUSH2 0x2D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30D DUP2 PUSH2 0x2F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x32A DUP2 PUSH2 0x304 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x346 JUMPI PUSH2 0x345 PUSH2 0x2CD JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x354 DUP5 DUP3 DUP6 ADD PUSH2 0x31B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x372 DUP2 PUSH2 0x35D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x38D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x369 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F2063616C6C2074686973 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206D6574686F6400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x400 PUSH1 0x27 DUP4 PUSH2 0x393 JUMP JUMPDEST SWAP2 POP PUSH2 0x40B DUP3 PUSH2 0x3A4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x42F DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 POP BLOCKHASH TLOAD 0xBB 0x4E SWAP7 CALLCODE CALLCODE 0x26 0xA9 0xED 0xB8 0xDB DUP10 0xCE SELFBALANCE 0xCB 0x1E SLT PUSH7 0x8307C9B95ECCE0 DUP9 PREVRANDAO 0xE2 GT JUMP PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "58:668:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;629:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;418:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;629:95;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;712:5:::1;694:7:::0;:15:::1;702:6;694:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;629:95:::0;:::o;418:102::-;473:4;496:7;:17;504:8;496:17;;;;;;;;;;;;;;;;;;;;;;;;;489:24;;418:102;;;:::o;526:97::-;331:7;:19;339:10;331:19;;;;;;;;;;;;;;;;;;;;;;;;;323:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;612:4:::1;591:7;:18:::0;599:9:::1;591:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;526:97:::0;:::o;88:117:43:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:169::-;1687:11;1721:6;1716:3;1709:19;1761:4;1756:3;1752:14;1737:29;;1603:169;;;;:::o;1778:226::-;1918:34;1914:1;1906:6;1902:14;1895:58;1987:9;1982:2;1974:6;1970:15;1963:34;1778:226;:::o;2010:366::-;2152:3;2173:67;2237:2;2232:3;2173:67;:::i;:::-;2166:74;;2249:93;2338:3;2249:93;:::i;:::-;2367:2;2362:3;2358:12;2351:19;;2010:366;;;:::o;2382:419::-;2548:4;2586:2;2575:9;2571:18;2563:26;;2635:9;2629:4;2625:20;2621:1;2610:9;2606:17;2599:47;2663:131;2789:4;2663:131;:::i;:::-;2655:139;;2382:419;;;:::o" + }, + "methodIdentifiers": { + "addAdmin(address)": "70480275", + "isAdmin(address)": "24d7806c", + "removeAdmin(address)": "1785f53c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialAdmins\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAdmin\",\"type\":\"address\"}],\"name\":\"addAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"}],\"name\":\"removeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Lib/Administrable.sol\":\"Administrable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Lib/Administrable.sol\":{\"keccak256\":\"0xf5cb19fd1d0fcffcfa1f8475075e93fe4aef6c964a1f672fe378a72119b3b75d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97a66f5774463cfd9ceb4fb2148a2a079b23fe41d18974eb0b90c26c2ec617f\",\"dweb:/ipfs/QmP8sBeatf66mDQJZa4vXj3oRsxTAxnhkXNEwSxUptTrk7\"]}},\"version\":1}" + } + }, + "contracts/Lib/AirdropDeployerERC1155.sol": { + "AirdropDeployerERC1155": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mode", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11496": { + "entryPoint": null, + "id": 11496, + "parameterSlots": 0, + "returnSlots": 0 + } + }, + "generatedSources": [], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50614c60806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200002e5760003560e01c80630920be421462000033575b600080fd5b6200005160048036038101906200004b919062000374565b62000069565b60405162000060919062000457565b60405180910390f35b6000808203620000cf5760008830898989898960006040516200008c9062000142565b6200009f9897969594939291906200058e565b604051809103906000f080158015620000bc573d6000803e3d6000fd5b5090506000819050809250505062000137565b60018203620001325760008830898989886001604051620000f09062000150565b62000102979695949392919062000623565b604051809103906000f0801580156200011f573d6000803e3d6000fd5b5090506000819050809250505062000137565b600090505b979650505050505050565b61258080620006a883390190565b6120038062002c2883390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001c7826200017c565b810181811067ffffffffffffffff82111715620001e957620001e86200018d565b5b80604052505050565b6000620001fe6200015e565b90506200020c8282620001bc565b919050565b600067ffffffffffffffff8211156200022f576200022e6200018d565b5b6200023a826200017c565b9050602081019050919050565b82818337600083830152505050565b60006200026d620002678462000211565b620001f2565b9050828152602081018484840111156200028c576200028b62000177565b5b6200029984828562000247565b509392505050565b600082601f830112620002b957620002b862000172565b5b8135620002cb84826020860162000256565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030182620002d4565b9050919050565b6200031381620002f4565b81146200031f57600080fd5b50565b600081359050620003338162000308565b92915050565b6000819050919050565b6200034e8162000339565b81146200035a57600080fd5b50565b6000813590506200036e8162000343565b92915050565b600080600080600080600060e0888a03121562000396576200039562000168565b5b600088013567ffffffffffffffff811115620003b757620003b66200016d565b5b620003c58a828b01620002a1565b9750506020620003d88a828b0162000322565b9650506040620003eb8a828b016200035d565b9550506060620003fe8a828b016200035d565b9450506080620004118a828b016200035d565b93505060a0620004248a828b016200035d565b92505060c0620004378a828b016200035d565b91505092959891949750929550565b6200045181620002f4565b82525050565b60006020820190506200046e600083018462000446565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004b057808201518184015260208101905062000493565b60008484015250505050565b6000620004c98262000474565b620004d581856200047f565b9350620004e781856020860162000490565b620004f2816200017c565b840191505092915050565b620005088162000339565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106200055157620005506200050e565b5b50565b600081905062000564826200053d565b919050565b6000620005768262000554565b9050919050565b620005888162000569565b82525050565b6000610100820190508181036000830152620005ab818b620004bc565b9050620005bc602083018a62000446565b620005cb604083018962000446565b620005da6060830188620004fd565b620005e96080830187620004fd565b620005f860a0830186620004fd565b6200060760c0830185620004fd565b6200061660e08301846200057d565b9998505050505050505050565b600060e08201905081810360008301526200063f818a620004bc565b905062000650602083018962000446565b6200065f604083018862000446565b6200066e6060830187620004fd565b6200067d6080830186620004fd565b6200068c60a0830185620004fd565b6200069b60c08301846200057d565b9897505050505050505056fe60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea2646970667358221220bd72319c10e3d3381b43e2670c4375cf0a3350cc3750c43744074c5d6087841164736f6c6343000818003360806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220c89d20e715bb8b1741d20dd3617fd1af69293dba68a2aac4954cf6a82d0bd78764736f6c63430008180033a2646970667358221220283d1523aebd5a529c889b1193853caee796ee76035ad8be40a44b854bf8284464736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C60 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x920BE42 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x374 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH3 0xCF JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH3 0x8C SWAP1 PUSH3 0x142 JUMP JUMPDEST PUSH3 0x9F SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x58E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x1 DUP3 SUB PUSH3 0x132 JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP9 PUSH1 0x1 PUSH1 0x40 MLOAD PUSH3 0xF0 SWAP1 PUSH3 0x150 JUMP JUMPDEST PUSH3 0x102 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x623 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x11F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2580 DUP1 PUSH3 0x6A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x2003 DUP1 PUSH3 0x2C28 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1C7 DUP3 PUSH3 0x17C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x1E9 JUMPI PUSH3 0x1E8 PUSH3 0x18D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FE PUSH3 0x15E JUMP JUMPDEST SWAP1 POP PUSH3 0x20C DUP3 DUP3 PUSH3 0x1BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x22F JUMPI PUSH3 0x22E PUSH3 0x18D JUMP JUMPDEST JUMPDEST PUSH3 0x23A DUP3 PUSH3 0x17C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x26D PUSH3 0x267 DUP5 PUSH3 0x211 JUMP JUMPDEST PUSH3 0x1F2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x28C JUMPI PUSH3 0x28B PUSH3 0x177 JUMP JUMPDEST JUMPDEST PUSH3 0x299 DUP5 DUP3 DUP6 PUSH3 0x247 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x2B9 JUMPI PUSH3 0x2B8 PUSH3 0x172 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x2CB DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x256 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x301 DUP3 PUSH3 0x2D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x313 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP2 EQ PUSH3 0x31F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x333 DUP2 PUSH3 0x308 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x34E DUP2 PUSH3 0x339 JUMP JUMPDEST DUP2 EQ PUSH3 0x35A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x36E DUP2 PUSH3 0x343 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x396 JUMPI PUSH3 0x395 PUSH3 0x168 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x3B7 JUMPI PUSH3 0x3B6 PUSH3 0x16D JUMP JUMPDEST JUMPDEST PUSH3 0x3C5 DUP11 DUP3 DUP12 ADD PUSH3 0x2A1 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x3D8 DUP11 DUP3 DUP12 ADD PUSH3 0x322 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x3EB DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x3FE DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x411 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x424 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x437 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x46E PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x446 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x4B0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x493 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4C9 DUP3 PUSH3 0x474 JUMP JUMPDEST PUSH3 0x4D5 DUP2 DUP6 PUSH3 0x47F JUMP JUMPDEST SWAP4 POP PUSH3 0x4E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x490 JUMP JUMPDEST PUSH3 0x4F2 DUP2 PUSH3 0x17C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x508 DUP2 PUSH3 0x339 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x551 JUMPI PUSH3 0x550 PUSH3 0x50E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH3 0x564 DUP3 PUSH3 0x53D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x576 DUP3 PUSH3 0x554 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x588 DUP2 PUSH3 0x569 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x5AB DUP2 DUP12 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x5BC PUSH1 0x20 DUP4 ADD DUP11 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5CB PUSH1 0x40 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5DA PUSH1 0x60 DUP4 ADD DUP9 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5E9 PUSH1 0x80 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5F8 PUSH1 0xA0 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x607 PUSH1 0xC0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x616 PUSH1 0xE0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x63F DUP2 DUP11 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x650 PUSH1 0x20 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x65F PUSH1 0x40 DUP4 ADD DUP9 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x66E PUSH1 0x60 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x67D PUSH1 0x80 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x68C PUSH1 0xA0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x69B PUSH1 0xC0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2580 CODESIZE SUB DUP1 PUSH3 0x2580 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x48F JUMP JUMPDEST DUP7 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x170 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP8 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7E6 JUMP JUMPDEST POP DUP5 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x8CD JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP PUSH3 0x8FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x29D DUP3 PUSH3 0x252 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BF JUMPI PUSH3 0x2BE PUSH3 0x263 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D4 PUSH3 0x234 JUMP JUMPDEST SWAP1 POP PUSH3 0x2E2 DUP3 DUP3 PUSH3 0x292 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x305 JUMPI PUSH3 0x304 PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x310 DUP3 PUSH3 0x252 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x33D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x320 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x360 PUSH3 0x35A DUP5 PUSH3 0x2E7 JUMP JUMPDEST PUSH3 0x2C8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x24D JUMP JUMPDEST JUMPDEST PUSH3 0x38C DUP5 DUP3 DUP6 PUSH3 0x31D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3AC JUMPI PUSH3 0x3AB PUSH3 0x248 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3BE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x349 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3F4 DUP3 PUSH3 0x3C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x406 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP2 EQ PUSH3 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x426 DUP2 PUSH3 0x3FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x441 DUP2 PUSH3 0x42C JUMP JUMPDEST DUP2 EQ PUSH3 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x461 DUP2 PUSH3 0x436 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x475 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x489 DUP2 PUSH3 0x467 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH3 0x4B2 PUSH3 0x23E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP10 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4D4 JUMPI PUSH3 0x4D3 PUSH3 0x243 JUMP JUMPDEST JUMPDEST PUSH3 0x4E2 DUP12 DUP3 DUP13 ADD PUSH3 0x394 JUMP JUMPDEST SWAP9 POP POP PUSH1 0x20 PUSH3 0x4F5 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x40 PUSH3 0x508 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x60 PUSH3 0x51B DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x80 PUSH3 0x52E DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP5 POP POP PUSH1 0xA0 PUSH3 0x541 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xC0 PUSH3 0x554 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 PUSH3 0x567 DUP12 DUP3 DUP13 ADD PUSH3 0x478 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH3 0x582 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x59F PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x60E JUMPI PUSH3 0x60D PUSH3 0x5B0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x678 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x639 JUMP JUMPDEST PUSH3 0x684 DUP7 DUP4 PUSH3 0x639 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6C7 PUSH3 0x6C1 PUSH3 0x6BB DUP5 PUSH3 0x42C JUMP JUMPDEST PUSH3 0x69C JUMP JUMPDEST PUSH3 0x42C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6E3 DUP4 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6FB PUSH3 0x6F2 DUP3 PUSH3 0x6CE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x646 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x712 PUSH3 0x703 JUMP JUMPDEST PUSH3 0x71F DUP2 DUP5 DUP5 PUSH3 0x6D8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x747 JUMPI PUSH3 0x73B PUSH1 0x0 DUP3 PUSH3 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x725 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x796 JUMPI PUSH3 0x760 DUP2 PUSH3 0x614 JUMP JUMPDEST PUSH3 0x76B DUP5 PUSH3 0x629 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x77B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x793 PUSH3 0x78A DUP6 PUSH3 0x629 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x724 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7BB PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x79B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7D6 DUP4 DUP4 PUSH3 0x7A8 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7F1 DUP3 PUSH3 0x5A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x80D JUMPI PUSH3 0x80C PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x819 DUP3 SLOAD PUSH3 0x5DF JUMP JUMPDEST PUSH3 0x826 DUP3 DUP3 DUP6 PUSH3 0x74B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x85E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x849 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x855 DUP6 DUP3 PUSH3 0x7C8 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8C5 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x86E DUP7 PUSH3 0x614 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x898 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x871 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x8B8 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x8B4 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x7A8 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1C74 DUP1 PUSH3 0x90C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD PUSH19 0x319C10E3D3381B43E2670C4375CF0A3350CC37 POP 0xC4 CALLDATACOPY PREVRANDAO SMOD 0x4C TSTORE PUSH1 0x87 DUP5 GT PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2003 CODESIZE SUB DUP1 PUSH3 0x2003 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x487 JUMP JUMPDEST DUP6 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x56A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP7 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7C8 JUMP JUMPDEST POP DUP4 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x156 JUMPI PUSH3 0x155 PUSH3 0x8AF JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP PUSH3 0x8DE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x46D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x481 DUP2 PUSH3 0x45F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x4A9 JUMPI PUSH3 0x4A8 PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4CA JUMPI PUSH3 0x4C9 PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4D8 DUP11 DUP3 DUP12 ADD PUSH3 0x38C JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x4EB DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x4FE DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x511 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x524 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x537 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x54A DUP11 DUP3 DUP12 ADD PUSH3 0x470 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x564 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x581 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5F0 JUMPI PUSH3 0x5EF PUSH3 0x592 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x65A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x61B JUMP JUMPDEST PUSH3 0x666 DUP7 DUP4 PUSH3 0x61B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6A9 PUSH3 0x6A3 PUSH3 0x69D DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x67E JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6C5 DUP4 PUSH3 0x688 JUMP JUMPDEST PUSH3 0x6DD PUSH3 0x6D4 DUP3 PUSH3 0x6B0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x628 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6F4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x701 DUP2 DUP5 DUP5 PUSH3 0x6BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x729 JUMPI PUSH3 0x71D PUSH1 0x0 DUP3 PUSH3 0x6EA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x778 JUMPI PUSH3 0x742 DUP2 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x74D DUP5 PUSH3 0x60B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x75D JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x775 PUSH3 0x76C DUP6 PUSH3 0x60B JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x706 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x77D JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7B8 DUP4 DUP4 PUSH3 0x78A JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7D3 DUP3 PUSH3 0x587 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7EF JUMPI PUSH3 0x7EE PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7FB DUP3 SLOAD PUSH3 0x5C1 JUMP JUMPDEST PUSH3 0x808 DUP3 DUP3 DUP6 PUSH3 0x72D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x840 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x82B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x837 DUP6 DUP3 PUSH3 0x7AA JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8A7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x850 DUP7 PUSH3 0x5F6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x87A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x853 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x89A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x896 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x78A JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1715 DUP1 PUSH3 0x8EE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 SWAP14 KECCAK256 0xE7 ISZERO 0xBB DUP12 OR COINBASE 0xD2 0xD 0xD3 PUSH2 0x7FD1 0xAF PUSH10 0x293DBA68A2AAC4954CF6 0xA8 0x2D SIGNEXTEND 0xD7 DUP8 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 RETURNDATASIZE ISZERO 0x23 0xAE 0xBD GAS MSTORE SWAP13 DUP9 SWAP12 GT SWAP4 DUP6 EXTCODECOPY 0xAE 0xE7 SWAP7 0xEE PUSH23 0x35AD8BE40A44B854BF8284464736F6C63430008180033 ", + "sourceMap": "180:1329:40:-:0;;;218:16;;;;;;;;;;180:1329;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@deployAndAddAirdrop_11589": { + "entryPoint": 105, + "id": 11589, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 598, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 802, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 673, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 861, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256": { + "entryPoint": 884, + "id": null, + "parameterSlots": 2, + "returnSlots": 7 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 1094, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack": { + "entryPoint": 1405, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1212, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 1277, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 1111, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$11645__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed": { + "entryPoint": 1571, + "id": null, + "parameterSlots": 8, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$11645__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed": { + "entryPoint": 1422, + "id": null, + "parameterSlots": 9, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 498, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 350, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 529, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 1140, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 1151, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 756, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_enum$_AirdropType_$11645": { + "entryPoint": 1364, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 724, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 825, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_enum$_AirdropType_$11645_to_t_uint8": { + "entryPoint": 1385, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 583, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 1168, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 444, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 1294, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 397, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 370, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 375, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 365, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 360, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 380, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_assert_t_enum$_AirdropType_$11645": { + "entryPoint": 1341, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 776, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 835, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:9113:43", + "nodeType": "YulBlock", + "src": "0:9113:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "546:28:43", + "nodeType": "YulBlock", + "src": "546:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:43", + "nodeType": "YulLiteral", + "src": "563:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:43", + "nodeType": "YulLiteral", + "src": "566:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:43", + "nodeType": "YulIdentifier", + "src": "556:6:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulFunctionCall", + "src": "556:12:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulExpressionStatement", + "src": "556:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:43", + "nodeType": "YulFunctionDefinition", + "src": "457:117:43" + }, + { + "body": { + "nativeSrc": "628:54:43", + "nodeType": "YulBlock", + "src": "628:54:43", + "statements": [ + { + "nativeSrc": "638:38:43", + "nodeType": "YulAssignment", + "src": "638:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:43", + "nodeType": "YulIdentifier", + "src": "656:5:43" + }, + { + "kind": "number", + "nativeSrc": "663:2:43", + "nodeType": "YulLiteral", + "src": "663:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:43", + "nodeType": "YulIdentifier", + "src": "652:3:43" + }, + "nativeSrc": "652:14:43", + "nodeType": "YulFunctionCall", + "src": "652:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:43", + "nodeType": "YulLiteral", + "src": "672:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:43", + "nodeType": "YulIdentifier", + "src": "668:3:43" + }, + "nativeSrc": "668:7:43", + "nodeType": "YulFunctionCall", + "src": "668:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:43", + "nodeType": "YulIdentifier", + "src": "648:3:43" + }, + "nativeSrc": "648:28:43", + "nodeType": "YulFunctionCall", + "src": "648:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:43", + "nodeType": "YulIdentifier", + "src": "638:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:43", + "nodeType": "YulTypedName", + "src": "611:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:43", + "nodeType": "YulTypedName", + "src": "621:6:43", + "type": "" + } + ], + "src": "580:102:43" + }, + { + "body": { + "nativeSrc": "716:152:43", + "nodeType": "YulBlock", + "src": "716:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:43", + "nodeType": "YulLiteral", + "src": "733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:43", + "nodeType": "YulLiteral", + "src": "736:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:43", + "nodeType": "YulIdentifier", + "src": "726:6:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulFunctionCall", + "src": "726:88:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulExpressionStatement", + "src": "726:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:43", + "nodeType": "YulLiteral", + "src": "830:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:43", + "nodeType": "YulLiteral", + "src": "833:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:43", + "nodeType": "YulIdentifier", + "src": "823:6:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulFunctionCall", + "src": "823:15:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulExpressionStatement", + "src": "823:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:43", + "nodeType": "YulLiteral", + "src": "854:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:43", + "nodeType": "YulLiteral", + "src": "857:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:43", + "nodeType": "YulIdentifier", + "src": "847:6:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulFunctionCall", + "src": "847:15:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulExpressionStatement", + "src": "847:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:43", + "nodeType": "YulFunctionDefinition", + "src": "688:180:43" + }, + { + "body": { + "nativeSrc": "917:238:43", + "nodeType": "YulBlock", + "src": "917:238:43", + "statements": [ + { + "nativeSrc": "927:58:43", + "nodeType": "YulVariableDeclaration", + "src": "927:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:43", + "nodeType": "YulIdentifier", + "src": "949:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:43", + "nodeType": "YulIdentifier", + "src": "979:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:43", + "nodeType": "YulIdentifier", + "src": "957:21:43" + }, + "nativeSrc": "957:27:43", + "nodeType": "YulFunctionCall", + "src": "957:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:43", + "nodeType": "YulIdentifier", + "src": "945:3:43" + }, + "nativeSrc": "945:40:43", + "nodeType": "YulFunctionCall", + "src": "945:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:43", + "nodeType": "YulTypedName", + "src": "931:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:43", + "nodeType": "YulBlock", + "src": "1096:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:43", + "nodeType": "YulIdentifier", + "src": "1098:16:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulFunctionCall", + "src": "1098:18:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulExpressionStatement", + "src": "1098:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:43", + "nodeType": "YulIdentifier", + "src": "1039:10:43" + }, + { + "kind": "number", + "nativeSrc": "1051:18:43", + "nodeType": "YulLiteral", + "src": "1051:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:43", + "nodeType": "YulIdentifier", + "src": "1036:2:43" + }, + "nativeSrc": "1036:34:43", + "nodeType": "YulFunctionCall", + "src": "1036:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:43", + "nodeType": "YulIdentifier", + "src": "1075:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:43", + "nodeType": "YulIdentifier", + "src": "1087:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:43", + "nodeType": "YulIdentifier", + "src": "1072:2:43" + }, + "nativeSrc": "1072:22:43", + "nodeType": "YulFunctionCall", + "src": "1072:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:43", + "nodeType": "YulIdentifier", + "src": "1033:2:43" + }, + "nativeSrc": "1033:62:43", + "nodeType": "YulFunctionCall", + "src": "1033:62:43" + }, + "nativeSrc": "1030:88:43", + "nodeType": "YulIf", + "src": "1030:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:43", + "nodeType": "YulLiteral", + "src": "1134:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:43", + "nodeType": "YulIdentifier", + "src": "1138:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:43", + "nodeType": "YulIdentifier", + "src": "1127:6:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulFunctionCall", + "src": "1127:22:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulExpressionStatement", + "src": "1127:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:43", + "nodeType": "YulTypedName", + "src": "903:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:43", + "nodeType": "YulTypedName", + "src": "911:4:43", + "type": "" + } + ], + "src": "874:281:43" + }, + { + "body": { + "nativeSrc": "1202:88:43", + "nodeType": "YulBlock", + "src": "1202:88:43", + "statements": [ + { + "nativeSrc": "1212:30:43", + "nodeType": "YulAssignment", + "src": "1212:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:43", + "nodeType": "YulIdentifier", + "src": "1222:18:43" + }, + "nativeSrc": "1222:20:43", + "nodeType": "YulFunctionCall", + "src": "1222:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:43", + "nodeType": "YulIdentifier", + "src": "1271:6:43" + }, + { + "name": "size", + "nativeSrc": "1279:4:43", + "nodeType": "YulIdentifier", + "src": "1279:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:43", + "nodeType": "YulIdentifier", + "src": "1251:19:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulFunctionCall", + "src": "1251:33:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulExpressionStatement", + "src": "1251:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:43", + "nodeType": "YulTypedName", + "src": "1186:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:43", + "nodeType": "YulTypedName", + "src": "1195:6:43", + "type": "" + } + ], + "src": "1161:129:43" + }, + { + "body": { + "nativeSrc": "1363:241:43", + "nodeType": "YulBlock", + "src": "1363:241:43", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:43", + "nodeType": "YulBlock", + "src": "1468:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:43", + "nodeType": "YulIdentifier", + "src": "1470:16:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulFunctionCall", + "src": "1470:18:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulExpressionStatement", + "src": "1470:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:43", + "nodeType": "YulIdentifier", + "src": "1440:6:43" + }, + { + "kind": "number", + "nativeSrc": "1448:18:43", + "nodeType": "YulLiteral", + "src": "1448:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:43", + "nodeType": "YulIdentifier", + "src": "1437:2:43" + }, + "nativeSrc": "1437:30:43", + "nodeType": "YulFunctionCall", + "src": "1437:30:43" + }, + "nativeSrc": "1434:56:43", + "nodeType": "YulIf", + "src": "1434:56:43" + }, + { + "nativeSrc": "1500:37:43", + "nodeType": "YulAssignment", + "src": "1500:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:43", + "nodeType": "YulIdentifier", + "src": "1530:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:43", + "nodeType": "YulIdentifier", + "src": "1508:21:43" + }, + "nativeSrc": "1508:29:43", + "nodeType": "YulFunctionCall", + "src": "1508:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:43", + "nodeType": "YulIdentifier", + "src": "1500:4:43" + } + ] + }, + { + "nativeSrc": "1574:23:43", + "nodeType": "YulAssignment", + "src": "1574:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:43", + "nodeType": "YulIdentifier", + "src": "1586:4:43" + }, + { + "kind": "number", + "nativeSrc": "1592:4:43", + "nodeType": "YulLiteral", + "src": "1592:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:43", + "nodeType": "YulIdentifier", + "src": "1582:3:43" + }, + "nativeSrc": "1582:15:43", + "nodeType": "YulFunctionCall", + "src": "1582:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:43", + "nodeType": "YulIdentifier", + "src": "1574:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:43", + "nodeType": "YulTypedName", + "src": "1347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:43", + "nodeType": "YulTypedName", + "src": "1358:4:43", + "type": "" + } + ], + "src": "1296:308:43" + }, + { + "body": { + "nativeSrc": "1674:82:43", + "nodeType": "YulBlock", + "src": "1674:82:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:43", + "nodeType": "YulIdentifier", + "src": "1697:3:43" + }, + { + "name": "src", + "nativeSrc": "1702:3:43", + "nodeType": "YulIdentifier", + "src": "1702:3:43" + }, + { + "name": "length", + "nativeSrc": "1707:6:43", + "nodeType": "YulIdentifier", + "src": "1707:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:43", + "nodeType": "YulIdentifier", + "src": "1684:12:43" + }, + "nativeSrc": "1684:30:43", + "nodeType": "YulFunctionCall", + "src": "1684:30:43" + }, + "nativeSrc": "1684:30:43", + "nodeType": "YulExpressionStatement", + "src": "1684:30:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:43", + "nodeType": "YulIdentifier", + "src": "1734:3:43" + }, + { + "name": "length", + "nativeSrc": "1739:6:43", + "nodeType": "YulIdentifier", + "src": "1739:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:43", + "nodeType": "YulIdentifier", + "src": "1730:3:43" + }, + "nativeSrc": "1730:16:43", + "nodeType": "YulFunctionCall", + "src": "1730:16:43" + }, + { + "kind": "number", + "nativeSrc": "1748:1:43", + "nodeType": "YulLiteral", + "src": "1748:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:43", + "nodeType": "YulIdentifier", + "src": "1723:6:43" + }, + "nativeSrc": "1723:27:43", + "nodeType": "YulFunctionCall", + "src": "1723:27:43" + }, + "nativeSrc": "1723:27:43", + "nodeType": "YulExpressionStatement", + "src": "1723:27:43" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1610:146:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1656:3:43", + "nodeType": "YulTypedName", + "src": "1656:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1661:3:43", + "nodeType": "YulTypedName", + "src": "1661:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1666:6:43", + "nodeType": "YulTypedName", + "src": "1666:6:43", + "type": "" + } + ], + "src": "1610:146:43" + }, + { + "body": { + "nativeSrc": "1846:341:43", + "nodeType": "YulBlock", + "src": "1846:341:43", + "statements": [ + { + "nativeSrc": "1856:75:43", + "nodeType": "YulAssignment", + "src": "1856:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1923:6:43", + "nodeType": "YulIdentifier", + "src": "1923:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1881:41:43", + "nodeType": "YulIdentifier", + "src": "1881:41:43" + }, + "nativeSrc": "1881:49:43", + "nodeType": "YulFunctionCall", + "src": "1881:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:43", + "nodeType": "YulIdentifier", + "src": "1865:15:43" + }, + "nativeSrc": "1865:66:43", + "nodeType": "YulFunctionCall", + "src": "1865:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:43", + "nodeType": "YulIdentifier", + "src": "1856:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1947:5:43", + "nodeType": "YulIdentifier", + "src": "1947:5:43" + }, + { + "name": "length", + "nativeSrc": "1954:6:43", + "nodeType": "YulIdentifier", + "src": "1954:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1940:6:43", + "nodeType": "YulIdentifier", + "src": "1940:6:43" + }, + "nativeSrc": "1940:21:43", + "nodeType": "YulFunctionCall", + "src": "1940:21:43" + }, + "nativeSrc": "1940:21:43", + "nodeType": "YulExpressionStatement", + "src": "1940:21:43" + }, + { + "nativeSrc": "1970:27:43", + "nodeType": "YulVariableDeclaration", + "src": "1970:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1985:5:43", + "nodeType": "YulIdentifier", + "src": "1985:5:43" + }, + { + "kind": "number", + "nativeSrc": "1992:4:43", + "nodeType": "YulLiteral", + "src": "1992:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1981:3:43", + "nodeType": "YulIdentifier", + "src": "1981:3:43" + }, + "nativeSrc": "1981:16:43", + "nodeType": "YulFunctionCall", + "src": "1981:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1974:3:43", + "nodeType": "YulTypedName", + "src": "1974:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2035:83:43", + "nodeType": "YulBlock", + "src": "2035:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2037:77:43", + "nodeType": "YulIdentifier", + "src": "2037:77:43" + }, + "nativeSrc": "2037:79:43", + "nodeType": "YulFunctionCall", + "src": "2037:79:43" + }, + "nativeSrc": "2037:79:43", + "nodeType": "YulExpressionStatement", + "src": "2037:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2016:3:43", + "nodeType": "YulIdentifier", + "src": "2016:3:43" + }, + { + "name": "length", + "nativeSrc": "2021:6:43", + "nodeType": "YulIdentifier", + "src": "2021:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2012:3:43", + "nodeType": "YulIdentifier", + "src": "2012:3:43" + }, + "nativeSrc": "2012:16:43", + "nodeType": "YulFunctionCall", + "src": "2012:16:43" + }, + { + "name": "end", + "nativeSrc": "2030:3:43", + "nodeType": "YulIdentifier", + "src": "2030:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2009:2:43", + "nodeType": "YulIdentifier", + "src": "2009:2:43" + }, + "nativeSrc": "2009:25:43", + "nodeType": "YulFunctionCall", + "src": "2009:25:43" + }, + "nativeSrc": "2006:112:43", + "nodeType": "YulIf", + "src": "2006:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2164:3:43", + "nodeType": "YulIdentifier", + "src": "2164:3:43" + }, + { + "name": "dst", + "nativeSrc": "2169:3:43", + "nodeType": "YulIdentifier", + "src": "2169:3:43" + }, + { + "name": "length", + "nativeSrc": "2174:6:43", + "nodeType": "YulIdentifier", + "src": "2174:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2127:36:43", + "nodeType": "YulIdentifier", + "src": "2127:36:43" + }, + "nativeSrc": "2127:54:43", + "nodeType": "YulFunctionCall", + "src": "2127:54:43" + }, + "nativeSrc": "2127:54:43", + "nodeType": "YulExpressionStatement", + "src": "2127:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "1762:425:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:43", + "nodeType": "YulTypedName", + "src": "1819:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:43", + "nodeType": "YulTypedName", + "src": "1824:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:43", + "nodeType": "YulTypedName", + "src": "1832:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:43", + "nodeType": "YulTypedName", + "src": "1840:5:43", + "type": "" + } + ], + "src": "1762:425:43" + }, + { + "body": { + "nativeSrc": "2269:278:43", + "nodeType": "YulBlock", + "src": "2269:278:43", + "statements": [ + { + "body": { + "nativeSrc": "2318:83:43", + "nodeType": "YulBlock", + "src": "2318:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2320:77:43", + "nodeType": "YulIdentifier", + "src": "2320:77:43" + }, + "nativeSrc": "2320:79:43", + "nodeType": "YulFunctionCall", + "src": "2320:79:43" + }, + "nativeSrc": "2320:79:43", + "nodeType": "YulExpressionStatement", + "src": "2320:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2297:6:43", + "nodeType": "YulIdentifier", + "src": "2297:6:43" + }, + { + "kind": "number", + "nativeSrc": "2305:4:43", + "nodeType": "YulLiteral", + "src": "2305:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2293:3:43", + "nodeType": "YulIdentifier", + "src": "2293:3:43" + }, + "nativeSrc": "2293:17:43", + "nodeType": "YulFunctionCall", + "src": "2293:17:43" + }, + { + "name": "end", + "nativeSrc": "2312:3:43", + "nodeType": "YulIdentifier", + "src": "2312:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2289:3:43", + "nodeType": "YulIdentifier", + "src": "2289:3:43" + }, + "nativeSrc": "2289:27:43", + "nodeType": "YulFunctionCall", + "src": "2289:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2282:6:43", + "nodeType": "YulIdentifier", + "src": "2282:6:43" + }, + "nativeSrc": "2282:35:43", + "nodeType": "YulFunctionCall", + "src": "2282:35:43" + }, + "nativeSrc": "2279:122:43", + "nodeType": "YulIf", + "src": "2279:122:43" + }, + { + "nativeSrc": "2410:34:43", + "nodeType": "YulVariableDeclaration", + "src": "2410:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2437:6:43", + "nodeType": "YulIdentifier", + "src": "2437:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2424:12:43", + "nodeType": "YulIdentifier", + "src": "2424:12:43" + }, + "nativeSrc": "2424:20:43", + "nodeType": "YulFunctionCall", + "src": "2424:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2414:6:43", + "nodeType": "YulTypedName", + "src": "2414:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2453:88:43", + "nodeType": "YulAssignment", + "src": "2453:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2514:6:43", + "nodeType": "YulIdentifier", + "src": "2514:6:43" + }, + { + "kind": "number", + "nativeSrc": "2522:4:43", + "nodeType": "YulLiteral", + "src": "2522:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2510:3:43", + "nodeType": "YulIdentifier", + "src": "2510:3:43" + }, + "nativeSrc": "2510:17:43", + "nodeType": "YulFunctionCall", + "src": "2510:17:43" + }, + { + "name": "length", + "nativeSrc": "2529:6:43", + "nodeType": "YulIdentifier", + "src": "2529:6:43" + }, + { + "name": "end", + "nativeSrc": "2537:3:43", + "nodeType": "YulIdentifier", + "src": "2537:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "2462:47:43", + "nodeType": "YulIdentifier", + "src": "2462:47:43" + }, + "nativeSrc": "2462:79:43", + "nodeType": "YulFunctionCall", + "src": "2462:79:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2453:5:43", + "nodeType": "YulIdentifier", + "src": "2453:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "2207:340:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2247:6:43", + "nodeType": "YulTypedName", + "src": "2247:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2255:3:43", + "nodeType": "YulTypedName", + "src": "2255:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2263:5:43", + "nodeType": "YulTypedName", + "src": "2263:5:43", + "type": "" + } + ], + "src": "2207:340:43" + }, + { + "body": { + "nativeSrc": "2598:81:43", + "nodeType": "YulBlock", + "src": "2598:81:43", + "statements": [ + { + "nativeSrc": "2608:65:43", + "nodeType": "YulAssignment", + "src": "2608:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2623:5:43", + "nodeType": "YulIdentifier", + "src": "2623:5:43" + }, + { + "kind": "number", + "nativeSrc": "2630:42:43", + "nodeType": "YulLiteral", + "src": "2630:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2619:3:43", + "nodeType": "YulIdentifier", + "src": "2619:3:43" + }, + "nativeSrc": "2619:54:43", + "nodeType": "YulFunctionCall", + "src": "2619:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2608:7:43", + "nodeType": "YulIdentifier", + "src": "2608:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2553:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2580:5:43", + "nodeType": "YulTypedName", + "src": "2580:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2590:7:43", + "nodeType": "YulTypedName", + "src": "2590:7:43", + "type": "" + } + ], + "src": "2553:126:43" + }, + { + "body": { + "nativeSrc": "2730:51:43", + "nodeType": "YulBlock", + "src": "2730:51:43", + "statements": [ + { + "nativeSrc": "2740:35:43", + "nodeType": "YulAssignment", + "src": "2740:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2769:5:43", + "nodeType": "YulIdentifier", + "src": "2769:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2751:17:43", + "nodeType": "YulIdentifier", + "src": "2751:17:43" + }, + "nativeSrc": "2751:24:43", + "nodeType": "YulFunctionCall", + "src": "2751:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2740:7:43", + "nodeType": "YulIdentifier", + "src": "2740:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2685:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2712:5:43", + "nodeType": "YulTypedName", + "src": "2712:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2722:7:43", + "nodeType": "YulTypedName", + "src": "2722:7:43", + "type": "" + } + ], + "src": "2685:96:43" + }, + { + "body": { + "nativeSrc": "2830:79:43", + "nodeType": "YulBlock", + "src": "2830:79:43", + "statements": [ + { + "body": { + "nativeSrc": "2887:16:43", + "nodeType": "YulBlock", + "src": "2887:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2896:1:43", + "nodeType": "YulLiteral", + "src": "2896:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2899:1:43", + "nodeType": "YulLiteral", + "src": "2899:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2889:6:43", + "nodeType": "YulIdentifier", + "src": "2889:6:43" + }, + "nativeSrc": "2889:12:43", + "nodeType": "YulFunctionCall", + "src": "2889:12:43" + }, + "nativeSrc": "2889:12:43", + "nodeType": "YulExpressionStatement", + "src": "2889:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2853:5:43", + "nodeType": "YulIdentifier", + "src": "2853:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2878:5:43", + "nodeType": "YulIdentifier", + "src": "2878:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2860:17:43", + "nodeType": "YulIdentifier", + "src": "2860:17:43" + }, + "nativeSrc": "2860:24:43", + "nodeType": "YulFunctionCall", + "src": "2860:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2850:2:43", + "nodeType": "YulIdentifier", + "src": "2850:2:43" + }, + "nativeSrc": "2850:35:43", + "nodeType": "YulFunctionCall", + "src": "2850:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2843:6:43", + "nodeType": "YulIdentifier", + "src": "2843:6:43" + }, + "nativeSrc": "2843:43:43", + "nodeType": "YulFunctionCall", + "src": "2843:43:43" + }, + "nativeSrc": "2840:63:43", + "nodeType": "YulIf", + "src": "2840:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2787:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2823:5:43", + "nodeType": "YulTypedName", + "src": "2823:5:43", + "type": "" + } + ], + "src": "2787:122:43" + }, + { + "body": { + "nativeSrc": "2967:87:43", + "nodeType": "YulBlock", + "src": "2967:87:43", + "statements": [ + { + "nativeSrc": "2977:29:43", + "nodeType": "YulAssignment", + "src": "2977:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2999:6:43", + "nodeType": "YulIdentifier", + "src": "2999:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2986:12:43", + "nodeType": "YulIdentifier", + "src": "2986:12:43" + }, + "nativeSrc": "2986:20:43", + "nodeType": "YulFunctionCall", + "src": "2986:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2977:5:43", + "nodeType": "YulIdentifier", + "src": "2977:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3042:5:43", + "nodeType": "YulIdentifier", + "src": "3042:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3015:26:43", + "nodeType": "YulIdentifier", + "src": "3015:26:43" + }, + "nativeSrc": "3015:33:43", + "nodeType": "YulFunctionCall", + "src": "3015:33:43" + }, + "nativeSrc": "3015:33:43", + "nodeType": "YulExpressionStatement", + "src": "3015:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2915:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2945:6:43", + "nodeType": "YulTypedName", + "src": "2945:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2953:3:43", + "nodeType": "YulTypedName", + "src": "2953:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2961:5:43", + "nodeType": "YulTypedName", + "src": "2961:5:43", + "type": "" + } + ], + "src": "2915:139:43" + }, + { + "body": { + "nativeSrc": "3105:32:43", + "nodeType": "YulBlock", + "src": "3105:32:43", + "statements": [ + { + "nativeSrc": "3115:16:43", + "nodeType": "YulAssignment", + "src": "3115:16:43", + "value": { + "name": "value", + "nativeSrc": "3126:5:43", + "nodeType": "YulIdentifier", + "src": "3126:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3115:7:43", + "nodeType": "YulIdentifier", + "src": "3115:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3060:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3087:5:43", + "nodeType": "YulTypedName", + "src": "3087:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3097:7:43", + "nodeType": "YulTypedName", + "src": "3097:7:43", + "type": "" + } + ], + "src": "3060:77:43" + }, + { + "body": { + "nativeSrc": "3186:79:43", + "nodeType": "YulBlock", + "src": "3186:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3243:16:43", + "nodeType": "YulBlock", + "src": "3243:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:1:43", + "nodeType": "YulLiteral", + "src": "3252:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3255:1:43", + "nodeType": "YulLiteral", + "src": "3255:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3245:6:43", + "nodeType": "YulIdentifier", + "src": "3245:6:43" + }, + "nativeSrc": "3245:12:43", + "nodeType": "YulFunctionCall", + "src": "3245:12:43" + }, + "nativeSrc": "3245:12:43", + "nodeType": "YulExpressionStatement", + "src": "3245:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3209:5:43", + "nodeType": "YulIdentifier", + "src": "3209:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3234:5:43", + "nodeType": "YulIdentifier", + "src": "3234:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3216:17:43", + "nodeType": "YulIdentifier", + "src": "3216:17:43" + }, + "nativeSrc": "3216:24:43", + "nodeType": "YulFunctionCall", + "src": "3216:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3206:2:43", + "nodeType": "YulIdentifier", + "src": "3206:2:43" + }, + "nativeSrc": "3206:35:43", + "nodeType": "YulFunctionCall", + "src": "3206:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3199:6:43", + "nodeType": "YulIdentifier", + "src": "3199:6:43" + }, + "nativeSrc": "3199:43:43", + "nodeType": "YulFunctionCall", + "src": "3199:43:43" + }, + "nativeSrc": "3196:63:43", + "nodeType": "YulIf", + "src": "3196:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3143:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3179:5:43", + "nodeType": "YulTypedName", + "src": "3179:5:43", + "type": "" + } + ], + "src": "3143:122:43" + }, + { + "body": { + "nativeSrc": "3323:87:43", + "nodeType": "YulBlock", + "src": "3323:87:43", + "statements": [ + { + "nativeSrc": "3333:29:43", + "nodeType": "YulAssignment", + "src": "3333:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3355:6:43", + "nodeType": "YulIdentifier", + "src": "3355:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3342:12:43", + "nodeType": "YulIdentifier", + "src": "3342:12:43" + }, + "nativeSrc": "3342:20:43", + "nodeType": "YulFunctionCall", + "src": "3342:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3333:5:43", + "nodeType": "YulIdentifier", + "src": "3333:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3398:5:43", + "nodeType": "YulIdentifier", + "src": "3398:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3371:26:43", + "nodeType": "YulIdentifier", + "src": "3371:26:43" + }, + "nativeSrc": "3371:33:43", + "nodeType": "YulFunctionCall", + "src": "3371:33:43" + }, + "nativeSrc": "3371:33:43", + "nodeType": "YulExpressionStatement", + "src": "3371:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3271:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3301:6:43", + "nodeType": "YulTypedName", + "src": "3301:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3309:3:43", + "nodeType": "YulTypedName", + "src": "3309:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3317:5:43", + "nodeType": "YulTypedName", + "src": "3317:5:43", + "type": "" + } + ], + "src": "3271:139:43" + }, + { + "body": { + "nativeSrc": "3594:1205:43", + "nodeType": "YulBlock", + "src": "3594:1205:43", + "statements": [ + { + "body": { + "nativeSrc": "3641:83:43", + "nodeType": "YulBlock", + "src": "3641:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3643:77:43", + "nodeType": "YulIdentifier", + "src": "3643:77:43" + }, + "nativeSrc": "3643:79:43", + "nodeType": "YulFunctionCall", + "src": "3643:79:43" + }, + "nativeSrc": "3643:79:43", + "nodeType": "YulExpressionStatement", + "src": "3643:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3615:7:43", + "nodeType": "YulIdentifier", + "src": "3615:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3624:9:43", + "nodeType": "YulIdentifier", + "src": "3624:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3611:3:43", + "nodeType": "YulIdentifier", + "src": "3611:3:43" + }, + "nativeSrc": "3611:23:43", + "nodeType": "YulFunctionCall", + "src": "3611:23:43" + }, + { + "kind": "number", + "nativeSrc": "3636:3:43", + "nodeType": "YulLiteral", + "src": "3636:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3607:3:43", + "nodeType": "YulIdentifier", + "src": "3607:3:43" + }, + "nativeSrc": "3607:33:43", + "nodeType": "YulFunctionCall", + "src": "3607:33:43" + }, + "nativeSrc": "3604:120:43", + "nodeType": "YulIf", + "src": "3604:120:43" + }, + { + "nativeSrc": "3734:287:43", + "nodeType": "YulBlock", + "src": "3734:287:43", + "statements": [ + { + "nativeSrc": "3749:45:43", + "nodeType": "YulVariableDeclaration", + "src": "3749:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3780:9:43", + "nodeType": "YulIdentifier", + "src": "3780:9:43" + }, + { + "kind": "number", + "nativeSrc": "3791:1:43", + "nodeType": "YulLiteral", + "src": "3791:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3776:3:43", + "nodeType": "YulIdentifier", + "src": "3776:3:43" + }, + "nativeSrc": "3776:17:43", + "nodeType": "YulFunctionCall", + "src": "3776:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3763:12:43", + "nodeType": "YulIdentifier", + "src": "3763:12:43" + }, + "nativeSrc": "3763:31:43", + "nodeType": "YulFunctionCall", + "src": "3763:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3753:6:43", + "nodeType": "YulTypedName", + "src": "3753:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3841:83:43", + "nodeType": "YulBlock", + "src": "3841:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3843:77:43", + "nodeType": "YulIdentifier", + "src": "3843:77:43" + }, + "nativeSrc": "3843:79:43", + "nodeType": "YulFunctionCall", + "src": "3843:79:43" + }, + "nativeSrc": "3843:79:43", + "nodeType": "YulExpressionStatement", + "src": "3843:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3813:6:43", + "nodeType": "YulIdentifier", + "src": "3813:6:43" + }, + { + "kind": "number", + "nativeSrc": "3821:18:43", + "nodeType": "YulLiteral", + "src": "3821:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3810:2:43", + "nodeType": "YulIdentifier", + "src": "3810:2:43" + }, + "nativeSrc": "3810:30:43", + "nodeType": "YulFunctionCall", + "src": "3810:30:43" + }, + "nativeSrc": "3807:117:43", + "nodeType": "YulIf", + "src": "3807:117:43" + }, + { + "nativeSrc": "3938:73:43", + "nodeType": "YulAssignment", + "src": "3938:73:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3983:9:43", + "nodeType": "YulIdentifier", + "src": "3983:9:43" + }, + { + "name": "offset", + "nativeSrc": "3994:6:43", + "nodeType": "YulIdentifier", + "src": "3994:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3979:3:43", + "nodeType": "YulIdentifier", + "src": "3979:3:43" + }, + "nativeSrc": "3979:22:43", + "nodeType": "YulFunctionCall", + "src": "3979:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4003:7:43", + "nodeType": "YulIdentifier", + "src": "4003:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "3948:30:43", + "nodeType": "YulIdentifier", + "src": "3948:30:43" + }, + "nativeSrc": "3948:63:43", + "nodeType": "YulFunctionCall", + "src": "3948:63:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3938:6:43", + "nodeType": "YulIdentifier", + "src": "3938:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4031:118:43", + "nodeType": "YulBlock", + "src": "4031:118:43", + "statements": [ + { + "nativeSrc": "4046:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4046:16:43", + "value": { + "kind": "number", + "nativeSrc": "4060:2:43", + "nodeType": "YulLiteral", + "src": "4060:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4050:6:43", + "nodeType": "YulTypedName", + "src": "4050:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4076:63:43", + "nodeType": "YulAssignment", + "src": "4076:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4111:9:43", + "nodeType": "YulIdentifier", + "src": "4111:9:43" + }, + { + "name": "offset", + "nativeSrc": "4122:6:43", + "nodeType": "YulIdentifier", + "src": "4122:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4107:3:43", + "nodeType": "YulIdentifier", + "src": "4107:3:43" + }, + "nativeSrc": "4107:22:43", + "nodeType": "YulFunctionCall", + "src": "4107:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4131:7:43", + "nodeType": "YulIdentifier", + "src": "4131:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4086:20:43", + "nodeType": "YulIdentifier", + "src": "4086:20:43" + }, + "nativeSrc": "4086:53:43", + "nodeType": "YulFunctionCall", + "src": "4086:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4076:6:43", + "nodeType": "YulIdentifier", + "src": "4076:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4159:118:43", + "nodeType": "YulBlock", + "src": "4159:118:43", + "statements": [ + { + "nativeSrc": "4174:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4174:16:43", + "value": { + "kind": "number", + "nativeSrc": "4188:2:43", + "nodeType": "YulLiteral", + "src": "4188:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4178:6:43", + "nodeType": "YulTypedName", + "src": "4178:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4204:63:43", + "nodeType": "YulAssignment", + "src": "4204:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4239:9:43", + "nodeType": "YulIdentifier", + "src": "4239:9:43" + }, + { + "name": "offset", + "nativeSrc": "4250:6:43", + "nodeType": "YulIdentifier", + "src": "4250:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4235:3:43", + "nodeType": "YulIdentifier", + "src": "4235:3:43" + }, + "nativeSrc": "4235:22:43", + "nodeType": "YulFunctionCall", + "src": "4235:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4259:7:43", + "nodeType": "YulIdentifier", + "src": "4259:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4214:20:43", + "nodeType": "YulIdentifier", + "src": "4214:20:43" + }, + "nativeSrc": "4214:53:43", + "nodeType": "YulFunctionCall", + "src": "4214:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4204:6:43", + "nodeType": "YulIdentifier", + "src": "4204:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4287:118:43", + "nodeType": "YulBlock", + "src": "4287:118:43", + "statements": [ + { + "nativeSrc": "4302:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4302:16:43", + "value": { + "kind": "number", + "nativeSrc": "4316:2:43", + "nodeType": "YulLiteral", + "src": "4316:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4306:6:43", + "nodeType": "YulTypedName", + "src": "4306:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4332:63:43", + "nodeType": "YulAssignment", + "src": "4332:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4367:9:43", + "nodeType": "YulIdentifier", + "src": "4367:9:43" + }, + { + "name": "offset", + "nativeSrc": "4378:6:43", + "nodeType": "YulIdentifier", + "src": "4378:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4363:3:43", + "nodeType": "YulIdentifier", + "src": "4363:3:43" + }, + "nativeSrc": "4363:22:43", + "nodeType": "YulFunctionCall", + "src": "4363:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4387:7:43", + "nodeType": "YulIdentifier", + "src": "4387:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4342:20:43", + "nodeType": "YulIdentifier", + "src": "4342:20:43" + }, + "nativeSrc": "4342:53:43", + "nodeType": "YulFunctionCall", + "src": "4342:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4332:6:43", + "nodeType": "YulIdentifier", + "src": "4332:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4415:119:43", + "nodeType": "YulBlock", + "src": "4415:119:43", + "statements": [ + { + "nativeSrc": "4430:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4430:17:43", + "value": { + "kind": "number", + "nativeSrc": "4444:3:43", + "nodeType": "YulLiteral", + "src": "4444:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4434:6:43", + "nodeType": "YulTypedName", + "src": "4434:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4461:63:43", + "nodeType": "YulAssignment", + "src": "4461:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4496:9:43", + "nodeType": "YulIdentifier", + "src": "4496:9:43" + }, + { + "name": "offset", + "nativeSrc": "4507:6:43", + "nodeType": "YulIdentifier", + "src": "4507:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4492:3:43", + "nodeType": "YulIdentifier", + "src": "4492:3:43" + }, + "nativeSrc": "4492:22:43", + "nodeType": "YulFunctionCall", + "src": "4492:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4516:7:43", + "nodeType": "YulIdentifier", + "src": "4516:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4471:20:43", + "nodeType": "YulIdentifier", + "src": "4471:20:43" + }, + "nativeSrc": "4471:53:43", + "nodeType": "YulFunctionCall", + "src": "4471:53:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4461:6:43", + "nodeType": "YulIdentifier", + "src": "4461:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4544:119:43", + "nodeType": "YulBlock", + "src": "4544:119:43", + "statements": [ + { + "nativeSrc": "4559:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4559:17:43", + "value": { + "kind": "number", + "nativeSrc": "4573:3:43", + "nodeType": "YulLiteral", + "src": "4573:3:43", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4563:6:43", + "nodeType": "YulTypedName", + "src": "4563:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4590:63:43", + "nodeType": "YulAssignment", + "src": "4590:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4625:9:43", + "nodeType": "YulIdentifier", + "src": "4625:9:43" + }, + { + "name": "offset", + "nativeSrc": "4636:6:43", + "nodeType": "YulIdentifier", + "src": "4636:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4621:3:43", + "nodeType": "YulIdentifier", + "src": "4621:3:43" + }, + "nativeSrc": "4621:22:43", + "nodeType": "YulFunctionCall", + "src": "4621:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4645:7:43", + "nodeType": "YulIdentifier", + "src": "4645:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4600:20:43", + "nodeType": "YulIdentifier", + "src": "4600:20:43" + }, + "nativeSrc": "4600:53:43", + "nodeType": "YulFunctionCall", + "src": "4600:53:43" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "4590:6:43", + "nodeType": "YulIdentifier", + "src": "4590:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4673:119:43", + "nodeType": "YulBlock", + "src": "4673:119:43", + "statements": [ + { + "nativeSrc": "4688:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4688:17:43", + "value": { + "kind": "number", + "nativeSrc": "4702:3:43", + "nodeType": "YulLiteral", + "src": "4702:3:43", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4692:6:43", + "nodeType": "YulTypedName", + "src": "4692:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4719:63:43", + "nodeType": "YulAssignment", + "src": "4719:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4754:9:43", + "nodeType": "YulIdentifier", + "src": "4754:9:43" + }, + { + "name": "offset", + "nativeSrc": "4765:6:43", + "nodeType": "YulIdentifier", + "src": "4765:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4750:3:43", + "nodeType": "YulIdentifier", + "src": "4750:3:43" + }, + "nativeSrc": "4750:22:43", + "nodeType": "YulFunctionCall", + "src": "4750:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4774:7:43", + "nodeType": "YulIdentifier", + "src": "4774:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4729:20:43", + "nodeType": "YulIdentifier", + "src": "4729:20:43" + }, + "nativeSrc": "4729:53:43", + "nodeType": "YulFunctionCall", + "src": "4729:53:43" + }, + "variableNames": [ + { + "name": "value6", + "nativeSrc": "4719:6:43", + "nodeType": "YulIdentifier", + "src": "4719:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256", + "nativeSrc": "3416:1383:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3516:9:43", + "nodeType": "YulTypedName", + "src": "3516:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3527:7:43", + "nodeType": "YulTypedName", + "src": "3527:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3539:6:43", + "nodeType": "YulTypedName", + "src": "3539:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3547:6:43", + "nodeType": "YulTypedName", + "src": "3547:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3555:6:43", + "nodeType": "YulTypedName", + "src": "3555:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3563:6:43", + "nodeType": "YulTypedName", + "src": "3563:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3571:6:43", + "nodeType": "YulTypedName", + "src": "3571:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "3579:6:43", + "nodeType": "YulTypedName", + "src": "3579:6:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "3587:6:43", + "nodeType": "YulTypedName", + "src": "3587:6:43", + "type": "" + } + ], + "src": "3416:1383:43" + }, + { + "body": { + "nativeSrc": "4870:53:43", + "nodeType": "YulBlock", + "src": "4870:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4887:3:43", + "nodeType": "YulIdentifier", + "src": "4887:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4910:5:43", + "nodeType": "YulIdentifier", + "src": "4910:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4892:17:43", + "nodeType": "YulIdentifier", + "src": "4892:17:43" + }, + "nativeSrc": "4892:24:43", + "nodeType": "YulFunctionCall", + "src": "4892:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4880:6:43", + "nodeType": "YulIdentifier", + "src": "4880:6:43" + }, + "nativeSrc": "4880:37:43", + "nodeType": "YulFunctionCall", + "src": "4880:37:43" + }, + "nativeSrc": "4880:37:43", + "nodeType": "YulExpressionStatement", + "src": "4880:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4805:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4858:5:43", + "nodeType": "YulTypedName", + "src": "4858:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4865:3:43", + "nodeType": "YulTypedName", + "src": "4865:3:43", + "type": "" + } + ], + "src": "4805:118:43" + }, + { + "body": { + "nativeSrc": "5027:124:43", + "nodeType": "YulBlock", + "src": "5027:124:43", + "statements": [ + { + "nativeSrc": "5037:26:43", + "nodeType": "YulAssignment", + "src": "5037:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5049:9:43", + "nodeType": "YulIdentifier", + "src": "5049:9:43" + }, + { + "kind": "number", + "nativeSrc": "5060:2:43", + "nodeType": "YulLiteral", + "src": "5060:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5045:3:43", + "nodeType": "YulIdentifier", + "src": "5045:3:43" + }, + "nativeSrc": "5045:18:43", + "nodeType": "YulFunctionCall", + "src": "5045:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5037:4:43", + "nodeType": "YulIdentifier", + "src": "5037:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5117:6:43", + "nodeType": "YulIdentifier", + "src": "5117:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5130:9:43", + "nodeType": "YulIdentifier", + "src": "5130:9:43" + }, + { + "kind": "number", + "nativeSrc": "5141:1:43", + "nodeType": "YulLiteral", + "src": "5141:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5126:3:43", + "nodeType": "YulIdentifier", + "src": "5126:3:43" + }, + "nativeSrc": "5126:17:43", + "nodeType": "YulFunctionCall", + "src": "5126:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5073:43:43", + "nodeType": "YulIdentifier", + "src": "5073:43:43" + }, + "nativeSrc": "5073:71:43", + "nodeType": "YulFunctionCall", + "src": "5073:71:43" + }, + "nativeSrc": "5073:71:43", + "nodeType": "YulExpressionStatement", + "src": "5073:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4929:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4999:9:43", + "nodeType": "YulTypedName", + "src": "4999:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5011:6:43", + "nodeType": "YulTypedName", + "src": "5011:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5022:4:43", + "nodeType": "YulTypedName", + "src": "5022:4:43", + "type": "" + } + ], + "src": "4929:222:43" + }, + { + "body": { + "nativeSrc": "5216:40:43", + "nodeType": "YulBlock", + "src": "5216:40:43", + "statements": [ + { + "nativeSrc": "5227:22:43", + "nodeType": "YulAssignment", + "src": "5227:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5243:5:43", + "nodeType": "YulIdentifier", + "src": "5243:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5237:5:43", + "nodeType": "YulIdentifier", + "src": "5237:5:43" + }, + "nativeSrc": "5237:12:43", + "nodeType": "YulFunctionCall", + "src": "5237:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5227:6:43", + "nodeType": "YulIdentifier", + "src": "5227:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5157:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5199:5:43", + "nodeType": "YulTypedName", + "src": "5199:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5209:6:43", + "nodeType": "YulTypedName", + "src": "5209:6:43", + "type": "" + } + ], + "src": "5157:99:43" + }, + { + "body": { + "nativeSrc": "5358:73:43", + "nodeType": "YulBlock", + "src": "5358:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5375:3:43", + "nodeType": "YulIdentifier", + "src": "5375:3:43" + }, + { + "name": "length", + "nativeSrc": "5380:6:43", + "nodeType": "YulIdentifier", + "src": "5380:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5368:6:43", + "nodeType": "YulIdentifier", + "src": "5368:6:43" + }, + "nativeSrc": "5368:19:43", + "nodeType": "YulFunctionCall", + "src": "5368:19:43" + }, + "nativeSrc": "5368:19:43", + "nodeType": "YulExpressionStatement", + "src": "5368:19:43" + }, + { + "nativeSrc": "5396:29:43", + "nodeType": "YulAssignment", + "src": "5396:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5415:3:43", + "nodeType": "YulIdentifier", + "src": "5415:3:43" + }, + { + "kind": "number", + "nativeSrc": "5420:4:43", + "nodeType": "YulLiteral", + "src": "5420:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5411:3:43", + "nodeType": "YulIdentifier", + "src": "5411:3:43" + }, + "nativeSrc": "5411:14:43", + "nodeType": "YulFunctionCall", + "src": "5411:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "5396:11:43", + "nodeType": "YulIdentifier", + "src": "5396:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5262:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5330:3:43", + "nodeType": "YulTypedName", + "src": "5330:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5335:6:43", + "nodeType": "YulTypedName", + "src": "5335:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "5346:11:43", + "nodeType": "YulTypedName", + "src": "5346:11:43", + "type": "" + } + ], + "src": "5262:169:43" + }, + { + "body": { + "nativeSrc": "5499:184:43", + "nodeType": "YulBlock", + "src": "5499:184:43", + "statements": [ + { + "nativeSrc": "5509:10:43", + "nodeType": "YulVariableDeclaration", + "src": "5509:10:43", + "value": { + "kind": "number", + "nativeSrc": "5518:1:43", + "nodeType": "YulLiteral", + "src": "5518:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5513:1:43", + "nodeType": "YulTypedName", + "src": "5513:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5578:63:43", + "nodeType": "YulBlock", + "src": "5578:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5603:3:43", + "nodeType": "YulIdentifier", + "src": "5603:3:43" + }, + { + "name": "i", + "nativeSrc": "5608:1:43", + "nodeType": "YulIdentifier", + "src": "5608:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5599:3:43", + "nodeType": "YulIdentifier", + "src": "5599:3:43" + }, + "nativeSrc": "5599:11:43", + "nodeType": "YulFunctionCall", + "src": "5599:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5622:3:43", + "nodeType": "YulIdentifier", + "src": "5622:3:43" + }, + { + "name": "i", + "nativeSrc": "5627:1:43", + "nodeType": "YulIdentifier", + "src": "5627:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5618:3:43", + "nodeType": "YulIdentifier", + "src": "5618:3:43" + }, + "nativeSrc": "5618:11:43", + "nodeType": "YulFunctionCall", + "src": "5618:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5612:5:43", + "nodeType": "YulIdentifier", + "src": "5612:5:43" + }, + "nativeSrc": "5612:18:43", + "nodeType": "YulFunctionCall", + "src": "5612:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5592:6:43", + "nodeType": "YulIdentifier", + "src": "5592:6:43" + }, + "nativeSrc": "5592:39:43", + "nodeType": "YulFunctionCall", + "src": "5592:39:43" + }, + "nativeSrc": "5592:39:43", + "nodeType": "YulExpressionStatement", + "src": "5592:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5539:1:43", + "nodeType": "YulIdentifier", + "src": "5539:1:43" + }, + { + "name": "length", + "nativeSrc": "5542:6:43", + "nodeType": "YulIdentifier", + "src": "5542:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5536:2:43", + "nodeType": "YulIdentifier", + "src": "5536:2:43" + }, + "nativeSrc": "5536:13:43", + "nodeType": "YulFunctionCall", + "src": "5536:13:43" + }, + "nativeSrc": "5528:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5550:19:43", + "nodeType": "YulBlock", + "src": "5550:19:43", + "statements": [ + { + "nativeSrc": "5552:15:43", + "nodeType": "YulAssignment", + "src": "5552:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5561:1:43", + "nodeType": "YulIdentifier", + "src": "5561:1:43" + }, + { + "kind": "number", + "nativeSrc": "5564:2:43", + "nodeType": "YulLiteral", + "src": "5564:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5557:3:43", + "nodeType": "YulIdentifier", + "src": "5557:3:43" + }, + "nativeSrc": "5557:10:43", + "nodeType": "YulFunctionCall", + "src": "5557:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5552:1:43", + "nodeType": "YulIdentifier", + "src": "5552:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5532:3:43", + "nodeType": "YulBlock", + "src": "5532:3:43", + "statements": [] + }, + "src": "5528:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5661:3:43", + "nodeType": "YulIdentifier", + "src": "5661:3:43" + }, + { + "name": "length", + "nativeSrc": "5666:6:43", + "nodeType": "YulIdentifier", + "src": "5666:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5657:3:43", + "nodeType": "YulIdentifier", + "src": "5657:3:43" + }, + "nativeSrc": "5657:16:43", + "nodeType": "YulFunctionCall", + "src": "5657:16:43" + }, + { + "kind": "number", + "nativeSrc": "5675:1:43", + "nodeType": "YulLiteral", + "src": "5675:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5650:6:43", + "nodeType": "YulIdentifier", + "src": "5650:6:43" + }, + "nativeSrc": "5650:27:43", + "nodeType": "YulFunctionCall", + "src": "5650:27:43" + }, + "nativeSrc": "5650:27:43", + "nodeType": "YulExpressionStatement", + "src": "5650:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5437:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "5481:3:43", + "nodeType": "YulTypedName", + "src": "5481:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "5486:3:43", + "nodeType": "YulTypedName", + "src": "5486:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5491:6:43", + "nodeType": "YulTypedName", + "src": "5491:6:43", + "type": "" + } + ], + "src": "5437:246:43" + }, + { + "body": { + "nativeSrc": "5781:285:43", + "nodeType": "YulBlock", + "src": "5781:285:43", + "statements": [ + { + "nativeSrc": "5791:53:43", + "nodeType": "YulVariableDeclaration", + "src": "5791:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5838:5:43", + "nodeType": "YulIdentifier", + "src": "5838:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5805:32:43", + "nodeType": "YulIdentifier", + "src": "5805:32:43" + }, + "nativeSrc": "5805:39:43", + "nodeType": "YulFunctionCall", + "src": "5805:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5795:6:43", + "nodeType": "YulTypedName", + "src": "5795:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5853:78:43", + "nodeType": "YulAssignment", + "src": "5853:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5919:3:43", + "nodeType": "YulIdentifier", + "src": "5919:3:43" + }, + { + "name": "length", + "nativeSrc": "5924:6:43", + "nodeType": "YulIdentifier", + "src": "5924:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5860:58:43", + "nodeType": "YulIdentifier", + "src": "5860:58:43" + }, + "nativeSrc": "5860:71:43", + "nodeType": "YulFunctionCall", + "src": "5860:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5853:3:43", + "nodeType": "YulIdentifier", + "src": "5853:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5979:5:43", + "nodeType": "YulIdentifier", + "src": "5979:5:43" + }, + { + "kind": "number", + "nativeSrc": "5986:4:43", + "nodeType": "YulLiteral", + "src": "5986:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5975:3:43", + "nodeType": "YulIdentifier", + "src": "5975:3:43" + }, + "nativeSrc": "5975:16:43", + "nodeType": "YulFunctionCall", + "src": "5975:16:43" + }, + { + "name": "pos", + "nativeSrc": "5993:3:43", + "nodeType": "YulIdentifier", + "src": "5993:3:43" + }, + { + "name": "length", + "nativeSrc": "5998:6:43", + "nodeType": "YulIdentifier", + "src": "5998:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5940:34:43", + "nodeType": "YulIdentifier", + "src": "5940:34:43" + }, + "nativeSrc": "5940:65:43", + "nodeType": "YulFunctionCall", + "src": "5940:65:43" + }, + "nativeSrc": "5940:65:43", + "nodeType": "YulExpressionStatement", + "src": "5940:65:43" + }, + { + "nativeSrc": "6014:46:43", + "nodeType": "YulAssignment", + "src": "6014:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6025:3:43", + "nodeType": "YulIdentifier", + "src": "6025:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6052:6:43", + "nodeType": "YulIdentifier", + "src": "6052:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "6030:21:43", + "nodeType": "YulIdentifier", + "src": "6030:21:43" + }, + "nativeSrc": "6030:29:43", + "nodeType": "YulFunctionCall", + "src": "6030:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6021:3:43", + "nodeType": "YulIdentifier", + "src": "6021:3:43" + }, + "nativeSrc": "6021:39:43", + "nodeType": "YulFunctionCall", + "src": "6021:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6014:3:43", + "nodeType": "YulIdentifier", + "src": "6014:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5689:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5762:5:43", + "nodeType": "YulTypedName", + "src": "5762:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5769:3:43", + "nodeType": "YulTypedName", + "src": "5769:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5777:3:43", + "nodeType": "YulTypedName", + "src": "5777:3:43", + "type": "" + } + ], + "src": "5689:377:43" + }, + { + "body": { + "nativeSrc": "6137:53:43", + "nodeType": "YulBlock", + "src": "6137:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6154:3:43", + "nodeType": "YulIdentifier", + "src": "6154:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6177:5:43", + "nodeType": "YulIdentifier", + "src": "6177:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6159:17:43", + "nodeType": "YulIdentifier", + "src": "6159:17:43" + }, + "nativeSrc": "6159:24:43", + "nodeType": "YulFunctionCall", + "src": "6159:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6147:6:43", + "nodeType": "YulIdentifier", + "src": "6147:6:43" + }, + "nativeSrc": "6147:37:43", + "nodeType": "YulFunctionCall", + "src": "6147:37:43" + }, + "nativeSrc": "6147:37:43", + "nodeType": "YulExpressionStatement", + "src": "6147:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6072:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6125:5:43", + "nodeType": "YulTypedName", + "src": "6125:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6132:3:43", + "nodeType": "YulTypedName", + "src": "6132:3:43", + "type": "" + } + ], + "src": "6072:118:43" + }, + { + "body": { + "nativeSrc": "6224:152:43", + "nodeType": "YulBlock", + "src": "6224:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6241:1:43", + "nodeType": "YulLiteral", + "src": "6241:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6244:77:43", + "nodeType": "YulLiteral", + "src": "6244:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6234:6:43", + "nodeType": "YulIdentifier", + "src": "6234:6:43" + }, + "nativeSrc": "6234:88:43", + "nodeType": "YulFunctionCall", + "src": "6234:88:43" + }, + "nativeSrc": "6234:88:43", + "nodeType": "YulExpressionStatement", + "src": "6234:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6338:1:43", + "nodeType": "YulLiteral", + "src": "6338:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6341:4:43", + "nodeType": "YulLiteral", + "src": "6341:4:43", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6331:6:43", + "nodeType": "YulIdentifier", + "src": "6331:6:43" + }, + "nativeSrc": "6331:15:43", + "nodeType": "YulFunctionCall", + "src": "6331:15:43" + }, + "nativeSrc": "6331:15:43", + "nodeType": "YulExpressionStatement", + "src": "6331:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6362:1:43", + "nodeType": "YulLiteral", + "src": "6362:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6365:4:43", + "nodeType": "YulLiteral", + "src": "6365:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6355:6:43", + "nodeType": "YulIdentifier", + "src": "6355:6:43" + }, + "nativeSrc": "6355:15:43", + "nodeType": "YulFunctionCall", + "src": "6355:15:43" + }, + "nativeSrc": "6355:15:43", + "nodeType": "YulExpressionStatement", + "src": "6355:15:43" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "6196:180:43", + "nodeType": "YulFunctionDefinition", + "src": "6196:180:43" + }, + { + "body": { + "nativeSrc": "6442:62:43", + "nodeType": "YulBlock", + "src": "6442:62:43", + "statements": [ + { + "body": { + "nativeSrc": "6476:22:43", + "nodeType": "YulBlock", + "src": "6476:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nativeSrc": "6478:16:43", + "nodeType": "YulIdentifier", + "src": "6478:16:43" + }, + "nativeSrc": "6478:18:43", + "nodeType": "YulFunctionCall", + "src": "6478:18:43" + }, + "nativeSrc": "6478:18:43", + "nodeType": "YulExpressionStatement", + "src": "6478:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6465:5:43", + "nodeType": "YulIdentifier", + "src": "6465:5:43" + }, + { + "kind": "number", + "nativeSrc": "6472:1:43", + "nodeType": "YulLiteral", + "src": "6472:1:43", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6462:2:43", + "nodeType": "YulIdentifier", + "src": "6462:2:43" + }, + "nativeSrc": "6462:12:43", + "nodeType": "YulFunctionCall", + "src": "6462:12:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6455:6:43", + "nodeType": "YulIdentifier", + "src": "6455:6:43" + }, + "nativeSrc": "6455:20:43", + "nodeType": "YulFunctionCall", + "src": "6455:20:43" + }, + "nativeSrc": "6452:46:43", + "nodeType": "YulIf", + "src": "6452:46:43" + } + ] + }, + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "6382:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6435:5:43", + "nodeType": "YulTypedName", + "src": "6435:5:43", + "type": "" + } + ], + "src": "6382:122:43" + }, + { + "body": { + "nativeSrc": "6572:83:43", + "nodeType": "YulBlock", + "src": "6572:83:43", + "statements": [ + { + "nativeSrc": "6582:16:43", + "nodeType": "YulAssignment", + "src": "6582:16:43", + "value": { + "name": "value", + "nativeSrc": "6593:5:43", + "nodeType": "YulIdentifier", + "src": "6593:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "6582:7:43", + "nodeType": "YulIdentifier", + "src": "6582:7:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6643:5:43", + "nodeType": "YulIdentifier", + "src": "6643:5:43" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_AirdropType_$11645", + "nativeSrc": "6599:43:43", + "nodeType": "YulIdentifier", + "src": "6599:43:43" + }, + "nativeSrc": "6599:50:43", + "nodeType": "YulFunctionCall", + "src": "6599:50:43" + }, + "nativeSrc": "6599:50:43", + "nodeType": "YulExpressionStatement", + "src": "6599:50:43" + } + ] + }, + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "6510:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6554:5:43", + "nodeType": "YulTypedName", + "src": "6554:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "6564:7:43", + "nodeType": "YulTypedName", + "src": "6564:7:43", + "type": "" + } + ], + "src": "6510:145:43" + }, + { + "body": { + "nativeSrc": "6736:70:43", + "nodeType": "YulBlock", + "src": "6736:70:43", + "statements": [ + { + "nativeSrc": "6746:54:43", + "nodeType": "YulAssignment", + "src": "6746:54:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6794:5:43", + "nodeType": "YulIdentifier", + "src": "6794:5:43" + } + ], + "functionName": { + "name": "cleanup_t_enum$_AirdropType_$11645", + "nativeSrc": "6759:34:43", + "nodeType": "YulIdentifier", + "src": "6759:34:43" + }, + "nativeSrc": "6759:41:43", + "nodeType": "YulFunctionCall", + "src": "6759:41:43" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "6746:9:43", + "nodeType": "YulIdentifier", + "src": "6746:9:43" + } + ] + } + ] + }, + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "6661:145:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6716:5:43", + "nodeType": "YulTypedName", + "src": "6716:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "6726:9:43", + "nodeType": "YulTypedName", + "src": "6726:9:43", + "type": "" + } + ], + "src": "6661:145:43" + }, + { + "body": { + "nativeSrc": "6892:81:43", + "nodeType": "YulBlock", + "src": "6892:81:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6909:3:43", + "nodeType": "YulIdentifier", + "src": "6909:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6960:5:43", + "nodeType": "YulIdentifier", + "src": "6960:5:43" + } + ], + "functionName": { + "name": "convert_t_enum$_AirdropType_$11645_to_t_uint8", + "nativeSrc": "6914:45:43", + "nodeType": "YulIdentifier", + "src": "6914:45:43" + }, + "nativeSrc": "6914:52:43", + "nodeType": "YulFunctionCall", + "src": "6914:52:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6902:6:43", + "nodeType": "YulIdentifier", + "src": "6902:6:43" + }, + "nativeSrc": "6902:65:43", + "nodeType": "YulFunctionCall", + "src": "6902:65:43" + }, + "nativeSrc": "6902:65:43", + "nodeType": "YulExpressionStatement", + "src": "6902:65:43" + } + ] + }, + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack", + "nativeSrc": "6812:161:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6880:5:43", + "nodeType": "YulTypedName", + "src": "6880:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6887:3:43", + "nodeType": "YulTypedName", + "src": "6887:3:43", + "type": "" + } + ], + "src": "6812:161:43" + }, + { + "body": { + "nativeSrc": "7308:789:43", + "nodeType": "YulBlock", + "src": "7308:789:43", + "statements": [ + { + "nativeSrc": "7318:27:43", + "nodeType": "YulAssignment", + "src": "7318:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7330:9:43", + "nodeType": "YulIdentifier", + "src": "7330:9:43" + }, + { + "kind": "number", + "nativeSrc": "7341:3:43", + "nodeType": "YulLiteral", + "src": "7341:3:43", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7326:3:43", + "nodeType": "YulIdentifier", + "src": "7326:3:43" + }, + "nativeSrc": "7326:19:43", + "nodeType": "YulFunctionCall", + "src": "7326:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7318:4:43", + "nodeType": "YulIdentifier", + "src": "7318:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7366:9:43", + "nodeType": "YulIdentifier", + "src": "7366:9:43" + }, + { + "kind": "number", + "nativeSrc": "7377:1:43", + "nodeType": "YulLiteral", + "src": "7377:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7362:3:43", + "nodeType": "YulIdentifier", + "src": "7362:3:43" + }, + "nativeSrc": "7362:17:43", + "nodeType": "YulFunctionCall", + "src": "7362:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7385:4:43", + "nodeType": "YulIdentifier", + "src": "7385:4:43" + }, + { + "name": "headStart", + "nativeSrc": "7391:9:43", + "nodeType": "YulIdentifier", + "src": "7391:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7381:3:43", + "nodeType": "YulIdentifier", + "src": "7381:3:43" + }, + "nativeSrc": "7381:20:43", + "nodeType": "YulFunctionCall", + "src": "7381:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7355:6:43", + "nodeType": "YulIdentifier", + "src": "7355:6:43" + }, + "nativeSrc": "7355:47:43", + "nodeType": "YulFunctionCall", + "src": "7355:47:43" + }, + "nativeSrc": "7355:47:43", + "nodeType": "YulExpressionStatement", + "src": "7355:47:43" + }, + { + "nativeSrc": "7411:86:43", + "nodeType": "YulAssignment", + "src": "7411:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7483:6:43", + "nodeType": "YulIdentifier", + "src": "7483:6:43" + }, + { + "name": "tail", + "nativeSrc": "7492:4:43", + "nodeType": "YulIdentifier", + "src": "7492:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7419:63:43", + "nodeType": "YulIdentifier", + "src": "7419:63:43" + }, + "nativeSrc": "7419:78:43", + "nodeType": "YulFunctionCall", + "src": "7419:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7411:4:43", + "nodeType": "YulIdentifier", + "src": "7411:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "7551:6:43", + "nodeType": "YulIdentifier", + "src": "7551:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7564:9:43", + "nodeType": "YulIdentifier", + "src": "7564:9:43" + }, + { + "kind": "number", + "nativeSrc": "7575:2:43", + "nodeType": "YulLiteral", + "src": "7575:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7560:3:43", + "nodeType": "YulIdentifier", + "src": "7560:3:43" + }, + "nativeSrc": "7560:18:43", + "nodeType": "YulFunctionCall", + "src": "7560:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "7507:43:43", + "nodeType": "YulIdentifier", + "src": "7507:43:43" + }, + "nativeSrc": "7507:72:43", + "nodeType": "YulFunctionCall", + "src": "7507:72:43" + }, + "nativeSrc": "7507:72:43", + "nodeType": "YulExpressionStatement", + "src": "7507:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "7633:6:43", + "nodeType": "YulIdentifier", + "src": "7633:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7646:9:43", + "nodeType": "YulIdentifier", + "src": "7646:9:43" + }, + { + "kind": "number", + "nativeSrc": "7657:2:43", + "nodeType": "YulLiteral", + "src": "7657:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7642:3:43", + "nodeType": "YulIdentifier", + "src": "7642:3:43" + }, + "nativeSrc": "7642:18:43", + "nodeType": "YulFunctionCall", + "src": "7642:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "7589:43:43", + "nodeType": "YulIdentifier", + "src": "7589:43:43" + }, + "nativeSrc": "7589:72:43", + "nodeType": "YulFunctionCall", + "src": "7589:72:43" + }, + "nativeSrc": "7589:72:43", + "nodeType": "YulExpressionStatement", + "src": "7589:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "7715:6:43", + "nodeType": "YulIdentifier", + "src": "7715:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7728:9:43", + "nodeType": "YulIdentifier", + "src": "7728:9:43" + }, + { + "kind": "number", + "nativeSrc": "7739:2:43", + "nodeType": "YulLiteral", + "src": "7739:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7724:3:43", + "nodeType": "YulIdentifier", + "src": "7724:3:43" + }, + "nativeSrc": "7724:18:43", + "nodeType": "YulFunctionCall", + "src": "7724:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7671:43:43", + "nodeType": "YulIdentifier", + "src": "7671:43:43" + }, + "nativeSrc": "7671:72:43", + "nodeType": "YulFunctionCall", + "src": "7671:72:43" + }, + "nativeSrc": "7671:72:43", + "nodeType": "YulExpressionStatement", + "src": "7671:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "7797:6:43", + "nodeType": "YulIdentifier", + "src": "7797:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7810:9:43", + "nodeType": "YulIdentifier", + "src": "7810:9:43" + }, + { + "kind": "number", + "nativeSrc": "7821:3:43", + "nodeType": "YulLiteral", + "src": "7821:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7806:3:43", + "nodeType": "YulIdentifier", + "src": "7806:3:43" + }, + "nativeSrc": "7806:19:43", + "nodeType": "YulFunctionCall", + "src": "7806:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7753:43:43", + "nodeType": "YulIdentifier", + "src": "7753:43:43" + }, + "nativeSrc": "7753:73:43", + "nodeType": "YulFunctionCall", + "src": "7753:73:43" + }, + "nativeSrc": "7753:73:43", + "nodeType": "YulExpressionStatement", + "src": "7753:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "7880:6:43", + "nodeType": "YulIdentifier", + "src": "7880:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7893:9:43", + "nodeType": "YulIdentifier", + "src": "7893:9:43" + }, + { + "kind": "number", + "nativeSrc": "7904:3:43", + "nodeType": "YulLiteral", + "src": "7904:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7889:3:43", + "nodeType": "YulIdentifier", + "src": "7889:3:43" + }, + "nativeSrc": "7889:19:43", + "nodeType": "YulFunctionCall", + "src": "7889:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7836:43:43", + "nodeType": "YulIdentifier", + "src": "7836:43:43" + }, + "nativeSrc": "7836:73:43", + "nodeType": "YulFunctionCall", + "src": "7836:73:43" + }, + "nativeSrc": "7836:73:43", + "nodeType": "YulExpressionStatement", + "src": "7836:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "7963:6:43", + "nodeType": "YulIdentifier", + "src": "7963:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7976:9:43", + "nodeType": "YulIdentifier", + "src": "7976:9:43" + }, + { + "kind": "number", + "nativeSrc": "7987:3:43", + "nodeType": "YulLiteral", + "src": "7987:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7972:3:43", + "nodeType": "YulIdentifier", + "src": "7972:3:43" + }, + "nativeSrc": "7972:19:43", + "nodeType": "YulFunctionCall", + "src": "7972:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "7919:43:43", + "nodeType": "YulIdentifier", + "src": "7919:43:43" + }, + "nativeSrc": "7919:73:43", + "nodeType": "YulFunctionCall", + "src": "7919:73:43" + }, + "nativeSrc": "7919:73:43", + "nodeType": "YulExpressionStatement", + "src": "7919:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value7", + "nativeSrc": "8061:6:43", + "nodeType": "YulIdentifier", + "src": "8061:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8074:9:43", + "nodeType": "YulIdentifier", + "src": "8074:9:43" + }, + { + "kind": "number", + "nativeSrc": "8085:3:43", + "nodeType": "YulLiteral", + "src": "8085:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8070:3:43", + "nodeType": "YulIdentifier", + "src": "8070:3:43" + }, + "nativeSrc": "8070:19:43", + "nodeType": "YulFunctionCall", + "src": "8070:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack", + "nativeSrc": "8002:58:43", + "nodeType": "YulIdentifier", + "src": "8002:58:43" + }, + "nativeSrc": "8002:88:43", + "nodeType": "YulFunctionCall", + "src": "8002:88:43" + }, + "nativeSrc": "8002:88:43", + "nodeType": "YulExpressionStatement", + "src": "8002:88:43" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$11645__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed", + "nativeSrc": "6979:1118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7224:9:43", + "nodeType": "YulTypedName", + "src": "7224:9:43", + "type": "" + }, + { + "name": "value7", + "nativeSrc": "7236:6:43", + "nodeType": "YulTypedName", + "src": "7236:6:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "7244:6:43", + "nodeType": "YulTypedName", + "src": "7244:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "7252:6:43", + "nodeType": "YulTypedName", + "src": "7252:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "7260:6:43", + "nodeType": "YulTypedName", + "src": "7260:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "7268:6:43", + "nodeType": "YulTypedName", + "src": "7268:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7276:6:43", + "nodeType": "YulTypedName", + "src": "7276:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7284:6:43", + "nodeType": "YulTypedName", + "src": "7284:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7292:6:43", + "nodeType": "YulTypedName", + "src": "7292:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7303:4:43", + "nodeType": "YulTypedName", + "src": "7303:4:43", + "type": "" + } + ], + "src": "6979:1118:43" + }, + { + "body": { + "nativeSrc": "8404:706:43", + "nodeType": "YulBlock", + "src": "8404:706:43", + "statements": [ + { + "nativeSrc": "8414:27:43", + "nodeType": "YulAssignment", + "src": "8414:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8426:9:43", + "nodeType": "YulIdentifier", + "src": "8426:9:43" + }, + { + "kind": "number", + "nativeSrc": "8437:3:43", + "nodeType": "YulLiteral", + "src": "8437:3:43", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8422:3:43", + "nodeType": "YulIdentifier", + "src": "8422:3:43" + }, + "nativeSrc": "8422:19:43", + "nodeType": "YulFunctionCall", + "src": "8422:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8414:4:43", + "nodeType": "YulIdentifier", + "src": "8414:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8462:9:43", + "nodeType": "YulIdentifier", + "src": "8462:9:43" + }, + { + "kind": "number", + "nativeSrc": "8473:1:43", + "nodeType": "YulLiteral", + "src": "8473:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8458:3:43", + "nodeType": "YulIdentifier", + "src": "8458:3:43" + }, + "nativeSrc": "8458:17:43", + "nodeType": "YulFunctionCall", + "src": "8458:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "8481:4:43", + "nodeType": "YulIdentifier", + "src": "8481:4:43" + }, + { + "name": "headStart", + "nativeSrc": "8487:9:43", + "nodeType": "YulIdentifier", + "src": "8487:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8477:3:43", + "nodeType": "YulIdentifier", + "src": "8477:3:43" + }, + "nativeSrc": "8477:20:43", + "nodeType": "YulFunctionCall", + "src": "8477:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8451:6:43", + "nodeType": "YulIdentifier", + "src": "8451:6:43" + }, + "nativeSrc": "8451:47:43", + "nodeType": "YulFunctionCall", + "src": "8451:47:43" + }, + "nativeSrc": "8451:47:43", + "nodeType": "YulExpressionStatement", + "src": "8451:47:43" + }, + { + "nativeSrc": "8507:86:43", + "nodeType": "YulAssignment", + "src": "8507:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8579:6:43", + "nodeType": "YulIdentifier", + "src": "8579:6:43" + }, + { + "name": "tail", + "nativeSrc": "8588:4:43", + "nodeType": "YulIdentifier", + "src": "8588:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "8515:63:43", + "nodeType": "YulIdentifier", + "src": "8515:63:43" + }, + "nativeSrc": "8515:78:43", + "nodeType": "YulFunctionCall", + "src": "8515:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8507:4:43", + "nodeType": "YulIdentifier", + "src": "8507:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "8647:6:43", + "nodeType": "YulIdentifier", + "src": "8647:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8660:9:43", + "nodeType": "YulIdentifier", + "src": "8660:9:43" + }, + { + "kind": "number", + "nativeSrc": "8671:2:43", + "nodeType": "YulLiteral", + "src": "8671:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8656:3:43", + "nodeType": "YulIdentifier", + "src": "8656:3:43" + }, + "nativeSrc": "8656:18:43", + "nodeType": "YulFunctionCall", + "src": "8656:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8603:43:43", + "nodeType": "YulIdentifier", + "src": "8603:43:43" + }, + "nativeSrc": "8603:72:43", + "nodeType": "YulFunctionCall", + "src": "8603:72:43" + }, + "nativeSrc": "8603:72:43", + "nodeType": "YulExpressionStatement", + "src": "8603:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "8729:6:43", + "nodeType": "YulIdentifier", + "src": "8729:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8742:9:43", + "nodeType": "YulIdentifier", + "src": "8742:9:43" + }, + { + "kind": "number", + "nativeSrc": "8753:2:43", + "nodeType": "YulLiteral", + "src": "8753:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8738:3:43", + "nodeType": "YulIdentifier", + "src": "8738:3:43" + }, + "nativeSrc": "8738:18:43", + "nodeType": "YulFunctionCall", + "src": "8738:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "8685:43:43", + "nodeType": "YulIdentifier", + "src": "8685:43:43" + }, + "nativeSrc": "8685:72:43", + "nodeType": "YulFunctionCall", + "src": "8685:72:43" + }, + "nativeSrc": "8685:72:43", + "nodeType": "YulExpressionStatement", + "src": "8685:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "8811:6:43", + "nodeType": "YulIdentifier", + "src": "8811:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8824:9:43", + "nodeType": "YulIdentifier", + "src": "8824:9:43" + }, + { + "kind": "number", + "nativeSrc": "8835:2:43", + "nodeType": "YulLiteral", + "src": "8835:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8820:3:43", + "nodeType": "YulIdentifier", + "src": "8820:3:43" + }, + "nativeSrc": "8820:18:43", + "nodeType": "YulFunctionCall", + "src": "8820:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8767:43:43", + "nodeType": "YulIdentifier", + "src": "8767:43:43" + }, + "nativeSrc": "8767:72:43", + "nodeType": "YulFunctionCall", + "src": "8767:72:43" + }, + "nativeSrc": "8767:72:43", + "nodeType": "YulExpressionStatement", + "src": "8767:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "8893:6:43", + "nodeType": "YulIdentifier", + "src": "8893:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8906:9:43", + "nodeType": "YulIdentifier", + "src": "8906:9:43" + }, + { + "kind": "number", + "nativeSrc": "8917:3:43", + "nodeType": "YulLiteral", + "src": "8917:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8902:3:43", + "nodeType": "YulIdentifier", + "src": "8902:3:43" + }, + "nativeSrc": "8902:19:43", + "nodeType": "YulFunctionCall", + "src": "8902:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8849:43:43", + "nodeType": "YulIdentifier", + "src": "8849:43:43" + }, + "nativeSrc": "8849:73:43", + "nodeType": "YulFunctionCall", + "src": "8849:73:43" + }, + "nativeSrc": "8849:73:43", + "nodeType": "YulExpressionStatement", + "src": "8849:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "8976:6:43", + "nodeType": "YulIdentifier", + "src": "8976:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8989:9:43", + "nodeType": "YulIdentifier", + "src": "8989:9:43" + }, + { + "kind": "number", + "nativeSrc": "9000:3:43", + "nodeType": "YulLiteral", + "src": "9000:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8985:3:43", + "nodeType": "YulIdentifier", + "src": "8985:3:43" + }, + "nativeSrc": "8985:19:43", + "nodeType": "YulFunctionCall", + "src": "8985:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "8932:43:43", + "nodeType": "YulIdentifier", + "src": "8932:43:43" + }, + "nativeSrc": "8932:73:43", + "nodeType": "YulFunctionCall", + "src": "8932:73:43" + }, + "nativeSrc": "8932:73:43", + "nodeType": "YulExpressionStatement", + "src": "8932:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "9074:6:43", + "nodeType": "YulIdentifier", + "src": "9074:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9087:9:43", + "nodeType": "YulIdentifier", + "src": "9087:9:43" + }, + { + "kind": "number", + "nativeSrc": "9098:3:43", + "nodeType": "YulLiteral", + "src": "9098:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9083:3:43", + "nodeType": "YulIdentifier", + "src": "9083:3:43" + }, + "nativeSrc": "9083:19:43", + "nodeType": "YulFunctionCall", + "src": "9083:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack", + "nativeSrc": "9015:58:43", + "nodeType": "YulIdentifier", + "src": "9015:58:43" + }, + "nativeSrc": "9015:88:43", + "nodeType": "YulFunctionCall", + "src": "9015:88:43" + }, + "nativeSrc": "9015:88:43", + "nodeType": "YulExpressionStatement", + "src": "9015:88:43" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$11645__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed", + "nativeSrc": "8103:1007:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8328:9:43", + "nodeType": "YulTypedName", + "src": "8328:9:43", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "8340:6:43", + "nodeType": "YulTypedName", + "src": "8340:6:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "8348:6:43", + "nodeType": "YulTypedName", + "src": "8348:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "8356:6:43", + "nodeType": "YulTypedName", + "src": "8356:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "8364:6:43", + "nodeType": "YulTypedName", + "src": "8364:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "8372:6:43", + "nodeType": "YulTypedName", + "src": "8372:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8380:6:43", + "nodeType": "YulTypedName", + "src": "8380:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8388:6:43", + "nodeType": "YulTypedName", + "src": "8388:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8399:4:43", + "nodeType": "YulTypedName", + "src": "8399:4:43", + "type": "" + } + ], + "src": "8103:1007:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value5 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AirdropType_$11645(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AirdropType_$11645(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AirdropType_$11645(value)\n }\n\n function convert_t_enum$_AirdropType_$11645_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AirdropType_$11645(value)\n }\n\n function abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_AirdropType_$11645_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$11645__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed(headStart , value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 256)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack(value7, add(headStart, 224))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_enum$_AirdropType_$11645__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint8__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_enum$_AirdropType_$11645_to_t_uint8_fromStack(value6, add(headStart, 192))\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50600436106200002e5760003560e01c80630920be421462000033575b600080fd5b6200005160048036038101906200004b919062000374565b62000069565b60405162000060919062000457565b60405180910390f35b6000808203620000cf5760008830898989898960006040516200008c9062000142565b6200009f9897969594939291906200058e565b604051809103906000f080158015620000bc573d6000803e3d6000fd5b5090506000819050809250505062000137565b60018203620001325760008830898989886001604051620000f09062000150565b62000102979695949392919062000623565b604051809103906000f0801580156200011f573d6000803e3d6000fd5b5090506000819050809250505062000137565b600090505b979650505050505050565b61258080620006a883390190565b6120038062002c2883390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001c7826200017c565b810181811067ffffffffffffffff82111715620001e957620001e86200018d565b5b80604052505050565b6000620001fe6200015e565b90506200020c8282620001bc565b919050565b600067ffffffffffffffff8211156200022f576200022e6200018d565b5b6200023a826200017c565b9050602081019050919050565b82818337600083830152505050565b60006200026d620002678462000211565b620001f2565b9050828152602081018484840111156200028c576200028b62000177565b5b6200029984828562000247565b509392505050565b600082601f830112620002b957620002b862000172565b5b8135620002cb84826020860162000256565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030182620002d4565b9050919050565b6200031381620002f4565b81146200031f57600080fd5b50565b600081359050620003338162000308565b92915050565b6000819050919050565b6200034e8162000339565b81146200035a57600080fd5b50565b6000813590506200036e8162000343565b92915050565b600080600080600080600060e0888a03121562000396576200039562000168565b5b600088013567ffffffffffffffff811115620003b757620003b66200016d565b5b620003c58a828b01620002a1565b9750506020620003d88a828b0162000322565b9650506040620003eb8a828b016200035d565b9550506060620003fe8a828b016200035d565b9450506080620004118a828b016200035d565b93505060a0620004248a828b016200035d565b92505060c0620004378a828b016200035d565b91505092959891949750929550565b6200045181620002f4565b82525050565b60006020820190506200046e600083018462000446565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004b057808201518184015260208101905062000493565b60008484015250505050565b6000620004c98262000474565b620004d581856200047f565b9350620004e781856020860162000490565b620004f2816200017c565b840191505092915050565b620005088162000339565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106200055157620005506200050e565b5b50565b600081905062000564826200053d565b919050565b6000620005768262000554565b9050919050565b620005888162000569565b82525050565b6000610100820190508181036000830152620005ab818b620004bc565b9050620005bc602083018a62000446565b620005cb604083018962000446565b620005da6060830188620004fd565b620005e96080830187620004fd565b620005f860a0830186620004fd565b6200060760c0830185620004fd565b6200061660e08301846200057d565b9998505050505050505050565b600060e08201905081810360008301526200063f818a620004bc565b905062000650602083018962000446565b6200065f604083018862000446565b6200066e6060830187620004fd565b6200067d6080830186620004fd565b6200068c60a0830185620004fd565b6200069b60c08301846200057d565b9897505050505050505056fe60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea2646970667358221220bd72319c10e3d3381b43e2670c4375cf0a3350cc3750c43744074c5d6087841164736f6c6343000818003360806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220c89d20e715bb8b1741d20dd3617fd1af69293dba68a2aac4954cf6a82d0bd78764736f6c63430008180033a2646970667358221220283d1523aebd5a529c889b1193853caee796ee76035ad8be40a44b854bf8284464736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x920BE42 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x374 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH3 0xCF JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH3 0x8C SWAP1 PUSH3 0x142 JUMP JUMPDEST PUSH3 0x9F SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x58E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x1 DUP3 SUB PUSH3 0x132 JUMPI PUSH1 0x0 DUP9 ADDRESS DUP10 DUP10 DUP10 DUP9 PUSH1 0x1 PUSH1 0x40 MLOAD PUSH3 0xF0 SWAP1 PUSH3 0x150 JUMP JUMPDEST PUSH3 0x102 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x623 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x11F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP PUSH3 0x137 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2580 DUP1 PUSH3 0x6A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x2003 DUP1 PUSH3 0x2C28 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1C7 DUP3 PUSH3 0x17C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x1E9 JUMPI PUSH3 0x1E8 PUSH3 0x18D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FE PUSH3 0x15E JUMP JUMPDEST SWAP1 POP PUSH3 0x20C DUP3 DUP3 PUSH3 0x1BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x22F JUMPI PUSH3 0x22E PUSH3 0x18D JUMP JUMPDEST JUMPDEST PUSH3 0x23A DUP3 PUSH3 0x17C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x26D PUSH3 0x267 DUP5 PUSH3 0x211 JUMP JUMPDEST PUSH3 0x1F2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x28C JUMPI PUSH3 0x28B PUSH3 0x177 JUMP JUMPDEST JUMPDEST PUSH3 0x299 DUP5 DUP3 DUP6 PUSH3 0x247 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x2B9 JUMPI PUSH3 0x2B8 PUSH3 0x172 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x2CB DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x256 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x301 DUP3 PUSH3 0x2D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x313 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP2 EQ PUSH3 0x31F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x333 DUP2 PUSH3 0x308 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x34E DUP2 PUSH3 0x339 JUMP JUMPDEST DUP2 EQ PUSH3 0x35A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x36E DUP2 PUSH3 0x343 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x396 JUMPI PUSH3 0x395 PUSH3 0x168 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x3B7 JUMPI PUSH3 0x3B6 PUSH3 0x16D JUMP JUMPDEST JUMPDEST PUSH3 0x3C5 DUP11 DUP3 DUP12 ADD PUSH3 0x2A1 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x3D8 DUP11 DUP3 DUP12 ADD PUSH3 0x322 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x3EB DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x3FE DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x411 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x424 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x437 DUP11 DUP3 DUP12 ADD PUSH3 0x35D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x46E PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x446 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x4B0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x493 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4C9 DUP3 PUSH3 0x474 JUMP JUMPDEST PUSH3 0x4D5 DUP2 DUP6 PUSH3 0x47F JUMP JUMPDEST SWAP4 POP PUSH3 0x4E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x490 JUMP JUMPDEST PUSH3 0x4F2 DUP2 PUSH3 0x17C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x508 DUP2 PUSH3 0x339 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x551 JUMPI PUSH3 0x550 PUSH3 0x50E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH3 0x564 DUP3 PUSH3 0x53D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x576 DUP3 PUSH3 0x554 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x588 DUP2 PUSH3 0x569 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x5AB DUP2 DUP12 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x5BC PUSH1 0x20 DUP4 ADD DUP11 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5CB PUSH1 0x40 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x5DA PUSH1 0x60 DUP4 ADD DUP9 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5E9 PUSH1 0x80 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x5F8 PUSH1 0xA0 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x607 PUSH1 0xC0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x616 PUSH1 0xE0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x63F DUP2 DUP11 PUSH3 0x4BC JUMP JUMPDEST SWAP1 POP PUSH3 0x650 PUSH1 0x20 DUP4 ADD DUP10 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x65F PUSH1 0x40 DUP4 ADD DUP9 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x66E PUSH1 0x60 DUP4 ADD DUP8 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x67D PUSH1 0x80 DUP4 ADD DUP7 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x68C PUSH1 0xA0 DUP4 ADD DUP6 PUSH3 0x4FD JUMP JUMPDEST PUSH3 0x69B PUSH1 0xC0 DUP4 ADD DUP5 PUSH3 0x57D JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2580 CODESIZE SUB DUP1 PUSH3 0x2580 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x48F JUMP JUMPDEST DUP7 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x170 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP8 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7E6 JUMP JUMPDEST POP DUP5 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x8CD JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP PUSH3 0x8FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x29D DUP3 PUSH3 0x252 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BF JUMPI PUSH3 0x2BE PUSH3 0x263 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D4 PUSH3 0x234 JUMP JUMPDEST SWAP1 POP PUSH3 0x2E2 DUP3 DUP3 PUSH3 0x292 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x305 JUMPI PUSH3 0x304 PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x310 DUP3 PUSH3 0x252 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x33D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x320 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x360 PUSH3 0x35A DUP5 PUSH3 0x2E7 JUMP JUMPDEST PUSH3 0x2C8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x37F JUMPI PUSH3 0x37E PUSH3 0x24D JUMP JUMPDEST JUMPDEST PUSH3 0x38C DUP5 DUP3 DUP6 PUSH3 0x31D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3AC JUMPI PUSH3 0x3AB PUSH3 0x248 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3BE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x349 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3F4 DUP3 PUSH3 0x3C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x406 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP2 EQ PUSH3 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x426 DUP2 PUSH3 0x3FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x441 DUP2 PUSH3 0x42C JUMP JUMPDEST DUP2 EQ PUSH3 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x461 DUP2 PUSH3 0x436 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x475 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x489 DUP2 PUSH3 0x467 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH3 0x4B2 PUSH3 0x23E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP10 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4D4 JUMPI PUSH3 0x4D3 PUSH3 0x243 JUMP JUMPDEST JUMPDEST PUSH3 0x4E2 DUP12 DUP3 DUP13 ADD PUSH3 0x394 JUMP JUMPDEST SWAP9 POP POP PUSH1 0x20 PUSH3 0x4F5 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x40 PUSH3 0x508 DUP12 DUP3 DUP13 ADD PUSH3 0x415 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x60 PUSH3 0x51B DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x80 PUSH3 0x52E DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP5 POP POP PUSH1 0xA0 PUSH3 0x541 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xC0 PUSH3 0x554 DUP12 DUP3 DUP13 ADD PUSH3 0x450 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 PUSH3 0x567 DUP12 DUP3 DUP13 ADD PUSH3 0x478 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH3 0x582 DUP2 PUSH3 0x3E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x59F PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x60E JUMPI PUSH3 0x60D PUSH3 0x5B0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x678 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x639 JUMP JUMPDEST PUSH3 0x684 DUP7 DUP4 PUSH3 0x639 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6C7 PUSH3 0x6C1 PUSH3 0x6BB DUP5 PUSH3 0x42C JUMP JUMPDEST PUSH3 0x69C JUMP JUMPDEST PUSH3 0x42C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6E3 DUP4 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6FB PUSH3 0x6F2 DUP3 PUSH3 0x6CE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x646 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x712 PUSH3 0x703 JUMP JUMPDEST PUSH3 0x71F DUP2 DUP5 DUP5 PUSH3 0x6D8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x747 JUMPI PUSH3 0x73B PUSH1 0x0 DUP3 PUSH3 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x725 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x796 JUMPI PUSH3 0x760 DUP2 PUSH3 0x614 JUMP JUMPDEST PUSH3 0x76B DUP5 PUSH3 0x629 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x77B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x793 PUSH3 0x78A DUP6 PUSH3 0x629 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x724 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7BB PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x79B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7D6 DUP4 DUP4 PUSH3 0x7A8 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7F1 DUP3 PUSH3 0x5A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x80D JUMPI PUSH3 0x80C PUSH3 0x263 JUMP JUMPDEST JUMPDEST PUSH3 0x819 DUP3 SLOAD PUSH3 0x5DF JUMP JUMPDEST PUSH3 0x826 DUP3 DUP3 DUP6 PUSH3 0x74B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x85E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x849 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x855 DUP6 DUP3 PUSH3 0x7C8 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8C5 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x86E DUP7 PUSH3 0x614 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x898 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x871 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x8B8 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x8B4 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x7A8 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1C74 DUP1 PUSH3 0x90C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA9F7D0B2 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA9F7D0B2 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xB7C58D7A EQ PUSH2 0x312 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3AC JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x262 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x2D8 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x226 JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x244 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x8AF4D88 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x3863B1F5 EQ PUSH2 0x1B2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x3C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x174 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16F SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17E PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x5B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F2 PUSH2 0xA75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FF SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x210 PUSH2 0xA7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22E PUSH2 0xABC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24C PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x259 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH2 0xAD0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x286 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x281 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x293 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A4 PUSH2 0xB3A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2E0 PUSH2 0xB6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2ED SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x310 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xB7D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x32C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xC65 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x348 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x343 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xCFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x355 SWAP2 SWAP1 PUSH2 0xFEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x366 PUSH2 0xD55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x396 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x391 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH2 0xD5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x1783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C1 SWAP2 SWAP1 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xD8D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42B SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x448 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x46C SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP2 PUSH1 0x40 MLOAD PUSH2 0x502 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56D SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x5BB PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x5D4 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x600 SWAP1 PUSH2 0x1838 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x64D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x622 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x64D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x630 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x6B5 JUMPI PUSH2 0x6B4 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6DA PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x7B6 JUMPI PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6FF JUMPI PUSH2 0x6FE PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5D20D7597E8195AA92D4AD63482761CFBBE7C4AFDEF190F27182702924C9AF77 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x7A1 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x6DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7C2 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x7CB DUP5 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0x190A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0xB63 JUMP JUMPDEST ISZERO PUSH2 0x852 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x849 SWAP1 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x85B DUP5 PUSH2 0xAE4 JUMP JUMPDEST ISZERO PUSH2 0x89B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x892 SWAP1 PUSH2 0x1A08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A3 PUSH2 0xB6F JUMP JUMPDEST ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DA SWAP1 PUSH2 0x1A9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8EB PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x92A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x921 SWAP1 PUSH2 0x1B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP7 PUSH1 0x6 SLOAD PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x98F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x1C0A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0xA67 SWAP3 SWAP2 SWAP1 PUSH2 0x179E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xAD8 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0xAE2 PUSH1 0x0 PUSH2 0xE9A JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB85 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xC61 JUMPI PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBAA JUMPI PUSH2 0xBA9 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC37 JUMPI PUSH2 0xC36 PUSH2 0x1869 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xC4C SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB88 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xC6D PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5F1B0FA787087C297CC2EE3A7641860058AB750C330AC3EA5D6D5B9B777F353D DUP2 PUSH1 0x40 MLOAD PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD95 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xE07 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFE SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE10 DUP2 PUSH2 0xE9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE1B PUSH2 0xF5E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xE39 PUSH2 0xB3A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE98 JUMPI PUSH2 0xE5C PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8F SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xFC6 JUMPI PUSH2 0xFC5 PUSH2 0x118A JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFE8 DUP2 PUSH2 0xFD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1003 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1048 DUP3 PUSH2 0x101D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1058 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP2 EQ PUSH2 0x1063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1075 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1091 JUMPI PUSH2 0x1090 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x109F DUP5 DUP3 DUP6 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10BB DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10D6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10B2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1116 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x1148 DUP2 DUP6 PUSH2 0x10E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1158 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1175 DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1184 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x11CA JUMPI PUSH2 0x11C9 PUSH2 0x118A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x11DB DUP3 PUSH2 0x11B9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11EB DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FB DUP2 PUSH2 0x11E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x121F DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1234 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x116C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1247 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x125A PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x126D PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x1280 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x117B JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x1293 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x11F2 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x12AB DUP3 DUP3 PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D2 DUP2 DUP5 PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1317 DUP3 PUSH2 0x1122 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1336 JUMPI PUSH2 0x1335 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1349 PUSH2 0x1009 JUMP JUMPDEST SWAP1 POP PUSH2 0x1355 DUP3 DUP3 PUSH2 0x130E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1375 JUMPI PUSH2 0x1374 PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x139E PUSH2 0x1399 DUP5 PUSH2 0x135A JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x13C1 JUMPI PUSH2 0x13C0 PUSH2 0x1386 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13EA JUMPI DUP1 PUSH2 0x13D6 DUP9 DUP3 PUSH2 0x1066 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x13C3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1409 JUMPI PUSH2 0x1408 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1419 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x138B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1438 JUMPI PUSH2 0x1437 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1462 DUP5 DUP3 DUP6 ADD PUSH2 0x13F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1474 DUP2 PUSH2 0x10A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x147F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1491 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x14B2 JUMPI PUSH2 0x14B1 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CF JUMPI PUSH2 0x14CE PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EA PUSH2 0x1386 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x150C JUMPI PUSH2 0x150B PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x151A DUP8 DUP3 DUP9 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x152B DUP8 DUP3 DUP9 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x154C JUMPI PUSH2 0x154B PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x1558 DUP8 DUP3 DUP9 ADD PUSH2 0x149C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1582 DUP3 PUSH2 0x10DC JUMP JUMPDEST PUSH2 0x158C DUP2 DUP6 PUSH2 0x1566 JUMP JUMPDEST SWAP4 POP PUSH2 0x159C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x15A5 DUP2 PUSH2 0x1122 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15CA DUP2 DUP5 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15DB DUP2 PUSH2 0x103D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15F6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x161C JUMPI PUSH2 0x161B PUSH2 0x12DF JUMP JUMPDEST JUMPDEST PUSH2 0x1625 DUP3 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1654 PUSH2 0x164F DUP5 PUSH2 0x1601 JUMP JUMPDEST PUSH2 0x133F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1670 JUMPI PUSH2 0x166F PUSH2 0x15FC JUMP JUMPDEST JUMPDEST PUSH2 0x167B DUP5 DUP3 DUP6 PUSH2 0x1632 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1698 JUMPI PUSH2 0x1697 PUSH2 0x12DA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16A8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1641 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16CD JUMPI PUSH2 0x16CC PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16DB DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x16EC DUP9 DUP3 DUP10 ADD PUSH2 0x1066 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x16FD DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x170E DUP9 DUP3 DUP10 ADD PUSH2 0x1482 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x172F JUMPI PUSH2 0x172E PUSH2 0x1018 JUMP JUMPDEST JUMPDEST PUSH2 0x173B DUP9 DUP3 DUP10 ADD PUSH2 0x1683 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x177D DUP2 PUSH2 0x1748 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1798 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1774 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17B3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x17C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x17D6 DUP2 PUSH2 0x146B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17F2 JUMPI PUSH2 0x17F1 PUSH2 0x1013 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP3 DUP6 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1850 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1863 JUMPI PUSH2 0x1862 PUSH2 0x1809 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x41646472657373206E6F7420616C6C6F77656420746F20636C61696D20746869 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x732061697264726F700000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F4 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x18FF DUP3 PUSH2 0x1898 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1923 DUP2 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1960 PUSH1 0x18 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x196B DUP3 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x198F DUP2 PUSH2 0x1953 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19F2 PUSH1 0x25 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x19FD DUP3 PUSH2 0x1996 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A21 DUP2 PUSH2 0x19E5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A84 PUSH1 0x29 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A8F DUP3 PUSH2 0x1A28 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1AB3 DUP2 PUSH2 0x1A77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B16 PUSH1 0x30 DUP4 PUSH2 0x1566 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B21 DUP3 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B45 DUP2 PUSH2 0x1B09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6D PUSH1 0x0 DUP4 PUSH2 0x1B4C JUMP JUMPDEST SWAP2 POP PUSH2 0x1B78 DUP3 PUSH2 0x1B5D JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B98 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BA5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x15D2 JUMP JUMPDEST PUSH2 0x1BB2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x10B2 JUMP JUMPDEST PUSH2 0x1BBF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x10B2 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1BD0 DUP2 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1C15 DUP3 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C20 DUP4 PUSH2 0x10A8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1C38 JUMPI PUSH2 0x1C37 PUSH2 0x1BDB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD PUSH19 0x319C10E3D3381B43E2670C4375CF0A3350CC37 POP 0xC4 CALLDATACOPY PREVRANDAO SMOD 0x4C TSTORE PUSH1 0x87 DUP5 GT PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2003 CODESIZE SUB DUP1 PUSH3 0x2003 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x487 JUMP JUMPDEST DUP6 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x56A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP7 PUSH1 0x7 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x7C8 JUMP JUMPDEST POP DUP4 PUSH1 0x6 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x156 JUMPI PUSH3 0x155 PUSH3 0x8AF JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP PUSH3 0x8DE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x46D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x481 DUP2 PUSH3 0x45F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x4A9 JUMPI PUSH3 0x4A8 PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP9 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4CA JUMPI PUSH3 0x4C9 PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4D8 DUP11 DUP3 DUP12 ADD PUSH3 0x38C JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH3 0x4EB DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH3 0x4FE DUP11 DUP3 DUP12 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 PUSH3 0x511 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x80 PUSH3 0x524 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 PUSH3 0x537 DUP11 DUP3 DUP12 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xC0 PUSH3 0x54A DUP11 DUP3 DUP12 ADD PUSH3 0x470 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH3 0x564 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x581 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5F0 JUMPI PUSH3 0x5EF PUSH3 0x592 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x65A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x61B JUMP JUMPDEST PUSH3 0x666 DUP7 DUP4 PUSH3 0x61B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6A9 PUSH3 0x6A3 PUSH3 0x69D DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x67E JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6C5 DUP4 PUSH3 0x688 JUMP JUMPDEST PUSH3 0x6DD PUSH3 0x6D4 DUP3 PUSH3 0x6B0 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x628 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6F4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x701 DUP2 DUP5 DUP5 PUSH3 0x6BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x729 JUMPI PUSH3 0x71D PUSH1 0x0 DUP3 PUSH3 0x6EA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x778 JUMPI PUSH3 0x742 DUP2 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x74D DUP5 PUSH3 0x60B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x75D JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x775 PUSH3 0x76C DUP6 PUSH3 0x60B JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x706 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x77D JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x7B8 DUP4 DUP4 PUSH3 0x78A JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7D3 DUP3 PUSH3 0x587 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7EF JUMPI PUSH3 0x7EE PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7FB DUP3 SLOAD PUSH3 0x5C1 JUMP JUMPDEST PUSH3 0x808 DUP3 DUP3 DUP6 PUSH3 0x72D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x840 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x82B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x837 DUP6 DUP3 PUSH3 0x7AA JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x8A7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x850 DUP7 PUSH3 0x5F6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x87A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x853 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x89A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x896 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x78A JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1715 DUP1 PUSH3 0x8EE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80BDC421 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xCD61A609 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0xDAB5F340 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0xEBF0C717 EQ PUSH2 0x2C0 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x2DE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x30E JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x80BDC421 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x268 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4E16FC8B GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x4E16FC8B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1CC JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x168 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x118 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x166 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0xFA2 JUMP JUMPDEST PUSH2 0x4EE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH2 0x508 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18E PUSH2 0x512 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19B SWAP2 SWAP1 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AC PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0x559 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E1 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x5C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x223 SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x234 PUSH2 0x5E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25F SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28E PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29B SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B9 SWAP2 SWAP1 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C8 PUSH2 0x641 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D5 SWAP2 SWAP1 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F3 SWAP2 SWAP1 PUSH2 0x12CC JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x328 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x323 SWAP2 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0xFDD58E ADDRESS PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x13F7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3D8 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP1 SLOAD PUSH2 0x3F1 SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x41D SWAP1 PUSH2 0x1453 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x46A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x46A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x44D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4D1 JUMPI PUSH2 0x4D0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x4F6 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x502 DUP5 DUP5 DUP5 DUP5 PUSH2 0x782 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x561 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x56B PUSH1 0x0 PUSH2 0xA2E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x637 PUSH2 0x6FB JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF23A6E612E1FF4830E658FE43F4E3CB4A5F8170BD5D9E69FB5D7A7FA9E4FDF97 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x67D PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E6 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6F8 DUP2 PUSH2 0xA2E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x703 PUSH2 0xAF2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x721 PUSH2 0x5E3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x780 JUMPI PUSH2 0x744 PUSH2 0xAF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x777 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78E DUP6 DUP6 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP PUSH2 0x79E DUP4 DUP4 PUSH1 0x9 SLOAD DUP5 PUSH2 0xB53 JUMP JUMPDEST PUSH2 0x7D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x9BDE33900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x82C JUMPI PUSH1 0x40 MLOAD PUSH32 0xC0AB2C9F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x860 PUSH2 0x60C JUMP JUMPDEST ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x897 SWAP1 PUSH2 0x14D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8A8 PUSH2 0x618 JUMP JUMPDEST ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x1562 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF242432A ADDRESS DUP8 PUSH1 0x6 SLOAD DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15B9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x979 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0x1640 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xA PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA1F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB0F SWAP3 SWAP2 SWAP1 PUSH2 0x13B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB35 SWAP2 SWAP1 PUSH2 0x1695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB61 DUP7 DUP7 DUP6 PUSH2 0xB6C JUMP JUMPDEST EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST DUP6 DUP6 SWAP1 POP DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH2 0xBA3 DUP3 DUP8 DUP8 DUP5 DUP2 DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB96 PUSH2 0x16B0 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH2 0xBBE JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB75 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xBD6 JUMPI PUSH2 0xBD1 DUP3 DUP5 PUSH2 0xBE9 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0xBE0 DUP4 DUP4 PUSH2 0xBE9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC60 JUMPI PUSH2 0xC5F PUSH2 0xD81 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC80 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC9B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC77 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0xD0D DUP2 DUP6 PUSH2 0xCAC JUMP JUMPDEST SWAP4 POP PUSH2 0xD1D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0xD26 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5C DUP3 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD6C DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD7B DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xDC1 JUMPI PUSH2 0xDC0 PUSH2 0xD81 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xDD2 DUP3 PUSH2 0xDB0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE2 DUP3 PUSH2 0xDC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF2 DUP2 PUSH2 0xDD7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xE16 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xE2B PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD63 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xE3E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xE51 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xE64 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xE77 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xD72 JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xE8A PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xDE9 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xEA2 DUP3 DUP3 PUSH2 0xCF8 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEC9 DUP2 DUP5 PUSH2 0xDF8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEEE DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF0B DUP2 PUSH2 0xEE5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF1A DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP2 EQ PUSH2 0xF25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF37 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF62 JUMPI PUSH2 0xF61 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0xF42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF9B JUMPI PUSH2 0xF9A PUSH2 0xF47 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFBC JUMPI PUSH2 0xFBB PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFCA DUP8 DUP3 DUP9 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xFDB DUP8 DUP3 DUP9 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1008 DUP8 DUP3 DUP9 ADD PUSH2 0xF4C JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1032 DUP3 PUSH2 0xCA1 JUMP JUMPDEST PUSH2 0x103C DUP2 DUP6 PUSH2 0x1016 JUMP JUMPDEST SWAP4 POP PUSH2 0x104C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCBD JUMP JUMPDEST PUSH2 0x1055 DUP2 PUSH2 0xCE7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x107A DUP2 DUP5 PUSH2 0x1027 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10A6 DUP5 DUP3 DUP6 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C4 DUP2 PUSH2 0x10AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10DF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10F8 DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1115 DUP2 PUSH2 0x10EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1131 JUMPI PUSH2 0x1130 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x113F DUP5 DUP3 DUP6 ADD PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1151 DUP2 PUSH2 0xD51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x116C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1148 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x117B DUP2 PUSH2 0x10E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1172 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x11D9 DUP3 PUSH2 0xCE7 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11F8 JUMPI PUSH2 0x11F7 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120B PUSH2 0xED1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1217 DUP3 DUP3 PUSH2 0x11D0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1236 PUSH2 0x11A1 JUMP JUMPDEST JUMPDEST PUSH2 0x1240 DUP3 PUSH2 0xCE7 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126F PUSH2 0x126A DUP5 PUSH2 0x121C JUMP JUMPDEST PUSH2 0x1201 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128A PUSH2 0x119C JUMP JUMPDEST JUMPDEST PUSH2 0x1296 DUP5 DUP3 DUP6 PUSH2 0x124D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x12B3 JUMPI PUSH2 0x12B2 PUSH2 0xF3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x12C3 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x125C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x12E8 JUMPI PUSH2 0x12E7 PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1307 DUP9 DUP3 DUP10 ADD PUSH2 0xEFC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1329 DUP9 DUP3 DUP10 ADD PUSH2 0xF28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x134A JUMPI PUSH2 0x1349 PUSH2 0xEE0 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP9 DUP3 DUP10 ADD PUSH2 0x129E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1398 DUP2 PUSH2 0x1363 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13B3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13CE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x13DB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x13F1 DUP2 PUSH2 0xF11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140D JUMPI PUSH2 0x140C PUSH2 0xEDB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141B DUP5 DUP3 DUP6 ADD PUSH2 0x13E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x146B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x147E JUMPI PUSH2 0x147D PUSH2 0x1424 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BA PUSH1 0x18 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x14C5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E9 DUP2 PUSH2 0x14AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x154C PUSH1 0x29 DUP4 PUSH2 0x1016 JUMP JUMPDEST SWAP2 POP PUSH2 0x1557 DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x157B DUP2 PUSH2 0x153F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A3 PUSH1 0x0 DUP4 PUSH2 0x1582 JUMP JUMPDEST SWAP2 POP PUSH2 0x15AE DUP3 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x15CE PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15DB PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x15E8 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xC77 JUMP JUMPDEST PUSH2 0x15F5 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC77 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x1596 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x164B DUP3 PUSH2 0xC6D JUMP JUMPDEST SWAP2 POP PUSH2 0x1656 DUP4 PUSH2 0xC6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x166E JUMPI PUSH2 0x166D PUSH2 0x1611 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x168F PUSH2 0x168A DUP3 PUSH2 0x10E5 JUMP JUMPDEST PUSH2 0x1674 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16A1 DUP3 DUP5 PUSH2 0x167E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 SWAP14 KECCAK256 0xE7 ISZERO 0xBB DUP12 OR COINBASE 0xD2 0xD 0xD3 PUSH2 0x7FD1 0xAF PUSH10 0x293DBA68A2AAC4954CF6 0xA8 0x2D SIGNEXTEND 0xD7 DUP8 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 RETURNDATASIZE ISZERO 0x23 0xAE 0xBD GAS MSTORE SWAP13 DUP9 SWAP12 GT SWAP4 DUP6 EXTCODECOPY 0xAE 0xE7 SWAP7 0xEE PUSH23 0x35AD8BE40A44B854BF8284464736F6C63430008180033 ", + "sourceMap": "180:1329:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;239:1268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;499:7;530:1;522:4;:9;518:983;;547:33;622:11;659:4;682:12;712:7;737:18;773:11;802:14;834:18;583:283;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;547:319;;880:22;913:15;880:49;;950:14;943:21;;;;;;518:983;993:1;985:4;:9;981:520;;1010:39;1101:11;1142:4;1169:12;1203:7;1232:18;1272:14;1308:18;1052:292;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1010:334;;1358:22;1391:15;1358:49;;1428:14;1421:21;;;;;;981:520;1488:1;1473:17;;239:1268;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:126::-;2590:7;2630:42;2623:5;2619:54;2608:65;;2553:126;;;:::o;2685:96::-;2722:7;2751:24;2769:5;2751:24;:::i;:::-;2740:35;;2685:96;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:1383::-;3539:6;3547;3555;3563;3571;3579;3587;3636:3;3624:9;3615:7;3611:23;3607:33;3604:120;;;3643:79;;:::i;:::-;3604:120;3791:1;3780:9;3776:17;3763:31;3821:18;3813:6;3810:30;3807:117;;;3843:79;;:::i;:::-;3807:117;3948:63;4003:7;3994:6;3983:9;3979:22;3948:63;:::i;:::-;3938:73;;3734:287;4060:2;4086:53;4131:7;4122:6;4111:9;4107:22;4086:53;:::i;:::-;4076:63;;4031:118;4188:2;4214:53;4259:7;4250:6;4239:9;4235:22;4214:53;:::i;:::-;4204:63;;4159:118;4316:2;4342:53;4387:7;4378:6;4367:9;4363:22;4342:53;:::i;:::-;4332:63;;4287:118;4444:3;4471:53;4516:7;4507:6;4496:9;4492:22;4471:53;:::i;:::-;4461:63;;4415:119;4573:3;4600:53;4645:7;4636:6;4625:9;4621:22;4600:53;:::i;:::-;4590:63;;4544:119;4702:3;4729:53;4774:7;4765:6;4754:9;4750:22;4729:53;:::i;:::-;4719:63;;4673:119;3416:1383;;;;;;;;;;:::o;4805:118::-;4892:24;4910:5;4892:24;:::i;:::-;4887:3;4880:37;4805:118;;:::o;4929:222::-;5022:4;5060:2;5049:9;5045:18;5037:26;;5073:71;5141:1;5130:9;5126:17;5117:6;5073:71;:::i;:::-;4929:222;;;;:::o;5157:99::-;5209:6;5243:5;5237:12;5227:22;;5157:99;;;:::o;5262:169::-;5346:11;5380:6;5375:3;5368:19;5420:4;5415:3;5411:14;5396:29;;5262:169;;;;:::o;5437:246::-;5518:1;5528:113;5542:6;5539:1;5536:13;5528:113;;;5627:1;5622:3;5618:11;5612:18;5608:1;5603:3;5599:11;5592:39;5564:2;5561:1;5557:10;5552:15;;5528:113;;;5675:1;5666:6;5661:3;5657:16;5650:27;5499:184;5437:246;;;:::o;5689:377::-;5777:3;5805:39;5838:5;5805:39;:::i;:::-;5860:71;5924:6;5919:3;5860:71;:::i;:::-;5853:78;;5940:65;5998:6;5993:3;5986:4;5979:5;5975:16;5940:65;:::i;:::-;6030:29;6052:6;6030:29;:::i;:::-;6025:3;6021:39;6014:46;;5781:285;5689:377;;;;:::o;6072:118::-;6159:24;6177:5;6159:24;:::i;:::-;6154:3;6147:37;6072:118;;:::o;6196:180::-;6244:77;6241:1;6234:88;6341:4;6338:1;6331:15;6365:4;6362:1;6355:15;6382:122;6472:1;6465:5;6462:12;6452:46;;6478:18;;:::i;:::-;6452:46;6382:122;:::o;6510:145::-;6564:7;6593:5;6582:16;;6599:50;6643:5;6599:50;:::i;:::-;6510:145;;;:::o;6661:::-;6726:9;6759:41;6794:5;6759:41;:::i;:::-;6746:54;;6661:145;;;:::o;6812:161::-;6914:52;6960:5;6914:52;:::i;:::-;6909:3;6902:65;6812:161;;:::o;6979:1118::-;7303:4;7341:3;7330:9;7326:19;7318:27;;7391:9;7385:4;7381:20;7377:1;7366:9;7362:17;7355:47;7419:78;7492:4;7483:6;7419:78;:::i;:::-;7411:86;;7507:72;7575:2;7564:9;7560:18;7551:6;7507:72;:::i;:::-;7589;7657:2;7646:9;7642:18;7633:6;7589:72;:::i;:::-;7671;7739:2;7728:9;7724:18;7715:6;7671:72;:::i;:::-;7753:73;7821:3;7810:9;7806:19;7797:6;7753:73;:::i;:::-;7836;7904:3;7893:9;7889:19;7880:6;7836:73;:::i;:::-;7919;7987:3;7976:9;7972:19;7963:6;7919:73;:::i;:::-;8002:88;8085:3;8074:9;8070:19;8061:6;8002:88;:::i;:::-;6979:1118;;;;;;;;;;;:::o;8103:1007::-;8399:4;8437:3;8426:9;8422:19;8414:27;;8487:9;8481:4;8477:20;8473:1;8462:9;8458:17;8451:47;8515:78;8588:4;8579:6;8515:78;:::i;:::-;8507:86;;8603:72;8671:2;8660:9;8656:18;8647:6;8603:72;:::i;:::-;8685;8753:2;8742:9;8738:18;8729:6;8685:72;:::i;:::-;8767;8835:2;8824:9;8820:18;8811:6;8767:72;:::i;:::-;8849:73;8917:3;8906:9;8902:19;8893:6;8849:73;:::i;:::-;8932;9000:3;8989:9;8985:19;8976:6;8932:73;:::i;:::-;9015:88;9098:3;9087:9;9083:19;9074:6;9015:88;:::i;:::-;8103:1007;;;;;;;;;;:::o" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256,uint256,uint256)": "0920be42" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mode\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Lib/AirdropDeployerERC1155.sol\":\"AirdropDeployerERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/cryptography/Hashes.sol\":{\"keccak256\":\"0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9\",\"dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj\"]},\"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6\",\"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw\"]},\"contracts/ERC1155/CustomAirdrop1155.sol\":{\"keccak256\":\"0x269dedd48134107112ed528e2ca0f7a6d15b52e9b143f3d706fc1c9fe4be5c0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617b54e47780c84838bea84c210e164cebd20574654910320af644306317816e\",\"dweb:/ipfs/QmeXGBpBGNEEMxA3YCtaKHV5GaR7fBNKHEBgYudGputUmD\"]},\"contracts/ERC1155/CustomAirdrop1155Merkle.sol\":{\"keccak256\":\"0xe96b627c20e16ec609529709ba3e91ddcf19cb88393d8b27ba809e3ef56b9b36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80416dc1154b1ac1aeff3644b12973873469b3f77fb738381c48736f32463cb3\",\"dweb:/ipfs/QmYkjLLwqx7kxTQ7C8KqpPVkcoieCFMNs8WQ2G7wrefco6\"]},\"contracts/Lib/AirdropDeployerERC1155.sol\":{\"keccak256\":\"0x4d67423eca5832da81bd3025263e1401f912aec7ba8a5fcf09edc4c7d833584f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823e42f72c243db8893c45c30cb7e8bd4e8e81f7465999de3c482cbd5b14cb4c\",\"dweb:/ipfs/QmYb6xAi3sgmoHpurX4ytR79KnFYou6YfwTmK75fLc1ZdE\"]},\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/Lib/AirdropDeployerERC20.sol": { + "AirdropDeployerERC20": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_11598": { + "entryPoint": null, + "id": 11598, + "parameterSlots": 0, + "returnSlots": 0 + } + }, + "generatedSources": [], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50612238806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200002e5760003560e01c8063d171b5191462000033575b600080fd5b6200005160048036038101906200004b9190620002e8565b62000069565b604051620000609190620003a0565b60405180910390f35b6000808633878787876040516200008090620000c4565b620000919695949392919062000457565b604051809103906000f080158015620000ae573d6000803e3d6000fd5b5090506000819050809250505095945050505050565b611d3780620004cc83390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200013b82620000f0565b810181811067ffffffffffffffff821117156200015d576200015c62000101565b5b80604052505050565b600062000172620000d2565b905062000180828262000130565b919050565b600067ffffffffffffffff821115620001a357620001a262000101565b5b620001ae82620000f0565b9050602081019050919050565b82818337600083830152505050565b6000620001e1620001db8462000185565b62000166565b9050828152602081018484840111156200020057620001ff620000eb565b5b6200020d848285620001bb565b509392505050565b600082601f8301126200022d576200022c620000e6565b5b81356200023f848260208601620001ca565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002758262000248565b9050919050565b620002878162000268565b81146200029357600080fd5b50565b600081359050620002a7816200027c565b92915050565b6000819050919050565b620002c281620002ad565b8114620002ce57600080fd5b50565b600081359050620002e281620002b7565b92915050565b600080600080600060a08688031215620003075762000306620000dc565b5b600086013567ffffffffffffffff811115620003285762000327620000e1565b5b620003368882890162000215565b9550506020620003498882890162000296565b94505060406200035c88828901620002d1565b93505060606200036f88828901620002d1565b92505060806200038288828901620002d1565b9150509295509295909350565b6200039a8162000268565b82525050565b6000602082019050620003b760008301846200038f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620003f9578082015181840152602081019050620003dc565b60008484015250505050565b60006200041282620003bd565b6200041e8185620003c8565b935062000430818560208601620003d9565b6200043b81620000f0565b840191505092915050565b6200045181620002ad565b82525050565b600060c082019050818103600083015262000473818962000405565b90506200048460208301886200038f565b6200049360408301876200038f565b620004a2606083018662000446565b620004b1608083018562000446565b620004c060a083018462000446565b97965050505050505056fe60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea26469706673582212200ec67a5ad8db96721af24ba21c8e0d1dce7b73c8acea2e09dcddcc7092a7c0e664736f6c63430008180033a26469706673582212203296ca7947a89dd9871dadd47b472dcc462ac7351d0e147706e78399c718cd3964736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2238 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD171B519 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x2E8 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x3A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP7 CALLER DUP8 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH3 0x80 SWAP1 PUSH3 0xC4 JUMP JUMPDEST PUSH3 0x91 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1D37 DUP1 PUSH3 0x4CC DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x13B DUP3 PUSH3 0xF0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x101 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x172 PUSH3 0xD2 JUMP JUMPDEST SWAP1 POP PUSH3 0x180 DUP3 DUP3 PUSH3 0x130 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x1A3 JUMPI PUSH3 0x1A2 PUSH3 0x101 JUMP JUMPDEST JUMPDEST PUSH3 0x1AE DUP3 PUSH3 0xF0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E1 PUSH3 0x1DB DUP5 PUSH3 0x185 JUMP JUMPDEST PUSH3 0x166 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x200 JUMPI PUSH3 0x1FF PUSH3 0xEB JUMP JUMPDEST JUMPDEST PUSH3 0x20D DUP5 DUP3 DUP6 PUSH3 0x1BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x22D JUMPI PUSH3 0x22C PUSH3 0xE6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x23F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x275 DUP3 PUSH3 0x248 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x287 DUP2 PUSH3 0x268 JUMP JUMPDEST DUP2 EQ PUSH3 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2A7 DUP2 PUSH3 0x27C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2C2 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP2 EQ PUSH3 0x2CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2E2 DUP2 PUSH3 0x2B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH3 0x307 JUMPI PUSH3 0x306 PUSH3 0xDC JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x328 JUMPI PUSH3 0x327 PUSH3 0xE1 JUMP JUMPDEST JUMPDEST PUSH3 0x336 DUP9 DUP3 DUP10 ADD PUSH3 0x215 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH3 0x349 DUP9 DUP3 DUP10 ADD PUSH3 0x296 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH3 0x35C DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH3 0x36F DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH3 0x382 DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH3 0x39A DUP2 PUSH3 0x268 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x3B7 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x38F 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3F9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3DC JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x412 DUP3 PUSH3 0x3BD JUMP JUMPDEST PUSH3 0x41E DUP2 DUP6 PUSH3 0x3C8 JUMP JUMPDEST SWAP4 POP PUSH3 0x430 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x3D9 JUMP JUMPDEST PUSH3 0x43B DUP2 PUSH3 0xF0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x473 DUP2 DUP10 PUSH3 0x405 JUMP JUMPDEST SWAP1 POP PUSH3 0x484 PUSH1 0x20 DUP4 ADD DUP9 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x493 PUSH1 0x40 DUP4 ADD DUP8 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x4A2 PUSH1 0x60 DUP4 ADD DUP7 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4B1 PUSH1 0x80 DUP4 ADD DUP6 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4C0 PUSH1 0xA0 DUP4 ADD DUP5 PUSH3 0x446 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D37 CODESIZE SUB DUP1 PUSH3 0x1D37 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x45F JUMP JUMPDEST DUP5 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 PUSH1 0x6 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x789 JUMP JUMPDEST POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x157 JUMPI PUSH3 0x156 PUSH3 0x870 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP PUSH3 0x89F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x47F JUMPI PUSH3 0x47E PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4AE DUP10 DUP3 DUP11 ADD PUSH3 0x38C JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH3 0x4C1 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH3 0x4D4 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH3 0x4E7 DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH3 0x4FA DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 PUSH3 0x50D DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH3 0x525 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x542 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x51A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5B1 JUMPI PUSH3 0x5B0 PUSH3 0x553 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x61B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5DC JUMP JUMPDEST PUSH3 0x627 DUP7 DUP4 PUSH3 0x5DC JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x66A PUSH3 0x664 PUSH3 0x65E DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x63F JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x686 DUP4 PUSH3 0x649 JUMP JUMPDEST PUSH3 0x69E PUSH3 0x695 DUP3 PUSH3 0x671 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5E9 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6B5 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6C2 DUP2 DUP5 DUP5 PUSH3 0x67B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6EA JUMPI PUSH3 0x6DE PUSH1 0x0 DUP3 PUSH3 0x6AB JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6C8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x739 JUMPI PUSH3 0x703 DUP2 PUSH3 0x5B7 JUMP JUMPDEST PUSH3 0x70E DUP5 PUSH3 0x5CC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x71E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x736 PUSH3 0x72D DUP6 PUSH3 0x5CC JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6C7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x75E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x73E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x779 DUP4 DUP4 PUSH3 0x74B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x794 DUP3 PUSH3 0x548 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7B0 JUMPI PUSH3 0x7AF PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7BC DUP3 SLOAD PUSH3 0x582 JUMP JUMPDEST PUSH3 0x7C9 DUP3 DUP3 DUP6 PUSH3 0x6EE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x801 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7EC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7F8 DUP6 DUP3 PUSH3 0x76B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x868 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x811 DUP7 PUSH3 0x5B7 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x83B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x814 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x85B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x857 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x74B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1488 DUP1 PUSH3 0x8AF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xC6 PUSH27 0x5AD8DB96721AF24BA21C8E0D1DCE7B73C8ACEA2E09DCDDCC7092A7 0xC0 0xE6 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ORIGIN SWAP7 0xCA PUSH26 0x47A89DD9871DADD47B472DCC462AC7351D0E147706E78399C718 0xCD CODECOPY PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "128:612:41:-:0;;;163:16;;;;;;;;;;128:612;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@deployAndAddAirdrop_11638": { + "entryPoint": 105, + "id": 11638, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr": { + "entryPoint": 458, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 662, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr": { + "entryPoint": 533, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 721, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256": { + "entryPoint": 744, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 911, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1029, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 1094, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 928, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 1111, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 358, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 210, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 389, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 957, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 968, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 616, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 584, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 685, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 443, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 985, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 304, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 257, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 230, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 235, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 225, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 220, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 240, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_address": { + "entryPoint": 636, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 695, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:6773:43", + "nodeType": "YulBlock", + "src": "0:6773:43", + "statements": [ + { + "body": { + "nativeSrc": "47:35:43", + "nodeType": "YulBlock", + "src": "47:35:43", + "statements": [ + { + "nativeSrc": "57:19:43", + "nodeType": "YulAssignment", + "src": "57:19:43", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:43", + "nodeType": "YulLiteral", + "src": "73:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:43", + "nodeType": "YulIdentifier", + "src": "67:5:43" + }, + "nativeSrc": "67:9:43", + "nodeType": "YulFunctionCall", + "src": "67:9:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:43", + "nodeType": "YulIdentifier", + "src": "57:6:43" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:43", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:43", + "nodeType": "YulTypedName", + "src": "40:6:43", + "type": "" + } + ], + "src": "7:75:43" + }, + { + "body": { + "nativeSrc": "177:28:43", + "nodeType": "YulBlock", + "src": "177:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:43", + "nodeType": "YulLiteral", + "src": "194:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:43", + "nodeType": "YulLiteral", + "src": "197:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:43", + "nodeType": "YulIdentifier", + "src": "187:6:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulFunctionCall", + "src": "187:12:43" + }, + "nativeSrc": "187:12:43", + "nodeType": "YulExpressionStatement", + "src": "187:12:43" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:43", + "nodeType": "YulFunctionDefinition", + "src": "88:117:43" + }, + { + "body": { + "nativeSrc": "300:28:43", + "nodeType": "YulBlock", + "src": "300:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:43", + "nodeType": "YulLiteral", + "src": "317:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:43", + "nodeType": "YulLiteral", + "src": "320:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:43", + "nodeType": "YulIdentifier", + "src": "310:6:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulFunctionCall", + "src": "310:12:43" + }, + "nativeSrc": "310:12:43", + "nodeType": "YulExpressionStatement", + "src": "310:12:43" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:43", + "nodeType": "YulFunctionDefinition", + "src": "211:117:43" + }, + { + "body": { + "nativeSrc": "423:28:43", + "nodeType": "YulBlock", + "src": "423:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:43", + "nodeType": "YulLiteral", + "src": "440:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:43", + "nodeType": "YulLiteral", + "src": "443:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:43", + "nodeType": "YulIdentifier", + "src": "433:6:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulFunctionCall", + "src": "433:12:43" + }, + "nativeSrc": "433:12:43", + "nodeType": "YulExpressionStatement", + "src": "433:12:43" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:43", + "nodeType": "YulFunctionDefinition", + "src": "334:117:43" + }, + { + "body": { + "nativeSrc": "546:28:43", + "nodeType": "YulBlock", + "src": "546:28:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:43", + "nodeType": "YulLiteral", + "src": "563:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:43", + "nodeType": "YulLiteral", + "src": "566:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:43", + "nodeType": "YulIdentifier", + "src": "556:6:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulFunctionCall", + "src": "556:12:43" + }, + "nativeSrc": "556:12:43", + "nodeType": "YulExpressionStatement", + "src": "556:12:43" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:43", + "nodeType": "YulFunctionDefinition", + "src": "457:117:43" + }, + { + "body": { + "nativeSrc": "628:54:43", + "nodeType": "YulBlock", + "src": "628:54:43", + "statements": [ + { + "nativeSrc": "638:38:43", + "nodeType": "YulAssignment", + "src": "638:38:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:43", + "nodeType": "YulIdentifier", + "src": "656:5:43" + }, + { + "kind": "number", + "nativeSrc": "663:2:43", + "nodeType": "YulLiteral", + "src": "663:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:43", + "nodeType": "YulIdentifier", + "src": "652:3:43" + }, + "nativeSrc": "652:14:43", + "nodeType": "YulFunctionCall", + "src": "652:14:43" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:43", + "nodeType": "YulLiteral", + "src": "672:2:43", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:43", + "nodeType": "YulIdentifier", + "src": "668:3:43" + }, + "nativeSrc": "668:7:43", + "nodeType": "YulFunctionCall", + "src": "668:7:43" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:43", + "nodeType": "YulIdentifier", + "src": "648:3:43" + }, + "nativeSrc": "648:28:43", + "nodeType": "YulFunctionCall", + "src": "648:28:43" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:43", + "nodeType": "YulIdentifier", + "src": "638:6:43" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:43", + "nodeType": "YulTypedName", + "src": "611:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:43", + "nodeType": "YulTypedName", + "src": "621:6:43", + "type": "" + } + ], + "src": "580:102:43" + }, + { + "body": { + "nativeSrc": "716:152:43", + "nodeType": "YulBlock", + "src": "716:152:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:43", + "nodeType": "YulLiteral", + "src": "733:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:43", + "nodeType": "YulLiteral", + "src": "736:77:43", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:43", + "nodeType": "YulIdentifier", + "src": "726:6:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulFunctionCall", + "src": "726:88:43" + }, + "nativeSrc": "726:88:43", + "nodeType": "YulExpressionStatement", + "src": "726:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:43", + "nodeType": "YulLiteral", + "src": "830:1:43", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:43", + "nodeType": "YulLiteral", + "src": "833:4:43", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:43", + "nodeType": "YulIdentifier", + "src": "823:6:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulFunctionCall", + "src": "823:15:43" + }, + "nativeSrc": "823:15:43", + "nodeType": "YulExpressionStatement", + "src": "823:15:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:43", + "nodeType": "YulLiteral", + "src": "854:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:43", + "nodeType": "YulLiteral", + "src": "857:4:43", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:43", + "nodeType": "YulIdentifier", + "src": "847:6:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulFunctionCall", + "src": "847:15:43" + }, + "nativeSrc": "847:15:43", + "nodeType": "YulExpressionStatement", + "src": "847:15:43" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:43", + "nodeType": "YulFunctionDefinition", + "src": "688:180:43" + }, + { + "body": { + "nativeSrc": "917:238:43", + "nodeType": "YulBlock", + "src": "917:238:43", + "statements": [ + { + "nativeSrc": "927:58:43", + "nodeType": "YulVariableDeclaration", + "src": "927:58:43", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:43", + "nodeType": "YulIdentifier", + "src": "949:6:43" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:43", + "nodeType": "YulIdentifier", + "src": "979:4:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:43", + "nodeType": "YulIdentifier", + "src": "957:21:43" + }, + "nativeSrc": "957:27:43", + "nodeType": "YulFunctionCall", + "src": "957:27:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:43", + "nodeType": "YulIdentifier", + "src": "945:3:43" + }, + "nativeSrc": "945:40:43", + "nodeType": "YulFunctionCall", + "src": "945:40:43" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:43", + "nodeType": "YulTypedName", + "src": "931:10:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:43", + "nodeType": "YulBlock", + "src": "1096:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:43", + "nodeType": "YulIdentifier", + "src": "1098:16:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulFunctionCall", + "src": "1098:18:43" + }, + "nativeSrc": "1098:18:43", + "nodeType": "YulExpressionStatement", + "src": "1098:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:43", + "nodeType": "YulIdentifier", + "src": "1039:10:43" + }, + { + "kind": "number", + "nativeSrc": "1051:18:43", + "nodeType": "YulLiteral", + "src": "1051:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:43", + "nodeType": "YulIdentifier", + "src": "1036:2:43" + }, + "nativeSrc": "1036:34:43", + "nodeType": "YulFunctionCall", + "src": "1036:34:43" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:43", + "nodeType": "YulIdentifier", + "src": "1075:10:43" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:43", + "nodeType": "YulIdentifier", + "src": "1087:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:43", + "nodeType": "YulIdentifier", + "src": "1072:2:43" + }, + "nativeSrc": "1072:22:43", + "nodeType": "YulFunctionCall", + "src": "1072:22:43" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:43", + "nodeType": "YulIdentifier", + "src": "1033:2:43" + }, + "nativeSrc": "1033:62:43", + "nodeType": "YulFunctionCall", + "src": "1033:62:43" + }, + "nativeSrc": "1030:88:43", + "nodeType": "YulIf", + "src": "1030:88:43" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:43", + "nodeType": "YulLiteral", + "src": "1134:2:43", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:43", + "nodeType": "YulIdentifier", + "src": "1138:10:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:43", + "nodeType": "YulIdentifier", + "src": "1127:6:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulFunctionCall", + "src": "1127:22:43" + }, + "nativeSrc": "1127:22:43", + "nodeType": "YulExpressionStatement", + "src": "1127:22:43" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:43", + "nodeType": "YulTypedName", + "src": "903:6:43", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:43", + "nodeType": "YulTypedName", + "src": "911:4:43", + "type": "" + } + ], + "src": "874:281:43" + }, + { + "body": { + "nativeSrc": "1202:88:43", + "nodeType": "YulBlock", + "src": "1202:88:43", + "statements": [ + { + "nativeSrc": "1212:30:43", + "nodeType": "YulAssignment", + "src": "1212:30:43", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:43", + "nodeType": "YulIdentifier", + "src": "1222:18:43" + }, + "nativeSrc": "1222:20:43", + "nodeType": "YulFunctionCall", + "src": "1222:20:43" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:43", + "nodeType": "YulIdentifier", + "src": "1212:6:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:43", + "nodeType": "YulIdentifier", + "src": "1271:6:43" + }, + { + "name": "size", + "nativeSrc": "1279:4:43", + "nodeType": "YulIdentifier", + "src": "1279:4:43" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:43", + "nodeType": "YulIdentifier", + "src": "1251:19:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulFunctionCall", + "src": "1251:33:43" + }, + "nativeSrc": "1251:33:43", + "nodeType": "YulExpressionStatement", + "src": "1251:33:43" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:43", + "nodeType": "YulTypedName", + "src": "1186:4:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:43", + "nodeType": "YulTypedName", + "src": "1195:6:43", + "type": "" + } + ], + "src": "1161:129:43" + }, + { + "body": { + "nativeSrc": "1363:241:43", + "nodeType": "YulBlock", + "src": "1363:241:43", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:43", + "nodeType": "YulBlock", + "src": "1468:22:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:43", + "nodeType": "YulIdentifier", + "src": "1470:16:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulFunctionCall", + "src": "1470:18:43" + }, + "nativeSrc": "1470:18:43", + "nodeType": "YulExpressionStatement", + "src": "1470:18:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:43", + "nodeType": "YulIdentifier", + "src": "1440:6:43" + }, + { + "kind": "number", + "nativeSrc": "1448:18:43", + "nodeType": "YulLiteral", + "src": "1448:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:43", + "nodeType": "YulIdentifier", + "src": "1437:2:43" + }, + "nativeSrc": "1437:30:43", + "nodeType": "YulFunctionCall", + "src": "1437:30:43" + }, + "nativeSrc": "1434:56:43", + "nodeType": "YulIf", + "src": "1434:56:43" + }, + { + "nativeSrc": "1500:37:43", + "nodeType": "YulAssignment", + "src": "1500:37:43", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:43", + "nodeType": "YulIdentifier", + "src": "1530:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:43", + "nodeType": "YulIdentifier", + "src": "1508:21:43" + }, + "nativeSrc": "1508:29:43", + "nodeType": "YulFunctionCall", + "src": "1508:29:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:43", + "nodeType": "YulIdentifier", + "src": "1500:4:43" + } + ] + }, + { + "nativeSrc": "1574:23:43", + "nodeType": "YulAssignment", + "src": "1574:23:43", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:43", + "nodeType": "YulIdentifier", + "src": "1586:4:43" + }, + { + "kind": "number", + "nativeSrc": "1592:4:43", + "nodeType": "YulLiteral", + "src": "1592:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:43", + "nodeType": "YulIdentifier", + "src": "1582:3:43" + }, + "nativeSrc": "1582:15:43", + "nodeType": "YulFunctionCall", + "src": "1582:15:43" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:43", + "nodeType": "YulIdentifier", + "src": "1574:4:43" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:43", + "nodeType": "YulTypedName", + "src": "1347:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:43", + "nodeType": "YulTypedName", + "src": "1358:4:43", + "type": "" + } + ], + "src": "1296:308:43" + }, + { + "body": { + "nativeSrc": "1674:82:43", + "nodeType": "YulBlock", + "src": "1674:82:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:43", + "nodeType": "YulIdentifier", + "src": "1697:3:43" + }, + { + "name": "src", + "nativeSrc": "1702:3:43", + "nodeType": "YulIdentifier", + "src": "1702:3:43" + }, + { + "name": "length", + "nativeSrc": "1707:6:43", + "nodeType": "YulIdentifier", + "src": "1707:6:43" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:43", + "nodeType": "YulIdentifier", + "src": "1684:12:43" + }, + "nativeSrc": "1684:30:43", + "nodeType": "YulFunctionCall", + "src": "1684:30:43" + }, + "nativeSrc": "1684:30:43", + "nodeType": "YulExpressionStatement", + "src": "1684:30:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:43", + "nodeType": "YulIdentifier", + "src": "1734:3:43" + }, + { + "name": "length", + "nativeSrc": "1739:6:43", + "nodeType": "YulIdentifier", + "src": "1739:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:43", + "nodeType": "YulIdentifier", + "src": "1730:3:43" + }, + "nativeSrc": "1730:16:43", + "nodeType": "YulFunctionCall", + "src": "1730:16:43" + }, + { + "kind": "number", + "nativeSrc": "1748:1:43", + "nodeType": "YulLiteral", + "src": "1748:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:43", + "nodeType": "YulIdentifier", + "src": "1723:6:43" + }, + "nativeSrc": "1723:27:43", + "nodeType": "YulFunctionCall", + "src": "1723:27:43" + }, + "nativeSrc": "1723:27:43", + "nodeType": "YulExpressionStatement", + "src": "1723:27:43" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1610:146:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1656:3:43", + "nodeType": "YulTypedName", + "src": "1656:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1661:3:43", + "nodeType": "YulTypedName", + "src": "1661:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1666:6:43", + "nodeType": "YulTypedName", + "src": "1666:6:43", + "type": "" + } + ], + "src": "1610:146:43" + }, + { + "body": { + "nativeSrc": "1846:341:43", + "nodeType": "YulBlock", + "src": "1846:341:43", + "statements": [ + { + "nativeSrc": "1856:75:43", + "nodeType": "YulAssignment", + "src": "1856:75:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1923:6:43", + "nodeType": "YulIdentifier", + "src": "1923:6:43" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1881:41:43", + "nodeType": "YulIdentifier", + "src": "1881:41:43" + }, + "nativeSrc": "1881:49:43", + "nodeType": "YulFunctionCall", + "src": "1881:49:43" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:43", + "nodeType": "YulIdentifier", + "src": "1865:15:43" + }, + "nativeSrc": "1865:66:43", + "nodeType": "YulFunctionCall", + "src": "1865:66:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:43", + "nodeType": "YulIdentifier", + "src": "1856:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1947:5:43", + "nodeType": "YulIdentifier", + "src": "1947:5:43" + }, + { + "name": "length", + "nativeSrc": "1954:6:43", + "nodeType": "YulIdentifier", + "src": "1954:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1940:6:43", + "nodeType": "YulIdentifier", + "src": "1940:6:43" + }, + "nativeSrc": "1940:21:43", + "nodeType": "YulFunctionCall", + "src": "1940:21:43" + }, + "nativeSrc": "1940:21:43", + "nodeType": "YulExpressionStatement", + "src": "1940:21:43" + }, + { + "nativeSrc": "1970:27:43", + "nodeType": "YulVariableDeclaration", + "src": "1970:27:43", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1985:5:43", + "nodeType": "YulIdentifier", + "src": "1985:5:43" + }, + { + "kind": "number", + "nativeSrc": "1992:4:43", + "nodeType": "YulLiteral", + "src": "1992:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1981:3:43", + "nodeType": "YulIdentifier", + "src": "1981:3:43" + }, + "nativeSrc": "1981:16:43", + "nodeType": "YulFunctionCall", + "src": "1981:16:43" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1974:3:43", + "nodeType": "YulTypedName", + "src": "1974:3:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2035:83:43", + "nodeType": "YulBlock", + "src": "2035:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2037:77:43", + "nodeType": "YulIdentifier", + "src": "2037:77:43" + }, + "nativeSrc": "2037:79:43", + "nodeType": "YulFunctionCall", + "src": "2037:79:43" + }, + "nativeSrc": "2037:79:43", + "nodeType": "YulExpressionStatement", + "src": "2037:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2016:3:43", + "nodeType": "YulIdentifier", + "src": "2016:3:43" + }, + { + "name": "length", + "nativeSrc": "2021:6:43", + "nodeType": "YulIdentifier", + "src": "2021:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2012:3:43", + "nodeType": "YulIdentifier", + "src": "2012:3:43" + }, + "nativeSrc": "2012:16:43", + "nodeType": "YulFunctionCall", + "src": "2012:16:43" + }, + { + "name": "end", + "nativeSrc": "2030:3:43", + "nodeType": "YulIdentifier", + "src": "2030:3:43" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2009:2:43", + "nodeType": "YulIdentifier", + "src": "2009:2:43" + }, + "nativeSrc": "2009:25:43", + "nodeType": "YulFunctionCall", + "src": "2009:25:43" + }, + "nativeSrc": "2006:112:43", + "nodeType": "YulIf", + "src": "2006:112:43" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2164:3:43", + "nodeType": "YulIdentifier", + "src": "2164:3:43" + }, + { + "name": "dst", + "nativeSrc": "2169:3:43", + "nodeType": "YulIdentifier", + "src": "2169:3:43" + }, + { + "name": "length", + "nativeSrc": "2174:6:43", + "nodeType": "YulIdentifier", + "src": "2174:6:43" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2127:36:43", + "nodeType": "YulIdentifier", + "src": "2127:36:43" + }, + "nativeSrc": "2127:54:43", + "nodeType": "YulFunctionCall", + "src": "2127:54:43" + }, + "nativeSrc": "2127:54:43", + "nodeType": "YulExpressionStatement", + "src": "2127:54:43" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "1762:425:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:43", + "nodeType": "YulTypedName", + "src": "1819:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:43", + "nodeType": "YulTypedName", + "src": "1824:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:43", + "nodeType": "YulTypedName", + "src": "1832:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:43", + "nodeType": "YulTypedName", + "src": "1840:5:43", + "type": "" + } + ], + "src": "1762:425:43" + }, + { + "body": { + "nativeSrc": "2269:278:43", + "nodeType": "YulBlock", + "src": "2269:278:43", + "statements": [ + { + "body": { + "nativeSrc": "2318:83:43", + "nodeType": "YulBlock", + "src": "2318:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2320:77:43", + "nodeType": "YulIdentifier", + "src": "2320:77:43" + }, + "nativeSrc": "2320:79:43", + "nodeType": "YulFunctionCall", + "src": "2320:79:43" + }, + "nativeSrc": "2320:79:43", + "nodeType": "YulExpressionStatement", + "src": "2320:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2297:6:43", + "nodeType": "YulIdentifier", + "src": "2297:6:43" + }, + { + "kind": "number", + "nativeSrc": "2305:4:43", + "nodeType": "YulLiteral", + "src": "2305:4:43", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2293:3:43", + "nodeType": "YulIdentifier", + "src": "2293:3:43" + }, + "nativeSrc": "2293:17:43", + "nodeType": "YulFunctionCall", + "src": "2293:17:43" + }, + { + "name": "end", + "nativeSrc": "2312:3:43", + "nodeType": "YulIdentifier", + "src": "2312:3:43" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2289:3:43", + "nodeType": "YulIdentifier", + "src": "2289:3:43" + }, + "nativeSrc": "2289:27:43", + "nodeType": "YulFunctionCall", + "src": "2289:27:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2282:6:43", + "nodeType": "YulIdentifier", + "src": "2282:6:43" + }, + "nativeSrc": "2282:35:43", + "nodeType": "YulFunctionCall", + "src": "2282:35:43" + }, + "nativeSrc": "2279:122:43", + "nodeType": "YulIf", + "src": "2279:122:43" + }, + { + "nativeSrc": "2410:34:43", + "nodeType": "YulVariableDeclaration", + "src": "2410:34:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2437:6:43", + "nodeType": "YulIdentifier", + "src": "2437:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2424:12:43", + "nodeType": "YulIdentifier", + "src": "2424:12:43" + }, + "nativeSrc": "2424:20:43", + "nodeType": "YulFunctionCall", + "src": "2424:20:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2414:6:43", + "nodeType": "YulTypedName", + "src": "2414:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "2453:88:43", + "nodeType": "YulAssignment", + "src": "2453:88:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2514:6:43", + "nodeType": "YulIdentifier", + "src": "2514:6:43" + }, + { + "kind": "number", + "nativeSrc": "2522:4:43", + "nodeType": "YulLiteral", + "src": "2522:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2510:3:43", + "nodeType": "YulIdentifier", + "src": "2510:3:43" + }, + "nativeSrc": "2510:17:43", + "nodeType": "YulFunctionCall", + "src": "2510:17:43" + }, + { + "name": "length", + "nativeSrc": "2529:6:43", + "nodeType": "YulIdentifier", + "src": "2529:6:43" + }, + { + "name": "end", + "nativeSrc": "2537:3:43", + "nodeType": "YulIdentifier", + "src": "2537:3:43" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nativeSrc": "2462:47:43", + "nodeType": "YulIdentifier", + "src": "2462:47:43" + }, + "nativeSrc": "2462:79:43", + "nodeType": "YulFunctionCall", + "src": "2462:79:43" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2453:5:43", + "nodeType": "YulIdentifier", + "src": "2453:5:43" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "2207:340:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2247:6:43", + "nodeType": "YulTypedName", + "src": "2247:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2255:3:43", + "nodeType": "YulTypedName", + "src": "2255:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2263:5:43", + "nodeType": "YulTypedName", + "src": "2263:5:43", + "type": "" + } + ], + "src": "2207:340:43" + }, + { + "body": { + "nativeSrc": "2598:81:43", + "nodeType": "YulBlock", + "src": "2598:81:43", + "statements": [ + { + "nativeSrc": "2608:65:43", + "nodeType": "YulAssignment", + "src": "2608:65:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2623:5:43", + "nodeType": "YulIdentifier", + "src": "2623:5:43" + }, + { + "kind": "number", + "nativeSrc": "2630:42:43", + "nodeType": "YulLiteral", + "src": "2630:42:43", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2619:3:43", + "nodeType": "YulIdentifier", + "src": "2619:3:43" + }, + "nativeSrc": "2619:54:43", + "nodeType": "YulFunctionCall", + "src": "2619:54:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2608:7:43", + "nodeType": "YulIdentifier", + "src": "2608:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "2553:126:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2580:5:43", + "nodeType": "YulTypedName", + "src": "2580:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2590:7:43", + "nodeType": "YulTypedName", + "src": "2590:7:43", + "type": "" + } + ], + "src": "2553:126:43" + }, + { + "body": { + "nativeSrc": "2730:51:43", + "nodeType": "YulBlock", + "src": "2730:51:43", + "statements": [ + { + "nativeSrc": "2740:35:43", + "nodeType": "YulAssignment", + "src": "2740:35:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2769:5:43", + "nodeType": "YulIdentifier", + "src": "2769:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "2751:17:43", + "nodeType": "YulIdentifier", + "src": "2751:17:43" + }, + "nativeSrc": "2751:24:43", + "nodeType": "YulFunctionCall", + "src": "2751:24:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2740:7:43", + "nodeType": "YulIdentifier", + "src": "2740:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "2685:96:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2712:5:43", + "nodeType": "YulTypedName", + "src": "2712:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2722:7:43", + "nodeType": "YulTypedName", + "src": "2722:7:43", + "type": "" + } + ], + "src": "2685:96:43" + }, + { + "body": { + "nativeSrc": "2830:79:43", + "nodeType": "YulBlock", + "src": "2830:79:43", + "statements": [ + { + "body": { + "nativeSrc": "2887:16:43", + "nodeType": "YulBlock", + "src": "2887:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2896:1:43", + "nodeType": "YulLiteral", + "src": "2896:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2899:1:43", + "nodeType": "YulLiteral", + "src": "2899:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2889:6:43", + "nodeType": "YulIdentifier", + "src": "2889:6:43" + }, + "nativeSrc": "2889:12:43", + "nodeType": "YulFunctionCall", + "src": "2889:12:43" + }, + "nativeSrc": "2889:12:43", + "nodeType": "YulExpressionStatement", + "src": "2889:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2853:5:43", + "nodeType": "YulIdentifier", + "src": "2853:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2878:5:43", + "nodeType": "YulIdentifier", + "src": "2878:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "2860:17:43", + "nodeType": "YulIdentifier", + "src": "2860:17:43" + }, + "nativeSrc": "2860:24:43", + "nodeType": "YulFunctionCall", + "src": "2860:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2850:2:43", + "nodeType": "YulIdentifier", + "src": "2850:2:43" + }, + "nativeSrc": "2850:35:43", + "nodeType": "YulFunctionCall", + "src": "2850:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2843:6:43", + "nodeType": "YulIdentifier", + "src": "2843:6:43" + }, + "nativeSrc": "2843:43:43", + "nodeType": "YulFunctionCall", + "src": "2843:43:43" + }, + "nativeSrc": "2840:63:43", + "nodeType": "YulIf", + "src": "2840:63:43" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "2787:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2823:5:43", + "nodeType": "YulTypedName", + "src": "2823:5:43", + "type": "" + } + ], + "src": "2787:122:43" + }, + { + "body": { + "nativeSrc": "2967:87:43", + "nodeType": "YulBlock", + "src": "2967:87:43", + "statements": [ + { + "nativeSrc": "2977:29:43", + "nodeType": "YulAssignment", + "src": "2977:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2999:6:43", + "nodeType": "YulIdentifier", + "src": "2999:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2986:12:43", + "nodeType": "YulIdentifier", + "src": "2986:12:43" + }, + "nativeSrc": "2986:20:43", + "nodeType": "YulFunctionCall", + "src": "2986:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2977:5:43", + "nodeType": "YulIdentifier", + "src": "2977:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3042:5:43", + "nodeType": "YulIdentifier", + "src": "3042:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "3015:26:43", + "nodeType": "YulIdentifier", + "src": "3015:26:43" + }, + "nativeSrc": "3015:33:43", + "nodeType": "YulFunctionCall", + "src": "3015:33:43" + }, + "nativeSrc": "3015:33:43", + "nodeType": "YulExpressionStatement", + "src": "3015:33:43" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "2915:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2945:6:43", + "nodeType": "YulTypedName", + "src": "2945:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2953:3:43", + "nodeType": "YulTypedName", + "src": "2953:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2961:5:43", + "nodeType": "YulTypedName", + "src": "2961:5:43", + "type": "" + } + ], + "src": "2915:139:43" + }, + { + "body": { + "nativeSrc": "3105:32:43", + "nodeType": "YulBlock", + "src": "3105:32:43", + "statements": [ + { + "nativeSrc": "3115:16:43", + "nodeType": "YulAssignment", + "src": "3115:16:43", + "value": { + "name": "value", + "nativeSrc": "3126:5:43", + "nodeType": "YulIdentifier", + "src": "3126:5:43" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3115:7:43", + "nodeType": "YulIdentifier", + "src": "3115:7:43" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3060:77:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3087:5:43", + "nodeType": "YulTypedName", + "src": "3087:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3097:7:43", + "nodeType": "YulTypedName", + "src": "3097:7:43", + "type": "" + } + ], + "src": "3060:77:43" + }, + { + "body": { + "nativeSrc": "3186:79:43", + "nodeType": "YulBlock", + "src": "3186:79:43", + "statements": [ + { + "body": { + "nativeSrc": "3243:16:43", + "nodeType": "YulBlock", + "src": "3243:16:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3252:1:43", + "nodeType": "YulLiteral", + "src": "3252:1:43", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3255:1:43", + "nodeType": "YulLiteral", + "src": "3255:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3245:6:43", + "nodeType": "YulIdentifier", + "src": "3245:6:43" + }, + "nativeSrc": "3245:12:43", + "nodeType": "YulFunctionCall", + "src": "3245:12:43" + }, + "nativeSrc": "3245:12:43", + "nodeType": "YulExpressionStatement", + "src": "3245:12:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3209:5:43", + "nodeType": "YulIdentifier", + "src": "3209:5:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3234:5:43", + "nodeType": "YulIdentifier", + "src": "3234:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3216:17:43", + "nodeType": "YulIdentifier", + "src": "3216:17:43" + }, + "nativeSrc": "3216:24:43", + "nodeType": "YulFunctionCall", + "src": "3216:24:43" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3206:2:43", + "nodeType": "YulIdentifier", + "src": "3206:2:43" + }, + "nativeSrc": "3206:35:43", + "nodeType": "YulFunctionCall", + "src": "3206:35:43" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3199:6:43", + "nodeType": "YulIdentifier", + "src": "3199:6:43" + }, + "nativeSrc": "3199:43:43", + "nodeType": "YulFunctionCall", + "src": "3199:43:43" + }, + "nativeSrc": "3196:63:43", + "nodeType": "YulIf", + "src": "3196:63:43" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3143:122:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3179:5:43", + "nodeType": "YulTypedName", + "src": "3179:5:43", + "type": "" + } + ], + "src": "3143:122:43" + }, + { + "body": { + "nativeSrc": "3323:87:43", + "nodeType": "YulBlock", + "src": "3323:87:43", + "statements": [ + { + "nativeSrc": "3333:29:43", + "nodeType": "YulAssignment", + "src": "3333:29:43", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3355:6:43", + "nodeType": "YulIdentifier", + "src": "3355:6:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3342:12:43", + "nodeType": "YulIdentifier", + "src": "3342:12:43" + }, + "nativeSrc": "3342:20:43", + "nodeType": "YulFunctionCall", + "src": "3342:20:43" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3333:5:43", + "nodeType": "YulIdentifier", + "src": "3333:5:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3398:5:43", + "nodeType": "YulIdentifier", + "src": "3398:5:43" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3371:26:43", + "nodeType": "YulIdentifier", + "src": "3371:26:43" + }, + "nativeSrc": "3371:33:43", + "nodeType": "YulFunctionCall", + "src": "3371:33:43" + }, + "nativeSrc": "3371:33:43", + "nodeType": "YulExpressionStatement", + "src": "3371:33:43" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3271:139:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3301:6:43", + "nodeType": "YulTypedName", + "src": "3301:6:43", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3309:3:43", + "nodeType": "YulTypedName", + "src": "3309:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3317:5:43", + "nodeType": "YulTypedName", + "src": "3317:5:43", + "type": "" + } + ], + "src": "3271:139:43" + }, + { + "body": { + "nativeSrc": "3560:947:43", + "nodeType": "YulBlock", + "src": "3560:947:43", + "statements": [ + { + "body": { + "nativeSrc": "3607:83:43", + "nodeType": "YulBlock", + "src": "3607:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3609:77:43", + "nodeType": "YulIdentifier", + "src": "3609:77:43" + }, + "nativeSrc": "3609:79:43", + "nodeType": "YulFunctionCall", + "src": "3609:79:43" + }, + "nativeSrc": "3609:79:43", + "nodeType": "YulExpressionStatement", + "src": "3609:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3581:7:43", + "nodeType": "YulIdentifier", + "src": "3581:7:43" + }, + { + "name": "headStart", + "nativeSrc": "3590:9:43", + "nodeType": "YulIdentifier", + "src": "3590:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3577:3:43", + "nodeType": "YulIdentifier", + "src": "3577:3:43" + }, + "nativeSrc": "3577:23:43", + "nodeType": "YulFunctionCall", + "src": "3577:23:43" + }, + { + "kind": "number", + "nativeSrc": "3602:3:43", + "nodeType": "YulLiteral", + "src": "3602:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3573:3:43", + "nodeType": "YulIdentifier", + "src": "3573:3:43" + }, + "nativeSrc": "3573:33:43", + "nodeType": "YulFunctionCall", + "src": "3573:33:43" + }, + "nativeSrc": "3570:120:43", + "nodeType": "YulIf", + "src": "3570:120:43" + }, + { + "nativeSrc": "3700:287:43", + "nodeType": "YulBlock", + "src": "3700:287:43", + "statements": [ + { + "nativeSrc": "3715:45:43", + "nodeType": "YulVariableDeclaration", + "src": "3715:45:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3746:9:43", + "nodeType": "YulIdentifier", + "src": "3746:9:43" + }, + { + "kind": "number", + "nativeSrc": "3757:1:43", + "nodeType": "YulLiteral", + "src": "3757:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3742:3:43", + "nodeType": "YulIdentifier", + "src": "3742:3:43" + }, + "nativeSrc": "3742:17:43", + "nodeType": "YulFunctionCall", + "src": "3742:17:43" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3729:12:43", + "nodeType": "YulIdentifier", + "src": "3729:12:43" + }, + "nativeSrc": "3729:31:43", + "nodeType": "YulFunctionCall", + "src": "3729:31:43" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3719:6:43", + "nodeType": "YulTypedName", + "src": "3719:6:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3807:83:43", + "nodeType": "YulBlock", + "src": "3807:83:43", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3809:77:43", + "nodeType": "YulIdentifier", + "src": "3809:77:43" + }, + "nativeSrc": "3809:79:43", + "nodeType": "YulFunctionCall", + "src": "3809:79:43" + }, + "nativeSrc": "3809:79:43", + "nodeType": "YulExpressionStatement", + "src": "3809:79:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3779:6:43", + "nodeType": "YulIdentifier", + "src": "3779:6:43" + }, + { + "kind": "number", + "nativeSrc": "3787:18:43", + "nodeType": "YulLiteral", + "src": "3787:18:43", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3776:2:43", + "nodeType": "YulIdentifier", + "src": "3776:2:43" + }, + "nativeSrc": "3776:30:43", + "nodeType": "YulFunctionCall", + "src": "3776:30:43" + }, + "nativeSrc": "3773:117:43", + "nodeType": "YulIf", + "src": "3773:117:43" + }, + { + "nativeSrc": "3904:73:43", + "nodeType": "YulAssignment", + "src": "3904:73:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3949:9:43", + "nodeType": "YulIdentifier", + "src": "3949:9:43" + }, + { + "name": "offset", + "nativeSrc": "3960:6:43", + "nodeType": "YulIdentifier", + "src": "3960:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3945:3:43", + "nodeType": "YulIdentifier", + "src": "3945:3:43" + }, + "nativeSrc": "3945:22:43", + "nodeType": "YulFunctionCall", + "src": "3945:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "3969:7:43", + "nodeType": "YulIdentifier", + "src": "3969:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nativeSrc": "3914:30:43", + "nodeType": "YulIdentifier", + "src": "3914:30:43" + }, + "nativeSrc": "3914:63:43", + "nodeType": "YulFunctionCall", + "src": "3914:63:43" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3904:6:43", + "nodeType": "YulIdentifier", + "src": "3904:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "3997:118:43", + "nodeType": "YulBlock", + "src": "3997:118:43", + "statements": [ + { + "nativeSrc": "4012:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4012:16:43", + "value": { + "kind": "number", + "nativeSrc": "4026:2:43", + "nodeType": "YulLiteral", + "src": "4026:2:43", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4016:6:43", + "nodeType": "YulTypedName", + "src": "4016:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4042:63:43", + "nodeType": "YulAssignment", + "src": "4042:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4077:9:43", + "nodeType": "YulIdentifier", + "src": "4077:9:43" + }, + { + "name": "offset", + "nativeSrc": "4088:6:43", + "nodeType": "YulIdentifier", + "src": "4088:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4073:3:43", + "nodeType": "YulIdentifier", + "src": "4073:3:43" + }, + "nativeSrc": "4073:22:43", + "nodeType": "YulFunctionCall", + "src": "4073:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4097:7:43", + "nodeType": "YulIdentifier", + "src": "4097:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4052:20:43", + "nodeType": "YulIdentifier", + "src": "4052:20:43" + }, + "nativeSrc": "4052:53:43", + "nodeType": "YulFunctionCall", + "src": "4052:53:43" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4042:6:43", + "nodeType": "YulIdentifier", + "src": "4042:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4125:118:43", + "nodeType": "YulBlock", + "src": "4125:118:43", + "statements": [ + { + "nativeSrc": "4140:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4140:16:43", + "value": { + "kind": "number", + "nativeSrc": "4154:2:43", + "nodeType": "YulLiteral", + "src": "4154:2:43", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4144:6:43", + "nodeType": "YulTypedName", + "src": "4144:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4170:63:43", + "nodeType": "YulAssignment", + "src": "4170:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4205:9:43", + "nodeType": "YulIdentifier", + "src": "4205:9:43" + }, + { + "name": "offset", + "nativeSrc": "4216:6:43", + "nodeType": "YulIdentifier", + "src": "4216:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4201:3:43", + "nodeType": "YulIdentifier", + "src": "4201:3:43" + }, + "nativeSrc": "4201:22:43", + "nodeType": "YulFunctionCall", + "src": "4201:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4225:7:43", + "nodeType": "YulIdentifier", + "src": "4225:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4180:20:43", + "nodeType": "YulIdentifier", + "src": "4180:20:43" + }, + "nativeSrc": "4180:53:43", + "nodeType": "YulFunctionCall", + "src": "4180:53:43" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4170:6:43", + "nodeType": "YulIdentifier", + "src": "4170:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4253:118:43", + "nodeType": "YulBlock", + "src": "4253:118:43", + "statements": [ + { + "nativeSrc": "4268:16:43", + "nodeType": "YulVariableDeclaration", + "src": "4268:16:43", + "value": { + "kind": "number", + "nativeSrc": "4282:2:43", + "nodeType": "YulLiteral", + "src": "4282:2:43", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4272:6:43", + "nodeType": "YulTypedName", + "src": "4272:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4298:63:43", + "nodeType": "YulAssignment", + "src": "4298:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4333:9:43", + "nodeType": "YulIdentifier", + "src": "4333:9:43" + }, + { + "name": "offset", + "nativeSrc": "4344:6:43", + "nodeType": "YulIdentifier", + "src": "4344:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4329:3:43", + "nodeType": "YulIdentifier", + "src": "4329:3:43" + }, + "nativeSrc": "4329:22:43", + "nodeType": "YulFunctionCall", + "src": "4329:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4353:7:43", + "nodeType": "YulIdentifier", + "src": "4353:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4308:20:43", + "nodeType": "YulIdentifier", + "src": "4308:20:43" + }, + "nativeSrc": "4308:53:43", + "nodeType": "YulFunctionCall", + "src": "4308:53:43" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4298:6:43", + "nodeType": "YulIdentifier", + "src": "4298:6:43" + } + ] + } + ] + }, + { + "nativeSrc": "4381:119:43", + "nodeType": "YulBlock", + "src": "4381:119:43", + "statements": [ + { + "nativeSrc": "4396:17:43", + "nodeType": "YulVariableDeclaration", + "src": "4396:17:43", + "value": { + "kind": "number", + "nativeSrc": "4410:3:43", + "nodeType": "YulLiteral", + "src": "4410:3:43", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4400:6:43", + "nodeType": "YulTypedName", + "src": "4400:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "4427:63:43", + "nodeType": "YulAssignment", + "src": "4427:63:43", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4462:9:43", + "nodeType": "YulIdentifier", + "src": "4462:9:43" + }, + { + "name": "offset", + "nativeSrc": "4473:6:43", + "nodeType": "YulIdentifier", + "src": "4473:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4458:3:43", + "nodeType": "YulIdentifier", + "src": "4458:3:43" + }, + "nativeSrc": "4458:22:43", + "nodeType": "YulFunctionCall", + "src": "4458:22:43" + }, + { + "name": "dataEnd", + "nativeSrc": "4482:7:43", + "nodeType": "YulIdentifier", + "src": "4482:7:43" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4437:20:43", + "nodeType": "YulIdentifier", + "src": "4437:20:43" + }, + "nativeSrc": "4437:53:43", + "nodeType": "YulFunctionCall", + "src": "4437:53:43" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4427:6:43", + "nodeType": "YulIdentifier", + "src": "4427:6:43" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256", + "nativeSrc": "3416:1091:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3498:9:43", + "nodeType": "YulTypedName", + "src": "3498:9:43", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3509:7:43", + "nodeType": "YulTypedName", + "src": "3509:7:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3521:6:43", + "nodeType": "YulTypedName", + "src": "3521:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3529:6:43", + "nodeType": "YulTypedName", + "src": "3529:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3537:6:43", + "nodeType": "YulTypedName", + "src": "3537:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3545:6:43", + "nodeType": "YulTypedName", + "src": "3545:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3553:6:43", + "nodeType": "YulTypedName", + "src": "3553:6:43", + "type": "" + } + ], + "src": "3416:1091:43" + }, + { + "body": { + "nativeSrc": "4578:53:43", + "nodeType": "YulBlock", + "src": "4578:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4595:3:43", + "nodeType": "YulIdentifier", + "src": "4595:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4618:5:43", + "nodeType": "YulIdentifier", + "src": "4618:5:43" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4600:17:43", + "nodeType": "YulIdentifier", + "src": "4600:17:43" + }, + "nativeSrc": "4600:24:43", + "nodeType": "YulFunctionCall", + "src": "4600:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4588:6:43", + "nodeType": "YulIdentifier", + "src": "4588:6:43" + }, + "nativeSrc": "4588:37:43", + "nodeType": "YulFunctionCall", + "src": "4588:37:43" + }, + "nativeSrc": "4588:37:43", + "nodeType": "YulExpressionStatement", + "src": "4588:37:43" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4513:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4566:5:43", + "nodeType": "YulTypedName", + "src": "4566:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4573:3:43", + "nodeType": "YulTypedName", + "src": "4573:3:43", + "type": "" + } + ], + "src": "4513:118:43" + }, + { + "body": { + "nativeSrc": "4735:124:43", + "nodeType": "YulBlock", + "src": "4735:124:43", + "statements": [ + { + "nativeSrc": "4745:26:43", + "nodeType": "YulAssignment", + "src": "4745:26:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4757:9:43", + "nodeType": "YulIdentifier", + "src": "4757:9:43" + }, + { + "kind": "number", + "nativeSrc": "4768:2:43", + "nodeType": "YulLiteral", + "src": "4768:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4753:3:43", + "nodeType": "YulIdentifier", + "src": "4753:3:43" + }, + "nativeSrc": "4753:18:43", + "nodeType": "YulFunctionCall", + "src": "4753:18:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4745:4:43", + "nodeType": "YulIdentifier", + "src": "4745:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4825:6:43", + "nodeType": "YulIdentifier", + "src": "4825:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4838:9:43", + "nodeType": "YulIdentifier", + "src": "4838:9:43" + }, + { + "kind": "number", + "nativeSrc": "4849:1:43", + "nodeType": "YulLiteral", + "src": "4849:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4834:3:43", + "nodeType": "YulIdentifier", + "src": "4834:3:43" + }, + "nativeSrc": "4834:17:43", + "nodeType": "YulFunctionCall", + "src": "4834:17:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4781:43:43", + "nodeType": "YulIdentifier", + "src": "4781:43:43" + }, + "nativeSrc": "4781:71:43", + "nodeType": "YulFunctionCall", + "src": "4781:71:43" + }, + "nativeSrc": "4781:71:43", + "nodeType": "YulExpressionStatement", + "src": "4781:71:43" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4637:222:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4707:9:43", + "nodeType": "YulTypedName", + "src": "4707:9:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4719:6:43", + "nodeType": "YulTypedName", + "src": "4719:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4730:4:43", + "nodeType": "YulTypedName", + "src": "4730:4:43", + "type": "" + } + ], + "src": "4637:222:43" + }, + { + "body": { + "nativeSrc": "4924:40:43", + "nodeType": "YulBlock", + "src": "4924:40:43", + "statements": [ + { + "nativeSrc": "4935:22:43", + "nodeType": "YulAssignment", + "src": "4935:22:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4951:5:43", + "nodeType": "YulIdentifier", + "src": "4951:5:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4945:5:43", + "nodeType": "YulIdentifier", + "src": "4945:5:43" + }, + "nativeSrc": "4945:12:43", + "nodeType": "YulFunctionCall", + "src": "4945:12:43" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "4935:6:43", + "nodeType": "YulIdentifier", + "src": "4935:6:43" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "4865:99:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4907:5:43", + "nodeType": "YulTypedName", + "src": "4907:5:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "4917:6:43", + "nodeType": "YulTypedName", + "src": "4917:6:43", + "type": "" + } + ], + "src": "4865:99:43" + }, + { + "body": { + "nativeSrc": "5066:73:43", + "nodeType": "YulBlock", + "src": "5066:73:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5083:3:43", + "nodeType": "YulIdentifier", + "src": "5083:3:43" + }, + { + "name": "length", + "nativeSrc": "5088:6:43", + "nodeType": "YulIdentifier", + "src": "5088:6:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5076:6:43", + "nodeType": "YulIdentifier", + "src": "5076:6:43" + }, + "nativeSrc": "5076:19:43", + "nodeType": "YulFunctionCall", + "src": "5076:19:43" + }, + "nativeSrc": "5076:19:43", + "nodeType": "YulExpressionStatement", + "src": "5076:19:43" + }, + { + "nativeSrc": "5104:29:43", + "nodeType": "YulAssignment", + "src": "5104:29:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5123:3:43", + "nodeType": "YulIdentifier", + "src": "5123:3:43" + }, + { + "kind": "number", + "nativeSrc": "5128:4:43", + "nodeType": "YulLiteral", + "src": "5128:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5119:3:43", + "nodeType": "YulIdentifier", + "src": "5119:3:43" + }, + "nativeSrc": "5119:14:43", + "nodeType": "YulFunctionCall", + "src": "5119:14:43" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "5104:11:43", + "nodeType": "YulIdentifier", + "src": "5104:11:43" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "4970:169:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5038:3:43", + "nodeType": "YulTypedName", + "src": "5038:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5043:6:43", + "nodeType": "YulTypedName", + "src": "5043:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "5054:11:43", + "nodeType": "YulTypedName", + "src": "5054:11:43", + "type": "" + } + ], + "src": "4970:169:43" + }, + { + "body": { + "nativeSrc": "5207:184:43", + "nodeType": "YulBlock", + "src": "5207:184:43", + "statements": [ + { + "nativeSrc": "5217:10:43", + "nodeType": "YulVariableDeclaration", + "src": "5217:10:43", + "value": { + "kind": "number", + "nativeSrc": "5226:1:43", + "nodeType": "YulLiteral", + "src": "5226:1:43", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "5221:1:43", + "nodeType": "YulTypedName", + "src": "5221:1:43", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5286:63:43", + "nodeType": "YulBlock", + "src": "5286:63:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5311:3:43", + "nodeType": "YulIdentifier", + "src": "5311:3:43" + }, + { + "name": "i", + "nativeSrc": "5316:1:43", + "nodeType": "YulIdentifier", + "src": "5316:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5307:3:43", + "nodeType": "YulIdentifier", + "src": "5307:3:43" + }, + "nativeSrc": "5307:11:43", + "nodeType": "YulFunctionCall", + "src": "5307:11:43" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5330:3:43", + "nodeType": "YulIdentifier", + "src": "5330:3:43" + }, + { + "name": "i", + "nativeSrc": "5335:1:43", + "nodeType": "YulIdentifier", + "src": "5335:1:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5326:3:43", + "nodeType": "YulIdentifier", + "src": "5326:3:43" + }, + "nativeSrc": "5326:11:43", + "nodeType": "YulFunctionCall", + "src": "5326:11:43" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5320:5:43", + "nodeType": "YulIdentifier", + "src": "5320:5:43" + }, + "nativeSrc": "5320:18:43", + "nodeType": "YulFunctionCall", + "src": "5320:18:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5300:6:43", + "nodeType": "YulIdentifier", + "src": "5300:6:43" + }, + "nativeSrc": "5300:39:43", + "nodeType": "YulFunctionCall", + "src": "5300:39:43" + }, + "nativeSrc": "5300:39:43", + "nodeType": "YulExpressionStatement", + "src": "5300:39:43" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5247:1:43", + "nodeType": "YulIdentifier", + "src": "5247:1:43" + }, + { + "name": "length", + "nativeSrc": "5250:6:43", + "nodeType": "YulIdentifier", + "src": "5250:6:43" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5244:2:43", + "nodeType": "YulIdentifier", + "src": "5244:2:43" + }, + "nativeSrc": "5244:13:43", + "nodeType": "YulFunctionCall", + "src": "5244:13:43" + }, + "nativeSrc": "5236:113:43", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5258:19:43", + "nodeType": "YulBlock", + "src": "5258:19:43", + "statements": [ + { + "nativeSrc": "5260:15:43", + "nodeType": "YulAssignment", + "src": "5260:15:43", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "5269:1:43", + "nodeType": "YulIdentifier", + "src": "5269:1:43" + }, + { + "kind": "number", + "nativeSrc": "5272:2:43", + "nodeType": "YulLiteral", + "src": "5272:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5265:3:43", + "nodeType": "YulIdentifier", + "src": "5265:3:43" + }, + "nativeSrc": "5265:10:43", + "nodeType": "YulFunctionCall", + "src": "5265:10:43" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "5260:1:43", + "nodeType": "YulIdentifier", + "src": "5260:1:43" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5240:3:43", + "nodeType": "YulBlock", + "src": "5240:3:43", + "statements": [] + }, + "src": "5236:113:43" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "5369:3:43", + "nodeType": "YulIdentifier", + "src": "5369:3:43" + }, + { + "name": "length", + "nativeSrc": "5374:6:43", + "nodeType": "YulIdentifier", + "src": "5374:6:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5365:3:43", + "nodeType": "YulIdentifier", + "src": "5365:3:43" + }, + "nativeSrc": "5365:16:43", + "nodeType": "YulFunctionCall", + "src": "5365:16:43" + }, + { + "kind": "number", + "nativeSrc": "5383:1:43", + "nodeType": "YulLiteral", + "src": "5383:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5358:6:43", + "nodeType": "YulIdentifier", + "src": "5358:6:43" + }, + "nativeSrc": "5358:27:43", + "nodeType": "YulFunctionCall", + "src": "5358:27:43" + }, + "nativeSrc": "5358:27:43", + "nodeType": "YulExpressionStatement", + "src": "5358:27:43" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5145:246:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "5189:3:43", + "nodeType": "YulTypedName", + "src": "5189:3:43", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "5194:3:43", + "nodeType": "YulTypedName", + "src": "5194:3:43", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5199:6:43", + "nodeType": "YulTypedName", + "src": "5199:6:43", + "type": "" + } + ], + "src": "5145:246:43" + }, + { + "body": { + "nativeSrc": "5489:285:43", + "nodeType": "YulBlock", + "src": "5489:285:43", + "statements": [ + { + "nativeSrc": "5499:53:43", + "nodeType": "YulVariableDeclaration", + "src": "5499:53:43", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5546:5:43", + "nodeType": "YulIdentifier", + "src": "5546:5:43" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5513:32:43", + "nodeType": "YulIdentifier", + "src": "5513:32:43" + }, + "nativeSrc": "5513:39:43", + "nodeType": "YulFunctionCall", + "src": "5513:39:43" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5503:6:43", + "nodeType": "YulTypedName", + "src": "5503:6:43", + "type": "" + } + ] + }, + { + "nativeSrc": "5561:78:43", + "nodeType": "YulAssignment", + "src": "5561:78:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5627:3:43", + "nodeType": "YulIdentifier", + "src": "5627:3:43" + }, + { + "name": "length", + "nativeSrc": "5632:6:43", + "nodeType": "YulIdentifier", + "src": "5632:6:43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5568:58:43", + "nodeType": "YulIdentifier", + "src": "5568:58:43" + }, + "nativeSrc": "5568:71:43", + "nodeType": "YulFunctionCall", + "src": "5568:71:43" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5561:3:43", + "nodeType": "YulIdentifier", + "src": "5561:3:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5687:5:43", + "nodeType": "YulIdentifier", + "src": "5687:5:43" + }, + { + "kind": "number", + "nativeSrc": "5694:4:43", + "nodeType": "YulLiteral", + "src": "5694:4:43", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5683:3:43", + "nodeType": "YulIdentifier", + "src": "5683:3:43" + }, + "nativeSrc": "5683:16:43", + "nodeType": "YulFunctionCall", + "src": "5683:16:43" + }, + { + "name": "pos", + "nativeSrc": "5701:3:43", + "nodeType": "YulIdentifier", + "src": "5701:3:43" + }, + { + "name": "length", + "nativeSrc": "5706:6:43", + "nodeType": "YulIdentifier", + "src": "5706:6:43" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5648:34:43", + "nodeType": "YulIdentifier", + "src": "5648:34:43" + }, + "nativeSrc": "5648:65:43", + "nodeType": "YulFunctionCall", + "src": "5648:65:43" + }, + "nativeSrc": "5648:65:43", + "nodeType": "YulExpressionStatement", + "src": "5648:65:43" + }, + { + "nativeSrc": "5722:46:43", + "nodeType": "YulAssignment", + "src": "5722:46:43", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5733:3:43", + "nodeType": "YulIdentifier", + "src": "5733:3:43" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5760:6:43", + "nodeType": "YulIdentifier", + "src": "5760:6:43" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "5738:21:43", + "nodeType": "YulIdentifier", + "src": "5738:21:43" + }, + "nativeSrc": "5738:29:43", + "nodeType": "YulFunctionCall", + "src": "5738:29:43" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5729:3:43", + "nodeType": "YulIdentifier", + "src": "5729:3:43" + }, + "nativeSrc": "5729:39:43", + "nodeType": "YulFunctionCall", + "src": "5729:39:43" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "5722:3:43", + "nodeType": "YulIdentifier", + "src": "5722:3:43" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5397:377:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5470:5:43", + "nodeType": "YulTypedName", + "src": "5470:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5477:3:43", + "nodeType": "YulTypedName", + "src": "5477:3:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5485:3:43", + "nodeType": "YulTypedName", + "src": "5485:3:43", + "type": "" + } + ], + "src": "5397:377:43" + }, + { + "body": { + "nativeSrc": "5845:53:43", + "nodeType": "YulBlock", + "src": "5845:53:43", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5862:3:43", + "nodeType": "YulIdentifier", + "src": "5862:3:43" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5885:5:43", + "nodeType": "YulIdentifier", + "src": "5885:5:43" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5867:17:43", + "nodeType": "YulIdentifier", + "src": "5867:17:43" + }, + "nativeSrc": "5867:24:43", + "nodeType": "YulFunctionCall", + "src": "5867:24:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5855:6:43", + "nodeType": "YulIdentifier", + "src": "5855:6:43" + }, + "nativeSrc": "5855:37:43", + "nodeType": "YulFunctionCall", + "src": "5855:37:43" + }, + "nativeSrc": "5855:37:43", + "nodeType": "YulExpressionStatement", + "src": "5855:37:43" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "5780:118:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5833:5:43", + "nodeType": "YulTypedName", + "src": "5833:5:43", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5840:3:43", + "nodeType": "YulTypedName", + "src": "5840:3:43", + "type": "" + } + ], + "src": "5780:118:43" + }, + { + "body": { + "nativeSrc": "6162:608:43", + "nodeType": "YulBlock", + "src": "6162:608:43", + "statements": [ + { + "nativeSrc": "6172:27:43", + "nodeType": "YulAssignment", + "src": "6172:27:43", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6184:9:43", + "nodeType": "YulIdentifier", + "src": "6184:9:43" + }, + { + "kind": "number", + "nativeSrc": "6195:3:43", + "nodeType": "YulLiteral", + "src": "6195:3:43", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6180:3:43", + "nodeType": "YulIdentifier", + "src": "6180:3:43" + }, + "nativeSrc": "6180:19:43", + "nodeType": "YulFunctionCall", + "src": "6180:19:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6172:4:43", + "nodeType": "YulIdentifier", + "src": "6172:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6220:9:43", + "nodeType": "YulIdentifier", + "src": "6220:9:43" + }, + { + "kind": "number", + "nativeSrc": "6231:1:43", + "nodeType": "YulLiteral", + "src": "6231:1:43", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6216:3:43", + "nodeType": "YulIdentifier", + "src": "6216:3:43" + }, + "nativeSrc": "6216:17:43", + "nodeType": "YulFunctionCall", + "src": "6216:17:43" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6239:4:43", + "nodeType": "YulIdentifier", + "src": "6239:4:43" + }, + { + "name": "headStart", + "nativeSrc": "6245:9:43", + "nodeType": "YulIdentifier", + "src": "6245:9:43" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6235:3:43", + "nodeType": "YulIdentifier", + "src": "6235:3:43" + }, + "nativeSrc": "6235:20:43", + "nodeType": "YulFunctionCall", + "src": "6235:20:43" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6209:6:43", + "nodeType": "YulIdentifier", + "src": "6209:6:43" + }, + "nativeSrc": "6209:47:43", + "nodeType": "YulFunctionCall", + "src": "6209:47:43" + }, + "nativeSrc": "6209:47:43", + "nodeType": "YulExpressionStatement", + "src": "6209:47:43" + }, + { + "nativeSrc": "6265:86:43", + "nodeType": "YulAssignment", + "src": "6265:86:43", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6337:6:43", + "nodeType": "YulIdentifier", + "src": "6337:6:43" + }, + { + "name": "tail", + "nativeSrc": "6346:4:43", + "nodeType": "YulIdentifier", + "src": "6346:4:43" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6273:63:43", + "nodeType": "YulIdentifier", + "src": "6273:63:43" + }, + "nativeSrc": "6273:78:43", + "nodeType": "YulFunctionCall", + "src": "6273:78:43" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6265:4:43", + "nodeType": "YulIdentifier", + "src": "6265:4:43" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "6405:6:43", + "nodeType": "YulIdentifier", + "src": "6405:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6418:9:43", + "nodeType": "YulIdentifier", + "src": "6418:9:43" + }, + { + "kind": "number", + "nativeSrc": "6429:2:43", + "nodeType": "YulLiteral", + "src": "6429:2:43", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6414:3:43", + "nodeType": "YulIdentifier", + "src": "6414:3:43" + }, + "nativeSrc": "6414:18:43", + "nodeType": "YulFunctionCall", + "src": "6414:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6361:43:43", + "nodeType": "YulIdentifier", + "src": "6361:43:43" + }, + "nativeSrc": "6361:72:43", + "nodeType": "YulFunctionCall", + "src": "6361:72:43" + }, + "nativeSrc": "6361:72:43", + "nodeType": "YulExpressionStatement", + "src": "6361:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "6487:6:43", + "nodeType": "YulIdentifier", + "src": "6487:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6500:9:43", + "nodeType": "YulIdentifier", + "src": "6500:9:43" + }, + { + "kind": "number", + "nativeSrc": "6511:2:43", + "nodeType": "YulLiteral", + "src": "6511:2:43", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6496:3:43", + "nodeType": "YulIdentifier", + "src": "6496:3:43" + }, + "nativeSrc": "6496:18:43", + "nodeType": "YulFunctionCall", + "src": "6496:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "6443:43:43", + "nodeType": "YulIdentifier", + "src": "6443:43:43" + }, + "nativeSrc": "6443:72:43", + "nodeType": "YulFunctionCall", + "src": "6443:72:43" + }, + "nativeSrc": "6443:72:43", + "nodeType": "YulExpressionStatement", + "src": "6443:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "6569:6:43", + "nodeType": "YulIdentifier", + "src": "6569:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6582:9:43", + "nodeType": "YulIdentifier", + "src": "6582:9:43" + }, + { + "kind": "number", + "nativeSrc": "6593:2:43", + "nodeType": "YulLiteral", + "src": "6593:2:43", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6578:3:43", + "nodeType": "YulIdentifier", + "src": "6578:3:43" + }, + "nativeSrc": "6578:18:43", + "nodeType": "YulFunctionCall", + "src": "6578:18:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6525:43:43", + "nodeType": "YulIdentifier", + "src": "6525:43:43" + }, + "nativeSrc": "6525:72:43", + "nodeType": "YulFunctionCall", + "src": "6525:72:43" + }, + "nativeSrc": "6525:72:43", + "nodeType": "YulExpressionStatement", + "src": "6525:72:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "6651:6:43", + "nodeType": "YulIdentifier", + "src": "6651:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6664:9:43", + "nodeType": "YulIdentifier", + "src": "6664:9:43" + }, + { + "kind": "number", + "nativeSrc": "6675:3:43", + "nodeType": "YulLiteral", + "src": "6675:3:43", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6660:3:43", + "nodeType": "YulIdentifier", + "src": "6660:3:43" + }, + "nativeSrc": "6660:19:43", + "nodeType": "YulFunctionCall", + "src": "6660:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6607:43:43", + "nodeType": "YulIdentifier", + "src": "6607:43:43" + }, + "nativeSrc": "6607:73:43", + "nodeType": "YulFunctionCall", + "src": "6607:73:43" + }, + "nativeSrc": "6607:73:43", + "nodeType": "YulExpressionStatement", + "src": "6607:73:43" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "6734:6:43", + "nodeType": "YulIdentifier", + "src": "6734:6:43" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6747:9:43", + "nodeType": "YulIdentifier", + "src": "6747:9:43" + }, + { + "kind": "number", + "nativeSrc": "6758:3:43", + "nodeType": "YulLiteral", + "src": "6758:3:43", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6743:3:43", + "nodeType": "YulIdentifier", + "src": "6743:3:43" + }, + "nativeSrc": "6743:19:43", + "nodeType": "YulFunctionCall", + "src": "6743:19:43" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6690:43:43", + "nodeType": "YulIdentifier", + "src": "6690:43:43" + }, + "nativeSrc": "6690:73:43", + "nodeType": "YulFunctionCall", + "src": "6690:73:43" + }, + "nativeSrc": "6690:73:43", + "nodeType": "YulExpressionStatement", + "src": "6690:73:43" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "5904:866:43", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6094:9:43", + "nodeType": "YulTypedName", + "src": "6094:9:43", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "6106:6:43", + "nodeType": "YulTypedName", + "src": "6106:6:43", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "6114:6:43", + "nodeType": "YulTypedName", + "src": "6114:6:43", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "6122:6:43", + "nodeType": "YulTypedName", + "src": "6122:6:43", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "6130:6:43", + "nodeType": "YulTypedName", + "src": "6130:6:43", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6138:6:43", + "nodeType": "YulTypedName", + "src": "6138:6:43", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6146:6:43", + "nodeType": "YulTypedName", + "src": "6146:6:43", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6157:4:43", + "nodeType": "YulTypedName", + "src": "6157:4:43", + "type": "" + } + ], + "src": "5904:866:43" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n }\n\n}\n", + "id": 43, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50600436106200002e5760003560e01c8063d171b5191462000033575b600080fd5b6200005160048036038101906200004b9190620002e8565b62000069565b604051620000609190620003a0565b60405180910390f35b6000808633878787876040516200008090620000c4565b620000919695949392919062000457565b604051809103906000f080158015620000ae573d6000803e3d6000fd5b5090506000819050809250505095945050505050565b611d3780620004cc83390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200013b82620000f0565b810181811067ffffffffffffffff821117156200015d576200015c62000101565b5b80604052505050565b600062000172620000d2565b905062000180828262000130565b919050565b600067ffffffffffffffff821115620001a357620001a262000101565b5b620001ae82620000f0565b9050602081019050919050565b82818337600083830152505050565b6000620001e1620001db8462000185565b62000166565b9050828152602081018484840111156200020057620001ff620000eb565b5b6200020d848285620001bb565b509392505050565b600082601f8301126200022d576200022c620000e6565b5b81356200023f848260208601620001ca565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002758262000248565b9050919050565b620002878162000268565b81146200029357600080fd5b50565b600081359050620002a7816200027c565b92915050565b6000819050919050565b620002c281620002ad565b8114620002ce57600080fd5b50565b600081359050620002e281620002b7565b92915050565b600080600080600060a08688031215620003075762000306620000dc565b5b600086013567ffffffffffffffff811115620003285762000327620000e1565b5b620003368882890162000215565b9550506020620003498882890162000296565b94505060406200035c88828901620002d1565b93505060606200036f88828901620002d1565b92505060806200038288828901620002d1565b9150509295509295909350565b6200039a8162000268565b82525050565b6000602082019050620003b760008301846200038f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620003f9578082015181840152602081019050620003dc565b60008484015250505050565b60006200041282620003bd565b6200041e8185620003c8565b935062000430818560208601620003d9565b6200043b81620000f0565b840191505092915050565b6200045181620002ad565b82525050565b600060c082019050818103600083015262000473818962000405565b90506200048460208301886200038f565b6200049360408301876200038f565b620004a2606083018662000446565b620004b1608083018562000446565b620004c060a083018462000446565b97965050505050505056fe60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea26469706673582212200ec67a5ad8db96721af24ba21c8e0d1dce7b73c8acea2e09dcddcc7092a7c0e664736f6c63430008180033a26469706673582212203296ca7947a89dd9871dadd47b472dcc462ac7351d0e147706e78399c718cd3964736f6c63430008180033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x2E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD171B519 EQ PUSH3 0x33 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x51 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x4B SWAP2 SWAP1 PUSH3 0x2E8 JUMP JUMPDEST PUSH3 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x60 SWAP2 SWAP1 PUSH3 0x3A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP7 CALLER DUP8 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH3 0x80 SWAP1 PUSH3 0xC4 JUMP JUMPDEST PUSH3 0x91 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x457 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0xAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP DUP1 SWAP3 POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1D37 DUP1 PUSH3 0x4CC DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x13B DUP3 PUSH3 0xF0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x15D JUMPI PUSH3 0x15C PUSH3 0x101 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x172 PUSH3 0xD2 JUMP JUMPDEST SWAP1 POP PUSH3 0x180 DUP3 DUP3 PUSH3 0x130 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x1A3 JUMPI PUSH3 0x1A2 PUSH3 0x101 JUMP JUMPDEST JUMPDEST PUSH3 0x1AE DUP3 PUSH3 0xF0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E1 PUSH3 0x1DB DUP5 PUSH3 0x185 JUMP JUMPDEST PUSH3 0x166 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x200 JUMPI PUSH3 0x1FF PUSH3 0xEB JUMP JUMPDEST JUMPDEST PUSH3 0x20D DUP5 DUP3 DUP6 PUSH3 0x1BB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x22D JUMPI PUSH3 0x22C PUSH3 0xE6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH3 0x23F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x275 DUP3 PUSH3 0x248 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x287 DUP2 PUSH3 0x268 JUMP JUMPDEST DUP2 EQ PUSH3 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2A7 DUP2 PUSH3 0x27C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2C2 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP2 EQ PUSH3 0x2CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x2E2 DUP2 PUSH3 0x2B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH3 0x307 JUMPI PUSH3 0x306 PUSH3 0xDC JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x328 JUMPI PUSH3 0x327 PUSH3 0xE1 JUMP JUMPDEST JUMPDEST PUSH3 0x336 DUP9 DUP3 DUP10 ADD PUSH3 0x215 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH3 0x349 DUP9 DUP3 DUP10 ADD PUSH3 0x296 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH3 0x35C DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH3 0x36F DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH3 0x382 DUP9 DUP3 DUP10 ADD PUSH3 0x2D1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH3 0x39A DUP2 PUSH3 0x268 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x3B7 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x38F 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3F9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3DC JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x412 DUP3 PUSH3 0x3BD JUMP JUMPDEST PUSH3 0x41E DUP2 DUP6 PUSH3 0x3C8 JUMP JUMPDEST SWAP4 POP PUSH3 0x430 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x3D9 JUMP JUMPDEST PUSH3 0x43B DUP2 PUSH3 0xF0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x451 DUP2 PUSH3 0x2AD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x473 DUP2 DUP10 PUSH3 0x405 JUMP JUMPDEST SWAP1 POP PUSH3 0x484 PUSH1 0x20 DUP4 ADD DUP9 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x493 PUSH1 0x40 DUP4 ADD DUP8 PUSH3 0x38F JUMP JUMPDEST PUSH3 0x4A2 PUSH1 0x60 DUP4 ADD DUP7 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4B1 PUSH1 0x80 DUP4 ADD DUP6 PUSH3 0x446 JUMP JUMPDEST PUSH3 0x4C0 PUSH1 0xA0 DUP4 ADD DUP5 PUSH3 0x446 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D37 CODESIZE SUB DUP1 PUSH3 0x1D37 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x45F JUMP JUMPDEST DUP5 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0xAD JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xA4 SWAP2 SWAP1 PUSH3 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xBE DUP2 PUSH3 0x168 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 PUSH1 0x6 SWAP1 DUP2 PUSH3 0x111 SWAP2 SWAP1 PUSH3 0x789 JUMP JUMPDEST POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x157 JUMPI PUSH3 0x156 PUSH3 0x870 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP PUSH3 0x89F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x295 DUP3 PUSH3 0x24A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2B7 JUMPI PUSH3 0x2B6 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CC PUSH3 0x22C JUMP JUMPDEST SWAP1 POP PUSH3 0x2DA DUP3 DUP3 PUSH3 0x28A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2FD JUMPI PUSH3 0x2FC PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x308 DUP3 PUSH3 0x24A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x335 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x318 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x358 PUSH3 0x352 DUP5 PUSH3 0x2DF JUMP JUMPDEST PUSH3 0x2C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x245 JUMP JUMPDEST JUMPDEST PUSH3 0x384 DUP5 DUP3 DUP6 PUSH3 0x315 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3A4 JUMPI PUSH3 0x3A3 PUSH3 0x240 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x3B6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3EC DUP3 PUSH3 0x3BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3FE DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP2 EQ PUSH3 0x40A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x41E DUP2 PUSH3 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x439 DUP2 PUSH3 0x424 JUMP JUMPDEST DUP2 EQ PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x459 DUP2 PUSH3 0x42E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x47F JUMPI PUSH3 0x47E PUSH3 0x236 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4A0 JUMPI PUSH3 0x49F PUSH3 0x23B JUMP JUMPDEST JUMPDEST PUSH3 0x4AE DUP10 DUP3 DUP11 ADD PUSH3 0x38C JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH3 0x4C1 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH3 0x4D4 DUP10 DUP3 DUP11 ADD PUSH3 0x40D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH3 0x4E7 DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH3 0x4FA DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 PUSH3 0x50D DUP10 DUP3 DUP11 ADD PUSH3 0x448 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH3 0x525 DUP2 PUSH3 0x3DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x542 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x51A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5B1 JUMPI PUSH3 0x5B0 PUSH3 0x553 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x61B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5DC JUMP JUMPDEST PUSH3 0x627 DUP7 DUP4 PUSH3 0x5DC JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x66A PUSH3 0x664 PUSH3 0x65E DUP5 PUSH3 0x424 JUMP JUMPDEST PUSH3 0x63F JUMP JUMPDEST PUSH3 0x424 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x686 DUP4 PUSH3 0x649 JUMP JUMPDEST PUSH3 0x69E PUSH3 0x695 DUP3 PUSH3 0x671 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x5E9 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6B5 PUSH3 0x6A6 JUMP JUMPDEST PUSH3 0x6C2 DUP2 DUP5 DUP5 PUSH3 0x67B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x6EA JUMPI PUSH3 0x6DE PUSH1 0x0 DUP3 PUSH3 0x6AB JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6C8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x739 JUMPI PUSH3 0x703 DUP2 PUSH3 0x5B7 JUMP JUMPDEST PUSH3 0x70E DUP5 PUSH3 0x5CC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x71E JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x736 PUSH3 0x72D DUP6 PUSH3 0x5CC JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6C7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x75E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x73E JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x779 DUP4 DUP4 PUSH3 0x74B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x794 DUP3 PUSH3 0x548 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7B0 JUMPI PUSH3 0x7AF PUSH3 0x25B JUMP JUMPDEST JUMPDEST PUSH3 0x7BC DUP3 SLOAD PUSH3 0x582 JUMP JUMPDEST PUSH3 0x7C9 DUP3 DUP3 DUP6 PUSH3 0x6EE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x801 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x7EC JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7F8 DUP6 DUP3 PUSH3 0x76B JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x868 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x811 DUP7 PUSH3 0x5B7 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x83B JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x814 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x85B JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x857 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x74B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1488 DUP1 PUSH3 0x8AF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0x9592A2CD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9592A2CD EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBABCC539 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xCD61A609 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x73B2E80E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x90E64D13 EQ PUSH2 0x222 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x3D13F874 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3D13F874 EQ PUSH2 0x154 JUMPI DUP1 PUSH4 0x43F367C8 EQ PUSH2 0x170 JUMPI DUP1 PUSH4 0x5EDF7D8B EQ PUSH2 0x18E JUMPI DUP1 PUSH4 0x71127ED2 EQ PUSH2 0x1AC JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1CB54C0 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x32F08873 EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x2C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12D SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13E PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14B SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x169 SWAP2 SWAP1 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x178 PUSH2 0x82B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x196 PUSH2 0x835 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B4 PUSH2 0x83F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C1 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D2 PUSH2 0x849 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x85D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20C PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x219 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22A PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x296 PUSH2 0x901 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C1 SWAP2 SWAP1 PUSH2 0xF30 JUMP JUMPDEST PUSH2 0x90B JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST LT ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40E SWAP2 SWAP1 PUSH2 0xF9C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x41B PUSH2 0xAE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4E16FC8B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x48A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x10EA JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP1 SLOAD PUSH2 0x4CE SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FA SWAP1 PUSH2 0x1162 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x547 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x547 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x5C6 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x5CE PUSH2 0x8DC JUMP JUMPDEST ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP5 PUSH2 0x85D JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64E SWAP1 PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65F PUSH2 0x8E8 JUMP JUMPDEST ISZERO PUSH2 0x69F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x696 SWAP1 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6A7 PUSH2 0x2C8 JUMP JUMPDEST PUSH2 0x6E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6DD SWAP1 PUSH2 0x13A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP6 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x745 SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x773 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x4 SLOAD PUSH1 0x3 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x141E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x9 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x47CEE97CB7ACD717B3C0AA1435D004CD5B3C8C57D70DBCEB4E4458BBD60E39D4 DUP5 PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH2 0x81D SWAP3 SWAP2 SWAP1 PUSH2 0x13C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x851 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x85B PUSH1 0x0 PUSH2 0xA18 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP PUSH1 0x5 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD LT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x913 PUSH2 0x991 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x985 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97C SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x98E DUP2 PUSH2 0xA18 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x999 PUSH2 0xADC JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x9B7 PUSH2 0x8B3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA16 JUMPI PUSH2 0x9DA PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xB44 JUMPI PUSH2 0xB43 PUSH2 0xC9B JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB66 DUP2 PUSH2 0xB51 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB9A DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB91 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBF5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBDA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC1D DUP3 PUSH2 0xBBB JUMP JUMPDEST PUSH2 0xC27 DUP2 DUP6 PUSH2 0xBC6 JUMP JUMPDEST SWAP4 POP PUSH2 0xC37 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0xC40 DUP2 PUSH2 0xC01 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP3 PUSH2 0xC4B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC86 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC95 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xCDB JUMPI PUSH2 0xCDA PUSH2 0xC9B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xCEC DUP3 PUSH2 0xCCA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFC DUP3 PUSH2 0xCDE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0C DUP2 PUSH2 0xCF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xD30 DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD45 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xC7D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xD58 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0xD6B PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0xD7E PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0xD91 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0xC8C JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0xDA4 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0xD03 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0xDBC DUP3 DUP3 PUSH2 0xC12 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDE3 DUP2 DUP5 PUSH2 0xD12 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP2 EQ PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE25 DUP2 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE34 DUP2 PUSH2 0xB87 JUMP JUMPDEST DUP2 EQ PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE51 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE7C JUMPI PUSH2 0xE7B PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE99 JUMPI PUSH2 0xE98 PUSH2 0xE5C JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xEB5 JUMPI PUSH2 0xEB4 PUSH2 0xE61 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED6 JUMPI PUSH2 0xED5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xEE4 DUP8 DUP3 DUP9 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xEF5 DUP8 DUP3 DUP9 ADD PUSH2 0xE42 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF16 JUMPI PUSH2 0xF15 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xF22 DUP8 DUP3 DUP9 ADD PUSH2 0xE66 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF46 JUMPI PUSH2 0xF45 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF54 DUP5 DUP3 DUP6 ADD PUSH2 0xE16 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF66 DUP2 PUSH2 0xC6B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF81 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xF96 DUP2 PUSH2 0xE2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB2 JUMPI PUSH2 0xFB1 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFC0 DUP5 DUP3 DUP6 ADD PUSH2 0xF87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1006 DUP3 PUSH2 0xC01 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1025 JUMPI PUSH2 0x1024 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1038 PUSH2 0xDEB JUMP JUMPDEST SWAP1 POP PUSH2 0x1044 DUP3 DUP3 PUSH2 0xFFD JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1064 JUMPI PUSH2 0x1063 PUSH2 0xFCE JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP3 PUSH2 0xC01 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH2 0x1088 DUP5 PUSH2 0x1049 JUMP JUMPDEST PUSH2 0x102E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFC9 JUMP JUMPDEST JUMPDEST PUSH2 0x10B4 DUP5 DUP3 DUP6 PUSH2 0xBD7 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10D1 JUMPI PUSH2 0x10D0 PUSH2 0xE57 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x10E1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x107A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1100 JUMPI PUSH2 0x10FF PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111E JUMPI PUSH2 0x111D PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0x112A DUP5 DUP3 DUP6 ADD PUSH2 0x10BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x117A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x118D JUMPI PUSH2 0x118C PUSH2 0x1133 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x41697264726F7020616C726561647920657870697265642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11DA PUSH1 0x18 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x11E5 DUP3 PUSH2 0x11A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1209 DUP2 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4164647265737320616C726561647920636C61696D6564207468697320616972 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64726F702E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126C PUSH1 0x25 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1277 DUP3 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x129B DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020686173206265656E20746F74616C6C7920636C61696D6564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C72656164792E0000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FE PUSH1 0x29 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x1309 DUP3 PUSH2 0x12A2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x132D DUP2 PUSH2 0x12F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x41697264726F7020636F6E74726163742068617320696E73756666696369656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420746F6B656E2062616C616E63652E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1390 PUSH1 0x30 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP2 POP PUSH2 0x139B DUP3 PUSH2 0x1334 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13BF DUP2 PUSH2 0x1383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x13DB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x13E8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0xB87 JUMP JUMPDEST SWAP2 POP PUSH2 0x1434 DUP4 PUSH2 0xB87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x144C JUMPI PUSH2 0x144B PUSH2 0x13EF JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xC6 PUSH27 0x5AD8DB96721AF24BA21C8E0D1DCE7B73C8ACEA2E09DCDDCC7092A7 0xC0 0xE6 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ORIGIN SWAP7 0xCA PUSH26 0x47A89DD9871DADD47B472DCC462AC7351D0E147706E78399C718 0xCD CODECOPY PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ", + "sourceMap": "128:612:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:554;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;397:7;416:32;485:11;510:10;534:12;560:18;592:11;617:14;451:190;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;416:225;;651:22;684:15;651:49;;717:14;710:21;;;;184:554;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;7:75:43:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:126::-;2590:7;2630:42;2623:5;2619:54;2608:65;;2553:126;;;:::o;2685:96::-;2722:7;2751:24;2769:5;2751:24;:::i;:::-;2740:35;;2685:96;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:1091::-;3521:6;3529;3537;3545;3553;3602:3;3590:9;3581:7;3577:23;3573:33;3570:120;;;3609:79;;:::i;:::-;3570:120;3757:1;3746:9;3742:17;3729:31;3787:18;3779:6;3776:30;3773:117;;;3809:79;;:::i;:::-;3773:117;3914:63;3969:7;3960:6;3949:9;3945:22;3914:63;:::i;:::-;3904:73;;3700:287;4026:2;4052:53;4097:7;4088:6;4077:9;4073:22;4052:53;:::i;:::-;4042:63;;3997:118;4154:2;4180:53;4225:7;4216:6;4205:9;4201:22;4180:53;:::i;:::-;4170:63;;4125:118;4282:2;4308:53;4353:7;4344:6;4333:9;4329:22;4308:53;:::i;:::-;4298:63;;4253:118;4410:3;4437:53;4482:7;4473:6;4462:9;4458:22;4437:53;:::i;:::-;4427:63;;4381:119;3416:1091;;;;;;;;:::o;4513:118::-;4600:24;4618:5;4600:24;:::i;:::-;4595:3;4588:37;4513:118;;:::o;4637:222::-;4730:4;4768:2;4757:9;4753:18;4745:26;;4781:71;4849:1;4838:9;4834:17;4825:6;4781:71;:::i;:::-;4637:222;;;;:::o;4865:99::-;4917:6;4951:5;4945:12;4935:22;;4865:99;;;:::o;4970:169::-;5054:11;5088:6;5083:3;5076:19;5128:4;5123:3;5119:14;5104:29;;4970:169;;;;:::o;5145:246::-;5226:1;5236:113;5250:6;5247:1;5244:13;5236:113;;;5335:1;5330:3;5326:11;5320:18;5316:1;5311:3;5307:11;5300:39;5272:2;5269:1;5265:10;5260:15;;5236:113;;;5383:1;5374:6;5369:3;5365:16;5358:27;5207:184;5145:246;;;:::o;5397:377::-;5485:3;5513:39;5546:5;5513:39;:::i;:::-;5568:71;5632:6;5627:3;5568:71;:::i;:::-;5561:78;;5648:65;5706:6;5701:3;5694:4;5687:5;5683:16;5648:65;:::i;:::-;5738:29;5760:6;5738:29;:::i;:::-;5733:3;5729:39;5722:46;;5489:285;5397:377;;;;:::o;5780:118::-;5867:24;5885:5;5867:24;:::i;:::-;5862:3;5855:37;5780:118;;:::o;5904:866::-;6157:4;6195:3;6184:9;6180:19;6172:27;;6245:9;6239:4;6235:20;6231:1;6220:9;6216:17;6209:47;6273:78;6346:4;6337:6;6273:78;:::i;:::-;6265:86;;6361:72;6429:2;6418:9;6414:18;6405:6;6361:72;:::i;:::-;6443;6511:2;6500:9;6496:18;6487:6;6443:72;:::i;:::-;6525;6593:2;6582:9;6578:18;6569:6;6525:72;:::i;:::-;6607:73;6675:3;6664:9;6660:19;6651:6;6607:73;:::i;:::-;6690;6758:3;6747:9;6743:19;6734:6;6690:73;:::i;:::-;5904:866;;;;;;;;;:::o" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256)": "d171b519" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Lib/AirdropDeployerERC20.sol\":\"AirdropDeployerERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/ERC20/OpenAirdropERC20.sol\":{\"keccak256\":\"0x1091e569e1544a81d3edf4552cb6d7a3e3063ad458920cace995eb4501328b54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b9ed0c09edb801dbec4e01bec3a1b0c83f0aa205029d66a31d45079d60c266\",\"dweb:/ipfs/Qma1qBfE4tkQ5LDKyDrL56KB77iG3U2r571HnysA7asrd2\"]},\"contracts/Lib/AirdropDeployerERC20.sol\":{\"keccak256\":\"0xda5017ed97b868e3b830e88b94ed10bc9adeb37ecd32a0eb515288be86285f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6caa470579241890c27c7b3eab3f9247d311e3804c75f17375bdbe4ccc37b112\",\"dweb:/ipfs/QmZX6DLdwz5qyf5MGPFzMg5b4i5rEVMddkKE9L8gXBztW8\"]},\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + }, + "contracts/Tools/Types.sol": { + "IAirdrop": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "allowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "allowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof_", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "disallowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "disallowAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropAmountLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAirdropInfo", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "airdropAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "airdropAmountLeft", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "enum AirdropType", + "name": "airdropType", + "type": "uint8" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "internalType": "struct AirdropInfo", + "name": "info", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getClaimAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpirationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalAirdropAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "hasExpired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowAddress(address)": "08af4d88", + "allowAddresses(address[])": "3863b1f5", + "claim(address,uint256,bytes32[])": "3d13f874", + "disallowAddress(address)": "b7c58d7a", + "disallowAddresses(address[])": "a9f7d0b2", + "getAirdropAmountLeft()": "cd61a609", + "getAirdropInfo()": "32f08873", + "getBalance()": "12065fe0", + "getClaimAmount()": "71127ed2", + "getExpirationDate()": "5edf7d8b", + "getTotalAirdropAmount()": "43f367c8", + "hasClaimed(address)": "73b2e80e", + "hasExpired()": "90e64d13", + "isAllowed(address)": "babcc539", + "setRoot(bytes32)": "dab5f340" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"allowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"allowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof_\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"disallowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"disallowAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropAmountLeft\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAirdropInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"airdropAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"airdropAmountLeft\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"enum AirdropType\",\"name\":\"airdropType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct AirdropInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpirationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAirdropAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Tools/Types.sol\":\"IAirdrop\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IDeployer1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mode", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256,uint256,uint256)": "0920be42" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mode\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Tools/Types.sol\":\"IDeployer1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IDeployerERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "airdropName", + "type": "string" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalAirdropAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "deployAndAddAirdrop", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "deployAndAddAirdrop(string,address,uint256,uint256,uint256)": "d171b519" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"airdropName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAirdropAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"deployAndAddAirdrop\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Tools/Types.sol\":\"IDeployerERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IERC1155": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "getUri()": "4e16fc8b", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Tools/Types.sol\":\"IERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + }, + "IERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address)": "70a08231", + "getUri()": "4e16fc8b", + "transfer(address,uint256)": "a9059cbb" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Tools/Types.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Tools/Types.sol\":{\"keccak256\":\"0xb1eadba4a8070ac5457795521c2db17abf07f200f0f88d547c9df08bae1436ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://906bff3e2cdcaded8d7854203d85e22524447cdf4b5303baa75bf8ef6753092c\",\"dweb:/ipfs/QmePx2qGhRvf5QZ8FeHA1wDCBjBYwLSnLygFEUyjrkowxq\"]}},\"version\":1}" + } + } + } + } +} \ No newline at end of file diff --git a/ignition/deployments/chain-31/deployed_addresses.json b/ignition/deployments/chain-31/deployed_addresses.json new file mode 100644 index 0000000..f887795 --- /dev/null +++ b/ignition/deployments/chain-31/deployed_addresses.json @@ -0,0 +1,6 @@ +{ + "AirdropDeployerERC1155Module#AirdropDeployerERC1155": "0x49dbbA265c0f4a7Ca8C277F57E189f6B90998aEE", + "AirdropDeployerERC20Module#AirdropDeployerERC20": "0xe68B923822E0b9067413be380dBED46f295F2372", + "AirdropManagerModule#AirdropManager": "0xFdEdc1427b745D9876B5BBF21e2F57922CF78117", + "ERC1155Module#MyToken": "0x969865eDe9f2831452AF423d3275671eE40F309F" +} diff --git a/ignition/deployments/chain-31/journal.jsonl b/ignition/deployments/chain-31/journal.jsonl new file mode 100644 index 0000000..25eab90 --- /dev/null +++ b/ignition/deployments/chain-31/journal.jsonl @@ -0,0 +1,17 @@ + +{"chainId":31,"type":"DEPLOYMENT_INITIALIZE"} +{"artifactId":"AirdropDeployerERC1155Module#AirdropDeployerERC1155","constructorArgs":[],"contractName":"AirdropDeployerERC1155","dependencies":[],"from":"0x6927abd63da2da250e6676c64cf14586e1e1fa10","futureId":"AirdropDeployerERC1155Module#AirdropDeployerERC1155","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"AirdropDeployerERC1155Module#AirdropDeployerERC1155","networkInteraction":{"data":"0x608060405234801561001057600080fd5b50614c60806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200002e5760003560e01c80630920be421462000033575b600080fd5b6200005160048036038101906200004b919062000374565b62000069565b60405162000060919062000457565b60405180910390f35b6000808203620000cf5760008830898989898960006040516200008c9062000142565b6200009f9897969594939291906200058e565b604051809103906000f080158015620000bc573d6000803e3d6000fd5b5090506000819050809250505062000137565b60018203620001325760008830898989886001604051620000f09062000150565b62000102979695949392919062000623565b604051809103906000f0801580156200011f573d6000803e3d6000fd5b5090506000819050809250505062000137565b600090505b979650505050505050565b61258080620006a883390190565b6120038062002c2883390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001c7826200017c565b810181811067ffffffffffffffff82111715620001e957620001e86200018d565b5b80604052505050565b6000620001fe6200015e565b90506200020c8282620001bc565b919050565b600067ffffffffffffffff8211156200022f576200022e6200018d565b5b6200023a826200017c565b9050602081019050919050565b82818337600083830152505050565b60006200026d620002678462000211565b620001f2565b9050828152602081018484840111156200028c576200028b62000177565b5b6200029984828562000247565b509392505050565b600082601f830112620002b957620002b862000172565b5b8135620002cb84826020860162000256565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030182620002d4565b9050919050565b6200031381620002f4565b81146200031f57600080fd5b50565b600081359050620003338162000308565b92915050565b6000819050919050565b6200034e8162000339565b81146200035a57600080fd5b50565b6000813590506200036e8162000343565b92915050565b600080600080600080600060e0888a03121562000396576200039562000168565b5b600088013567ffffffffffffffff811115620003b757620003b66200016d565b5b620003c58a828b01620002a1565b9750506020620003d88a828b0162000322565b9650506040620003eb8a828b016200035d565b9550506060620003fe8a828b016200035d565b9450506080620004118a828b016200035d565b93505060a0620004248a828b016200035d565b92505060c0620004378a828b016200035d565b91505092959891949750929550565b6200045181620002f4565b82525050565b60006020820190506200046e600083018462000446565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004b057808201518184015260208101905062000493565b60008484015250505050565b6000620004c98262000474565b620004d581856200047f565b9350620004e781856020860162000490565b620004f2816200017c565b840191505092915050565b620005088162000339565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106200055157620005506200050e565b5b50565b600081905062000564826200053d565b919050565b6000620005768262000554565b9050919050565b620005888162000569565b82525050565b6000610100820190508181036000830152620005ab818b620004bc565b9050620005bc602083018a62000446565b620005cb604083018962000446565b620005da6060830188620004fd565b620005e96080830187620004fd565b620005f860a0830186620004fd565b6200060760c0830185620004fd565b6200061660e08301846200057d565b9998505050505050505050565b600060e08201905081810360008301526200063f818a620004bc565b905062000650602083018962000446565b6200065f604083018862000446565b6200066e6060830187620004fd565b6200067d6080830186620004fd565b6200068c60a0830185620004fd565b6200069b60c08301846200057d565b9897505050505050505056fe60806040523480156200001157600080fd5b50604051620025803803806200258083398181016040528101906200003791906200048f565b86600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a4919062000588565b60405180910390fd5b620000be816200017060201b60201c565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760079081620001119190620007e6565b50846006819055508360028190555083600381905550826004819055508160058190555080600860006101000a81548160ff021916908360028111156200015d576200015c620008cd565b5b02179055505050505050505050620008fc565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200029d8262000252565b810181811067ffffffffffffffff82111715620002bf57620002be62000263565b5b80604052505050565b6000620002d462000234565b9050620002e2828262000292565b919050565b600067ffffffffffffffff82111562000305576200030462000263565b5b620003108262000252565b9050602081019050919050565b60005b838110156200033d57808201518184015260208101905062000320565b60008484015250505050565b6000620003606200035a84620002e7565b620002c8565b9050828152602081018484840111156200037f576200037e6200024d565b5b6200038c8482856200031d565b509392505050565b600082601f830112620003ac57620003ab62000248565b5b8151620003be84826020860162000349565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f482620003c7565b9050919050565b6200040681620003e7565b81146200041257600080fd5b50565b6000815190506200042681620003fb565b92915050565b6000819050919050565b62000441816200042c565b81146200044d57600080fd5b50565b600081519050620004618162000436565b92915050565b600381106200047557600080fd5b50565b600081519050620004898162000467565b92915050565b600080600080600080600080610100898b031215620004b357620004b26200023e565b5b600089015167ffffffffffffffff811115620004d457620004d362000243565b5b620004e28b828c0162000394565b9850506020620004f58b828c0162000415565b9750506040620005088b828c0162000415565b96505060606200051b8b828c0162000450565b95505060806200052e8b828c0162000450565b94505060a0620005418b828c0162000450565b93505060c0620005548b828c0162000450565b92505060e0620005678b828c0162000478565b9150509295985092959890939650565b6200058281620003e7565b82525050565b60006020820190506200059f600083018462000577565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f857607f821691505b6020821081036200060e576200060d620005b0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000639565b62000684868362000639565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c7620006c1620006bb846200042c565b6200069c565b6200042c565b9050919050565b6000819050919050565b620006e383620006a6565b620006fb620006f282620006ce565b84845462000646565b825550505050565b600090565b6200071262000703565b6200071f818484620006d8565b505050565b5b8181101562000747576200073b60008262000708565b60018101905062000725565b5050565b601f8211156200079657620007608162000614565b6200076b8462000629565b810160208510156200077b578190505b620007936200078a8562000629565b83018262000724565b50505b505050565b600082821c905092915050565b6000620007bb600019846008026200079b565b1980831691505092915050565b6000620007d68383620007a8565b9150826002028217905092915050565b620007f182620005a5565b67ffffffffffffffff8111156200080d576200080c62000263565b5b620008198254620005df565b620008268282856200074b565b600060209050601f8311600181146200085e576000841562000849578287015190505b620008558582620007c8565b865550620008c5565b601f1984166200086e8662000614565b60005b82811015620008985784890151825560018201915060208501945060208101905062000871565b86831015620008b85784890151620008b4601f891682620007a8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611c74806200090c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9f7d0b21161007c578063a9f7d0b2146102f6578063b7c58d7a14610312578063babcc5391461032e578063cd61a6091461035e578063f23a6e611461037c578063f2fde38b146103ac57610137565b8063715018a61461026257806373b2e80e1461026c5780638da5cb5b1461029c57806390e64d13146102ba5780639592a2cd146102d857610137565b80633d13f874116100ff5780633d13f874146101ce57806343f367c8146101ea5780634e16fc8b146102085780635edf7d8b1461022657806371127ed21461024457610137565b806301cb54c01461013c57806308af4d881461015a57806312065fe01461017657806332f08873146101945780633863b1f5146101b2575b600080fd5b6101446103c8565b6040516101519190610fee565b60405180910390f35b610174600480360381019061016f919061107b565b610473565b005b61017e61050d565b60405161018b91906110c1565b60405180910390f35b61019c6105b3565b6040516101a991906112b8565b60405180910390f35b6101cc60048036038101906101c79190611422565b6106d2565b005b6101e860048036038101906101e391906114f2565b6107ba565b005b6101f2610a75565b6040516101ff91906110c1565b60405180910390f35b610210610a7f565b60405161021d91906115b0565b60405180910390f35b61022e610abc565b60405161023b91906110c1565b60405180910390f35b61024c610ac6565b60405161025991906110c1565b60405180910390f35b61026a610ad0565b005b6102866004803603810190610281919061107b565b610ae4565b6040516102939190610fee565b60405180910390f35b6102a4610b3a565b6040516102b191906115e1565b60405180910390f35b6102c2610b63565b6040516102cf9190610fee565b60405180910390f35b6102e0610b6f565b6040516102ed9190610fee565b60405180910390f35b610310600480360381019061030b9190611422565b610b7d565b005b61032c6004803603810190610327919061107b565b610c65565b005b6103486004803603810190610343919061107b565b610cff565b6040516103559190610fee565b60405180910390f35b610366610d55565b60405161037391906110c1565b60405180910390f35b610396600480360381019061039191906116b1565b610d5f565b6040516103a39190611783565b60405180910390f35b6103c660048036038101906103c1919061107b565b610d8d565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161042b92919061179e565b602060405180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c91906117dc565b1015905090565b61047b610e13565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af778160405161050291906115e1565b60405180910390a150565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161056d92919061179e565b602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae91906117dc565b905090565b6105bb610f66565b604051806101000160405280600780546105d490611838565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611838565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600860009054906101000a900460ff1660028111156106b5576106b461118a565b5b815260200160405180602001604052806000815250815250905090565b6106da610e13565b60005b81518110156107b6576001600960008484815181106106ff576106fe611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7782828151811061078c5761078b611869565b5b60200260200101516040516107a191906115e1565b60405180910390a180806001019150506106dd565b5050565b6107c2610e13565b6107cb84610cff565b61080a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108019061190a565b60405180910390fd5b610812610b63565b15610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611976565b60405180910390fd5b61085b84610ae4565b1561089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290611a08565b60405180910390fd5b6108a3610b6f565b156108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90611a9a565b60405180910390fd5b6108eb6103c8565b61092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611b2c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30866006546004546040518563ffffffff1660e01b815260040161098f9493929190611b83565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050600454600360008282546109d59190611c0a565b925050819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d484600454604051610a6792919061179e565b60405180910390a150505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6000600454905090565b610ad8610e13565b610ae26000610e9a565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b610b85610e13565b60005b8151811015610c6157600060096000848481518110610baa57610ba9611869565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d828281518110610c3757610c36611869565b5b6020026020010151604051610c4c91906115e1565b60405180910390a18080600101915050610b88565b5050565b610c6d610e13565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d81604051610cf491906115e1565b60405180910390a150565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600354905090565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b610d95610e13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e075760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dfe91906115e1565b60405180910390fd5b610e1081610e9a565b50565b610e1b610f5e565b73ffffffffffffffffffffffffffffffffffffffff16610e39610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610e9857610e5c610f5e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e8f91906115e1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610fc657610fc561118a565b5b8152602001606081525090565b60008115159050919050565b610fe881610fd3565b82525050565b60006020820190506110036000830184610fdf565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110488261101d565b9050919050565b6110588161103d565b811461106357600080fd5b50565b6000813590506110758161104f565b92915050565b60006020828403121561109157611090611013565b5b600061109f84828501611066565b91505092915050565b6000819050919050565b6110bb816110a8565b82525050565b60006020820190506110d660008301846110b2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111165780820151818401526020810190506110fb565b60008484015250505050565b6000601f19601f8301169050919050565b600061113e826110dc565b61114881856110e7565b93506111588185602086016110f8565b61116181611122565b840191505092915050565b6111758161103d565b82525050565b611184816110a8565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106111ca576111c961118a565b5b50565b60008190506111db826111b9565b919050565b60006111eb826111cd565b9050919050565b6111fb816111e0565b82525050565b600061010083016000830151848203600086015261121f8282611133565b9150506020830151611234602086018261116c565b506040830151611247604086018261117b565b50606083015161125a606086018261117b565b50608083015161126d608086018261117b565b5060a083015161128060a086018261117b565b5060c083015161129360c08601826111f2565b5060e083015184820360e08601526112ab8282611133565b9150508091505092915050565b600060208201905081810360008301526112d28184611201565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61131782611122565b810181811067ffffffffffffffff82111715611336576113356112df565b5b80604052505050565b6000611349611009565b9050611355828261130e565b919050565b600067ffffffffffffffff821115611375576113746112df565b5b602082029050602081019050919050565b600080fd5b600061139e6113998461135a565b61133f565b905080838252602082019050602084028301858111156113c1576113c0611386565b5b835b818110156113ea57806113d68882611066565b8452602084019350506020810190506113c3565b5050509392505050565b600082601f830112611409576114086112da565b5b813561141984826020860161138b565b91505092915050565b60006020828403121561143857611437611013565b5b600082013567ffffffffffffffff81111561145657611455611018565b5b611462848285016113f4565b91505092915050565b611474816110a8565b811461147f57600080fd5b50565b6000813590506114918161146b565b92915050565b600080fd5b60008083601f8401126114b2576114b16112da565b5b8235905067ffffffffffffffff8111156114cf576114ce611497565b5b6020830191508360208202830111156114eb576114ea611386565b5b9250929050565b6000806000806060858703121561150c5761150b611013565b5b600061151a87828801611066565b945050602061152b87828801611482565b935050604085013567ffffffffffffffff81111561154c5761154b611018565b5b6115588782880161149c565b925092505092959194509250565b600082825260208201905092915050565b6000611582826110dc565b61158c8185611566565b935061159c8185602086016110f8565b6115a581611122565b840191505092915050565b600060208201905081810360008301526115ca8184611577565b905092915050565b6115db8161103d565b82525050565b60006020820190506115f660008301846115d2565b92915050565b600080fd5b600067ffffffffffffffff82111561161c5761161b6112df565b5b61162582611122565b9050602081019050919050565b82818337600083830152505050565b600061165461164f84611601565b61133f565b9050828152602081018484840111156116705761166f6115fc565b5b61167b848285611632565b509392505050565b600082601f830112611698576116976112da565b5b81356116a8848260208601611641565b91505092915050565b600080600080600060a086880312156116cd576116cc611013565b5b60006116db88828901611066565b95505060206116ec88828901611066565b94505060406116fd88828901611482565b935050606061170e88828901611482565b925050608086013567ffffffffffffffff81111561172f5761172e611018565b5b61173b88828901611683565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61177d81611748565b82525050565b60006020820190506117986000830184611774565b92915050565b60006040820190506117b360008301856115d2565b6117c060208301846110b2565b9392505050565b6000815190506117d68161146b565b92915050565b6000602082840312156117f2576117f1611013565b5b6000611800848285016117c7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185057607f821691505b60208210810361186357611862611809565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f41646472657373206e6f7420616c6c6f77656420746f20636c61696d2074686960008201527f732061697264726f700000000000000000000000000000000000000000000000602082015250565b60006118f4602983611566565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b6000611960601883611566565b915061196b8261192a565b602082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b60006119f2602583611566565b91506119fd82611996565b604082019050919050565b60006020820190508181036000830152611a21816119e5565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b6000611a84602983611566565b9150611a8f82611a28565b604082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611b16603083611566565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b600082825260208201905092915050565b50565b6000611b6d600083611b4c565b9150611b7882611b5d565b600082019050919050565b600060a082019050611b9860008301876115d2565b611ba560208301866115d2565b611bb260408301856110b2565b611bbf60608301846110b2565b8181036080830152611bd081611b60565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c15826110a8565b9150611c20836110a8565b9250828203905081811115611c3857611c37611bdb565b5b9291505056fea26469706673582212204cd4ce436aa778d507342d29768b639c0cf04f46fd105d6e069c996c9e6075b264736f6c6343000818003360806040523480156200001157600080fd5b506040516200200338038062002003833981810160405281019062000037919062000487565b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200056a565b60405180910390fd5b620000be816200016860201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660079081620001119190620007c8565b508360068190555082600281905550826003819055508160058190555080600860006101000a81548160ff02191690836002811115620001565762000155620008af565b5b021790555050505050505050620008de565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b600381106200046d57600080fd5b50565b60008151905062000481816200045f565b92915050565b600080600080600080600060e0888a031215620004a957620004a862000236565b5b600088015167ffffffffffffffff811115620004ca57620004c96200023b565b5b620004d88a828b016200038c565b9750506020620004eb8a828b016200040d565b9650506040620004fe8a828b016200040d565b9550506060620005118a828b0162000448565b9450506080620005248a828b0162000448565b93505060a0620005378a828b0162000448565b92505060c06200054a8a828b0162000470565b91505092959891949750929550565b6200056481620003df565b82525050565b600060208201905062000581600083018462000559565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d8462000424565b6200067e565b62000424565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000587565b67ffffffffffffffff811115620007ef57620007ee6200025b565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61171580620008ee6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806380bdc421116100a2578063cd61a60911610071578063cd61a60914610286578063dab5f340146102a4578063ebf0c717146102c0578063f23a6e61146102de578063f2fde38b1461030e5761010b565b806380bdc421146101fc5780638da5cb5b1461022c57806390e64d131461024a5780639592a2cd146102685761010b565b80634e16fc8b116100de5780634e16fc8b146101865780635edf7d8b146101a4578063715018a6146101c257806373b2e80e146101cc5761010b565b806312065fe01461011057806332f088731461012e5780633d13f8741461014c57806343f367c814610168575b600080fd5b61011861032a565b6040516101259190610c86565b60405180910390f35b6101366103d0565b6040516101439190610eaf565b60405180910390f35b61016660048036038101906101619190610fa2565b6104ee565b005b610170610508565b60405161017d9190610c86565b60405180910390f35b61018e610512565b60405161019b9190611060565b60405180910390f35b6101ac61054f565b6040516101b99190610c86565b60405180910390f35b6101ca610559565b005b6101e660048036038101906101e19190611082565b61056d565b6040516101f391906110ca565b60405180910390f35b6102166004803603810190610211919061111b565b6105c3565b60405161022391906110ca565b60405180910390f35b6102346105e3565b6040516102419190611157565b60405180910390f35b61025261060c565b60405161025f91906110ca565b60405180910390f35b610270610618565b60405161027d91906110ca565b60405180910390f35b61028e610625565b60405161029b9190610c86565b60405180910390f35b6102be60048036038101906102b9919061111b565b61062f565b005b6102c8610641565b6040516102d59190611181565b60405180910390f35b6102f860048036038101906102f391906112cc565b610647565b604051610305919061139e565b60405180910390f35b61032860048036038101906103239190611082565b610675565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e306006546040518363ffffffff1660e01b815260040161038a9291906113b9565b602060405180830381865afa1580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cb91906113f7565b905090565b6103d8610c00565b604051806101000160405280600780546103f190611453565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611453565b801561046a5780601f1061043f5761010080835404028352916020019161046a565b820191906000526020600020905b81548152906001019060200180831161044d57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160025481526020016003548152602001600081526020016005548152602001600860009054906101000a900460ff1660028111156104d1576104d0610d81565b5b815260200160405180602001604052806000815250815250905090565b6104f66106fb565b61050284848484610782565b50505050565b6000600254905090565b60606040518060400160405280600f81526020017f6e6f7420696d706c656d656e7465640000000000000000000000000000000000815250905090565b6000600554905090565b6105616106fb565b61056b6000610a2e565b565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b6000600160035410905090565b6000600354905090565b6106376106fb565b8060098190555050565b60095481565b60007ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97905095945050505050565b61067d6106fb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ef5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106e69190611157565b60405180910390fd5b6106f881610a2e565b50565b610703610af2565b73ffffffffffffffffffffffffffffffffffffffff166107216105e3565b73ffffffffffffffffffffffffffffffffffffffff161461078057610744610af2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107779190611157565b60405180910390fd5b565b600061078e8585610afa565b905061079e838360095484610b53565b6107d4576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b600082815260200190815260200160002060009054906101000a900460ff161561082c576040517fc0ab2c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b600083815260200190815260200160002060006101000a81548160ff02191690831515021790555061086061060c565b156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906114d0565b60405180910390fd5b6108a8610618565b156108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90611562565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3087600654886040518563ffffffff1660e01b815260040161094b94939291906115b9565b600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b50505050836003600082825461098f9190611640565b925050819055506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48585604051610a1f9291906113b9565b60405180910390a15050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008282604051602001610b0f9291906113b9565b60405160208183030381529060405280519060200120604051602001610b359190611695565b60405160208183030381529060405280519060200120905092915050565b600082610b61868685610b6c565b149050949350505050565b60008082905060005b85859050811015610bb257610ba382878784818110610b9757610b966116b0565b5b90506020020135610bbe565b91508080600101915050610b75565b50809150509392505050565b6000818310610bd657610bd18284610be9565b610be1565b610be08383610be9565b5b905092915050565b600082600052816020526040600020905092915050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610c6057610c5f610d81565b5b8152602001606081525090565b6000819050919050565b610c8081610c6d565b82525050565b6000602082019050610c9b6000830184610c77565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0382610ca1565b610d0d8185610cac565b9350610d1d818560208601610cbd565b610d2681610ce7565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5c82610d31565b9050919050565b610d6c81610d51565b82525050565b610d7b81610c6d565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc157610dc0610d81565b5b50565b6000819050610dd282610db0565b919050565b6000610de282610dc4565b9050919050565b610df281610dd7565b82525050565b6000610100830160008301518482036000860152610e168282610cf8565b9150506020830151610e2b6020860182610d63565b506040830151610e3e6040860182610d72565b506060830151610e516060860182610d72565b506080830151610e646080860182610d72565b5060a0830151610e7760a0860182610d72565b5060c0830151610e8a60c0860182610de9565b5060e083015184820360e0860152610ea28282610cf8565b9150508091505092915050565b60006020820190508181036000830152610ec98184610df8565b905092915050565b6000604051905090565b600080fd5b600080fd5b610eee81610d51565b8114610ef957600080fd5b50565b600081359050610f0b81610ee5565b92915050565b610f1a81610c6d565b8114610f2557600080fd5b50565b600081359050610f3781610f11565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f6257610f61610f3d565b5b8235905067ffffffffffffffff811115610f7f57610f7e610f42565b5b602083019150836020820283011115610f9b57610f9a610f47565b5b9250929050565b60008060008060608587031215610fbc57610fbb610edb565b5b6000610fca87828801610efc565b9450506020610fdb87828801610f28565b935050604085013567ffffffffffffffff811115610ffc57610ffb610ee0565b5b61100887828801610f4c565b925092505092959194509250565b600082825260208201905092915050565b600061103282610ca1565b61103c8185611016565b935061104c818560208601610cbd565b61105581610ce7565b840191505092915050565b6000602082019050818103600083015261107a8184611027565b905092915050565b60006020828403121561109857611097610edb565b5b60006110a684828501610efc565b91505092915050565b60008115159050919050565b6110c4816110af565b82525050565b60006020820190506110df60008301846110bb565b92915050565b6000819050919050565b6110f8816110e5565b811461110357600080fd5b50565b600081359050611115816110ef565b92915050565b60006020828403121561113157611130610edb565b5b600061113f84828501611106565b91505092915050565b61115181610d51565b82525050565b600060208201905061116c6000830184611148565b92915050565b61117b816110e5565b82525050565b60006020820190506111966000830184611172565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111d982610ce7565b810181811067ffffffffffffffff821117156111f8576111f76111a1565b5b80604052505050565b600061120b610ed1565b905061121782826111d0565b919050565b600067ffffffffffffffff821115611237576112366111a1565b5b61124082610ce7565b9050602081019050919050565b82818337600083830152505050565b600061126f61126a8461121c565b611201565b90508281526020810184848401111561128b5761128a61119c565b5b61129684828561124d565b509392505050565b600082601f8301126112b3576112b2610f3d565b5b81356112c384826020860161125c565b91505092915050565b600080600080600060a086880312156112e8576112e7610edb565b5b60006112f688828901610efc565b955050602061130788828901610efc565b945050604061131888828901610f28565b935050606061132988828901610f28565b925050608086013567ffffffffffffffff81111561134a57611349610ee0565b5b6113568882890161129e565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61139881611363565b82525050565b60006020820190506113b3600083018461138f565b92915050565b60006040820190506113ce6000830185611148565b6113db6020830184610c77565b9392505050565b6000815190506113f181610f11565b92915050565b60006020828403121561140d5761140c610edb565b5b600061141b848285016113e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061146b57607f821691505b60208210810361147e5761147d611424565b5b50919050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006114ba601883611016565b91506114c582611484565b602082019050919050565b600060208201905081810360008301526114e9816114ad565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b600061154c602983611016565b9150611557826114f0565b604082019050919050565b6000602082019050818103600083015261157b8161153f565b9050919050565b600082825260208201905092915050565b50565b60006115a3600083611582565b91506115ae82611593565b600082019050919050565b600060a0820190506115ce6000830187611148565b6115db6020830186611148565b6115e86040830185610c77565b6115f56060830184610c77565b818103608083015261160681611596565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061164b82610c6d565b915061165683610c6d565b925082820390508181111561166e5761166d611611565b5b92915050565b6000819050919050565b61168f61168a826110e5565b611674565b82525050565b60006116a1828461167e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220372f16de976df56b639eca3e408656bd4cd1ad8b78cd60f8ce05600d7ec32f5a64736f6c63430008180033a2646970667358221220da2897684e2916ac87131a332e6a04d2727997593567ccc5ff41816e451e4eae64736f6c63430008180033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"AirdropDeployerERC1155Module#AirdropDeployerERC1155","networkInteractionId":1,"nonce":10,"transaction":{"fees":{"gasPrice":{"_kind":"bigint","value":"7692100"}},"hash":"0x43082cc774413c43db248c1db4e0406af99c5ccd253553680f9d08ca1603b14c"},"type":"TRANSACTION_SEND"} +{"artifactId":"AirdropDeployerERC20Module#AirdropDeployerERC20","constructorArgs":[],"contractName":"AirdropDeployerERC20","dependencies":[],"from":"0x6927abd63da2da250e6676c64cf14586e1e1fa10","futureId":"AirdropDeployerERC20Module#AirdropDeployerERC20","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"AirdropDeployerERC20Module#AirdropDeployerERC20","networkInteraction":{"data":"0x608060405234801561001057600080fd5b50612238806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200002e5760003560e01c8063d171b5191462000033575b600080fd5b6200005160048036038101906200004b9190620002e8565b62000069565b604051620000609190620003a0565b60405180910390f35b6000808630878787876040516200008090620000c4565b620000919695949392919062000457565b604051809103906000f080158015620000ae573d6000803e3d6000fd5b5090506000819050809250505095945050505050565b611d3780620004cc83390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200013b82620000f0565b810181811067ffffffffffffffff821117156200015d576200015c62000101565b5b80604052505050565b600062000172620000d2565b905062000180828262000130565b919050565b600067ffffffffffffffff821115620001a357620001a262000101565b5b620001ae82620000f0565b9050602081019050919050565b82818337600083830152505050565b6000620001e1620001db8462000185565b62000166565b9050828152602081018484840111156200020057620001ff620000eb565b5b6200020d848285620001bb565b509392505050565b600082601f8301126200022d576200022c620000e6565b5b81356200023f848260208601620001ca565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002758262000248565b9050919050565b620002878162000268565b81146200029357600080fd5b50565b600081359050620002a7816200027c565b92915050565b6000819050919050565b620002c281620002ad565b8114620002ce57600080fd5b50565b600081359050620002e281620002b7565b92915050565b600080600080600060a08688031215620003075762000306620000dc565b5b600086013567ffffffffffffffff811115620003285762000327620000e1565b5b620003368882890162000215565b9550506020620003498882890162000296565b94505060406200035c88828901620002d1565b93505060606200036f88828901620002d1565b92505060806200038288828901620002d1565b9150509295509295909350565b6200039a8162000268565b82525050565b6000602082019050620003b760008301846200038f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620003f9578082015181840152602081019050620003dc565b60008484015250505050565b60006200041282620003bd565b6200041e8185620003c8565b935062000430818560208601620003d9565b6200043b81620000f0565b840191505092915050565b6200045181620002ad565b82525050565b600060c082019050818103600083015262000473818962000405565b90506200048460208301886200038f565b6200049360408301876200038f565b620004a2606083018662000446565b620004b1608083018562000446565b620004c060a083018462000446565b97965050505050505056fe60806040523480156200001157600080fd5b5060405162001d3738038062001d3783398181016040528101906200003791906200045f565b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200052b565b60405180910390fd5b620000be816200016860201b60201c565b5083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550856006908162000111919062000789565b50826002819055508260038190555081600481905550806005819055506002600760006101000a81548160ff0219169083600281111562000157576200015662000870565b5b02179055505050505050506200089f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000295826200024a565b810181811067ffffffffffffffff82111715620002b757620002b66200025b565b5b80604052505050565b6000620002cc6200022c565b9050620002da82826200028a565b919050565b600067ffffffffffffffff821115620002fd57620002fc6200025b565b5b62000308826200024a565b9050602081019050919050565b60005b838110156200033557808201518184015260208101905062000318565b60008484015250505050565b6000620003586200035284620002df565b620002c0565b90508281526020810184848401111562000377576200037662000245565b5b6200038484828562000315565b509392505050565b600082601f830112620003a457620003a362000240565b5b8151620003b684826020860162000341565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ec82620003bf565b9050919050565b620003fe81620003df565b81146200040a57600080fd5b50565b6000815190506200041e81620003f3565b92915050565b6000819050919050565b620004398162000424565b81146200044557600080fd5b50565b60008151905062000459816200042e565b92915050565b60008060008060008060c087890312156200047f576200047e62000236565b5b600087015167ffffffffffffffff811115620004a0576200049f6200023b565b5b620004ae89828a016200038c565b9650506020620004c189828a016200040d565b9550506040620004d489828a016200040d565b9450506060620004e789828a0162000448565b9350506080620004fa89828a0162000448565b92505060a06200050d89828a0162000448565b9150509295509295509295565b6200052581620003df565b82525050565b60006020820190506200054260008301846200051a565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059b57607f821691505b602082108103620005b157620005b062000553565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200061b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005dc565b620006278683620005dc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200066a620006646200065e8462000424565b6200063f565b62000424565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005e9565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005b7565b6200070e84620005cc565b810160208510156200071e578190505b620007366200072d85620005cc565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b620007948262000548565b67ffffffffffffffff811115620007b057620007af6200025b565b5b620007bc825462000582565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005b7565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61148880620008af6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a6116100975780639592a2cd116100665780639592a2cd14610240578063babcc5391461025e578063cd61a6091461028e578063f2fde38b146102ac576100f5565b8063715018a6146101ca57806373b2e80e146101d45780638da5cb5b1461020457806390e64d1314610222576100f5565b80633d13f874116100d35780633d13f8741461015457806343f367c8146101705780635edf7d8b1461018e57806371127ed2146101ac576100f5565b806301cb54c0146100fa57806312065fe01461011857806332f0887314610136575b600080fd5b6101026102c8565b60405161010f9190610b6c565b60405180910390f35b610120610370565b60405161012d9190610ba0565b60405180910390f35b61013e610413565b60405161014b9190610dc9565b60405180910390f35b61016e60048036038101906101699190610ebc565b6105be565b005b61017861082b565b6040516101859190610ba0565b60405180910390f35b610196610835565b6040516101a39190610ba0565b60405180910390f35b6101b461083f565b6040516101c19190610ba0565b60405180910390f35b6101d2610849565b005b6101ee60048036038101906101e99190610f30565b61085d565b6040516101fb9190610b6c565b60405180910390f35b61020c6108b3565b6040516102199190610f6c565b60405180910390f35b61022a6108dc565b6040516102379190610b6c565b60405180910390f35b6102486108e8565b6040516102559190610b6c565b60405180910390f35b61027860048036038101906102739190610f30565b6108f6565b6040516102859190610b6c565b60405180910390f35b610296610901565b6040516102a39190610ba0565b60405180910390f35b6102c660048036038101906102c19190610f30565b61090b565b005b6000600454600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103289190610f6c565b602060405180830381865afa158015610345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103699190610f9c565b1015905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103cd9190610f6c565b602060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040e9190610f9c565b905090565b61041b610ae4565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634e16fc8b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561048a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104b391906110ea565b9050604051806101000160405280600680546104ce90611162565b80601f01602080910402602001604051908101604052809291908181526020018280546104fa90611162565b80156105475780601f1061051c57610100808354040283529160200191610547565b820191906000526020600020905b81548152906001019060200180831161052a57829003601f168201915b505050505081526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016002548152602001600354815260200160045481526020016005548152602001600760009054906101000a900460ff1660028111156105af576105ae610c9b565b5b81526020018281525091505090565b6105c6610991565b6105ce6108dc565b1561060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906111f0565b60405180910390fd5b6106178461085d565b15610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611282565b60405180910390fd5b61065f6108e8565b1561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611314565b60405180910390fd5b6106a76102c8565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906113a6565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856004546040518363ffffffff1660e01b81526004016107459291906113c6565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506004546003600082825461078b919061141e565b925050819055506001600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48460045460405161081d9291906113c6565b60405180910390a150505050565b6000600254905090565b6000600554905090565b6000600454905090565b610851610991565b61085b6000610a18565b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60004260055410905090565b600060045460035410905090565b600060019050919050565b6000600354905090565b610913610991565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109855760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097c9190610f6c565b60405180910390fd5b61098e81610a18565b50565b610999610adc565b73ffffffffffffffffffffffffffffffffffffffff166109b76108b3565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576109da610adc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a0d9190610f6c565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160006002811115610b4457610b43610c9b565b5b8152602001606081525090565b60008115159050919050565b610b6681610b51565b82525050565b6000602082019050610b816000830184610b5d565b92915050565b6000819050919050565b610b9a81610b87565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf5578082015181840152602081019050610bda565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c1d82610bbb565b610c278185610bc6565b9350610c37818560208601610bd7565b610c4081610c01565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7682610c4b565b9050919050565b610c8681610c6b565b82525050565b610c9581610b87565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610cdb57610cda610c9b565b5b50565b6000819050610cec82610cca565b919050565b6000610cfc82610cde565b9050919050565b610d0c81610cf1565b82525050565b6000610100830160008301518482036000860152610d308282610c12565b9150506020830151610d456020860182610c7d565b506040830151610d586040860182610c8c565b506060830151610d6b6060860182610c8c565b506080830151610d7e6080860182610c8c565b5060a0830151610d9160a0860182610c8c565b5060c0830151610da460c0860182610d03565b5060e083015184820360e0860152610dbc8282610c12565b9150508091505092915050565b60006020820190508181036000830152610de38184610d12565b905092915050565b6000604051905090565b600080fd5b600080fd5b610e0881610c6b565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b610e3481610b87565b8114610e3f57600080fd5b50565b600081359050610e5181610e2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e7c57610e7b610e57565b5b8235905067ffffffffffffffff811115610e9957610e98610e5c565b5b602083019150836020820283011115610eb557610eb4610e61565b5b9250929050565b60008060008060608587031215610ed657610ed5610df5565b5b6000610ee487828801610e16565b9450506020610ef587828801610e42565b935050604085013567ffffffffffffffff811115610f1657610f15610dfa565b5b610f2287828801610e66565b925092505092959194509250565b600060208284031215610f4657610f45610df5565b5b6000610f5484828501610e16565b91505092915050565b610f6681610c6b565b82525050565b6000602082019050610f816000830184610f5d565b92915050565b600081519050610f9681610e2b565b92915050565b600060208284031215610fb257610fb1610df5565b5b6000610fc084828501610f87565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61100682610c01565b810181811067ffffffffffffffff8211171561102557611024610fce565b5b80604052505050565b6000611038610deb565b90506110448282610ffd565b919050565b600067ffffffffffffffff82111561106457611063610fce565b5b61106d82610c01565b9050602081019050919050565b600061108d61108884611049565b61102e565b9050828152602081018484840111156110a9576110a8610fc9565b5b6110b4848285610bd7565b509392505050565b600082601f8301126110d1576110d0610e57565b5b81516110e184826020860161107a565b91505092915050565b600060208284031215611100576110ff610df5565b5b600082015167ffffffffffffffff81111561111e5761111d610dfa565b5b61112a848285016110bc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117a57607f821691505b60208210810361118d5761118c611133565b5b50919050565b600082825260208201905092915050565b7f41697264726f7020616c726561647920657870697265642e0000000000000000600082015250565b60006111da601883611193565b91506111e5826111a4565b602082019050919050565b60006020820190508181036000830152611209816111cd565b9050919050565b7f4164647265737320616c726561647920636c61696d656420746869732061697260008201527f64726f702e000000000000000000000000000000000000000000000000000000602082015250565b600061126c602583611193565b915061127782611210565b604082019050919050565b6000602082019050818103600083015261129b8161125f565b9050919050565b7f41697264726f7020686173206265656e20746f74616c6c7920636c61696d656460008201527f20616c72656164792e0000000000000000000000000000000000000000000000602082015250565b60006112fe602983611193565b9150611309826112a2565b604082019050919050565b6000602082019050818103600083015261132d816112f1565b9050919050565b7f41697264726f7020636f6e74726163742068617320696e73756666696369656e60008201527f7420746f6b656e2062616c616e63652e00000000000000000000000000000000602082015250565b6000611390603083611193565b915061139b82611334565b604082019050919050565b600060208201905081810360008301526113bf81611383565b9050919050565b60006040820190506113db6000830185610f5d565b6113e86020830184610b91565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061142982610b87565b915061143483610b87565b925082820390508181111561144c5761144b6113ef565b5b9291505056fea2646970667358221220dc7478e0f77c19ad5b5cce42402c417ece1788d5fc13eab8340b1e173ba67c1764736f6c63430008180033a264697066735822122055e0b36c0e627785c1c66a7ff8f551ee377f434128e6116112d541d943312a1664736f6c63430008180033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"AirdropDeployerERC20Module#AirdropDeployerERC20","networkInteractionId":1,"nonce":11,"transaction":{"fees":{"gasPrice":{"_kind":"bigint","value":"7692100"}},"hash":"0x12061c61f607efb3e5a0a2c6b17dc69374f0ae28da38d6b5cf8a5579e3c9176c"},"type":"TRANSACTION_SEND"} +{"futureId":"AirdropDeployerERC1155Module#AirdropDeployerERC1155","hash":"0x43082cc774413c43db248c1db4e0406af99c5ccd253553680f9d08ca1603b14c","networkInteractionId":1,"receipt":{"blockHash":"0x1f0d07061233749d73895cf8a2f20a0813c792c207613ada1158f5f7b8463c78","blockNumber":5686269,"contractAddress":"0x49dbbA265c0f4a7Ca8C277F57E189f6B90998aEE","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"AirdropDeployerERC1155Module#AirdropDeployerERC1155","result":{"address":"0x49dbbA265c0f4a7Ca8C277F57E189f6B90998aEE","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"futureId":"AirdropDeployerERC20Module#AirdropDeployerERC20","hash":"0x12061c61f607efb3e5a0a2c6b17dc69374f0ae28da38d6b5cf8a5579e3c9176c","networkInteractionId":1,"receipt":{"blockHash":"0x1f0d07061233749d73895cf8a2f20a0813c792c207613ada1158f5f7b8463c78","blockNumber":5686269,"contractAddress":"0xe68B923822E0b9067413be380dBED46f295F2372","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"AirdropDeployerERC20Module#AirdropDeployerERC20","result":{"address":"0xe68B923822E0b9067413be380dBED46f295F2372","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"AirdropManagerModule#AirdropManager","constructorArgs":[["0x6927ABD63Da2Da250E6676c64cF14586E1E1fA10"],"0xe68B923822E0b9067413be380dBED46f295F2372","0x49dbbA265c0f4a7Ca8C277F57E189f6B90998aEE"],"contractName":"AirdropManager","dependencies":["AirdropDeployerERC20Module#AirdropDeployerERC20","AirdropDeployerERC1155Module#AirdropDeployerERC1155"],"from":"0x6927abd63da2da250e6676c64cf14586e1e1fa10","futureId":"AirdropManagerModule#AirdropManager","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"AirdropManagerModule#AirdropManager","networkInteraction":{"data":"0x60806040523480156200001157600080fd5b5060405162002e0d38038062002e0d833981810160405281019062000037919062000342565b8260005b8151811015620000c757600160008084848151811062000060576200005f620003bd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506200003b565b505081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620003ec565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001b8826200016d565b810181811067ffffffffffffffff82111715620001da57620001d96200017e565b5b80604052505050565b6000620001ef62000154565b9050620001fd8282620001ad565b919050565b600067ffffffffffffffff82111562000220576200021f6200017e565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002638262000236565b9050919050565b620002758162000256565b81146200028157600080fd5b50565b60008151905062000295816200026a565b92915050565b6000620002b2620002ac8462000202565b620001e3565b90508083825260208201905060208402830185811115620002d857620002d762000231565b5b835b81811015620003055780620002f0888262000284565b845260208401935050602081019050620002da565b5050509392505050565b600082601f83011262000327576200032662000168565b5b8151620003398482602086016200029b565b91505092915050565b6000806000606084860312156200035e576200035d6200015e565b5b600084015167ffffffffffffffff8111156200037f576200037e62000163565b5b6200038d868287016200030f565b9350506020620003a08682870162000284565b9250506040620003b38682870162000284565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b612a1180620003fc6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063989a9863116100b8578063dde070e81161007c578063dde070e8146103a9578063ead7778a146103d9578063f77bc88b146103f5578063f89f2a2c14610425578063f8b2cb4f14610455578063fabed4121461048557610142565b8063989a9863146102e1578063a1654379146102fd578063a9b8f0181461032d578063b17acd1a1461035d578063c012a68f1461038d57610142565b80633ad14ed61161010a5780633ad14ed61461020f57806359f47add1461022b5780636b58222e1461024957806370480275146102795780637f94f65d1461029557806389266f60146102b157610142565b806307b1d553146101475780630cb27628146101775780631785f53c1461019357806324d7806c146101af5780632522f8da146101df575b600080fd5b610161600480360381019061015c9190611b1b565b6104a1565b60405161016e9190611bc1565b60405180910390f35b610191600480360381019061018c9190611ca4565b61062b565b005b6101ad60048036038101906101a89190611d00565b61072b565b005b6101c960048036038101906101c49190611d00565b610810565b6040516101d69190611d48565b60405180910390f35b6101f960048036038101906101f49190611d00565b610865565b6040516102069190611d72565b60405180910390f35b61022960048036038101906102249190611d8d565b6108e2565b005b6102336109e2565b6040516102409190611e8b565b60405180910390f35b610263600480360381019061025e9190611d00565b610a70565b6040516102709190612069565b60405180910390f35b610293600480360381019061028e9190611d00565b610af9565b005b6102af60048036038101906102aa91906120c1565b610bde565b005b6102cb60048036038101906102c69190611d8d565b610cde565b6040516102d89190611d48565b60405180910390f35b6102fb60048036038101906102f69190611d8d565b610d67565b005b61031760048036038101906103129190611d8d565b610e67565b6040516103249190611d48565b60405180910390f35b61034760048036038101906103429190611d00565b610ef0565b6040516103549190611d72565b60405180910390f35b61037760048036038101906103729190612101565b610f6d565b6040516103849190611bc1565b60405180910390f35b6103a760048036038101906103a29190611d00565b61116c565b005b6103c360048036038101906103be9190611d00565b6113d1565b6040516103d09190611d72565b60405180910390f35b6103f360048036038101906103ee9190611ca4565b61144e565b005b61040f600480360381019061040a9190611d00565b61154e565b60405161041c9190611d48565b60405180910390f35b61043f600480360381019061043a9190611d00565b6115cb565b60405161044c9190611d72565b60405180910390f35b61046f600480360381019061046a9190611d00565b611648565b60405161047c9190611d72565b60405180910390f35b61049f600480360381019061049a919061221a565b6116c5565b005b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052590612325565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663d171b51989898989896040518663ffffffff1660e01b815260040161059895949392919061237e565b6020604051808303816000875af11580156105b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105db91906123ed565b90506105e681611743565b7fe0895ce248f348e6c4cf31166567de65aaeffed89303cf6709201e538b209257816040516106159190611bc1565b60405180910390a1809250505095945050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9f7d0b2836040518263ffffffff1660e01b81526004016106f49190611e8b565b600060405180830381600087803b15801561070e57600080fd5b505af1158015610722573d6000803e3d6000fd5b50505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90612325565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff16635edf7d8b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061242f565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663b7c58d7a836040518263ffffffff1660e01b81526004016109ab9190611bc1565b600060405180830381600087803b1580156109c557600080fd5b505af11580156109d9573d6000803e3d6000fd5b50505050505050565b60606003805480602002602001604051908101604052809291908181526020018280548015610a6657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a1c575b5050505050905090565b610a786118c0565b60008290508073ffffffffffffffffffffffffffffffffffffffff166332f088736040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ac8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610af191906125fd565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b90612325565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663dab5f340836040518263ffffffff1660e01b8152600401610ca79190612655565b600060405180830381600087803b158015610cc157600080fd5b505af1158015610cd5573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff166373b2e80e846040518263ffffffff1660e01b8152600401610d1d9190611bc1565b602060405180830381865afa158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e919061269c565b91505092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166308af4d88836040518263ffffffff1660e01b8152600401610e309190611bc1565b600060405180830381600087803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b50505050505050565b6000808390508073ffffffffffffffffffffffffffffffffffffffff1663babcc539846040518263ffffffff1660e01b8152600401610ea69190611bc1565b602060405180830381865afa158015610ec3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee7919061269c565b91505092915050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff1663cd61a6096040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f65919061242f565b915050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612325565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630920be428b8b8b8b8b8b8b6040518863ffffffff1660e01b815260040161106897969594939291906126c9565b6020604051808303816000875af1158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab91906123ed565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361111c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111139061278b565b60405180910390fd5b61112581611743565b7f3253658f687c8cb74d577a64b270af597e6bae60c74179602af4e8ca7225362d816040516111549190611bc1565b60405180910390a18092505050979650505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612325565b60405180910390fd5b6000805b6003805490508110801561120d575081155b1561138e578273ffffffffffffffffffffffffffffffffffffffff166003828154811061123d5761123c6127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361137b57600191506003600160038054905061129b9190612809565b815481106112ac576112ab6127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600382815481106112eb576112ea6127ab565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060038054806113455761134461283d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b80806113869061286c565b9150506111fb565b5080156113cd577fa075707015b6368eee802922e19a51528f4b98c88e1082b65d4805bf47f8cd32826040516113c49190611bc1565b60405180910390a15b5050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166371127ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611446919061242f565b915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612325565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16633863b1f5836040518263ffffffff1660e01b81526004016115179190611e8b565b600060405180830381600087803b15801561153157600080fd5b505af1158015611545573d6000803e3d6000fd5b50505050505050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166390e64d136040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c3919061269c565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166343f367c86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611640919061242f565b915050919050565b6000808290508073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061242f565b915050919050565b60008590508073ffffffffffffffffffffffffffffffffffffffff16633d13f874868686866040518563ffffffff1660e01b8152600401611709949392919061292f565b600060405180830381600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b50505050505050505050565b6000805b60038054905081108015611759575081155b156117e0578273ffffffffffffffffffffffffffffffffffffffff1660038281548110611789576117886127ab565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614915080806117d89061286c565b915050611747565b508015611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906129bb565b60405180910390fd5b6003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8c716de2eeb0d456a3f3012d8f1ef9fbe14d94374e94ca90f916aadfb8c04b64826040516118b49190611bc1565b60405180910390a15050565b60405180610100016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600060028111156119205761191f611f3b565b5b8152602001606081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119948261194b565b810181811067ffffffffffffffff821117156119b3576119b261195c565b5b80604052505050565b60006119c661192d565b90506119d2828261198b565b919050565b600067ffffffffffffffff8211156119f2576119f161195c565b5b6119fb8261194b565b9050602081019050919050565b82818337600083830152505050565b6000611a2a611a25846119d7565b6119bc565b905082815260208101848484011115611a4657611a45611946565b5b611a51848285611a08565b509392505050565b600082601f830112611a6e57611a6d611941565b5b8135611a7e848260208601611a17565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ab282611a87565b9050919050565b611ac281611aa7565b8114611acd57600080fd5b50565b600081359050611adf81611ab9565b92915050565b6000819050919050565b611af881611ae5565b8114611b0357600080fd5b50565b600081359050611b1581611aef565b92915050565b600080600080600060a08688031215611b3757611b36611937565b5b600086013567ffffffffffffffff811115611b5557611b5461193c565b5b611b6188828901611a59565b9550506020611b7288828901611ad0565b9450506040611b8388828901611b06565b9350506060611b9488828901611b06565b9250506080611ba588828901611b06565b9150509295509295909350565b611bbb81611aa7565b82525050565b6000602082019050611bd66000830184611bb2565b92915050565b600067ffffffffffffffff821115611bf757611bf661195c565b5b602082029050602081019050919050565b600080fd5b6000611c20611c1b84611bdc565b6119bc565b90508083825260208201905060208402830185811115611c4357611c42611c08565b5b835b81811015611c6c5780611c588882611ad0565b845260208401935050602081019050611c45565b5050509392505050565b600082601f830112611c8b57611c8a611941565b5b8135611c9b848260208601611c0d565b91505092915050565b60008060408385031215611cbb57611cba611937565b5b6000611cc985828601611ad0565b925050602083013567ffffffffffffffff811115611cea57611ce961193c565b5b611cf685828601611c76565b9150509250929050565b600060208284031215611d1657611d15611937565b5b6000611d2484828501611ad0565b91505092915050565b60008115159050919050565b611d4281611d2d565b82525050565b6000602082019050611d5d6000830184611d39565b92915050565b611d6c81611ae5565b82525050565b6000602082019050611d876000830184611d63565b92915050565b60008060408385031215611da457611da3611937565b5b6000611db285828601611ad0565b9250506020611dc385828601611ad0565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611e0281611aa7565b82525050565b6000611e148383611df9565b60208301905092915050565b6000602082019050919050565b6000611e3882611dcd565b611e428185611dd8565b9350611e4d83611de9565b8060005b83811015611e7e578151611e658882611e08565b9750611e7083611e20565b925050600181019050611e51565b5085935050505092915050565b60006020820190508181036000830152611ea58184611e2d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee7578082015181840152602081019050611ecc565b60008484015250505050565b6000611efe82611ead565b611f088185611eb8565b9350611f18818560208601611ec9565b611f218161194b565b840191505092915050565b611f3581611ae5565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110611f7b57611f7a611f3b565b5b50565b6000819050611f8c82611f6a565b919050565b6000611f9c82611f7e565b9050919050565b611fac81611f91565b82525050565b6000610100830160008301518482036000860152611fd08282611ef3565b9150506020830151611fe56020860182611df9565b506040830151611ff86040860182611f2c565b50606083015161200b6060860182611f2c565b50608083015161201e6080860182611f2c565b5060a083015161203160a0860182611f2c565b5060c083015161204460c0860182611fa3565b5060e083015184820360e086015261205c8282611ef3565b9150508091505092915050565b600060208201905081810360008301526120838184611fb2565b905092915050565b6000819050919050565b61209e8161208b565b81146120a957600080fd5b50565b6000813590506120bb81612095565b92915050565b600080604083850312156120d8576120d7611937565b5b60006120e685828601611ad0565b92505060206120f7858286016120ac565b9150509250929050565b600080600080600080600060e0888a0312156121205761211f611937565b5b600088013567ffffffffffffffff81111561213e5761213d61193c565b5b61214a8a828b01611a59565b975050602061215b8a828b01611ad0565b965050604061216c8a828b01611b06565b955050606061217d8a828b01611b06565b945050608061218e8a828b01611b06565b93505060a061219f8a828b01611b06565b92505060c06121b08a828b01611b06565b91505092959891949750929550565b600080fd5b60008083601f8401126121da576121d9611941565b5b8235905067ffffffffffffffff8111156121f7576121f66121bf565b5b60208301915083602082028301111561221357612212611c08565b5b9250929050565b60008060008060006080868803121561223657612235611937565b5b600061224488828901611ad0565b955050602061225588828901611ad0565b945050604061226688828901611b06565b935050606086013567ffffffffffffffff8111156122875761228661193c565b5b612293888289016121c4565b92509250509295509295909350565b600082825260208201905092915050565b7f41646472657373206e6f7420616c6c6f77656420746f2063616c6c207468697360008201527f206d6574686f6400000000000000000000000000000000000000000000000000602082015250565b600061230f6027836122a2565b915061231a826122b3565b604082019050919050565b6000602082019050818103600083015261233e81612302565b9050919050565b600061235082611ead565b61235a81856122a2565b935061236a818560208601611ec9565b6123738161194b565b840191505092915050565b600060a08201905081810360008301526123988188612345565b90506123a76020830187611bb2565b6123b46040830186611d63565b6123c16060830185611d63565b6123ce6080830184611d63565b9695505050505050565b6000815190506123e781611ab9565b92915050565b60006020828403121561240357612402611937565b5b6000612411848285016123d8565b91505092915050565b60008151905061242981611aef565b92915050565b60006020828403121561244557612444611937565b5b60006124538482850161241a565b91505092915050565b600080fd5b600080fd5b6000612479612474846119d7565b6119bc565b90508281526020810184848401111561249557612494611946565b5b6124a0848285611ec9565b509392505050565b600082601f8301126124bd576124bc611941565b5b81516124cd848260208601612466565b91505092915050565b600381106124e357600080fd5b50565b6000815190506124f5816124d6565b92915050565b600061010082840312156125125761251161245c565b5b61251d6101006119bc565b9050600082015167ffffffffffffffff81111561253d5761253c612461565b5b612549848285016124a8565b600083015250602061255d848285016123d8565b60208301525060406125718482850161241a565b60408301525060606125858482850161241a565b60608301525060806125998482850161241a565b60808301525060a06125ad8482850161241a565b60a08301525060c06125c1848285016124e6565b60c08301525060e082015167ffffffffffffffff8111156125e5576125e4612461565b5b6125f1848285016124a8565b60e08301525092915050565b60006020828403121561261357612612611937565b5b600082015167ffffffffffffffff8111156126315761263061193c565b5b61263d848285016124fb565b91505092915050565b61264f8161208b565b82525050565b600060208201905061266a6000830184612646565b92915050565b61267981611d2d565b811461268457600080fd5b50565b60008151905061269681612670565b92915050565b6000602082840312156126b2576126b1611937565b5b60006126c084828501612687565b91505092915050565b600060e08201905081810360008301526126e3818a612345565b90506126f26020830189611bb2565b6126ff6040830188611d63565b61270c6060830187611d63565b6127196080830186611d63565b61272660a0830185611d63565b61273360c0830184611d63565b98975050505050505050565b7f4572726f722c2077726f6e67206d6f64652073656c6563746564000000000000600082015250565b6000612775601a836122a2565b91506127808261273f565b602082019050919050565b600060208201905081810360008301526127a481612768565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281482611ae5565b915061281f83611ae5565b9250828203905081811115612837576128366127da565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061287782611ae5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a9576128a86127da565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006128df83856128b4565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612912576129116128c5565b5b6020830292506129238385846128ca565b82840190509392505050565b60006060820190506129446000830187611bb2565b6129516020830186611d63565b81810360408301526129648184866128d3565b905095945050505050565b7f41697264726f7020616c72656164792061646465640000000000000000000000600082015250565b60006129a56015836122a2565b91506129b08261296f565b602082019050919050565b600060208201905081810360008301526129d481612998565b905091905056fea2646970667358221220620b6a89f3af4e0d29dfe52680f6167cf79a317a23500e58afbecbcf0621b20f64736f6c634300081800330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000e68b923822e0b9067413be380dbed46f295f237200000000000000000000000049dbba265c0f4a7ca8c277f57e189f6b90998aee00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006927abd63da2da250e6676c64cf14586e1e1fa10","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"AirdropManagerModule#AirdropManager","networkInteractionId":1,"nonce":12,"transaction":{"fees":{"gasPrice":{"_kind":"bigint","value":"7692100"}},"hash":"0xbb7e6511ef709b24e77e73dfd6c54e240ede3437aa0b74e059aeeb6607e6d8ae"},"type":"TRANSACTION_SEND"} +{"futureId":"AirdropManagerModule#AirdropManager","hash":"0xbb7e6511ef709b24e77e73dfd6c54e240ede3437aa0b74e059aeeb6607e6d8ae","networkInteractionId":1,"receipt":{"blockHash":"0x313452762b6cbfb79773955a623474333d73fa0775a1fc44f1d31a5805bf13e5","blockNumber":5686275,"contractAddress":"0xFdEdc1427b745D9876B5BBF21e2F57922CF78117","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"AirdropManagerModule#AirdropManager","result":{"address":"0xFdEdc1427b745D9876B5BBF21e2F57922CF78117","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file diff --git a/ignition/modules/AirdropManager.ts b/ignition/modules/AirdropManager.ts new file mode 100644 index 0000000..7685089 --- /dev/null +++ b/ignition/modules/AirdropManager.ts @@ -0,0 +1,35 @@ +// This setup uses Hardhat Ignition to manage smart contract deployments. +// Learn more about it at https://hardhat.org/ignition + +import { buildModule } from '@nomicfoundation/hardhat-ignition/modules' + +const AirdropDeployerERC20Module = buildModule( + 'AirdropDeployerERC20Module', + (m) => { + const airdropDeployerERC20 = m.contract('AirdropDeployerERC20', []) + return { airdropDeployerERC20 } + } +) +const AirdropDeployerERC1155Module = buildModule( + 'AirdropDeployerERC1155Module', + (m) => { + const airdropDeployerERC1155 = m.contract('AirdropDeployerERC1155', []) + return { airdropDeployerERC1155 } + } +) + +const AirdropManagerModule = buildModule('AirdropManagerModule', (m) => { + const { airdropDeployerERC20 } = m.useModule(AirdropDeployerERC20Module) + const { airdropDeployerERC1155 } = m.useModule(AirdropDeployerERC1155Module) + const initialValues = ['0x6927ABD63Da2Da250E6676c64cF14586E1E1fA10'] + const initialAdmins = m.getParameter('initialAdmins', initialValues) + + const airdropManager = m.contract('AirdropManager', [ + initialAdmins, + airdropDeployerERC20, + airdropDeployerERC1155, + ]) + return { airdropManager } +}) + +export default AirdropManagerModule diff --git a/ignition/modules/ERC1155.ts b/ignition/modules/ERC1155.ts new file mode 100644 index 0000000..eccf41b --- /dev/null +++ b/ignition/modules/ERC1155.ts @@ -0,0 +1,14 @@ +// This setup uses Hardhat Ignition to manage smart contract deployments. +// Learn more about it at https://hardhat.org/ignition + +import { buildModule } from '@nomicfoundation/hardhat-ignition/modules' + +const ERC1155Module = buildModule( + 'ERC1155Module', + (m) => { + const erc1155 = m.contract('MyToken', []) + return { erc1155 } + } +) + +export default ERC1155Module \ No newline at end of file diff --git a/ignition/modules/Lock.ts b/ignition/modules/Lock.ts deleted file mode 100644 index eda0eba..0000000 --- a/ignition/modules/Lock.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; - -const JAN_1ST_2030 = 1893456000; -const ONE_GWEI: bigint = 1_000_000_000n; - -const LockModule = buildModule("LockModule", (m) => { - const unlockTime = m.getParameter("unlockTime", JAN_1ST_2030); - const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI); - - const lock = m.contract("Lock", [unlockTime], { - value: lockedAmount, - }); - - return { lock }; -}); - -export default LockModule; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0a3e1ed --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3792 @@ +{ + "name": "airdrop-template", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@nomicfoundation/hardhat-ignition": "^0.15.7", + "dotenv": "^16.4.5" + }, + "devDependencies": { + "@nomiclabs/hardhat-etherscan": "^3.1.8" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "peer": true, + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, + "node_modules/@nomicfoundation/edr": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.6.4.tgz", + "integrity": "sha512-YgrSuT3yo5ZQkbvBGqQ7hG+RDvz3YygSkddg4tb1Z0Y6pLXFzwrcEwWaJCFAVeeZxdxGfCgGMUYgRVneK+WXkw==", + "peer": true, + "dependencies": { + "@nomicfoundation/edr-darwin-arm64": "0.6.4", + "@nomicfoundation/edr-darwin-x64": "0.6.4", + "@nomicfoundation/edr-linux-arm64-gnu": "0.6.4", + "@nomicfoundation/edr-linux-arm64-musl": "0.6.4", + "@nomicfoundation/edr-linux-x64-gnu": "0.6.4", + "@nomicfoundation/edr-linux-x64-musl": "0.6.4", + "@nomicfoundation/edr-win32-x64-msvc": "0.6.4" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-darwin-arm64": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.6.4.tgz", + "integrity": "sha512-QNQErISLgssV9+qia8sIjRANqtbW8snSDvjspixT/kSQ5ZSGxxctTg7x72wPSrcu8+EBEveIe5uqENIp5GH8HQ==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-darwin-x64": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.6.4.tgz", + "integrity": "sha512-cjVmREiwByyc9+oGfvAh49IAw+oVJHF9WWYRD+Tm/ZlSpnEVWxrGNBak2bd/JSYjn+mZE7gmWS4SMRi4nKaLUg==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.6.4.tgz", + "integrity": "sha512-96o9kRIVD6W5VkgKvUOGpWyUGInVQ5BRlME2Fa36YoNsRQMaKtmYJEU0ACosYES6ZTpYC8U5sjMulvPtVoEfOA==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-musl": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.6.4.tgz", + "integrity": "sha512-+JVEW9e5plHrUfQlSgkEj/UONrIU6rADTEk+Yp9pbe+mzNkJdfJYhs5JYiLQRP4OjxH4QOrXI97bKU6FcEbt5Q==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-gnu": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.6.4.tgz", + "integrity": "sha512-nzYWW+fO3EZItOeP4CrdMgDXfaGBIBkKg0Y/7ySpUxLqzut40O4Mb0/+quqLAFkacUSWMlFp8nsmypJfOH5zoA==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-musl": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.6.4.tgz", + "integrity": "sha512-QFRoE9qSQ2boRrVeQ1HdzU+XN7NUgwZ1SIy5DQt4d7jCP+5qTNsq8LBNcqhRBOATgO63nsweNUhxX/Suj5r1Sw==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-win32-x64-msvc": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.6.4.tgz", + "integrity": "sha512-2yopjelNkkCvIjUgBGhrn153IBPLwnsDeNiq6oA0WkeM8tGmQi4td+PGi9jAriUDAkc59Yoi2q9hYA6efiY7Zw==", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/ethereumjs-common": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", + "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "peer": true, + "dependencies": { + "@nomicfoundation/ethereumjs-util": "9.0.4" + } + }, + "node_modules/@nomicfoundation/ethereumjs-rlp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", + "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "peer": true, + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", + "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "peer": true, + "dependencies": { + "@nomicfoundation/ethereumjs-common": "4.0.4", + "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "@nomicfoundation/ethereumjs-util": "9.0.4", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "c-kzg": "^2.1.2" + }, + "peerDependenciesMeta": { + "c-kzg": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "peer": true, + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", + "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "peer": true, + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "c-kzg": "^2.1.2" + }, + "peerDependenciesMeta": { + "c-kzg": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "peer": true, + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition": { + "version": "0.15.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.7.tgz", + "integrity": "sha512-RFhGazR0/JqHxuuIxjjMmM+nWFqEvA7wcVqcX7vUqqmAIGuok4HhnWQH8aOvBaVguiXvvlFDJL0PIlxmkFgIUg==", + "dependencies": { + "@nomicfoundation/ignition-core": "^0.15.7", + "@nomicfoundation/ignition-ui": "^0.15.7", + "chalk": "^4.0.0", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "json5": "^2.2.3", + "prompts": "^2.4.2" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-verify": "^2.0.1", + "hardhat": "^2.18.0" + } + }, + "node_modules/@nomicfoundation/hardhat-verify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.11.tgz", + "integrity": "sha512-lGIo4dNjVQFdsiEgZp3KP6ntLiF7xJEJsbNHfSyIiFCyI0Yv0518ElsFtMC5uCuHEChiBBMrib9jWQvHHT+X3Q==", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "lodash.clonedeep": "^4.5.0", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" + }, + "peerDependencies": { + "hardhat": "^2.0.4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/ignition-core": { + "version": "0.15.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-core/-/ignition-core-0.15.7.tgz", + "integrity": "sha512-C4/0V/q2gNxKDt88cMr+Oxlf4NINQ7QgmJyciQ1/6UdCRUg+/Pgdgpd3vgGXQVTotq50Q/BU4ofNUAD/8HRqtg==", + "dependencies": { + "@ethersproject/address": "5.6.1", + "@nomicfoundation/solidity-analyzer": "^0.1.1", + "cbor": "^9.0.0", + "debug": "^4.3.2", + "ethers": "^6.7.0", + "fs-extra": "^10.0.0", + "immer": "10.0.2", + "lodash": "4.17.21", + "ndjson": "2.0.0" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/@ethersproject/address": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", + "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/cbor": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-9.0.2.tgz", + "integrity": "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==", + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@nomicfoundation/ignition-ui": { + "version": "0.15.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.7.tgz", + "integrity": "sha512-pj2LmXylgbHOTNrkFqFrre/FAOjcwYl4VKIKVH/QMMBH/DatbiT8aC5n9o2fbLD8uwlPEesD+uXZuKCE71KFBg==" + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", + "engines": { + "node": ">= 12" + }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.8.tgz", + "integrity": "sha512-v5F6IzQhrsjHh6kQz4uNrym49brK9K5bYCq2zQZ729RYRaifI9hHbtmK+KkIVevfhut7huQFEQ77JLRMAzWYjQ==", + "deprecated": "The @nomiclabs/hardhat-etherscan package is deprecated, please use @nomicfoundation/hardhat-verify instead", + "dev": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.11", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" + }, + "peerDependencies": { + "hardhat": "^2.0.4" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@scure/base": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "peer": true, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true, + "dependencies": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, + "node_modules/@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true, + "dependencies": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@scure/bip39/node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "peer": true, + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "peer": true, + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "peer": true, + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "peer": true, + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/node/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "peer": true, + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/tracing/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "peer": true, + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@types/bn.js": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", + "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "peer": true + }, + "node_modules/@types/node": { + "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/secp256k1": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "peer": true, + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "peer": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "peer": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "peer": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "peer": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "peer": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "peer": true + }, + "node_modules/base-x": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "peer": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "peer": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "peer": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "peer": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "peer": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "peer": true, + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "peer": true, + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "peer": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "peer": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=12.19" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "peer": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "peer": true + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "peer": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "peer": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "peer": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "peer": true, + "dependencies": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "peer": true, + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-abi/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "peer": true + }, + "node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "peer": true + }, + "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "peer": true, + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethers": { + "version": "6.13.4", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.4.tgz", + "integrity": "sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "22.7.5", + "aes-js": "4.0.0-beta.5", + "tslib": "2.7.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "peer": true, + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "peer": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "peer": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "peer": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "peer": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", + "peer": true + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "peer": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/hardhat": { + "version": "2.22.14", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.14.tgz", + "integrity": "sha512-sD8vHtS9l5QQVHzyPPe3auwZDJyZ0fG3Z9YENVa4oOqVEefCuHcPzdU736rei3zUKTqkX0zPIHkSMHpu02Fq1A==", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@nomicfoundation/edr": "^0.6.4", + "@nomicfoundation/ethereumjs-common": "4.0.4", + "@nomicfoundation/ethereumjs-tx": "5.0.4", + "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "boxen": "^5.1.2", + "chalk": "^2.4.2", + "chokidar": "^4.0.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "json-stream-stringify": "^3.1.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.8.26", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "bin": { + "hardhat": "internal/cli/bootstrap.js" + }, + "peerDependencies": { + "ts-node": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/hardhat/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/hardhat/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true + }, + "node_modules/hardhat/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hardhat/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/hardhat/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/hardhat/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/hardhat/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "peer": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "peer": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "peer": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immer": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.2.tgz", + "integrity": "sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "peer": true + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "peer": true, + "dependencies": { + "fp-ts": "^1.0.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "peer": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "peer": true, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stream-stringify": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz", + "integrity": "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==", + "peer": true, + "engines": { + "node": ">=7.10.1" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keccak": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "peer": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "peer": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", + "peer": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "peer": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "peer": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "peer": true, + "dependencies": { + "obliterator": "^2.0.0" + } + }, + "node_modules/mocha": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", + "peer": true, + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/ndjson": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-2.0.0.tgz", + "integrity": "sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==", + "dependencies": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.5", + "readable-stream": "^3.6.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "ndjson": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "peer": true + }, + "node_modules/node-gyp-build": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "peer": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "engines": { + "node": ">=12.19" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==", + "peer": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "peer": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "peer": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "peer": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "peer": true + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "peer": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "peer": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "peer": true, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "peer": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "peer": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "peer": true, + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "peer": true + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "peer": true + }, + "node_modules/secp256k1": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "elliptic": "^6.5.7", + "node-addon-api": "^5.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/secp256k1/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "peer": true + }, + "node_modules/secp256k1/node_modules/elliptic": { + "version": "6.5.7", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", + "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", + "peer": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/secp256k1/node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "peer": true + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "peer": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "peer": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/solc": { + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", + "peer": true, + "dependencies": { + "command-exists": "^1.2.8", + "commander": "^8.1.0", + "follow-redirects": "^1.12.1", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solc.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/solc/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "peer": true, + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "peer": true, + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "peer": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", + "peer": true + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", + "peer": true + }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", + "peer": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici": { + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "peer": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "peer": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "peer": true + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "peer": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "peer": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 321a458..b8a332f 100644 --- a/package.json +++ b/package.json @@ -1,35 +1,9 @@ { - "devDependencies": { - "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", - "@nomicfoundation/hardhat-ethers": "^3.0.0", - "@nomicfoundation/hardhat-ignition": "^0.15.0", - "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", - "@nomicfoundation/hardhat-network-helpers": "^1.0.0", - "@nomicfoundation/hardhat-toolbox": "^5.0.0", - "@nomicfoundation/hardhat-verify": "^2.0.0", - "@typechain/ethers-v6": "^0.5.0", - "@typechain/hardhat": "^9.0.0", - "@types/chai": "^4.2.0", - "@types/mocha": ">=9.1.0", - "@types/node": ">=18.0.0", - "chai": "^4.2.0", - "ethers": "^6.4.0", - "hardhat": "^2.22.6", - "hardhat-gas-reporter": "^1.0.8", - "solidity-coverage": "^0.8.0", - "ts-node": ">=8.0.0", - "typechain": "^8.3.0", - "typescript": ">=4.5.0" - }, "dependencies": { - "@openzeppelin/contracts": "^5.0.2", - "@openzeppelin/merkle-tree": "^1.0.7", - "dotenv": "^16.4.5", - "hardhat-contract-sizer": "^2.10.0", - "hardhat-deploy": "^0.12.4", - "hardhat-docgen": "^1.3.0", - "hardhat-preprocessor": "^0.1.5", - "keccak256": "^1.0.6", - "merkletreejs": "^0.4.0" + "@nomicfoundation/hardhat-ignition": "^0.15.7", + "dotenv": "^16.4.5" + }, + "devDependencies": { + "@nomiclabs/hardhat-etherscan": "^3.1.8" } } diff --git a/scripts/merkle-tree/README.md b/scripts/merkle-tree/README.md deleted file mode 100644 index 4b69f0c..0000000 --- a/scripts/merkle-tree/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# Merkle tree builder - -This scripts allows you to generate the merkle tree root for an [address,uint256] array set. - -You can run it with hardhat scripts like: - -`INPUT_PATH="./scripts/merkle-tree/input-example.json" npx hardhat run ./scripts/merkle-tree/build-root.ts` - -Where `INPUT_PATH` environment variable has the path to a JSON file following this structure, like [.input-example.json](input-example.json): - -```json -{ - "entries": [ - ["0x794ECa71579286398C4aee17e3D96E8DaF7559bA", 1000], - ... - ] -] -``` - -Where `entries` property, is and tuple array set containing what will become each leaf of the tree, with `address` and `value`. In Airdrop use case, `value` will be the balance airdropped. - -This script will console output two values, the root of the tree and the sum of each leaf value ("TotalClaimSupply"), like: - -```sh -MerkleTree root is: 0x9067d4a327babf16807f1425adf037e2aeba79bd2b811a45d8de1a1450baeef6 -TotalClaimSupply is: 47600n -``` - -_Note_: this script is intended to be use with small sets (less that ~100k entries), as the whole JSON file is loaded into memory. For bigger data sets, a new version with stream file reading should be adapted. - -To get readable data in JSON format for using in the front end, obtain the log output and paste in a JSON file in the frontend, it comes with the structure: -[ - { - address: '0x00000000000....', - amount: 200, - proof: [ - '0xba8f682129e462b575103ae73480848cc7f24ebcabf3cb5f12334c54d710948c', - '0xa53e43a19488d623be788a0b9d368f9475e162543c55802a4327d960f593029f', - '0xdbbf324f8ebd33ce189c7d56bae6f754b7aee80a1c09cf4d1a458f1f5fdc2141', - '0x6d72bed3b7e2fc756c477b203bd24b333db18283ea59d61db24723ea66d3a018' - ] - } - ... -] \ No newline at end of file diff --git a/scripts/merkle-tree/build-root.ts b/scripts/merkle-tree/build-root.ts deleted file mode 100644 index f04216f..0000000 --- a/scripts/merkle-tree/build-root.ts +++ /dev/null @@ -1,63 +0,0 @@ -/** - * This scripts take a JSON file as input, and calculates the MerkleTree root - * hash for the Airdrop. The file should follow the account/balance schema. - */ - -import fs from "fs"; -import { BigNumberish, ethers, toBigInt } from "ethers"; -import { Address } from "hardhat-deploy/types"; -import { createMerkleTree } from "../utils"; - -async function main() { - let inputPath = process.env.INPUT_PATH; - if (!inputPath) { - inputPath = "./scripts/merkle-tree/input-example.json"; - console.log(`No set, using ${inputPath} instead.`); - } - const rawData = fs.readFileSync(inputPath, "utf8"); - const jsonData = JSON.parse(rawData); - const merkleTreeValues: Array<[Address, BigNumberish]> = new Array<[Address, BigNumberish]>(); - let totalClaimSupply = BigInt(0); - - const controlMap: Map = new Map(); - jsonData.entries.forEach((leaf: [Address, BigNumberish], index: number) => { - if (controlMap.has(leaf[0])) throw Error(`No duplications allow: ${leaf[0]} at position ${index}`); - if (toBigInt(leaf[1]) <= BigInt(0)) throw Error(`Value cannot be zero: position ${index}`); - controlMap.set(leaf[0], leaf[1]); - - merkleTreeValues.push(leaf); - totalClaimSupply += toBigInt(leaf[1]); - }); - - const merkleTree = createMerkleTree(merkleTreeValues); - jsonData.entries.forEach((leaf: [Address, BigNumberish]) => { - console.log(`Proof for ${leaf[0]} is: ${merkleTree.getProof(leaf)}`); - }); - - const jsonInfo = jsonData.entries.map((leaf: [Address, BigNumberish]) => { - return { - address: leaf[0], - amount: leaf[1].toString(), - proof: merkleTree.getProof(leaf), - }; - }); - const formatedData = { - merkleRoot: merkleTree.root, - totalClaimSupply: totalClaimSupply.toString(), - claims: jsonInfo, - }; - - console.log("------------------------"); - console.log("MerkleTree root is:", merkleTree.root); - console.log("TotalClaimSupply is:", totalClaimSupply); - - const outputPath = "./scripts/merkle-tree/output.json"; - fs.writeFileSync(outputPath, JSON.stringify(formatedData, null, 2), "utf8"); - console.log("------------------------"); - console.log(`Data written to ${outputPath}`); -} - -main().catch(error => { - console.error(error); - process.exitCode = 1; -}); diff --git a/scripts/merkle-tree/input-example.json b/scripts/merkle-tree/input-example.json deleted file mode 100644 index baf5fc0..0000000 --- a/scripts/merkle-tree/input-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "entries": [ - ["0x3FBb8898a01044C3d5300bf5373bf85811A864b0", "1000000000000000000000"], - ["0x02602e248e83aB9aBf16d8c3F968D03A67EBA741", "2000000000000000000000"], - ["0xDbE646Bc1064a628Dc1e01A40d232b78eE6aD6f6", "3000000000000000000000"], - ["0xD8ca46af46b7B07dE8751fC6830Cc0871099f98f", "4000000000000000000000"], - ["0xff54A7563fc6bB7A34Ca66B41265f7f7D61b3a7D", "5000000000000000000000"], - ["0x02296595B254bBA0eC6f8732F211359316B70993", "6000000000000000000000"], - ["0xE03316A53F0055062b383D0A02EC82102Af38709", "7000000000000000000000"], - ["0xFf3098954d4E4B44B103ca809F9FF20CF7229Be2", "8000000000000000000000"], - ["0x98F029c802dA9542c8BdE8FEc9587609371f6582", "9000000000000000000000"], - ["0x71e15DCf569a774B47f2343124a589F7f29955c1", "800000000000000000000"], - ["0x5523b6e805fdba6B6ee4CCa7151A2de408d714e9", "700000000000000000000"], - ["0xbc59FC4572243c4fDa8A5d8872AE5BD1Bdc7F969", "600000000000000000000"], - ["0xC48b6ca784eab16aF729C55B1b3361aDc6Fa04d2", "500000000000000000000"], - ["0xd22fBFFFfA3D330464F063600c182A664976D1F5", "400000000000000000000"], - ["0x2a680154b5ef8F34539508adE2A0F08F7A6F7e11", "100000000000000000000"], - ["0x78234D008aedb006Fc01aeb669b6715816364708", "100000000000000000000"], - ["0xE4E2286b275f330BBaa08FCCc429aB71461F4d59", "100000000000000000000"], - ["0xd9C60e61c60AafE4F0b1196B27E24e0cd0EdaE7B", "100000000000000000000"], - ["0x287592C0ACCC4543A1D6787D9eA2c82E5a24b476", "100000000000000000000"], - ["0xDefd9db059b1956e81E3bEc58e665e2be1d5e775", "200000000000000000000"] - ] -} \ No newline at end of file diff --git a/scripts/merkle-tree/output.json b/scripts/merkle-tree/output.json deleted file mode 100644 index 579958d..0000000 --- a/scripts/merkle-tree/output.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "merkleRoot": "0xd2a92831bbd93fed2910ea6d7c20b622055843a0b7b6898135e99328eb9db409", - "totalClaimSupply": "48700000000000000000000", - "claims": [ - { - "address": "0x3FBb8898a01044C3d5300bf5373bf85811A864b0", - "amount": "1000000000000000000000", - "proof": [ - "0xeb0b651172eb0dd35c9e70ffa72aff09da8e15044957aef4c73af58643ae85ad", - "0xbcaf2cb0ef9e113cbb6dc775881553ad76740fa264655361516ca4483a395eef", - "0x30d000368a51cd969059deab28994c7b454c1971e0a5c0be2f95f4b540f11323", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0x02602e248e83aB9aBf16d8c3F968D03A67EBA741", - "amount": "2000000000000000000000", - "proof": [ - "0xa4b9e7bad8376eff85b161d093db66fcd69fefadf8349ab9fc71f90d9314c26a", - "0x9e542c468a22915c0935ca0150659451e247dcbb06900b140555f0e4b115f714", - "0x96e662bf96246da971db58ed0cb014dd8396e9e65826ecbdc8891cdaf69a4ecf", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0xDbE646Bc1064a628Dc1e01A40d232b78eE6aD6f6", - "amount": "3000000000000000000000", - "proof": [ - "0x770a3fcbcce24778e1fecac79f108a08c8bff199544ea5d834a274fdfd1ec196", - "0x899318bc77616f04eec6a4a59ef2be9355f72deddd55e9e66e7bb4a33259b25e", - "0xdbb3bc66d39263ad382a37245491f716fa8ff690c9f02629ab412a3a925cf725", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0xD8ca46af46b7B07dE8751fC6830Cc0871099f98f", - "amount": "4000000000000000000000", - "proof": [ - "0x8f092268ab90cc525d58edb884c5f3de39400000a6a2a11ba3f789e58ce01797", - "0xaeabf1eace3b6515480913abd6ab59c609d467d24f380de82ec552ae8a2cecd7", - "0x96e662bf96246da971db58ed0cb014dd8396e9e65826ecbdc8891cdaf69a4ecf", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0xff54A7563fc6bB7A34Ca66B41265f7f7D61b3a7D", - "amount": "5000000000000000000000", - "proof": [ - "0x63b20bce47f7fb7756e44ce7d5732560d157e96ad9bd92cf76b6c2513166efbc", - "0x92acecdb4f0a673c55e7da6c71d0351520c691ddb13c327fe0bb2b810224c9ff", - "0xdbb3bc66d39263ad382a37245491f716fa8ff690c9f02629ab412a3a925cf725", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0x02296595B254bBA0eC6f8732F211359316B70993", - "amount": "6000000000000000000000", - "proof": [ - "0xe2beeb4c97924bf4a02970ede5fc5cbd0d8cc6965e70172c16f23b6f0c8325a7", - "0x678cef3a23d97a6f0113534f73319a42f6f125b3b30d3b994ddc6374e9c1d584", - "0x30d000368a51cd969059deab28994c7b454c1971e0a5c0be2f95f4b540f11323", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0xE03316A53F0055062b383D0A02EC82102Af38709", - "amount": "7000000000000000000000", - "proof": [ - "0x1f6fdda93937ebe90f310b2318578a5444012726c7fa94407ad7c5ab8e3c4ba9", - "0x94c5a4df28966ba412d53c392bcce8067a95e19cd295f616090ee898624fd0b5", - "0xb4f4655f8cf2dfb28dde88b27939db467f6cb201fb4474fcd7b2e82879095542", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0xFf3098954d4E4B44B103ca809F9FF20CF7229Be2", - "amount": "8000000000000000000000", - "proof": [ - "0x5d906d51c986b446db6e50b5291811db6a6eb121f7ea53149c3acfce9ab697fe", - "0x92acecdb4f0a673c55e7da6c71d0351520c691ddb13c327fe0bb2b810224c9ff", - "0xdbb3bc66d39263ad382a37245491f716fa8ff690c9f02629ab412a3a925cf725", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0x98F029c802dA9542c8BdE8FEc9587609371f6582", - "amount": "9000000000000000000000", - "proof": [ - "0x26674b811a85aba18b0a592b4a097379eefa46e10fcb8e964cc0b1843e4f0222", - "0xff54f6ad2f852786195538ccec0ada890cfb8cb7b06703260799e8bd4a5e1ca9", - "0xfa5c08ba3d0ff186f1a5ae288578b5af1cb39533d0989f213389cff6c40d54af", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0x71e15DCf569a774B47f2343124a589F7f29955c1", - "amount": "800000000000000000000", - "proof": [ - "0x4f52705d1329c4c354b36a7e9cc0a71188e91436f269d424390929ee13b4024b", - "0x06cdc2094c3b5a9b05c548be1edc679f7056bd49c290bd37586b5c017ae275d9", - "0xfa5c08ba3d0ff186f1a5ae288578b5af1cb39533d0989f213389cff6c40d54af", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0x5523b6e805fdba6B6ee4CCa7151A2de408d714e9", - "amount": "700000000000000000000", - "proof": [ - "0x8208e53fe528ccf33d55f19273fa3727c27ba49adc5bd254f88bc5800c10a56a", - "0xaeabf1eace3b6515480913abd6ab59c609d467d24f380de82ec552ae8a2cecd7", - "0x96e662bf96246da971db58ed0cb014dd8396e9e65826ecbdc8891cdaf69a4ecf", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0xbc59FC4572243c4fDa8A5d8872AE5BD1Bdc7F969", - "amount": "600000000000000000000", - "proof": [ - "0x41e3a4f6328139d15cec6dc174795b3800c0c682785eb52e711ea1b7cdf767c4", - "0x06cdc2094c3b5a9b05c548be1edc679f7056bd49c290bd37586b5c017ae275d9", - "0xfa5c08ba3d0ff186f1a5ae288578b5af1cb39533d0989f213389cff6c40d54af", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0xC48b6ca784eab16aF729C55B1b3361aDc6Fa04d2", - "amount": "500000000000000000000", - "proof": [ - "0xdf55e218cba11fed32abe4b0e3649d3eee5976e1cd5081070d9adeea5371f232", - "0x678cef3a23d97a6f0113534f73319a42f6f125b3b30d3b994ddc6374e9c1d584", - "0x30d000368a51cd969059deab28994c7b454c1971e0a5c0be2f95f4b540f11323", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0xd22fBFFFfA3D330464F063600c182A664976D1F5", - "amount": "400000000000000000000", - "proof": [ - "0x41261ce3ae48c194a570cc8fd41c8f4136e745d6c2b4a8848e7543d7a84759c5", - "0xff54f6ad2f852786195538ccec0ada890cfb8cb7b06703260799e8bd4a5e1ca9", - "0xfa5c08ba3d0ff186f1a5ae288578b5af1cb39533d0989f213389cff6c40d54af", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0x2a680154b5ef8F34539508adE2A0F08F7A6F7e11", - "amount": "100000000000000000000", - "proof": [ - "0x0a11eae83825110ee59c2cd2ef0af59550ee627599ce5131978b68c37d0024e7", - "0x105b706d2529b669fc432565ff08a60ca8ffaf343fa1c18805626208b1d22af6", - "0xb4f4655f8cf2dfb28dde88b27939db467f6cb201fb4474fcd7b2e82879095542", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0x78234D008aedb006Fc01aeb669b6715816364708", - "amount": "100000000000000000000", - "proof": [ - "0x76a9d644444168488e691f72fcc111b8f96298e443e3163861fd81a2c9f4d2e2", - "0x899318bc77616f04eec6a4a59ef2be9355f72deddd55e9e66e7bb4a33259b25e", - "0xdbb3bc66d39263ad382a37245491f716fa8ff690c9f02629ab412a3a925cf725", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0xE4E2286b275f330BBaa08FCCc429aB71461F4d59", - "amount": "100000000000000000000", - "proof": [ - "0xe5a8ffa8a0237dc361c2921af9e2b98ac772010d64edf08dc7629c929e54134b", - "0xbcaf2cb0ef9e113cbb6dc775881553ad76740fa264655361516ca4483a395eef", - "0x30d000368a51cd969059deab28994c7b454c1971e0a5c0be2f95f4b540f11323", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0xd9C60e61c60AafE4F0b1196B27E24e0cd0EdaE7B", - "amount": "100000000000000000000", - "proof": [ - "0x1cd6c29b5c3d84f087e44056c5371b6237a80956731a6ef15647362d9e389590", - "0x94c5a4df28966ba412d53c392bcce8067a95e19cd295f616090ee898624fd0b5", - "0xb4f4655f8cf2dfb28dde88b27939db467f6cb201fb4474fcd7b2e82879095542", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - }, - { - "address": "0x287592C0ACCC4543A1D6787D9eA2c82E5a24b476", - "amount": "100000000000000000000", - "proof": [ - "0x936b2c0f6d93b43225b57c42bdfc1bb921853c1dafaa5f798883e2220389a503", - "0x9e542c468a22915c0935ca0150659451e247dcbb06900b140555f0e4b115f714", - "0x96e662bf96246da971db58ed0cb014dd8396e9e65826ecbdc8891cdaf69a4ecf", - "0x09f4f3791cb6171d197927f18c69065dd6a316d9cdafc72328a978292bcfa64a" - ] - }, - { - "address": "0xDefd9db059b1956e81E3bEc58e665e2be1d5e775", - "amount": "200000000000000000000", - "proof": [ - "0x1b6c1f19d9e49c1eac4e6457ee9867b691284f8f86b74dde07189d22fec250ea", - "0x105b706d2529b669fc432565ff08a60ca8ffaf343fa1c18805626208b1d22af6", - "0xb4f4655f8cf2dfb28dde88b27939db467f6cb201fb4474fcd7b2e82879095542", - "0x96179ea56e1b403cdf65514c5b24d8782de3b819ac6d4d569f403d335ef4614d", - "0xe970fcc67d733154bd8fe0f5fad2d91e3868cd5d465a48e26651670d59c89af3" - ] - } - ] -} \ No newline at end of file diff --git a/scripts/types.ts b/scripts/types.ts deleted file mode 100644 index 75f737c..0000000 --- a/scripts/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BytesLike } from "ethers"; -import { Address } from "hardhat-deploy/types"; - -type ClaimPermit = { domain: { name: string; version: string }; authMsg: string; recipientMsg: string }; - -export type DeployParameters = { - airdropGovernance?: { - rootNode?: BytesLike; - tokenAddress?: Address; - }; -}; diff --git a/scripts/utils.ts b/scripts/utils.ts deleted file mode 100644 index d08f4fa..0000000 --- a/scripts/utils.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BigNumberish, toBigInt } from "ethers"; -import { HardhatRuntimeEnvironment } from "hardhat/types/runtime"; -import { StandardMerkleTree } from "@openzeppelin/merkle-tree"; -import { Address } from "hardhat-deploy/types"; - -export const createMerkleTree = (merkleTreeValues: Array<[Address, BigNumberish]>) => { - return StandardMerkleTree.of(merkleTreeValues, ["address", "uint256"]); -}; - -export const createDefaultMerkleTree = async (hre: HardhatRuntimeEnvironment) => { - const namedAccounts = await hre.getNamedAccounts(); - const defaultMerkleTreeReceivers: Array
= [ - namedAccounts.alice, - namedAccounts.bob, - namedAccounts.charly, - namedAccounts.david, - ]; - const defaultMerkleTreeValues: Array<[Address, BigNumberish]> = defaultMerkleTreeReceivers.map((recipientt, i) => [ - recipientt, - (BigInt(10 ** 18) * BigInt(i + 1)).toString(), - ]); - let totalClaimSupply = BigInt(0); - const defaultMerkleTreeMap: Map = new Map(); - for (const value of defaultMerkleTreeValues) { - defaultMerkleTreeMap.set(value[0], value[1]); - totalClaimSupply += toBigInt(value[1]); - } - - const defaultMerkleTree = await createMerkleTree(defaultMerkleTreeValues); - return { defaultMerkleTree, defaultMerkleTreeReceivers, defaultMerkleTreeMap, totalClaimSupply }; -}; diff --git a/test/AirdropManager.test.ts b/test/AirdropManager.test.ts deleted file mode 100644 index 21bb465..0000000 --- a/test/AirdropManager.test.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; - -describe("AirdropManager", function () { - let admin: any; - let user1: any; - let user2: any; - let airdropManager: any; - let customAirdrop: any; - let myToken: any; - - before(async function () { - [admin, user1, user2] = await ethers.getSigners(); - - myToken = await ethers.deployContract("MyToken", [admin.address], { signer: admin }); - await myToken.waitForDeployment(); - console.log("MyToken deployed at", await myToken.getAddress()); - - const name = "Custom Airdrop"; - const tokenId = 1; - const totalAirdropAmount = ethers.parseUnits("100", 18); - const claimAmount = ethers.parseUnits("1", 18); - const expirationDate = Math.floor(Date.now() / 1000) + 86400; // 1 day from now - - customAirdrop = await ethers.deployContract("CustomAirdrop1155", [ - name, - admin.address, - await myToken.getAddress(), - tokenId, - totalAirdropAmount, - claimAmount, - expirationDate - ], { signer: admin }); - await customAirdrop.waitForDeployment(); - console.log("CustomAirdrop deployed at", await customAirdrop.getAddress()); - - - airdropManager = await ethers.deployContract("AirdropManager", [[admin.address]], { signer: admin }); - await airdropManager.waitForDeployment(); - console.log("AirdropManager deployed at", await airdropManager.getAddress()); - - - await customAirdrop.transferOwnership(await airdropManager.getAddress()); - }); - - it("should add an airdrop successfully", async function () { - await airdropManager.addAirdrop(await customAirdrop.getAddress()); - const airdrops = await airdropManager.getAirdrops(); - expect(airdrops).to.include(await customAirdrop.getAddress()); - }); - - it("should not allow a non-admin to allow addresses", async function () { - await expect(airdropManager.connect(user1).allowAddress(await customAirdrop.getAddress(), user1.address)).to.be.reverted; - }); - - it("should allow an admin to allow addresses", async function () { - await airdropManager.allowAddress(await customAirdrop.getAddress(), user1.address); - const isAllowed = await airdropManager.isAllowed(await customAirdrop.getAddress(), user1.address); - expect(isAllowed).to.be.true; - }); - - it("should allow a user to claim airdrop after being allowed", async function () { - - await myToken.mint(await customAirdrop.getAddress(), 1, ethers.parseUnits("100", 18), "0x"); - - - const airdropBalance = await myToken.balanceOf(await customAirdrop.getAddress(), 1); - expect(airdropBalance.toString()).to.equal(ethers.parseUnits("100", 18).toString()); - - - await airdropManager.claim(await customAirdrop.getAddress(), user1.address); - - - const userBalance = await myToken.balanceOf(user1.address, 1); - expect(userBalance.toString()).to.equal(ethers.parseUnits("1", 18).toString()); - }); - - it("should fail to claim airdrop if user is not allowed", async function () { - await expect(airdropManager.claim(await customAirdrop.getAddress(), user2.address)).to.be.revertedWith("Address not allowed to claim this airdrop"); - }); - - it("should fail to claim airdrop if expired", async function () { - - await ethers.provider.send("evm_increaseTime", [86400 + 1]); // 1 day + 1 second - await ethers.provider.send("evm_mine", []); - - await expect(airdropManager.claim(await customAirdrop.getAddress(), user1.address)).to.be.revertedWith("Airdrop already expired."); - }); -}); diff --git a/test/Lock.ts b/test/Lock.ts new file mode 100644 index 0000000..160dbfa --- /dev/null +++ b/test/Lock.ts @@ -0,0 +1,127 @@ +import { + time, + loadFixture, +} from "@nomicfoundation/hardhat-toolbox/network-helpers"; +import { anyValue } from "@nomicfoundation/hardhat-chai-matchers/withArgs"; +import { expect } from "chai"; +import hre from "hardhat"; + +describe("Lock", function () { + // We define a fixture to reuse the same setup in every test. + // We use loadFixture to run this setup once, snapshot that state, + // and reset Hardhat Network to that snapshot in every test. + async function deployOneYearLockFixture() { + const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; + const ONE_GWEI = 1_000_000_000; + + const lockedAmount = ONE_GWEI; + const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS; + + // Contracts are deployed using the first signer/account by default + const [owner, otherAccount] = await hre.ethers.getSigners(); + + const Lock = await hre.ethers.getContractFactory("Lock"); + const lock = await Lock.deploy(unlockTime, { value: lockedAmount }); + + return { lock, unlockTime, lockedAmount, owner, otherAccount }; + } + + describe("Deployment", function () { + it("Should set the right unlockTime", async function () { + const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture); + + expect(await lock.unlockTime()).to.equal(unlockTime); + }); + + it("Should set the right owner", async function () { + const { lock, owner } = await loadFixture(deployOneYearLockFixture); + + expect(await lock.owner()).to.equal(owner.address); + }); + + it("Should receive and store the funds to lock", async function () { + const { lock, lockedAmount } = await loadFixture( + deployOneYearLockFixture + ); + + expect(await hre.ethers.provider.getBalance(lock.target)).to.equal( + lockedAmount + ); + }); + + it("Should fail if the unlockTime is not in the future", async function () { + // We don't use the fixture here because we want a different deployment + const latestTime = await time.latest(); + const Lock = await hre.ethers.getContractFactory("Lock"); + await expect(Lock.deploy(latestTime, { value: 1 })).to.be.revertedWith( + "Unlock time should be in the future" + ); + }); + }); + + describe("Withdrawals", function () { + describe("Validations", function () { + it("Should revert with the right error if called too soon", async function () { + const { lock } = await loadFixture(deployOneYearLockFixture); + + await expect(lock.withdraw()).to.be.revertedWith( + "You can't withdraw yet" + ); + }); + + it("Should revert with the right error if called from another account", async function () { + const { lock, unlockTime, otherAccount } = await loadFixture( + deployOneYearLockFixture + ); + + // We can increase the time in Hardhat Network + await time.increaseTo(unlockTime); + + // We use lock.connect() to send a transaction from another account + await expect(lock.connect(otherAccount).withdraw()).to.be.revertedWith( + "You aren't the owner" + ); + }); + + it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () { + const { lock, unlockTime } = await loadFixture( + deployOneYearLockFixture + ); + + // Transactions are sent using the first signer by default + await time.increaseTo(unlockTime); + + await expect(lock.withdraw()).not.to.be.reverted; + }); + }); + + describe("Events", function () { + it("Should emit an event on withdrawals", async function () { + const { lock, unlockTime, lockedAmount } = await loadFixture( + deployOneYearLockFixture + ); + + await time.increaseTo(unlockTime); + + await expect(lock.withdraw()) + .to.emit(lock, "Withdrawal") + .withArgs(lockedAmount, anyValue); // We accept any value as `when` arg + }); + }); + + describe("Transfers", function () { + it("Should transfer the funds to the owner", async function () { + const { lock, unlockTime, lockedAmount, owner } = await loadFixture( + deployOneYearLockFixture + ); + + await time.increaseTo(unlockTime); + + await expect(lock.withdraw()).to.changeEtherBalances( + [owner, lock], + [lockedAmount, -lockedAmount] + ); + }); + }); + }); +}); diff --git a/testData.txt b/testData.txt deleted file mode 100644 index 801784f..0000000 --- a/testData.txt +++ /dev/null @@ -1,106 +0,0 @@ -customairdrop: 0xe82B3652e6ce85eB8385431f054d925f1DE1053C -testERC1155: 0x2fa7076412CC217840d2d32350550DF5cBd2d615 -airdropManager: 0xB12261Ce8A7088a63C7A62ffdd568d8Fd50bee1D - -Deploy Custom airdrop -Test1 -0xff54A7563fc6bB7A34Ca66B41265f7f7D61b3a7D -0x2fa7076412CC217840d2d32350550DF5cBd2d615 -1 -100000000000000000000 -1000000000000000000 -1723812085 - -previously, the custom airdrop must transfer ownership to airdropmanager, so airdropmanager can do calls - -TEST1 -Call AirdropManager Contract -1. Call addAirdrop() - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - --Confirmed-- - -1.1 getTotalAirdropAmount: 100000000000000000000 = 100 - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - -2. hasExpired: false - -3. isAllowed - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C (airdrop Claimer #1) - returns false - -4.first call with a normal user address, not admin, fails after call with the admin address, fails also (caller 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C) - allowAddress - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C (airdrop Claimer #1) - Should Fail - response --FAILED-- - -5. call allowAddress() again with admin address (caller 0xff54A7563fc6bB7A34Ca66B41265f7f7D61b3a7D (contract owner)) - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C (airdrop Claimer #1) - returns successfull - -6. call to isAllowed (caller 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C) (airdrop Claimer #1) - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C - returns true - -at erc1155 contract , call -7. balanceOf - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C (airdrop Claimer #1) - 1 - Returns 0 -**this is okay because hasn't claimed yet - -on AirdropManager Again call -8. claim - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C (airdrop Claimer #1) -FAILED - -9. on erc1155 contract, call mint to the customairdrop contract - mint - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 1 - 100000000000000000000 - 0x - -10.Chech balance of customAirdrop contract - balanceOf - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 1 - response 100000000000000000000 - -on AirdropManager Again call (with airdrop Claimer #1) -11. claim - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C (airdrop Claimer #1) - opeartion is successfull - -12.Chech balance of claimer #1 user directly in erc1155 contract - balanceOf - 0x91F643a0Eb273F1b526450cAf1D2f1B711B50d1C - 1 - response 100000000000000000000 -**new balance + airdrop amount - -12. Try claim -on customAirdrop directly - claim - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0xEE0F2CA40cd73256f9cBb658A671E404931e6c4c (airdrop Claimer #2) - operation is --failed--, this is OKAY - -13. Set a new admin with addAdmin() - 0xD7F393DA7DED2aB940f2B7f69B37178F845dE2Dc - --successfull-- - -14. With the new admin (caller 0xD7F393DA7DED2aB940f2B7f69B37178F845dE2Dc), call the allowAddress function to test permissions - 0xe82B3652e6ce85eB8385431f054d925f1DE1053C - 0xEE0F2CA40cd73256f9cBb658A671E404931e6c4c - Response successfull - - - - - diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index b7f9c0f..0000000 --- a/yarn.lock +++ /dev/null @@ -1,4932 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adraffy/ens-normalize@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" - integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== - -"@babel/parser@^7.23.5": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.8.tgz#58a4dbbcad7eb1d48930524a3fd93d93e9084c6f" - integrity sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@ethereumjs/rlp@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" - integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== - -"@ethereumjs/util@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" - integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== - dependencies: - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^2.0.0" - micro-ftch "^0.3.1" - -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d" - integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== - dependencies: - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/rlp" "^5.6.1" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@fastify/busboy@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" - integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@metamask/eth-sig-util@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" - integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^6.2.1" - ethjs-util "^0.1.6" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@noble/curves@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - -"@noble/curves@1.4.2", "@noble/curves@~1.4.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" - integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== - dependencies: - "@noble/hashes" "1.4.0" - -"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" - integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== - -"@noble/hashes@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - -"@noble/hashes@1.4.0", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nomicfoundation/edr-darwin-arm64@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.4.2.tgz#2ff98535f272c9f2a7d06eeda93fe7b207a348a4" - integrity sha512-S+hhepupfqpBvMa9M1PVS08sVjGXsLnjyAsjhrrsjsNuTHVLhKzhkguvBD5g4If5skrwgOaVqpag4wnQbd15kQ== - -"@nomicfoundation/edr-darwin-x64@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.4.2.tgz#001dcd0e7fa4c52046d283b0dc61e63a60c614dd" - integrity sha512-/zM94AUrXz6CmcsecRNHJ50jABDUFafmGc4iBmkfX/mTp4tVZj7XTyIogrQIt0FnTaeb4CgZoLap2+8tW/Uldg== - -"@nomicfoundation/edr-linux-arm64-gnu@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.4.2.tgz#6d19f8265c8ffb22e29bc5bbbb5d1913fe4b306b" - integrity sha512-TV3Pr2tFvvmCfPCi9PaCGLtqn+oLaPKfL2NWpnoCeFFdzDQXi2L930yP1oUPY5RXd78NLdVHMkEkbhb2b6Wuvg== - -"@nomicfoundation/edr-linux-arm64-musl@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.4.2.tgz#0b01aa405fdc8048c7a8e95c737f29b437536a30" - integrity sha512-PALwrLBk1M9rolXyhSX8xdhe5jL0qf/PgiCIF7W7lUyVKrI/I0oiU0EHDk/Xw7yi2UJg4WRyhhZoHYa0g4g8Qg== - -"@nomicfoundation/edr-linux-x64-gnu@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.4.2.tgz#10959fd4db9b333d3e0559cb893e109611889af0" - integrity sha512-5svkftypDjAZ1LxV1onojlaqPRxrTEjJLkrUwLL+Fao5ZMe7aTnk5QQ1Jv76gW6WYZnMXNgjPhRcnw3oSNrqFA== - -"@nomicfoundation/edr-linux-x64-musl@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.4.2.tgz#8de64a2dfd869dad930dd0eb9572a0593d382379" - integrity sha512-qiMlXQTggdH9zfOB4Eil4rQ95z8s7QdLJcOfz5Aym12qJNkCyF9hi4cc4dDCWA0CdI3x3oLbuf8qb81SF8R45w== - -"@nomicfoundation/edr-win32-x64-msvc@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.4.2.tgz#13ad4bab9fd68853930e1a3d87c78d69d1d0e2ef" - integrity sha512-hDkAb0iaMmGYwBY/rA1oCX8VpsezfQcHPEPIEGXEcWC3WbnOgIZo0Qkpu/g0OMtFOJSQlWLXvKZuV7blhnrQag== - -"@nomicfoundation/edr@^0.4.1": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.4.2.tgz#9d7550182d4f75d7510e265ebd3474c4f6fcb62a" - integrity sha512-U7v0HuZHfrsl/5FpUzuB2FYA0+FUglHHwiO6NhvLtNYKMZcPzdS6iUriMp/7GWs0SVxW3bAht9GinZPxdhVwWg== - dependencies: - "@nomicfoundation/edr-darwin-arm64" "0.4.2" - "@nomicfoundation/edr-darwin-x64" "0.4.2" - "@nomicfoundation/edr-linux-arm64-gnu" "0.4.2" - "@nomicfoundation/edr-linux-arm64-musl" "0.4.2" - "@nomicfoundation/edr-linux-x64-gnu" "0.4.2" - "@nomicfoundation/edr-linux-x64-musl" "0.4.2" - "@nomicfoundation/edr-win32-x64-msvc" "0.4.2" - -"@nomicfoundation/ethereumjs-common@4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz#9901f513af2d4802da87c66d6f255b510bef5acb" - integrity sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg== - dependencies: - "@nomicfoundation/ethereumjs-util" "9.0.4" - -"@nomicfoundation/ethereumjs-rlp@5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz#66c95256fc3c909f6fb18f6a586475fc9762fa30" - integrity sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw== - -"@nomicfoundation/ethereumjs-tx@5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz#b0ceb58c98cc34367d40a30d255d6315b2f456da" - integrity sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw== - dependencies: - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - ethereum-cryptography "0.1.3" - -"@nomicfoundation/ethereumjs-util@9.0.4": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz#84c5274e82018b154244c877b76bc049a4ed7b38" - integrity sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q== - dependencies: - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - ethereum-cryptography "0.1.3" - -"@nomicfoundation/hardhat-chai-matchers@^2.0.0": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.7.tgz#89d90b2d77a00f6fd8fe42eabe40a82b5e065075" - integrity sha512-RQfsiTwdf0SP+DtuNYvm4921X6VirCQq0Xyh+mnuGlTwEFSPZ/o27oQC+l+3Y/l48DDU7+ZcYBR+Fp+Rp94LfQ== - dependencies: - "@types/chai-as-promised" "^7.1.3" - chai-as-promised "^7.1.1" - deep-eql "^4.0.1" - ordinal "^1.0.3" - -"@nomicfoundation/hardhat-ethers@^3.0.0": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.6.tgz#e8ba7f9719de360c03501b85dae4999bb3a7e1c5" - integrity sha512-/xzkFQAaHQhmIAYOQmvHBPwL+NkwLzT9gRZBsgWUYeV+E6pzXsBQsHfRYbAZ3XEYare+T7S+5Tg/1KDJgepSkA== - dependencies: - debug "^4.1.1" - lodash.isequal "^4.5.0" - -"@nomicfoundation/hardhat-ignition-ethers@^0.15.0": - version "0.15.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.5.tgz#98f945c110e26a120baf015b0d2322d5025273aa" - integrity sha512-W6s1QN9CFxzSVZS6w9Jcj3WLaK32z2FP5MxNU2OKY1Fn9ZzLr+miXbUbWYuRHl6dxrrl6sE8cv33Cybv19pmCg== - -"@nomicfoundation/hardhat-ignition@^0.15.0": - version "0.15.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.5.tgz#6da613732a3d9829a40f6ee6c95fb2db012ebdce" - integrity sha512-Y5nhFXFqt4owA6Ooag8ZBFDF2RAZElMXViknVIsi3m45pbQimS50ti6FU8HxfRkDnBARa40CIn7UGV0hrelzDw== - dependencies: - "@nomicfoundation/ignition-core" "^0.15.5" - "@nomicfoundation/ignition-ui" "^0.15.5" - chalk "^4.0.0" - debug "^4.3.2" - fs-extra "^10.0.0" - prompts "^2.4.2" - -"@nomicfoundation/hardhat-network-helpers@^1.0.0": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.11.tgz#64096829661b960b88679bd5c4fbcb50654672d1" - integrity sha512-uGPL7QSKvxrHRU69dx8jzoBvuztlLCtyFsbgfXIwIjnO3dqZRz2GNMHJoO3C3dIiUNM6jdNF4AUnoQKDscdYrA== - dependencies: - ethereumjs-util "^7.1.4" - -"@nomicfoundation/hardhat-toolbox@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-5.0.0.tgz#165b47f8a3d2bf668cc5d453ce7f496a1156948d" - integrity sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ== - -"@nomicfoundation/hardhat-verify@^2.0.0": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.8.tgz#6a77dc03de990a1a3aa8e6dc073c393263dbf258" - integrity sha512-x/OYya7A2Kcz+3W/J78dyDHxr0ezU23DKTrRKfy5wDPCnePqnr79vm8EXqX3gYps6IjPBYyGPZ9K6E5BnrWx5Q== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@ethersproject/address" "^5.0.2" - cbor "^8.1.0" - chalk "^2.4.2" - debug "^4.1.1" - lodash.clonedeep "^4.5.0" - semver "^6.3.0" - table "^6.8.0" - undici "^5.14.0" - -"@nomicfoundation/ignition-core@^0.15.5": - version "0.15.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-core/-/ignition-core-0.15.5.tgz#38d19d29ffd425f7cc2810c45d7a51b31c626067" - integrity sha512-FgvuoIXhakRSP524JzNQ4BviyzBBKpsFaOWubPZ4XACLT4/7vGqlJ/7DIn0D2NL2anQ2qs98/BNBY9WccXUX1Q== - dependencies: - "@ethersproject/address" "5.6.1" - "@nomicfoundation/solidity-analyzer" "^0.1.1" - cbor "^9.0.0" - debug "^4.3.2" - ethers "^6.7.0" - fs-extra "^10.0.0" - immer "10.0.2" - lodash "4.17.21" - ndjson "2.0.0" - -"@nomicfoundation/ignition-ui@^0.15.5": - version "0.15.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz#ef9e11ccbffccc2360c02b20f12713756dfc37da" - integrity sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ== - -"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" - integrity sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw== - -"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz#74dcfabeb4ca373d95bd0d13692f44fcef133c28" - integrity sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw== - -"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz#4af5849a89e5a8f511acc04f28eb5d4460ba2b6a" - integrity sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA== - -"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz#54036808a9a327b2ff84446c130a6687ee702a8e" - integrity sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA== - -"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz#466cda0d6e43691986c944b909fc6dbb8cfc594e" - integrity sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g== - -"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz#2b35826987a6e94444140ac92310baa088ee7f94" - integrity sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg== - -"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz#e6363d13b8709ca66f330562337dbc01ce8bbbd9" - integrity sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA== - -"@nomicfoundation/solidity-analyzer@^0.1.0", "@nomicfoundation/solidity-analyzer@^0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz#8bcea7d300157bf3a770a851d9f5c5e2db34ac55" - integrity sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA== - optionalDependencies: - "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.2" - "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" - "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" - -"@openzeppelin/contracts@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.0.2.tgz#b1d03075e49290d06570b2fd42154d76c2a5d210" - integrity sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA== - -"@openzeppelin/merkle-tree@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@openzeppelin/merkle-tree/-/merkle-tree-1.0.7.tgz#88f815df8ba39033e312e5f3dc6debeb62845916" - integrity sha512-i93t0YYv6ZxTCYU3CdO5Q+DXK0JH10A4dCBOMlzYbX+ujTXm+k1lXiEyVqmf94t3sqmv8sm/XT5zTa0+efnPgQ== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - -"@scure/base@~1.1.0", "@scure/base@~1.1.6": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.7.tgz#fe973311a5c6267846aa131bc72e96c5d40d2b30" - integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g== - -"@scure/bip32@1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" - integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== - dependencies: - "@noble/hashes" "~1.2.0" - "@noble/secp256k1" "~1.7.0" - "@scure/base" "~1.1.0" - -"@scure/bip32@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" - integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== - dependencies: - "@noble/curves" "~1.4.0" - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - -"@scure/bip39@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" - integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== - dependencies: - "@noble/hashes" "~1.2.0" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" - integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== - dependencies: - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - -"@sentry/core@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" - integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/minimal" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - -"@sentry/hub@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" - integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== - dependencies: - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - -"@sentry/minimal@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" - integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/types" "5.30.0" - tslib "^1.9.3" - -"@sentry/node@^5.18.1": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" - integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== - dependencies: - "@sentry/core" "5.30.0" - "@sentry/hub" "5.30.0" - "@sentry/tracing" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - cookie "^0.4.1" - https-proxy-agent "^5.0.0" - lru_map "^0.3.3" - tslib "^1.9.3" - -"@sentry/tracing@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" - integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/minimal" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - -"@sentry/types@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" - integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== - -"@sentry/utils@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" - integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== - dependencies: - "@sentry/types" "5.30.0" - tslib "^1.9.3" - -"@solidity-parser/parser@^0.14.0": - version "0.14.5" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" - integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== - dependencies: - antlr4ts "^0.5.0-alpha.4" - -"@solidity-parser/parser@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.18.0.tgz#8e77a02a09ecce957255a2f48c9a7178ec191908" - integrity sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA== - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@typechain/ethers-v6@^0.5.0": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz#42fe214a19a8b687086c93189b301e2b878797ea" - integrity sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA== - dependencies: - lodash "^4.17.15" - ts-essentials "^7.0.1" - -"@typechain/hardhat@^9.0.0": - version "9.1.0" - resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-9.1.0.tgz#6985015f01dfb37ef2ca8a29c742d05890351ddc" - integrity sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA== - dependencies: - fs-extra "^9.1.0" - -"@types/bn.js@^4.11.3": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" - integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== - dependencies: - "@types/node" "*" - -"@types/chai-as-promised@^7.1.3": - version "7.1.8" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" - integrity sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw== - dependencies: - "@types/chai" "*" - -"@types/chai@*", "@types/chai@^4.2.0": - version "4.3.16" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" - integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== - -"@types/concat-stream@^1.6.0": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" - integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "9.6.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" - integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/form-data@0.0.33": - version "0.0.33" - resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" - integrity sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw== - dependencies: - "@types/node" "*" - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/json-schema@*", "@types/json-schema@^7.0.8": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/lru-cache@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" - integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== - -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - -"@types/mocha@>=9.1.0": - version "10.0.7" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.7.tgz#4c620090f28ca7f905a94b706f74dc5b57b44f2f" - integrity sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw== - -"@types/node@*", "@types/node@>=18.0.0": - version "20.14.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.11.tgz#09b300423343460455043ddd4d0ded6ac579b74b" - integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA== - dependencies: - undici-types "~5.26.4" - -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@^10.0.3": - version "10.17.60" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" - integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== - -"@types/node@^8.0.0": - version "8.10.66" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" - integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== - -"@types/pbkdf2@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" - integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.1.1": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - -"@types/qs@^6.2.31", "@types/qs@^6.9.7": - version "6.9.15" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== - -"@types/secp256k1@^4.0.1": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" - integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== - dependencies: - "@types/node" "*" - -"@vue/compiler-sfc@2.7.16": - version "2.7.16" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83" - integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg== - dependencies: - "@babel/parser" "^7.23.5" - postcss "^8.4.14" - source-map "^0.6.1" - optionalDependencies: - prettier "^1.18.2 || ^2.0.0" - -"@vue/component-compiler-utils@^3.1.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" - integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.36" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2 || ^2.0.0" - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== - -acorn-import-attributes@^1.9.5: - version "1.9.5" - resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" - integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== - -acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== - dependencies: - acorn "^8.11.0" - -acorn@^8.11.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== - -adm-zip@^0.4.16: - version "0.4.16" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" - integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@^4.1.1, ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-back@^3.0.1, array-back@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" - integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== - -array-back@^4.0.1, array-back@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" - integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== - -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@1.x: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -axios@^1.5.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" - integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2: - version "3.0.10" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" - integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^9.0.1: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -blakejs@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" - integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== - -bluebird@^3.1.1: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== - -bn.js@^4.11.0, bn.js@^4.11.8, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -boxen@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserslist@^4.21.10: - version "4.23.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" - integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== - dependencies: - caniuse-lite "^1.0.30001640" - electron-to-chromium "^1.4.820" - node-releases "^2.0.14" - update-browserslist-db "^1.1.0" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-reverse@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60" - integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001640: - version "1.0.30001643" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd" - integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg== - -caseless@^0.12.0, caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -cbor@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" - integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== - dependencies: - nofilter "^3.1.0" - -cbor@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" - integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== - dependencies: - nofilter "^3.1.0" - -chai-as-promised@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" - integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== - dependencies: - check-error "^1.0.2" - -chai@^4.2.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" - integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -"charenc@>= 0.0.1": - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -check-error@^1.0.2, check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -chokidar@^3.4.0, chokidar@^3.5.2, chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" - integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -clean-css@^5.2.2: - version "5.3.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" - integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-table3@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== - dependencies: - object-assign "^4.1.0" - string-width "^2.1.1" - optionalDependencies: - colors "^1.1.2" - -cli-table3@^0.6.0: - version "0.6.5" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" - integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colors@1.4.0, colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -command-exists@^1.2.8: - version "1.2.9" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" - integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== - -command-line-args@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" - integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== - dependencies: - array-back "^3.1.0" - find-replace "^3.0.0" - lodash.camelcase "^4.3.0" - typical "^4.0.0" - -command-line-usage@^6.1.0: - version "6.1.3" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" - integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== - dependencies: - array-back "^4.0.2" - chalk "^2.4.2" - table-layout "^1.0.2" - typical "^5.2.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^8.1.0, commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.6.0, concat-stream@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -"crypt@>= 0.0.1": - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - -crypto-js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== - -css-loader@^6.5.1: - version "6.11.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" - integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.1.0" - postcss-modules-local-by-default "^4.0.5" - postcss-modules-scope "^3.2.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csstype@^3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== - -death@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" - integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== - -debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== - dependencies: - ms "2.1.2" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -deep-eql@^4.0.1, deep-eql@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" - integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== - dependencies: - type-detect "^4.0.0" - -deep-extend@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -difflib@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" - integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== - dependencies: - heap ">= 0.2.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv@^16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -electron-to-chromium@^1.4.820: - version "1.5.0" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz#0d3123a9f09189b9c7ab4b5d6848d71b3c1fd0e8" - integrity sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elliptic@^6.5.2, elliptic@^6.5.4: - version "6.5.6" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.6.tgz#ee5f7c3a00b98a2144ac84d67d01f04d438fa53e" - integrity sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encode-utf8@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -enhanced-resolve@^5.17.0: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.0, enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.2.1: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== - -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eth-gas-reporter@^0.2.25: - version "0.2.27" - resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" - integrity sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw== - dependencies: - "@solidity-parser/parser" "^0.14.0" - axios "^1.5.1" - cli-table3 "^0.5.0" - colors "1.4.0" - ethereum-cryptography "^1.0.3" - ethers "^5.7.2" - fs-readdir-recursive "^1.1.0" - lodash "^4.17.14" - markdown-table "^1.1.3" - mocha "^10.2.0" - req-cwd "^2.0.0" - sha1 "^1.1.1" - sync-request "^6.0.0" - -ethereum-bloom-filters@^1.0.6: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.1.0.tgz#b3fc1eb789509ee30db0bf99a2988ccacb8d0397" - integrity sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw== - dependencies: - "@noble/hashes" "^1.4.0" - -ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereum-cryptography@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" - integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== - dependencies: - "@noble/hashes" "1.2.0" - "@noble/secp256k1" "1.7.1" - "@scure/bip32" "1.1.5" - "@scure/bip39" "1.1.1" - -ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" - integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== - dependencies: - "@noble/curves" "1.4.2" - "@noble/hashes" "1.4.0" - "@scure/bip32" "1.4.0" - "@scure/bip39" "1.3.0" - -ethereumjs-abi@^0.6.8: - version "0.6.8" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" - integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" - integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.3" - -ethereumjs-util@^7.1.4: - version "7.1.5" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" - integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethers@^5.7.0, ethers@^5.7.2, ethers@~5.7.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -ethers@^6.4.0, ethers@^6.7.0: - version "6.13.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.1.tgz#2b9f9c7455cde9d38b30fe6589972eb083652961" - integrity sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.17.1" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -ethjs-util@0.1.6, ethjs-util@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" - integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.0.3: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-replace@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" - integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== - dependencies: - array-back "^3.0.1" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -fmix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fmix/-/fmix-0.1.0.tgz#c7bbf124dec42c9d191cfb947d0a9778dd986c0c" - integrity sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w== - dependencies: - imul "^1.0.0" - -follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -form-data@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fp-ts@1.19.3: - version "1.19.3" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" - integrity sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg== - -fp-ts@^1.0.0: - version "1.19.5" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" - integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^7.0.0, fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-port@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" - integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== - -ghost-testrpc@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" - integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== - dependencies: - chalk "^2.4.2" - node-emoji "^1.10.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@7.1.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -handlebars@^4.0.1: - version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -hardhat-contract-sizer@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz#72646f43bfe50e9a5702c9720c9bc3e77d93a2c9" - integrity sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA== - dependencies: - chalk "^4.0.0" - cli-table3 "^0.6.0" - strip-ansi "^6.0.0" - -hardhat-deploy@^0.12.4: - version "0.12.4" - resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.12.4.tgz#5ebef37f1004f52a74987213b0465ad7c9433fb2" - integrity sha512-bYO8DIyeGxZWlhnMoCBon9HNZb6ji0jQn7ngP1t5UmGhC8rQYhji7B73qETMOFhzt5ECZPr+U52duj3nubsqdQ== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/contracts" "^5.7.0" - "@ethersproject/providers" "^5.7.2" - "@ethersproject/solidity" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wallet" "^5.7.0" - "@types/qs" "^6.9.7" - axios "^0.21.1" - chalk "^4.1.2" - chokidar "^3.5.2" - debug "^4.3.2" - enquirer "^2.3.6" - ethers "^5.7.0" - form-data "^4.0.0" - fs-extra "^10.0.0" - match-all "^1.2.6" - murmur-128 "^0.2.1" - qs "^6.9.4" - zksync-ethers "^5.0.0" - -hardhat-docgen@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/hardhat-docgen/-/hardhat-docgen-1.3.0.tgz#604c685cb92c4231c8d84b2d81c017fb887ff1d8" - integrity sha512-paaiOHjJFLCLz2/qM1TQ7ZEG+Vy+LBvJL+SW4A64ZhBnVnyoZ/zv9DvEuawaWhqP5P7AOM6r22reVz4ecWgW7A== - dependencies: - css-loader "^6.5.1" - html-webpack-plugin "^5.5.0" - vue "^2.6.14" - vue-loader "^15.9.8" - vue-router "^3.5.3" - vue-template-compiler "^2.6.14" - webpack "^5.65.0" - -hardhat-gas-reporter@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz#ebe5bda5334b5def312747580cd923c2b09aef1b" - integrity sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA== - dependencies: - array-uniq "1.0.3" - eth-gas-reporter "^0.2.25" - sha1 "^1.1.1" - -hardhat-preprocessor@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/hardhat-preprocessor/-/hardhat-preprocessor-0.1.5.tgz#75b22641fd6a680739c995d03bd5f7868eb72144" - integrity sha512-j8m44mmPxpxAAd0G8fPHRHOas/INZdzptSur0TNJvMEGcFdLDhbHHxBcqZVQ/bmiW42q4gC60AP4CXn9EF018g== - dependencies: - murmur-128 "^0.2.1" - -hardhat@^2.22.6: - version "2.22.6" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.22.6.tgz#d73caece246cd8219a1815554dabc31d400fa035" - integrity sha512-abFEnd9QACwEtSvZZGSmzvw7N3zhQN1cDKz5SLHAupfG24qTHofCjqvD5kT5Wwsq5XOL0ON1Mq5rr4v0XX5ciw== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/edr" "^0.4.1" - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-tx" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - "@nomicfoundation/solidity-analyzer" "^0.1.0" - "@sentry/node" "^5.18.1" - "@types/bn.js" "^5.1.0" - "@types/lru-cache" "^5.1.0" - adm-zip "^0.4.16" - aggregate-error "^3.0.0" - ansi-escapes "^4.3.0" - boxen "^5.1.2" - chalk "^2.4.2" - chokidar "^3.4.0" - ci-info "^2.0.0" - debug "^4.1.1" - enquirer "^2.3.0" - env-paths "^2.2.0" - ethereum-cryptography "^1.0.3" - ethereumjs-abi "^0.6.8" - find-up "^2.1.0" - fp-ts "1.19.3" - fs-extra "^7.0.1" - glob "7.2.0" - immutable "^4.0.0-rc.12" - io-ts "1.10.4" - keccak "^3.0.2" - lodash "^4.17.11" - mnemonist "^0.38.0" - mocha "^10.0.0" - p-map "^4.0.0" - raw-body "^2.4.1" - resolve "1.17.0" - semver "^6.3.0" - solc "0.8.26" - source-map-support "^0.5.13" - stacktrace-parser "^0.1.10" - tsort "0.0.1" - undici "^5.14.0" - uuid "^8.3.2" - ws "^7.4.6" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -"heap@>= 0.2.0": - version "0.2.7" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" - integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-webpack-plugin@^5.5.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0" - integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-basic@^8.1.1: - version "8.1.3" - resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" - integrity sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw== - dependencies: - caseless "^0.12.0" - concat-stream "^1.6.2" - http-response-object "^3.0.1" - parse-cache-control "^1.0.1" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-response-object@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" - integrity sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA== - dependencies: - "@types/node" "^10.0.3" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.1.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -immer@10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" - integrity sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA== - -immutable@^4.0.0-rc.12: - version "4.3.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.6.tgz#6a05f7858213238e587fb83586ffa3b4b27f0447" - integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== - -imul@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/imul/-/imul-1.0.1.tgz#9d5867161e8b3de96c2c38d5dc7cb102f35e2ac9" - integrity sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -io-ts@1.10.4: - version "1.10.4" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" - integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== - dependencies: - fp-ts "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.13.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== - dependencies: - hasown "^2.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-yaml@3.x: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== - -keccak256@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58" - integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw== - dependencies: - bn.js "^5.2.0" - buffer "^6.0.3" - keccak "^3.0.2" - -keccak@^3.0.0, keccak@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" - integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" - integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru_map@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" - integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -markdown-table@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" - integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== - -match-all@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/match-all/-/match-all-1.2.6.tgz#66d276ad6b49655551e63d3a6ee53e8be0566f8d" - integrity sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3, merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merkletreejs@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.4.0.tgz#40514dd8b5f511b3f136aeea3ff90d74d5604112" - integrity sha512-a48Ta5kWiVNBgeEbZVMm6FB1hBlp6vEuou/XnZdlkmd2zq6NZR6Sh2j+kR1B0iOZIXrTMcigBYzZ39MLdYhm1g== - dependencies: - bignumber.js "^9.0.1" - buffer-reverse "^1.0.1" - crypto-js "^4.2.0" - treeify "^1.1.0" - web3-utils "^1.3.4" - -micro-ftch@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" - integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== - -micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@0.5.x: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mnemonist@^0.38.0: - version "0.38.5" - resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" - integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== - dependencies: - obliterator "^2.0.0" - -mocha@^10.0.0, mocha@^10.2.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.6.0.tgz#465fc66c52613088e10018989a3b98d5e11954b9" - integrity sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw== - dependencies: - ansi-colors "^4.1.3" - browser-stdout "^1.3.1" - chokidar "^3.5.3" - debug "^4.3.5" - diff "^5.2.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^8.1.0" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^5.1.6" - ms "^2.1.3" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^6.5.1" - yargs "^16.2.0" - yargs-parser "^20.2.9" - yargs-unparser "^2.0.0" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -murmur-128@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/murmur-128/-/murmur-128-0.2.1.tgz#a9f6568781d2350ecb1bf80c14968cadbeaa4b4d" - integrity sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg== - dependencies: - encode-utf8 "^1.0.2" - fmix "^0.1.0" - imul "^1.0.0" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -ndjson@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-2.0.0.tgz#320ac86f6fe53f5681897349b86ac6f43bfa3a19" - integrity sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ== - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.5" - readable-stream "^3.6.0" - split2 "^3.0.0" - through2 "^4.0.0" - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-emoji@^1.10.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-gyp-build@^4.2.0: - version "4.8.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" - integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== - -node-releases@^2.0.14: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== - -nofilter@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" - integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== - -nopt@3.x: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== - -obliterator@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.4.tgz#fa650e019b2d075d745e44f1effeb13a2adbe816" - integrity sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ== - -once@1.x, once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -ordinal@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ordinal/-/ordinal-1.0.3.tgz#1a3c7726a61728112f50944ad7c35c06ae3a0d4d" - integrity sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ== - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parse-cache-control@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" - integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pbkdf2@^3.0.17: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -postcss-modules-extract-imports@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" - integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== - -postcss-modules-local-by-default@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" - integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" - integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" - integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.36: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.4.14, postcss@^8.4.33: - version "8.4.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" - integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -"prettier@^1.18.2 || ^2.0.0", prettier@^2.3.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise@^8.0.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -qs@^6.4.0, qs@^6.9.4: - version "6.12.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.3.tgz#e43ce03c8521b9c7fd7f1f13e514e5ca37727754" - integrity sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ== - dependencies: - side-channel "^1.0.6" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -raw-body@^2.4.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.2.2: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -reduce-flatten@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" - integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -req-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" - integrity sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ== - dependencies: - req-from "^2.0.0" - -req-from@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/req-from/-/req-from-2.0.0.tgz#d74188e47f93796f4aa71df6ee35ae689f3e0e70" - integrity sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA== - dependencies: - resolve-from "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== - -resolve@1.1.x: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== - -resolve@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.2.3, rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sc-istanbul@^0.4.5: - version "0.4.6" - resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" - integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -scrypt-js@3.0.1, scrypt-js@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -semver@^5.5.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.4, semver@^7.5.4: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -sha1@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz#addaa7a93168f393f19eb2b15091618e2700f848" - integrity sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA== - dependencies: - charenc ">= 0.0.1" - crypt ">= 0.0.1" - -shelljs@^0.8.3: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -solc@0.8.26: - version "0.8.26" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" - integrity sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g== - dependencies: - command-exists "^1.2.8" - commander "^8.1.0" - follow-redirects "^1.12.1" - js-sha3 "0.8.0" - memorystream "^0.3.1" - semver "^5.5.0" - tmp "0.0.33" - -solidity-coverage@^0.8.0: - version "0.8.12" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.12.tgz#c4fa2f64eff8ada7a1387b235d6b5b0e6c6985ed" - integrity sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw== - dependencies: - "@ethersproject/abi" "^5.0.9" - "@solidity-parser/parser" "^0.18.0" - chalk "^2.4.2" - death "^1.1.0" - difflib "^0.2.4" - fs-extra "^8.1.0" - ghost-testrpc "^0.0.2" - global-modules "^2.0.0" - globby "^10.0.1" - jsonschema "^1.2.4" - lodash "^4.17.21" - mocha "^10.2.0" - node-emoji "^1.10.0" - pify "^4.0.1" - recursive-readdir "^2.2.2" - sc-istanbul "^0.4.5" - semver "^7.3.4" - shelljs "^0.8.3" - web3-utils "^1.3.6" - -source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map-support@^0.5.13, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== - dependencies: - amdefine ">=0.0.4" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stacktrace-parser@^0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" - integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== - dependencies: - type-fest "^0.7.1" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -string-format@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" - integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== - dependencies: - is-hex-prefixed "1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== - dependencies: - has-flag "^1.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -sync-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" - integrity sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw== - dependencies: - http-response-object "^3.0.1" - sync-rpc "^1.2.1" - then-request "^6.0.0" - -sync-rpc@^1.2.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" - integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== - dependencies: - get-port "^3.1.0" - -table-layout@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" - integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== - dependencies: - array-back "^4.0.1" - deep-extend "~0.6.0" - typical "^5.2.0" - wordwrapjs "^4.0.0" - -table@^6.8.0: - version "6.8.2" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" - integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.10.0, terser@^5.26.0: - version "5.31.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" - integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -then-request@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" - integrity sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA== - dependencies: - "@types/concat-stream" "^1.6.0" - "@types/form-data" "0.0.33" - "@types/node" "^8.0.0" - "@types/qs" "^6.2.31" - caseless "~0.12.0" - concat-stream "^1.6.0" - form-data "^2.2.0" - http-basic "^8.1.1" - http-response-object "^3.0.1" - promise "^8.0.0" - qs "^6.4.0" - -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -tmp@0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -treeify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" - integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== - -ts-command-line-args@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" - integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== - dependencies: - chalk "^4.1.0" - command-line-args "^5.1.1" - command-line-usage "^6.1.0" - string-format "^2.0.0" - -ts-essentials@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" - integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== - -ts-node@>=8.0.0: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== - -tsort@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" - integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== - -tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@^4.0.0, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - -typechain@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" - integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== - dependencies: - "@types/prettier" "^2.1.1" - debug "^4.3.1" - fs-extra "^7.0.0" - glob "7.1.7" - js-sha3 "^0.8.0" - lodash "^4.17.15" - mkdirp "^1.0.4" - prettier "^2.3.1" - ts-command-line-args "^2.2.0" - ts-essentials "^7.0.1" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@>=4.5.0: - version "5.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" - integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== - -typical@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" - integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== - -typical@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" - integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== - -uglify-js@^3.1.4: - version "3.19.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.0.tgz#6d45f1cad2c54117fa2fabd87fc2713a83e3bf7b" - integrity sha512-wNKHUY2hYYkf6oSFfhwwiHo4WCHzHmzcXsqXYTN9ja3iApYIFbb2U6ics9hBcYLHcYGQoAlwnZlTrf3oF+BL/Q== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -undici@^5.14.0: - version "5.28.4" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" - integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== - dependencies: - "@fastify/busboy" "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -vue-hot-reload-api@^2.3.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" - integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== - -vue-loader@^15.9.8: - version "15.11.1" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.11.1.tgz#dee91169211276ed43c5715caef88a56b1f497b0" - integrity sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q== - dependencies: - "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -vue-router@^3.5.3: - version "3.6.5" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.6.5.tgz#95847d52b9a7e3f1361cb605c8e6441f202afad8" - integrity sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ== - -vue-style-loader@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" - integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.14: - version "2.7.16" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz#c81b2d47753264c77ac03b9966a46637482bb03b" - integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== - dependencies: - de-indent "^1.0.2" - he "^1.2.0" - -vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -vue@^2.6.14: - version "2.7.16" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9" - integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw== - dependencies: - "@vue/compiler-sfc" "2.7.16" - csstype "^3.1.0" - -watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -web3-utils@^1.3.4, web3-utils@^1.3.6: - version "1.10.4" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" - integrity sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A== - dependencies: - "@ethereumjs/util" "^8.1.0" - bn.js "^5.2.1" - ethereum-bloom-filters "^1.0.6" - ethereum-cryptography "^2.1.2" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.65.0: - version "5.93.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" - integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -which@^1.1.1, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - -wordwrapjs@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" - integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== - dependencies: - reduce-flatten "^2.0.0" - typical "^5.2.0" - -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@8.17.1: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" - integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== - -ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zksync-ethers@^5.0.0: - version "5.9.1" - resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-5.9.1.tgz#318df4ead59059b074703e76f66e93a65a7f6313" - integrity sha512-Y1zxoVxOz1cujw+5RcJVR6rANpX398DVFtUIOkovciltyk1hKetavGmCTA5fCmfqoA074Jjxl6SpX7vrDcUVSg== - dependencies: - ethers "~5.7.0"